instar 1.3.295 → 1.3.297

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -46,8 +46,16 @@ export interface ResolveInstarRepoOptions {
46
46
  export interface ResolvedInstarRepo {
47
47
  /** Absolute, real path to a validated instar repo. */
48
48
  repoPath: string;
49
- /** Allowlisted remote.origin.url for the resolved repo. */
49
+ /** The allowlisted remote url that validated the repo (url or pushurl). */
50
50
  remoteUrl: string;
51
+ /** Name of the remote that won the allowlist check (e.g. 'origin', 'JKHeadley'). */
52
+ remoteName: string;
53
+ /** True when the match was the remote's FETCH url — its refs mirror
54
+ * canonical instar and are safe as a worktree base. A pushurl-only match
55
+ * proves trust but NOT ref provenance: on fleet agent homes origin fetches
56
+ * the personal fork (backup-sync of agent-home files) while pushing to
57
+ * canonical — its refs must never be used as a code base. */
58
+ remoteFetchesCanonical: boolean;
51
59
  }
52
60
  export interface CreateWorktreeOptions {
53
61
  /** Branch name to check out / create. */
@@ -83,6 +91,8 @@ export declare function defaultSlugFor(branch: string): string;
83
91
  export declare function validateSlug(slug: string, existingSlugsLower: ReadonlySet<string>): void;
84
92
  export declare function validateBranchName(branch: string, repoPath: string): void;
85
93
  export declare function createWorktree(opts: CreateWorktreeOptions): Promise<CreateWorktreeResult>;
94
+ export declare function resolveBaseBranch(repoPath: string, override?: string, allowlistedRemote?: string): Promise<string>;
95
+ export declare function ensureHuskyHooksActive(worktreePath: string): void;
86
96
  export declare function hasRunnableHookShim(shimHookPath: string): boolean;
87
97
  /**
88
98
  * Drop a `.metadata_never_index` marker at the `.worktrees/` container root so
@@ -1 +1 @@
1
- {"version":3,"file":"InstarWorktreeManager.d.ts","sourceRoot":"","sources":["../../src/core/InstarWorktreeManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstarWorktreeManager.d.ts","sourceRoot":"","sources":["../../src/core/InstarWorktreeManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH;qFACqF;AACrF,eAAO,MAAM,iCAAiC,EAAE,aAAa,CAAC,MAAM,CAGnE,CAAC;AAUF,MAAM,WAAW,uBAAuB;IACtC,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,YAAY,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,qDAAqD;IACrD,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB;;;;kEAI8D;IAC9D,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,4FAA4F;IAC5F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gGAAgG;IAChG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yDAAyD;IACzD,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;IAC/C,0DAA0D;IAC1D,qBAAqB,CAAC,EAAE,wBAAwB,CAAC;IACjD,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qFAAqF;IACrF,aAAa,EAAE,OAAO,CAAC;CACxB;AAiED,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,uBAA4B,GAAG,iBAAiB,CAiEtF;AAiBD,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,wBAA6B,GAAG,kBAAkB,CAwCzF;AA4ID,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAexF;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAazE;AAID,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAsG/F;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAiCD,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAsDjE;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAOjE;AAcD;;;;;;;;;;;GAWG;AACH,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAY9E;AAID,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,WAAW,GACjB,IAAI,CAQN;AAoCD;;oBAEoB;AACpB,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE9D"}
@@ -175,7 +175,12 @@ export function resolveInstarRepo(opts = {}) {
175
175
  seen.add(normalized);
176
176
  const result = validateInstarRepoCandidate(candidate, allowlist);
177
177
  if (result.ok) {
178
- return { repoPath: result.repoPath, remoteUrl: result.remoteUrl };
178
+ return {
179
+ repoPath: result.repoPath,
180
+ remoteUrl: result.remoteUrl,
181
+ remoteName: result.remoteName,
182
+ remoteFetchesCanonical: result.remoteFetchesCanonical,
183
+ };
179
184
  }
180
185
  failures.push(` - ${candidate}: ${result.error}`);
181
186
  }
@@ -240,15 +245,35 @@ function validateInstarRepoCandidate(candidate, allowlist) {
240
245
  // incidentally).
241
246
  const remote = tryGit(['-C', repoPath, 'config', '--get', 'remote.origin.url'], repoPath, op, 'read');
242
247
  let allowedUrl = remote.ok && remote.stdout && allowlist.has(remote.stdout) ? remote.stdout : null;
248
+ // The NAME of the remote that won the allowlist check, and whether it won
249
+ // via its FETCH url. Both matter downstream: only a fetch-url match means
250
+ // the remote's refs actually mirror canonical instar, making it a safe
251
+ // default base for new worktree branches. On fleet agent homes `origin`
252
+ // fetches the agent's personal fork (whose default branch is a backup-sync
253
+ // of agent-home FILES — no package.json, no src/) while PUSHING to
254
+ // canonical; a pushurl match proves trust, not ref provenance. Branching
255
+ // from origin/HEAD there produced an unusable worktree whose husky wiring
256
+ // silently no-oped (task #82, found by the #829 live re-verify).
257
+ let allowedRemoteName = allowedUrl ? 'origin' : null;
258
+ let allowedViaFetchUrl = allowedUrl !== null;
243
259
  if (!allowedUrl) {
244
260
  const allRemotes = tryGit(['-C', repoPath, 'config', '--get-regexp', String.raw `^remote\..*\.(url|pushurl)$`], repoPath, op, 'read');
245
261
  if (allRemotes.ok && allRemotes.stdout) {
246
262
  for (const line of allRemotes.stdout.split('\n')) {
247
263
  // git config --get-regexp line: "remote.<name>.url <url>"
248
- const m = line.match(/^remote\.\S+\.(?:url|pushurl)\s+(\S+)$/);
249
- if (m && allowlist.has(m[1])) {
250
- allowedUrl = m[1];
251
- break;
264
+ const m = line.match(/^remote\.(\S+)\.(url|pushurl)\s+(\S+)$/);
265
+ if (!m || !allowlist.has(m[3]))
266
+ continue;
267
+ const isFetchUrl = m[2] === 'url';
268
+ // First match wins UNLESS a later FETCH-url match can upgrade a
269
+ // pushurl-only match — fetch-url remotes are preferred because their
270
+ // refs are canonical (usable as a worktree base).
271
+ if (!allowedUrl || (isFetchUrl && !allowedViaFetchUrl)) {
272
+ allowedRemoteName = m[1];
273
+ allowedUrl = m[3];
274
+ allowedViaFetchUrl = isFetchUrl;
275
+ if (isFetchUrl)
276
+ break;
252
277
  }
253
278
  }
254
279
  }
@@ -276,7 +301,13 @@ function validateInstarRepoCandidate(candidate, allowlist) {
276
301
  };
277
302
  }
278
303
  }
279
- return { ok: true, repoPath, remoteUrl: allowedUrl };
304
+ return {
305
+ ok: true,
306
+ repoPath,
307
+ remoteUrl: allowedUrl,
308
+ remoteName: allowedRemoteName ?? 'origin',
309
+ remoteFetchesCanonical: allowedViaFetchUrl,
310
+ };
280
311
  }
281
312
  // ── Slug / branch validation ─────────────────────────────────────────────
282
313
  export function defaultSlugFor(branch) {
@@ -313,7 +344,7 @@ export function validateBranchName(branch, repoPath) {
313
344
  // ── Create worktree ──────────────────────────────────────────────────────
314
345
  export async function createWorktree(opts) {
315
346
  const { agentHome, agentName } = resolveAgentHome(opts.resolveAgentHomeOpts);
316
- const { repoPath: instarRepo } = resolveInstarRepo(opts.resolveInstarRepoOpts);
347
+ const { repoPath: instarRepo, remoteName: allowlistedRemote, remoteFetchesCanonical, } = resolveInstarRepo(opts.resolveInstarRepoOpts);
317
348
  validateBranchName(opts.branch, instarRepo);
318
349
  const worktreesDir = path.join(agentHome, '.worktrees');
319
350
  ensureWorktreesDir(worktreesDir);
@@ -342,7 +373,7 @@ export async function createWorktree(opts) {
342
373
  const addArgs = ['-C', instarRepo, 'worktree', 'add'];
343
374
  let createdBranch = false;
344
375
  if (!branchExists) {
345
- const base = await resolveBaseBranch(instarRepo, opts.baseBranch);
376
+ const base = await resolveBaseBranch(instarRepo, opts.baseBranch, remoteFetchesCanonical ? allowlistedRemote : undefined);
346
377
  addArgs.push('-b', opts.branch, worktreePath, base);
347
378
  createdBranch = true;
348
379
  }
@@ -389,12 +420,30 @@ export async function createWorktree(opts) {
389
420
  createdBranch,
390
421
  };
391
422
  }
392
- async function resolveBaseBranch(repoPath, override) {
423
+ export async function resolveBaseBranch(repoPath, override, allowlistedRemote) {
393
424
  if (override && override.trim())
394
425
  return override.trim();
395
426
  // Note: the spec also allows a `worktree.defaultBaseBranch` config override,
396
427
  // surfaced via the caller (CLI reads config and passes baseBranch).
397
428
  const baseOp = 'src/core/InstarWorktreeManager.ts:resolveBaseBranch';
429
+ // Prefer the remote that won the allowlist check — that is canonical instar
430
+ // by definition. Blindly using origin/HEAD branched fleet agent-home
431
+ // worktrees from the agent's personal FORK, whose default branch is a
432
+ // backup-sync of agent-home FILES (no package.json / src) — an unusable
433
+ // worktree whose husky wiring then silently no-oped (task #82, found by the
434
+ // #829 live re-verify on a real agent home).
435
+ if (allowlistedRemote && allowlistedRemote !== 'origin') {
436
+ const remoteHead = tryGit(['-C', repoPath, 'symbolic-ref', `refs/remotes/${allowlistedRemote}/HEAD`], repoPath, baseOp, 'read');
437
+ const headPrefix = `refs/remotes/${allowlistedRemote}/`;
438
+ if (remoteHead.ok && remoteHead.stdout.startsWith(headPrefix)) {
439
+ return `${allowlistedRemote}/${remoteHead.stdout.slice(headPrefix.length)}`;
440
+ }
441
+ // Remote HEAD is often unset for manually-added remotes — fall back to
442
+ // its main, which `git fetch <remote> main` keeps current.
443
+ const remoteMain = tryGit(['-C', repoPath, 'show-ref', '--verify', `refs/remotes/${allowlistedRemote}/main`], repoPath, baseOp, 'read');
444
+ if (remoteMain.ok)
445
+ return `${allowlistedRemote}/main`;
446
+ }
398
447
  const head = tryGit(['-C', repoPath, 'symbolic-ref', 'refs/remotes/origin/HEAD'], repoPath, baseOp, 'read');
399
448
  if (head.ok && head.stdout.startsWith('refs/remotes/origin/')) {
400
449
  return head.stdout.replace('refs/remotes/origin/', 'origin/');
@@ -436,12 +485,25 @@ function maybeSymlinkNodeModules(instarRepo, worktreePath) {
436
485
  return;
437
486
  fs.symlinkSync(source, target);
438
487
  }
439
- function ensureHuskyHooksActive(worktreePath) {
488
+ export function ensureHuskyHooksActive(worktreePath) {
440
489
  const packageJsonPath = path.join(worktreePath, 'package.json');
441
490
  const trackedHookPath = path.join(worktreePath, '.husky', 'pre-commit');
442
491
  const shimHookPath = path.join(worktreePath, '.husky', '_', 'pre-commit');
443
- if (!fs.existsSync(packageJsonPath) || !fs.existsSync(trackedHookPath))
444
- return;
492
+ // A freshly-created instar worktree without package.json + the tracked
493
+ // pre-commit hook is NOT a normal case — it means the worktree was branched
494
+ // from something that is not the instar code tree (live case, task #82: the
495
+ // default base resolved to the agent's personal fork, whose default branch
496
+ // is a backup-sync of agent-home FILES). Silently returning here is what
497
+ // made that worktree look fine while running ZERO commit-time checks. Fail
498
+ // loud with the remedies instead.
499
+ if (!fs.existsSync(packageJsonPath) || !fs.existsSync(trackedHookPath)) {
500
+ throw new Error(`worktree base does not look like the instar code tree (missing ` +
501
+ `${!fs.existsSync(packageJsonPath) ? 'package.json' : '.husky/pre-commit'} in ${worktreePath}). ` +
502
+ `The base branch likely points at a fork/backup branch, not canonical instar. ` +
503
+ `Re-run with --base <canonical-remote>/main (e.g. --base upstream/main) or set ` +
504
+ `worktree.defaultBaseBranch in ~/.instar/config.json. ` +
505
+ `Clean up with: git worktree remove --force ${worktreePath}`);
506
+ }
445
507
  let prepareScript;
446
508
  try {
447
509
  const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
@@ -1 +1 @@
1
- {"version":3,"file":"InstarWorktreeManager.js","sourceRoot":"","sources":["../../src/core/InstarWorktreeManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstarWorktreeManager.js","sourceRoot":"","sources":["../../src/core/InstarWorktreeManager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.295",
3
+ "version": "1.3.297",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -0,0 +1,132 @@
1
+ #!/usr/bin/env node
2
+ // safe-git-allow: CI-only gate script — single read-only `git diff --name-status`
3
+ // against the Actions checkout; runs on ubuntu runners where the TS
4
+ // SafeGitExecutor is not importable from a standalone .mjs.
5
+ /**
6
+ * decision-audit-presence-check — gate-bypass detector (task #81 close-out).
7
+ *
8
+ * Every commit that touches in-scope files (src/, scripts/, .husky/, skills/
9
+ * code) is supposed to pass through the local instar-dev pre-commit gate,
10
+ * which writes + stages a decision-audit record. When the gate is silently
11
+ * absent — the live case: a worktree created with raw `git worktree add` has
12
+ * no husky shim, so `git commit` runs ZERO hooks — the commits arrive with no
13
+ * audit record, and nothing notices. CI re-runs the substantive checks, but
14
+ * the audit trail has holes and gate-block UX (tier floors, deferral
15
+ * detection) never fired for those commits.
16
+ *
17
+ * Structure > Willpower: this check makes the bypass VISIBLE at the PR
18
+ * boundary. A PR whose changes include in-scope files must also carry gate
19
+ * evidence — a per-entry decision file (post-#827: one
20
+ * `.instar/instar-dev-decisions/<ts>-<slug>.json` added per gate run) or, as
21
+ * transition grace for PRs authored under the pre-#827 writer, a modification
22
+ * to the legacy `.instar/instar-dev-decisions.jsonl`.
23
+ *
24
+ * Exemptions mirror the eli16 PR gate: bot authors and the automated
25
+ * release-cut PR.
26
+ */
27
+
28
+ import { execFileSync } from 'node:child_process';
29
+
30
+ // Keep in sync with inScope() in scripts/instar-dev-precommit.js — the gate
31
+ // this check detects bypasses OF. (A drift here only weakens detection, never
32
+ // blocks a legitimate PR: extra in-scope prefixes would require evidence from
33
+ // PRs the local gate also covers.)
34
+ export function isInScopeFile(file) {
35
+ if (file.startsWith('src/')) return true;
36
+ if (file.startsWith('scripts/')) return true;
37
+ if (file.startsWith('.husky/')) return true;
38
+ if (file.startsWith('skills/') && file.endsWith('SKILL.md')) return true;
39
+ if (file.startsWith('skills/') && (file.endsWith('.sh') || file.endsWith('.mjs') || file.endsWith('.js'))) return true;
40
+ return false;
41
+ }
42
+
43
+ function isGateEvidence(change) {
44
+ // Post-#827 per-entry file (added per gate evaluation)…
45
+ if (/^\.instar\/instar-dev-decisions\/.+\.json$/.test(change.file)) return true;
46
+ // …or the pre-#827 legacy JSONL append (transition grace for in-flight PRs).
47
+ if (change.file === '.instar/instar-dev-decisions.jsonl') return true;
48
+ return false;
49
+ }
50
+
51
+ /**
52
+ * Pure evaluation — exported for unit tests.
53
+ * @param {{ changes: Array<{status: string, file: string}>, title?: string, authorType?: string }} input
54
+ * @returns {{ ok: boolean, exempt?: string, reason?: string, inScopeFiles?: string[] }}
55
+ */
56
+ export function evaluateDecisionAuditPresence(input) {
57
+ const title = String(input?.title ?? '');
58
+ if (String(input?.authorType ?? '') === 'Bot') return { ok: true, exempt: 'bot-author' };
59
+ if (/^chore:\s*release\b/i.test(title)) return { ok: true, exempt: 'release-cut' };
60
+
61
+ const changes = Array.isArray(input?.changes) ? input.changes : [];
62
+ const inScopeFiles = changes.map((c) => c.file).filter(isInScopeFile);
63
+ if (inScopeFiles.length === 0) {
64
+ return { ok: true, reason: 'no in-scope changes — local gate not required' };
65
+ }
66
+
67
+ const hasEvidence = changes.some(isGateEvidence);
68
+ if (hasEvidence) {
69
+ return { ok: true, reason: 'gate evidence present', inScopeFiles };
70
+ }
71
+
72
+ return {
73
+ ok: false,
74
+ inScopeFiles,
75
+ reason:
76
+ `This PR changes ${inScopeFiles.length} in-scope file(s) but carries NO decision-audit record — ` +
77
+ `the local instar-dev pre-commit gate did not run for these commits. The usual cause is a build ` +
78
+ `worktree without the husky shim (created with raw 'git worktree add' instead of 'instar worktree ` +
79
+ `create'). Fix: in the worktree run 'npm run prepare' (wires .husky/_), then re-commit so the gate ` +
80
+ `evaluates the change and its audit entry (.instar/instar-dev-decisions/<ts>-<slug>.json) rides the ` +
81
+ `commit. See tasks #81/#80 and PRs #827/#829.`,
82
+ };
83
+ }
84
+
85
+ /** Parse `git diff --name-status base...head` output into change records. */
86
+ export function parseNameStatus(text) {
87
+ const changes = [];
88
+ for (const line of String(text).split('\n')) {
89
+ const t = line.trim();
90
+ if (!t) continue;
91
+ // Format: "<STATUS>\t<path>" (renames: "R100\t<old>\t<new>" — take the new path).
92
+ const parts = t.split('\t');
93
+ if (parts.length < 2) continue;
94
+ const status = parts[0];
95
+ const file = parts[parts.length - 1];
96
+ changes.push({ status, file });
97
+ }
98
+ return changes;
99
+ }
100
+
101
+ // ── CLI entrypoint (CI) ────────────────────────────────────────────────────
102
+ const invokedDirectly = process.argv[1] && import.meta.url.endsWith(process.argv[1].split('/').pop());
103
+ if (invokedDirectly) {
104
+ const baseSha = process.env.BASE_SHA;
105
+ const headSha = process.env.HEAD_SHA;
106
+ if (!baseSha || !headSha) {
107
+ console.error('decision-audit gate: BASE_SHA and HEAD_SHA env vars are required.');
108
+ process.exit(2);
109
+ }
110
+ let diffOut;
111
+ try {
112
+ diffOut = execFileSync('git', ['diff', '--name-status', `${baseSha}...${headSha}`], { encoding: 'utf8' });
113
+ } catch (err) {
114
+ console.error(`decision-audit gate: git diff failed — ${err instanceof Error ? err.message : String(err)}`);
115
+ process.exit(2);
116
+ }
117
+ const res = evaluateDecisionAuditPresence({
118
+ changes: parseNameStatus(diffOut),
119
+ title: process.env.PR_TITLE,
120
+ authorType: process.env.PR_AUTHOR_TYPE,
121
+ });
122
+ if (res.ok) {
123
+ console.log(`decision-audit gate: OK — ${res.exempt ? `exempt (${res.exempt})` : res.reason}`);
124
+ process.exit(0);
125
+ }
126
+ console.error('decision-audit gate: FAIL');
127
+ console.error(res.reason);
128
+ console.error('');
129
+ console.error('In-scope files without gate evidence:');
130
+ for (const f of res.inScopeFiles ?? []) console.error(` - ${f}`);
131
+ process.exit(1);
132
+ }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-06-05T12:40:00.392Z",
5
- "instarVersion": "1.3.295",
4
+ "generatedAt": "2026-06-05T13:18:11.152Z",
5
+ "instarVersion": "1.3.297",
6
6
  "entryCount": 198,
7
7
  "entries": {
8
8
  "hook:session-start": {
@@ -0,0 +1,22 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- assembled-by: assemble-next-md -->
4
+ <!-- bump: patch -->
5
+
6
+ ## What Changed
7
+
8
+ `validateInstarRepoCandidate` tracks `remoteName` + `remoteFetchesCanonical` (fetch-url match upgrades a pushurl-only match); `resolveBaseBranch` gains a preferred tier for fetch-canonical non-origin remotes; `ensureHuskyHooksActive`'s silent early-return on missing package.json/tracked-hook becomes a loud throw.
9
+
10
+ ## What to Tell Your User
11
+
12
+ Nothing user-visible — contributor/agent infrastructure. Creating a build worktree on an agent machine now starts from canonical instar code instead of the agent's backup fork, and a wrong starting point is a clear error instead of a silently checks-free folder.
13
+
14
+ ## Summary of New Capabilities
15
+
16
+ - The repo-trust check reports which remote proved trust and whether via its FETCH url (refs mirror canonical) — fetch-url matches are preferred and become the default worktree base (`<remote>/HEAD`, then `<remote>/main`).
17
+ - A pushurl-only trusted layout (fork-fetch/canonical-push origin) no longer silently produces a garbage worktree: the hook-wiring step throws an actionable error naming the cause, both remedies (`--base <canonical>/main` or `worktree.defaultBaseBranch` in config), and the cleanup command.
18
+ - Single-remote canonical clones are byte-identical to before; explicit `--base` always wins.
19
+
20
+ ## Evidence
21
+
22
+ Live failure (2026-06-05, the #829 re-verify on deployed v1.3.294): `instar worktree create` on the real agent home succeeded but branched from `origin/HEAD` = the fork's backup-sync commit — the worktree contained agent-home files (MEMORY.md, screenshots), no package.json, and the husky step silently no-oped; `git -C <wt> log -1` showed the backup commit, `.husky/_` absent. With an explicit `--base JKHeadley/main` the same CLI produced a correct worktree with the shim verified present — isolating the defect to default-base resolution. Pinned by 9 new tests: resolver contract for fetch-url match / pushurl-only match (the live Echo shape, `remoteFetchesCanonical=false`) / fetch-beats-pushurl preference; base resolution preferring the canonical remote over origin/HEAD, falling back when the preferred remote has no refs, unchanged with no preferred remote, override-wins; and the loud-throw on both garbage-base shapes. 43/43 file suite green.
@@ -0,0 +1,21 @@
1
+ # Upgrade Guide — vNEXT
2
+
3
+ <!-- assembled-by: assemble-next-md -->
4
+ <!-- bump: patch -->
5
+
6
+ ## What Changed
7
+
8
+ New `scripts/decision-audit-presence-check.mjs` (pure evaluator + CLI) and `.github/workflows/decision-audit-gate.yml`. The in-scope predicate mirrors `scripts/instar-dev-precommit.js`.
9
+
10
+ ## What to Tell Your User
11
+
12
+ Nothing user-visible — contributor CI. Pull requests that change gate-scoped code now fail fast if the local pre-commit gate never ran for them (the silent-bypass case), with a message that says exactly how to fix it.
13
+
14
+ ## Summary of New Capabilities
15
+
16
+ - `decision-audit-gate` CI check: a PR touching src/scripts/.husky/skills code must include a decision-audit record (per-entry file post-#827, or a legacy jsonl modification as transition grace). Bot + release-cut PRs exempt.
17
+ - `.gitignore` now ignores a symlinked `node_modules` too (trailing-slash patterns only match real directories).
18
+
19
+ ## Evidence
20
+
21
+ Live bypass this detects (2026-06-05): three build worktrees created with raw `git worktree add` had no husky shim — `git commit` ran zero hooks, so a full night's worktree commits carried no decision-audit records and nothing noticed (root fixed in #829; this is the structural backstop). Pinned by `tests/unit/decision-audit-presence-check.test.ts` (9 tests: scope predicate both sides, name-status parsing incl. renames, per-entry evidence passes, legacy-grace passes, the bypass shape FAILS with the actionable husky/`npm run prepare` message, docs-only passes, bot/release exemptions). CLI self-test green on an empty diff.
@@ -0,0 +1,5 @@
1
+ # A new PR check catches commits that skipped the local safety gate
2
+
3
+ Every code commit in this repo is supposed to pass through a local pre-commit gate that runs lint, tier checks, and writes a small audit record of the decision. That gate is wired up by husky, a tool that activates git hooks when dependencies are installed. We discovered (the hard way, across three build folders in one night) that folders created with raw git commands never get that wiring — so commits sail through with zero local checks and no audit record, and nothing anywhere notices. CI still re-runs the big checks on the pull request, but the gate's own protections (tier floors, deferral detection, the audit trail) silently never happened.
4
+
5
+ The root cause in the worktree-creation command is fixed separately. This change adds the structural backstop: a pull-request check that looks at what the PR changes. If it touches gate-scoped code (src, scripts, hooks, skills) it must ALSO carry the gate's audit record — the small decision file the gate stages into every commit it evaluates. A code PR with no record means the gate never ran for those commits, and the check fails with a message that names the likely cause (a worktree without hook wiring) and the exact fix (run `npm run prepare`, then re-commit). Docs-only PRs, bot PRs, and the automated release PR are unaffected, and PRs from before the audit-format change are accepted via their old-format record. Also fixes the `.gitignore` pattern so a symlinked `node_modules` can't be accidentally committed (a slip this very investigation made once).
@@ -0,0 +1,47 @@
1
+ # Side-Effects Review — decision-audit presence PR gate (task #81 close-out)
2
+
3
+ **Version / slug:** `decision-audit-presence`
4
+ **Date:** `2026-06-05`
5
+ **Author:** `echo`
6
+ **Second-pass reviewer:** `self-review under the Tier-1 lite lane; over-block analysis below covers every legitimate-PR shape considered`
7
+
8
+ ## Summary of the change
9
+
10
+ New PR-boundary check (`scripts/decision-audit-presence-check.mjs` + `.github/workflows/decision-audit-gate.yml`): a PR whose diff touches gate-scoped files (src/, scripts/, .husky/, skills/ code — the same `inScope` predicate as the pre-commit gate) must also carry gate evidence: an added `.instar/instar-dev-decisions/*.json` per-entry file (post-#827) or a modified legacy `.instar/instar-dev-decisions.jsonl` (transition grace). Otherwise it fails with an actionable message naming the husky-shim cause and the `npm run prepare` fix. Plus: `.gitignore` `node_modules/` → `node_modules` so the worktree node_modules SYMLINK is ignored too (trailing-slash patterns match only directories; the symlink slipped into a commit once tonight).
11
+
12
+ ## Decision-point inventory
13
+
14
+ - `evaluateDecisionAuditPresence` — add — pure; exemptions mirror the eli16 PR gate (Bot authors, `chore: release` titles).
15
+ - `isInScopeFile` — add — duplicated from `scripts/instar-dev-precommit.js` `inScope()` with a sync comment; drift only weakens detection, never blocks a PR the local gate doesn't also cover.
16
+ - Workflow — add — `pull_request` types opened/synchronize/reopened/ready_for_review, `contents: read`, full-depth checkout for the three-dot diff.
17
+ - `.gitignore` — modified — one-line pattern fix.
18
+
19
+ ## 1. Over-block analysis (can this fail a legitimate PR?)
20
+
21
+ - **Docs/tests/upgrades-only PRs** — pass (no in-scope files).
22
+ - **In-flight pre-#827 PRs** — pass via the legacy-jsonl grace path (their gate appended a line).
23
+ - **Gated code PRs** — pass: the gate stages an audit record into every evaluated commit (post-#814), so evidence is present by construction.
24
+ - **The genuinely-blocked shape** — in-scope changes with NO record — is exactly the bypass this exists to surface. The failure message gives the one-command fix.
25
+ - **Bots + release-cut** — exempt, mirroring the eli16 gate.
26
+ - **Squash-merge interaction** — none: the check runs on the PR diff (base...head), not on merged history.
27
+ - Residual risk: an operator hand-editing in-scope files via the GitHub web UI would fail the check — correctly, since the gate never evaluated that change; the fix message applies (commit locally through the gate).
28
+
29
+ ## 2. Under-block
30
+
31
+ Evidence is presence-based, not per-commit: one gated commit in a PR vouches for the PR even if a sibling commit bypassed. Accepted for this slice — the common failure mode (a WHOLE worktree without hooks) produces zero evidence and is caught. Per-commit matching would need trace↔commit correlation; noted as a possible tightening, not promised.
32
+
33
+ ## 3. Signal vs authority
34
+
35
+ Deterministic file-presence check — no LLM, no semantic classification. Authority shape matches existing required CI (eli16 gate, repo invariants).
36
+
37
+ ## 4. Migration parity
38
+
39
+ None — repo CI infrastructure, not agent-installed files.
40
+
41
+ ## 5. Token/cost impact
42
+
43
+ One ubuntu CI job per PR event, seconds long. No LLM calls.
44
+
45
+ ## 6. Rollback
46
+
47
+ Delete the workflow file (or revert); the script is inert without it.
@@ -0,0 +1,45 @@
1
+ # Side-Effects Review — canonical-remote worktree base + loud non-code-base failure (task #82)
2
+
3
+ **Version / slug:** `worktree-base-canonical`
4
+ **Date:** `2026-06-05`
5
+ **Author:** `echo`
6
+ **Second-pass reviewer:** `self-review under the Tier-1 lite lane; the can-this-break-existing-layouts analysis below walks every remote configuration`
7
+
8
+ ## Summary of the change
9
+
10
+ Found by the #829 live re-verify: the FIRST CLI worktree create on a real agent home branched from `origin/HEAD` = the personal fork's backup-sync main (agent-home FILES, no package.json) — and `ensureHuskyHooksActive` silently early-returned, leaving a plausible-looking worktree with ZERO commit-time checks. Fixes: (1) `validateInstarRepoCandidate` now reports `remoteName` + `remoteFetchesCanonical` (fetch-url match = refs mirror canonical; pushurl-only = trust without ref provenance), preferring fetch-url matches; `resolveBaseBranch` prefers `<thatRemote>/HEAD|main` only when fetch-canonical. (2) `ensureHuskyHooksActive` throws an actionable error (cause + `--base`/`worktree.defaultBaseBranch` remedies + cleanup command) instead of silently returning when package.json or the tracked hook is missing.
11
+
12
+ ## Decision-point inventory
13
+
14
+ - `validateInstarRepoCandidate` — modified — tracks matched remote name + fetch-vs-pushurl; fetch-url match upgrades a pushurl-only match (refs beat trust-only). Trust semantics unchanged: same allowlist, same accept/reject outcomes.
15
+ - `ResolvedInstarRepo` — extended — `remoteName`, `remoteFetchesCanonical` (additive).
16
+ - `resolveBaseBranch` — modified — NEW preferred tier (allowlisted fetch-canonical remote ≠ origin: its HEAD, then its main); existing origin/HEAD → local-main fallbacks unchanged and still terminal. Exported for tests.
17
+ - `ensureHuskyHooksActive` — modified — silent early-return → loud throw. Exported for tests.
18
+
19
+ ## 1. Layout-by-layout behavior analysis
20
+
21
+ - **Single-remote canonical clone** (origin url allowlisted): remoteName='origin', fetch-canonical=true → preferred tier skipped (`!== 'origin'` guard) → origin/HEAD as before. Byte-identical.
22
+ - **Fork origin + canonical second remote with allowlisted FETCH url**: base = `<canonical>/main` — the fix working as intended.
23
+ - **Fork origin, pushurl-only trust (the live Echo home, default allowlist)**: fetch-canonical=false → base falls back to origin/HEAD (still the fork) → worktree creation now FAILS LOUDLY at the husky step with the remedies, instead of silently producing a checks-free worktree. Operators fix via `--base`, `worktree.defaultBaseBranch`, or adding their canonical remote's fetch url to `worktree.repoUrlAllowlist` (which upgrades them to the preferred tier).
24
+ - **Branch already exists** (no base resolution): unchanged.
25
+ - **Explicit `--base`**: unchanged, always wins.
26
+
27
+ ## 2. Could the loud throw break a legitimate flow?
28
+
29
+ Searched for legitimate package.json-less worktrees: `InstarWorktreeManager` creates worktrees of the INSTAR repo only (allowlist-validated); every canonical instar code branch has package.json + .husky/pre-commit. A base without them is precisely the broken case. The throw happens AFTER `git worktree add` — the error includes the exact `git worktree remove --force` cleanup command.
30
+
31
+ ## 3. Over-permit
32
+
33
+ None — no trust widening; remote preference only selects among already-allowlisted remotes' refs.
34
+
35
+ ## 4. Migration parity
36
+
37
+ None — src-internal CLI behavior.
38
+
39
+ ## 5. Token/cost impact
40
+
41
+ None.
42
+
43
+ ## 6. Rollback
44
+
45
+ Revert the commit: base resolution returns to origin/HEAD-first and the husky step returns to the silent skip (the garbage-worktree failure returns with it).
@@ -0,0 +1,5 @@
1
+ # New worktrees branch from canonical instar, not the agent's backup fork
2
+
3
+ After the last fix, `instar worktree create` correctly accepts an agent's home folder — but the FIRST live use revealed the next layer: the new worktree was branched from the wrong place. The command picks its starting branch from "origin", and on agent machines origin is the agent's personal fork, whose main branch is an automatic backup of the agent's home files — notes, screenshots, memory files — not the instar source code. The resulting worktree had no package.json and no source tree, and the hook-wiring step quietly skipped itself (it bails out when package.json is missing), so the folder LOOKED fine while having zero commit-time checks.
4
+
5
+ Two changes. First, the repo-trust check now remembers WHICH remote proved trust and HOW: a remote trusted by its fetch address actually mirrors canonical instar, so its main branch becomes the preferred default base for new worktrees; a remote trusted only by its push address proves trust but its local refs are still the fork's, so it is never used as a base. Second — the universal net — the hook-wiring step no longer silently skips when the worktree has no package.json: it now fails loudly with a message that names the likely cause (a fork/backup base) and the two remedies (`--base <canonical>/main` on the command, or the `worktree.defaultBaseBranch` config setting), plus the exact cleanup command. A broken base is now impossible to miss, on every layout.