instar 1.3.712 → 1.3.714
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.
- package/.claude/skills/autonomous/SKILL.md +49 -0
- package/.claude/skills/autonomous/hooks/autonomous-stop-hook.sh +103 -9
- package/.claude/skills/autonomous/scripts/setup-autonomous.sh +47 -0
- package/dist/commands/init.js +9 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +19 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/AutonomousRunStore.d.ts +200 -0
- package/dist/core/AutonomousRunStore.d.ts.map +1 -0
- package/dist/core/AutonomousRunStore.js +402 -0
- package/dist/core/AutonomousRunStore.js.map +1 -0
- package/dist/core/CompletionEvaluator.d.ts +24 -0
- package/dist/core/CompletionEvaluator.d.ts.map +1 -1
- package/dist/core/CompletionEvaluator.js +29 -1
- package/dist/core/CompletionEvaluator.js.map +1 -1
- package/dist/core/ExternalOperationGate.d.ts.map +1 -1
- package/dist/core/ExternalOperationGate.js +6 -0
- package/dist/core/ExternalOperationGate.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +56 -3
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/ScopeAccretionCorroboration.d.ts +79 -0
- package/dist/core/ScopeAccretionCorroboration.d.ts.map +1 -0
- package/dist/core/ScopeAccretionCorroboration.js +159 -0
- package/dist/core/ScopeAccretionCorroboration.js.map +1 -0
- package/dist/core/ScopeAccretionRatifier.d.ts +93 -0
- package/dist/core/ScopeAccretionRatifier.d.ts.map +1 -0
- package/dist/core/ScopeAccretionRatifier.js +228 -0
- package/dist/core/ScopeAccretionRatifier.js.map +1 -0
- package/dist/core/ScopeAccretionSweep.d.ts +83 -0
- package/dist/core/ScopeAccretionSweep.d.ts.map +1 -0
- package/dist/core/ScopeAccretionSweep.js +353 -0
- package/dist/core/ScopeAccretionSweep.js.map +1 -0
- package/dist/core/WorkingSetManifest.d.ts.map +1 -1
- package/dist/core/WorkingSetManifest.js +26 -1
- package/dist/core/WorkingSetManifest.js.map +1 -1
- package/dist/core/installCodexHooks.d.ts.map +1 -1
- package/dist/core/installCodexHooks.js +9 -0
- package/dist/core/installCodexHooks.js.map +1 -1
- package/dist/core/types.d.ts +29 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/lifeline/TelegramLifeline.d.ts.map +1 -1
- package/dist/lifeline/TelegramLifeline.js +8 -0
- package/dist/lifeline/TelegramLifeline.js.map +1 -1
- package/dist/messaging/TelegramAdapter.d.ts +18 -0
- package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
- package/dist/messaging/TelegramAdapter.js +28 -0
- package/dist/messaging/TelegramAdapter.js.map +1 -1
- package/dist/scaffold/templates.js +2 -2
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +638 -1
- package/dist/server/routes.js.map +1 -1
- package/dist/server/specReviewRoutes.d.ts +6 -0
- package/dist/server/specReviewRoutes.d.ts.map +1 -1
- package/dist/server/specReviewRoutes.js +30 -0
- package/dist/server/specReviewRoutes.js.map +1 -1
- package/package.json +1 -1
- package/scripts/lint-scrape-fixture-realness.js +40 -0
- package/src/data/builtin-manifest.json +65 -65
- package/src/scaffold/templates.ts +2 -2
- package/upgrades/1.3.713.md +65 -0
- package/upgrades/1.3.714.md +40 -0
- package/upgrades/side-effects/autonomous-scope-accretion-completion.md +77 -0
- package/upgrades/side-effects/bench-prompt-fixes-2.md +72 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScopeAccretionSweep — the git-truth accretion sweep (Layer 0, LOAD-BEARING).
|
|
3
|
+
*
|
|
4
|
+
* Spec: docs/specs/autonomous-scope-accretion-completion.md §2.2 (R15/R31/R41/
|
|
5
|
+
* R42/R48) + §2.4 (R20). Computes, from GIT STATE over a live-derived root set,
|
|
6
|
+
* the artifacts an autonomous run created — catching Write/Edit, Bash heredocs,
|
|
7
|
+
* `tee`, `cp`, python scripts, and subagent sessions identically (P20: the file
|
|
8
|
+
* in the tree is the state; the tool event was only a symbol).
|
|
9
|
+
*
|
|
10
|
+
* Read-only by construction: every git invocation goes through the injected
|
|
11
|
+
* `readGit` (SafeGitExecutor.readSync shape), bounded (per-root timeout, total
|
|
12
|
+
* budget, 200-path clamp), and runs in-process on the server at judge-fire only.
|
|
13
|
+
*/
|
|
14
|
+
import type { AutonomousRunRecord } from './AutonomousRunStore.js';
|
|
15
|
+
export type ArtifactClass = 'deliverable' | 'companion' | 'scratch' | 'out-of-allowlist-doc';
|
|
16
|
+
export interface AccretedArtifact {
|
|
17
|
+
/** Repo-relative path within its root. */
|
|
18
|
+
path: string;
|
|
19
|
+
root: string;
|
|
20
|
+
cls: ArtifactClass;
|
|
21
|
+
/** R17: a deliverable that disappeared from the tree stays flagged, never reclassified. */
|
|
22
|
+
deleted: boolean;
|
|
23
|
+
committed: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface SweepResult {
|
|
26
|
+
artifacts: AccretedArtifact[];
|
|
27
|
+
/** Out-of-allowlist doc / orphan companion seen — advisory flag (§2.4). */
|
|
28
|
+
suspected: boolean;
|
|
29
|
+
truncated: boolean;
|
|
30
|
+
/** A git invocation failed or the budget expired mid-sweep — named in judge context. */
|
|
31
|
+
degraded: boolean;
|
|
32
|
+
latencyMs: number;
|
|
33
|
+
rootsSwept: number;
|
|
34
|
+
/** Worktrees first seen this sweep → their first-sight anchor SHA (for persistence, R31). */
|
|
35
|
+
newWorktrees: Record<string, string>;
|
|
36
|
+
}
|
|
37
|
+
export interface SweepDeps {
|
|
38
|
+
/** SafeGitExecutor.readSync shape: throws on failure. */
|
|
39
|
+
readGit: (args: string[], cwd: string, timeoutMs?: number) => string;
|
|
40
|
+
now?: () => number;
|
|
41
|
+
/** Per-root git budget in ms (default 4000). */
|
|
42
|
+
perRootTimeoutMs?: number;
|
|
43
|
+
/** Total sweep budget in ms (default 10000). */
|
|
44
|
+
totalBudgetMs?: number;
|
|
45
|
+
/** Path-count clamp (default 200, spec §2.2). */
|
|
46
|
+
maxPaths?: number;
|
|
47
|
+
/** Agent-home worktree convention dir (`<agentHome>/.worktrees`); optional. */
|
|
48
|
+
worktreesDir?: string;
|
|
49
|
+
}
|
|
50
|
+
export declare function classifyArtifactPath(relPath: string): ArtifactClass | null;
|
|
51
|
+
/** The companion's parent spec path (`foo.eli16.md` → `foo.md`). */
|
|
52
|
+
export declare function companionParentPath(relPath: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* Extract the declared-deliverable set from a registered condition text:
|
|
55
|
+
* repo-relative path tokens matching the frontloaded grammar that ALSO match a
|
|
56
|
+
* deliverable glob, UNION the explicit registration list. A pathless condition
|
|
57
|
+
* ("draft five specs…") declares NOTHING — the honest reading of the motivating
|
|
58
|
+
* incident (spec §2.4).
|
|
59
|
+
*
|
|
60
|
+
* Registered parser (Scrape/Parser Fixture Realness): fed byte-for-byte
|
|
61
|
+
* captured completion-condition texts in tests/fixtures/captured/.
|
|
62
|
+
*/
|
|
63
|
+
export declare function parseDeclaredDeliverables(conditionText: string, explicit?: string[]): string[];
|
|
64
|
+
export interface PorcelainEntry {
|
|
65
|
+
path: string;
|
|
66
|
+
present: boolean;
|
|
67
|
+
deleted: boolean;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Map `git status --porcelain` output to present/deleted path entries per R42:
|
|
71
|
+
* `??` untracked and `A`/`M` states = present; `R`/`C` = the NEW path is present
|
|
72
|
+
* (old path treated as deleted); `D` = deleted (feeds the R17 deleted-flag).
|
|
73
|
+
* Ignored files (`!!`) and submodule pointers are NOT swept.
|
|
74
|
+
*/
|
|
75
|
+
export declare function parsePorcelainStatus(porcelain: string): PorcelainEntry[];
|
|
76
|
+
export declare function runAccretionSweep(record: AutonomousRunRecord, deps: SweepDeps): SweepResult;
|
|
77
|
+
/**
|
|
78
|
+
* Compute the BLOCKING unbuilt set from a sweep (spec §2.8 step 1-2):
|
|
79
|
+
* deliverable-class artifacts (deleted ones stay, R17) minus declared, minus
|
|
80
|
+
* ratified, minus corroborated. Companions never block (cleared iff parent).
|
|
81
|
+
*/
|
|
82
|
+
export declare function computeUnbuiltSet(sweep: SweepResult, declared: string[], ratified: string[], corroborated: Record<string, unknown>): AccretedArtifact[];
|
|
83
|
+
//# sourceMappingURL=ScopeAccretionSweep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScopeAccretionSweep.d.ts","sourceRoot":"","sources":["../../src/core/ScopeAccretionSweep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,yBAAyB,CAAC;AAElF,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,sBAAsB,CAAC;AAE7F,MAAM,WAAW,gBAAgB;IAC/B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,aAAa,CAAC;IACnB,2FAA2F;IAC3F,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,2EAA2E;IAC3E,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,wFAAwF;IACxF,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,yDAAyD;IACzD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAQD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAsB1E;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3D;AAMD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAYlG;AAID,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAiCxE;AAWD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,GAAG,WAAW,CA8K3F;AA8BD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,gBAAgB,EAAE,CAUpB"}
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScopeAccretionSweep — the git-truth accretion sweep (Layer 0, LOAD-BEARING).
|
|
3
|
+
*
|
|
4
|
+
* Spec: docs/specs/autonomous-scope-accretion-completion.md §2.2 (R15/R31/R41/
|
|
5
|
+
* R42/R48) + §2.4 (R20). Computes, from GIT STATE over a live-derived root set,
|
|
6
|
+
* the artifacts an autonomous run created — catching Write/Edit, Bash heredocs,
|
|
7
|
+
* `tee`, `cp`, python scripts, and subagent sessions identically (P20: the file
|
|
8
|
+
* in the tree is the state; the tool event was only a symbol).
|
|
9
|
+
*
|
|
10
|
+
* Read-only by construction: every git invocation goes through the injected
|
|
11
|
+
* `readGit` (SafeGitExecutor.readSync shape), bounded (per-root timeout, total
|
|
12
|
+
* budget, 200-path clamp), and runs in-process on the server at judge-fire only.
|
|
13
|
+
*/
|
|
14
|
+
import * as fs from 'fs';
|
|
15
|
+
import * as path from 'path';
|
|
16
|
+
const MAX_PATHS_DEFAULT = 200;
|
|
17
|
+
// ── Artifact classes (R20 — glob-only, fully deterministic) ───────────────
|
|
18
|
+
const ELI16_RE = /\.eli16\.md$/;
|
|
19
|
+
export function classifyArtifactPath(relPath) {
|
|
20
|
+
const p = relPath.replace(/\\/g, '/');
|
|
21
|
+
// scratch — scratchpad/tmp conventions are ledgered, never block.
|
|
22
|
+
if (/^tmp\//.test(p) || /\/tmp\//.test(p) || /^\.scratchpad\//.test(p) || /^scratch\//.test(p)) {
|
|
23
|
+
return 'scratch';
|
|
24
|
+
}
|
|
25
|
+
// docs/specs/reports/** is ceremony EVIDENCE (the convergence report that
|
|
26
|
+
// CLEARS a spec via R32 arm (a)) — treating it as a fresh deliverable would
|
|
27
|
+
// make clearing a spec accrete a new hold (a self-feeding loop). Evidence,
|
|
28
|
+
// not a deliverable; out of the blocking taxonomy.
|
|
29
|
+
if (/^docs\/specs\/reports\//.test(p))
|
|
30
|
+
return null;
|
|
31
|
+
if (/^docs\/specs\/.+\.md$/.test(p)) {
|
|
32
|
+
return ELI16_RE.test(p) ? 'companion' : 'deliverable';
|
|
33
|
+
}
|
|
34
|
+
if (/^docs\/audits\/.+\.md$/.test(p))
|
|
35
|
+
return 'deliverable';
|
|
36
|
+
if (/^docs\/incidents\/.+\.md$/.test(p))
|
|
37
|
+
return 'deliverable';
|
|
38
|
+
if (/(^|\/)[^/]*runbook[^/]*\.md$/i.test(p))
|
|
39
|
+
return 'deliverable';
|
|
40
|
+
if (/^scripts\//.test(p))
|
|
41
|
+
return 'deliverable';
|
|
42
|
+
// out-of-allowlist doc (advisory): any other docs/**/*.md or *.md at repo root.
|
|
43
|
+
if (/^docs\/.+\.md$/.test(p))
|
|
44
|
+
return 'out-of-allowlist-doc';
|
|
45
|
+
if (/^[^/]+\.md$/.test(p))
|
|
46
|
+
return 'out-of-allowlist-doc';
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
/** The companion's parent spec path (`foo.eli16.md` → `foo.md`). */
|
|
50
|
+
export function companionParentPath(relPath) {
|
|
51
|
+
return relPath.replace(/\.eli16\.md$/, '.md');
|
|
52
|
+
}
|
|
53
|
+
// ── Declared-deliverable grammar (R20, frontloaded) ───────────────────────
|
|
54
|
+
const PATH_TOKEN_RE = /[A-Za-z0-9_./-]+\.(?:md|sh|mjs|js|cjs|ts|py)\b/g;
|
|
55
|
+
/**
|
|
56
|
+
* Extract the declared-deliverable set from a registered condition text:
|
|
57
|
+
* repo-relative path tokens matching the frontloaded grammar that ALSO match a
|
|
58
|
+
* deliverable glob, UNION the explicit registration list. A pathless condition
|
|
59
|
+
* ("draft five specs…") declares NOTHING — the honest reading of the motivating
|
|
60
|
+
* incident (spec §2.4).
|
|
61
|
+
*
|
|
62
|
+
* Registered parser (Scrape/Parser Fixture Realness): fed byte-for-byte
|
|
63
|
+
* captured completion-condition texts in tests/fixtures/captured/.
|
|
64
|
+
*/
|
|
65
|
+
export function parseDeclaredDeliverables(conditionText, explicit = []) {
|
|
66
|
+
const out = new Set();
|
|
67
|
+
const matches = (conditionText || '').match(PATH_TOKEN_RE) ?? [];
|
|
68
|
+
for (const raw of matches) {
|
|
69
|
+
const tok = raw.replace(/^\.\//, '').replace(/^\/+/, '');
|
|
70
|
+
const cls = classifyArtifactPath(tok);
|
|
71
|
+
if (cls === 'deliverable' || cls === 'companion')
|
|
72
|
+
out.add(tok);
|
|
73
|
+
}
|
|
74
|
+
for (const p of explicit) {
|
|
75
|
+
if (typeof p === 'string' && p.trim())
|
|
76
|
+
out.add(p.trim().replace(/^\.\//, ''));
|
|
77
|
+
}
|
|
78
|
+
return [...out];
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Map `git status --porcelain` output to present/deleted path entries per R42:
|
|
82
|
+
* `??` untracked and `A`/`M` states = present; `R`/`C` = the NEW path is present
|
|
83
|
+
* (old path treated as deleted); `D` = deleted (feeds the R17 deleted-flag).
|
|
84
|
+
* Ignored files (`!!`) and submodule pointers are NOT swept.
|
|
85
|
+
*/
|
|
86
|
+
export function parsePorcelainStatus(porcelain) {
|
|
87
|
+
const out = [];
|
|
88
|
+
for (const line of (porcelain || '').split('\n')) {
|
|
89
|
+
if (!line || line.length < 4)
|
|
90
|
+
continue;
|
|
91
|
+
const xy = line.slice(0, 2);
|
|
92
|
+
const rest = line.slice(3);
|
|
93
|
+
if (xy === '!!')
|
|
94
|
+
continue; // ignored — out of taxonomy
|
|
95
|
+
const unquote = (s) => {
|
|
96
|
+
const t = s.trim();
|
|
97
|
+
return t.startsWith('"') && t.endsWith('"') ? t.slice(1, -1) : t;
|
|
98
|
+
};
|
|
99
|
+
if (/[RC]/.test(xy)) {
|
|
100
|
+
// rename/copy: `R old -> new` — new present, old deleted (rename only).
|
|
101
|
+
const arrow = rest.indexOf(' -> ');
|
|
102
|
+
if (arrow >= 0) {
|
|
103
|
+
const oldPath = unquote(rest.slice(0, arrow));
|
|
104
|
+
const newPath = unquote(rest.slice(arrow + 4));
|
|
105
|
+
out.push({ path: newPath, present: true, deleted: false });
|
|
106
|
+
if (xy.includes('R'))
|
|
107
|
+
out.push({ path: oldPath, present: false, deleted: true });
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
out.push({ path: unquote(rest), present: true, deleted: false });
|
|
111
|
+
}
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
if (xy.includes('D')) {
|
|
115
|
+
out.push({ path: unquote(rest), present: false, deleted: true });
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
if (xy === '??' || /[AM]/.test(xy)) {
|
|
119
|
+
out.push({ path: unquote(rest), present: true, deleted: false });
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return out;
|
|
123
|
+
}
|
|
124
|
+
export function runAccretionSweep(record, deps) {
|
|
125
|
+
const now = deps.now ?? (() => Date.now());
|
|
126
|
+
const t0 = now();
|
|
127
|
+
const perRoot = deps.perRootTimeoutMs ?? 4000;
|
|
128
|
+
const budget = deps.totalBudgetMs ?? 10_000;
|
|
129
|
+
const maxPaths = deps.maxPaths ?? MAX_PATHS_DEFAULT;
|
|
130
|
+
let degraded = false;
|
|
131
|
+
let truncated = false;
|
|
132
|
+
let suspected = false;
|
|
133
|
+
const newWorktrees = {};
|
|
134
|
+
const seen = new Map();
|
|
135
|
+
const budgetLeft = () => budget - (now() - t0);
|
|
136
|
+
// ── Root set, RE-DERIVED LIVE (R31): base roots + their worktrees + the
|
|
137
|
+
// agent-home worktree convention dirs created after started_at. ──
|
|
138
|
+
const roots = [];
|
|
139
|
+
// Dedupe on the REALPATH (macOS: /var → /private/var — `git worktree list`
|
|
140
|
+
// reports the realpath while the registered root may be the symlinked form).
|
|
141
|
+
const canon = (p) => {
|
|
142
|
+
try {
|
|
143
|
+
return fs.realpathSync(p);
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
return path.resolve(p);
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
const addRoot = (root, startSha, shared) => {
|
|
150
|
+
const norm = canon(root);
|
|
151
|
+
if (roots.some((r) => canon(r.root) === norm))
|
|
152
|
+
return;
|
|
153
|
+
roots.push({ root, startSha, shared });
|
|
154
|
+
};
|
|
155
|
+
for (const base of record.baseRoots) {
|
|
156
|
+
addRoot(base.root, base.startSha, base.shared);
|
|
157
|
+
if (budgetLeft() <= 0)
|
|
158
|
+
break;
|
|
159
|
+
// Every checkout in `git worktree list` for this base root.
|
|
160
|
+
try {
|
|
161
|
+
const out = deps.readGit(['worktree', 'list', '--porcelain'], base.root, Math.min(perRoot, Math.max(budgetLeft(), 1)));
|
|
162
|
+
for (const line of out.split('\n')) {
|
|
163
|
+
if (!line.startsWith('worktree '))
|
|
164
|
+
continue;
|
|
165
|
+
const wt = line.slice('worktree '.length).trim();
|
|
166
|
+
if (!wt || path.resolve(wt) === path.resolve(base.root))
|
|
167
|
+
continue;
|
|
168
|
+
addRoot(wt, resolveWorktreeAnchor(record, wt, base, deps, newWorktrees), false);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
degraded = true;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// Agent-home worktree convention: dirs under `.worktrees/` created after started_at.
|
|
176
|
+
if (deps.worktreesDir) {
|
|
177
|
+
try {
|
|
178
|
+
const startedMs = Date.parse(record.startedAt);
|
|
179
|
+
for (const name of fs.readdirSync(deps.worktreesDir)) {
|
|
180
|
+
const p = path.join(deps.worktreesDir, name);
|
|
181
|
+
let st;
|
|
182
|
+
try {
|
|
183
|
+
st = fs.statSync(p);
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
continue;
|
|
187
|
+
}
|
|
188
|
+
if (!st.isDirectory())
|
|
189
|
+
continue;
|
|
190
|
+
const created = Math.min(st.birthtimeMs || Infinity, st.mtimeMs || Infinity);
|
|
191
|
+
if (Number.isFinite(startedMs) && created < startedMs)
|
|
192
|
+
continue;
|
|
193
|
+
const base = record.baseRoots.find((b) => !b.shared) ?? record.baseRoots[0];
|
|
194
|
+
if (base)
|
|
195
|
+
addRoot(p, resolveWorktreeAnchor(record, p, base, deps, newWorktrees), false);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
/* @silent-fallback-ok — a missing .worktrees dir is the normal single-checkout
|
|
200
|
+
case; the base-root `git worktree list` arm above still covers linked trees. */
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
const record1 = (relPath, root, committed, deletedHint) => {
|
|
204
|
+
const cls = classifyArtifactPath(relPath);
|
|
205
|
+
if (cls === null)
|
|
206
|
+
return;
|
|
207
|
+
if (cls === 'out-of-allowlist-doc') {
|
|
208
|
+
suspected = true;
|
|
209
|
+
return; // advisory only — never enters the artifact set (§2.4)
|
|
210
|
+
}
|
|
211
|
+
if (seen.size >= maxPaths) {
|
|
212
|
+
truncated = true;
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const key = `${path.resolve(root)}${relPath}`;
|
|
216
|
+
const existing = seen.get(key);
|
|
217
|
+
const abs = path.join(root, relPath);
|
|
218
|
+
const onDisk = fs.existsSync(abs);
|
|
219
|
+
// R17: deletion never silently reclassifies — committed-then-missing or a
|
|
220
|
+
// porcelain D keeps the entry with deleted:true.
|
|
221
|
+
const deleted = deletedHint || (committed && !onDisk);
|
|
222
|
+
if (existing) {
|
|
223
|
+
existing.committed = existing.committed || committed;
|
|
224
|
+
existing.deleted = existing.deleted || deleted;
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
seen.set(key, { path: relPath, root, cls, deleted, committed });
|
|
228
|
+
};
|
|
229
|
+
// ── Per-root arms ──
|
|
230
|
+
let rootsSwept = 0;
|
|
231
|
+
for (const r of roots) {
|
|
232
|
+
if (budgetLeft() <= 0) {
|
|
233
|
+
degraded = true;
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
if (!r.startSha) {
|
|
237
|
+
// Not a git repo at registration — porcelain-only best effort.
|
|
238
|
+
try {
|
|
239
|
+
// --untracked-files=all: a freshly-created directory must list its
|
|
240
|
+
// FILES (`?? docs/specs/foo.md`), not collapse to `?? docs/` (which no
|
|
241
|
+
// class glob matches — the exact heredoc-evasion blind spot).
|
|
242
|
+
const st = deps.readGit(['status', '--porcelain', '--untracked-files=all'], r.root, Math.min(perRoot, Math.max(budgetLeft(), 1)));
|
|
243
|
+
for (const e of parsePorcelainStatus(st))
|
|
244
|
+
record1(e.path, r.root, false, e.deleted);
|
|
245
|
+
rootsSwept++;
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
degraded = true;
|
|
249
|
+
}
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
// Committed arm — SHA-anchored, never --since (backdated commit dates are
|
|
253
|
+
// author-settable; a SHA anchor sees the commit regardless, R31).
|
|
254
|
+
try {
|
|
255
|
+
const logArgs = r.shared
|
|
256
|
+
? // R48: shared agent-home root — HEAD-only attribution (concurrent
|
|
257
|
+
// sessions in the shared clone must not hold this run).
|
|
258
|
+
['log', `${r.startSha}..HEAD`, '--diff-filter=ACR', '--name-only', '--pretty=format:']
|
|
259
|
+
: // Run-owned roots: ALL local branches (R41 — commit-on-branch-then-
|
|
260
|
+
// switch-back is a normal-workflow escape; local branches only, so
|
|
261
|
+
// fetched peer work is never attributed).
|
|
262
|
+
['log', '--branches', '--not', r.startSha, '--diff-filter=ACR', '--name-only', '--pretty=format:'];
|
|
263
|
+
const out = deps.readGit(logArgs, r.root, Math.min(perRoot, Math.max(budgetLeft(), 1)));
|
|
264
|
+
for (const line of out.split('\n')) {
|
|
265
|
+
const p = line.trim();
|
|
266
|
+
if (p)
|
|
267
|
+
record1(p, r.root, true, false);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
catch {
|
|
271
|
+
degraded = true;
|
|
272
|
+
}
|
|
273
|
+
if (budgetLeft() <= 0) {
|
|
274
|
+
degraded = true;
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
277
|
+
// Uncommitted arm — porcelain mapping FIXED per R42 (-uall so untracked
|
|
278
|
+
// dirs list their files; see the note above).
|
|
279
|
+
try {
|
|
280
|
+
const st = deps.readGit(['status', '--porcelain', '--untracked-files=all'], r.root, Math.min(perRoot, Math.max(budgetLeft(), 1)));
|
|
281
|
+
for (const e of parsePorcelainStatus(st))
|
|
282
|
+
record1(e.path, r.root, false, e.deleted);
|
|
283
|
+
}
|
|
284
|
+
catch {
|
|
285
|
+
degraded = true;
|
|
286
|
+
}
|
|
287
|
+
rootsSwept++;
|
|
288
|
+
}
|
|
289
|
+
// Orphan companion (an .eli16.md with no swept parent) → advisory flag; a
|
|
290
|
+
// companion never blocks on its own (§2.4).
|
|
291
|
+
const artifacts = [...seen.values()];
|
|
292
|
+
const deliverablePaths = new Set(artifacts.filter((a) => a.cls === 'deliverable').map((a) => a.path));
|
|
293
|
+
for (const a of artifacts) {
|
|
294
|
+
if (a.cls === 'companion' && !deliverablePaths.has(companionParentPath(a.path))) {
|
|
295
|
+
suspected = true;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
return {
|
|
299
|
+
artifacts,
|
|
300
|
+
suspected,
|
|
301
|
+
truncated,
|
|
302
|
+
degraded,
|
|
303
|
+
latencyMs: now() - t0,
|
|
304
|
+
rootsSwept,
|
|
305
|
+
newWorktrees,
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Anchor SHA for a worktree first seen at sweep time (R31): the recorded
|
|
310
|
+
* first-sight SHA if we have one, else merge-base with the base root's start
|
|
311
|
+
* SHA, falling back to the registration-time base-root SHA.
|
|
312
|
+
*/
|
|
313
|
+
function resolveWorktreeAnchor(record, wtPath, base, deps, newWorktrees) {
|
|
314
|
+
const known = record.worktreeFirstSeen?.[wtPath];
|
|
315
|
+
if (known)
|
|
316
|
+
return known;
|
|
317
|
+
let anchor = base.startSha;
|
|
318
|
+
if (base.startSha) {
|
|
319
|
+
try {
|
|
320
|
+
const mb = deps.readGit(['merge-base', 'HEAD', base.startSha], wtPath, deps.perRootTimeoutMs ?? 4000).trim();
|
|
321
|
+
if (/^[0-9a-f]{7,40}$/.test(mb))
|
|
322
|
+
anchor = mb;
|
|
323
|
+
}
|
|
324
|
+
catch {
|
|
325
|
+
/* @silent-fallback-ok — merge-base can fail on an unrelated-history worktree;
|
|
326
|
+
the registration-time base-root SHA is the documented fallback (R31). */
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
if (anchor)
|
|
330
|
+
newWorktrees[wtPath] = anchor;
|
|
331
|
+
return anchor;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Compute the BLOCKING unbuilt set from a sweep (spec §2.8 step 1-2):
|
|
335
|
+
* deliverable-class artifacts (deleted ones stay, R17) minus declared, minus
|
|
336
|
+
* ratified, minus corroborated. Companions never block (cleared iff parent).
|
|
337
|
+
*/
|
|
338
|
+
export function computeUnbuiltSet(sweep, declared, ratified, corroborated) {
|
|
339
|
+
const declaredSet = new Set(declared);
|
|
340
|
+
const ratifiedSet = new Set(ratified);
|
|
341
|
+
return sweep.artifacts.filter((a) => {
|
|
342
|
+
if (a.cls !== 'deliverable')
|
|
343
|
+
return false;
|
|
344
|
+
if (declaredSet.has(a.path))
|
|
345
|
+
return false;
|
|
346
|
+
if (ratifiedSet.has(a.path))
|
|
347
|
+
return false;
|
|
348
|
+
if (corroborated[a.path])
|
|
349
|
+
return false;
|
|
350
|
+
return true;
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
//# sourceMappingURL=ScopeAccretionSweep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScopeAccretionSweep.js","sourceRoot":"","sources":["../../src/core/ScopeAccretionSweep.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkingSetManifest.d.ts","sourceRoot":"","sources":["../../src/core/WorkingSetManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,EAAE,cAKtC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAmB,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB;oEACgE;IAChE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC;IACrB;+CAC2C;IAC3C,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,+BAA+B;AAC/B,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK;QAAE,MAAM,IAAI,OAAO,CAAC;QAAC,cAAc,IAAI,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1G,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,iFAAiF;IACjF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C;AAsBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,wBAAwB,
|
|
1
|
+
{"version":3,"file":"WorkingSetManifest.d.ts","sourceRoot":"","sources":["../../src/core/WorkingSetManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,EAAE,cAKtC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAmB,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB;oEACgE;IAChE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC;IACrB;+CAC2C;IAC3C,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,+BAA+B;AAC/B,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK;QAAE,MAAM,IAAI,OAAO,CAAC;QAAC,cAAc,IAAI,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1G,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,iFAAiF;IACjF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C;AAsBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,wBAAwB,CAqKvF;AAoCD,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAQxE"}
|
|
@@ -72,8 +72,12 @@ export function computeWorkingSet(opts) {
|
|
|
72
72
|
catch { /* @silent-fallback-ok: a not-yet-existing stateDir keeps its lexical path; containment still bounds it (WORKING-SET-HANDOFF-SPEC §3.1) */
|
|
73
73
|
}
|
|
74
74
|
const conventionDir = path.join(stateDir, 'autonomous');
|
|
75
|
+
// Scope-accretion server run records (autonomous-scope-accretion-completion.md
|
|
76
|
+
// §4 multi-machine posture): the server run record + advisory ledger ride the
|
|
77
|
+
// working-set carrier on transfer. Archived records are excluded below.
|
|
78
|
+
const serverRecordDir = path.join(stateDir, 'state', 'autonomous-server');
|
|
75
79
|
// Same roots as the journal writer's artifactRoots default (§3.1).
|
|
76
|
-
const jailRoots = [conventionDir, stateDir];
|
|
80
|
+
const jailRoots = [conventionDir, serverRecordDir, stateDir];
|
|
77
81
|
let jailRejected = 0;
|
|
78
82
|
let goneFromDisk = 0;
|
|
79
83
|
// ---- gather candidates (deduped on canonical absolute path) -------------
|
|
@@ -96,6 +100,27 @@ export function computeWorkingSet(opts) {
|
|
|
96
100
|
fromJournal: false,
|
|
97
101
|
});
|
|
98
102
|
}
|
|
103
|
+
// Source 1b: scope-accretion SERVER run records (`<topic>.<runId>.json` +
|
|
104
|
+
// `<topic>.<runId>.artifacts.jsonl`) — same bounded, non-recursive readdir,
|
|
105
|
+
// same `<topic>.` prefix rule. Archived records (`.archived.json`) are
|
|
106
|
+
// EXCLUDED from carrier nomination (R28).
|
|
107
|
+
let serverNames = [];
|
|
108
|
+
try {
|
|
109
|
+
serverNames = io.readdirSync(serverRecordDir);
|
|
110
|
+
}
|
|
111
|
+
catch { /* @silent-fallback-ok: server-record dir absent = no scope-accretion records; the convention + journal sources still apply */
|
|
112
|
+
serverNames = [];
|
|
113
|
+
}
|
|
114
|
+
for (const name of serverNames) {
|
|
115
|
+
if (!name.startsWith(prefix))
|
|
116
|
+
continue;
|
|
117
|
+
if (name.endsWith('.archived.json') || name.endsWith('.tmp'))
|
|
118
|
+
continue;
|
|
119
|
+
candidates.set(path.join(serverRecordDir, name), {
|
|
120
|
+
abs: path.join(serverRecordDir, name),
|
|
121
|
+
fromJournal: false,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
99
124
|
// Source 2: journal evidence (already write-time jailed; re-jailed below).
|
|
100
125
|
for (const p of opts.runs.artifactPaths) {
|
|
101
126
|
const abs = path.isAbsolute(p) ? path.resolve(p) : path.resolve(stateDir, p);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkingSetManifest.js","sourceRoot":"","sources":["../../src/core/WorkingSetManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAmB;IACtD,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;IAC7B,iBAAiB,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IACnC,QAAQ,EAAE,EAAE;IACZ,aAAa,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;CAChC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAiElD,SAAS,MAAM;IACb,OAAO;QACL,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;QACzC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACjC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACnC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QACvC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC;AACxE,CAAC;AAQD,MAAM,UAAU,iBAAiB,CAAC,IAA2B;IAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC;IAElD,oEAAoE;IACpE,yEAAyE;IACzE,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC,CAAC,0IAA0I;IACpJ,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxD,mEAAmE;IACnE,MAAM,SAAS,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkingSetManifest.js","sourceRoot":"","sources":["../../src/core/WorkingSetManifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installCodexHooks.d.ts","sourceRoot":"","sources":["../../src/core/installCodexHooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAKH,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAC/D;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,4DAA4D,CAAC;AAEtG,UAAU,gBAAgB;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAMD,2FAA2F;AAC3F,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"installCodexHooks.d.ts","sourceRoot":"","sources":["../../src/core/installCodexHooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAKH,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAC/D;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,4DAA4D,CAAC;AAEtG,UAAU,gBAAgB;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAMD,2FAA2F;AAC3F,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAqFlC;AAWD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAwB5D"}
|
|
@@ -109,6 +109,15 @@ export function buildInstarCodexHookGroups(projectDir) {
|
|
|
109
109
|
Stop: [
|
|
110
110
|
{ matcher: '', hooks: [node('stop-gate-router.js'), { ...node('response-review.js'), timeout: 10000 }, node('claim-intercept-response.js'), node('scope-coherence-checkpoint.js'), autonomousLoopHook()] },
|
|
111
111
|
],
|
|
112
|
+
// Post-action reporter (scope-accretion R18/R16 framework parity): forwards
|
|
113
|
+
// each tool event — including the Write/Edit `file_path` — to the server's
|
|
114
|
+
// /hooks/events receiver, feeding the ADVISORY scope-accretion artifact
|
|
115
|
+
// ledger on Codex exactly as the Claude registration does. Advisory-only:
|
|
116
|
+
// the load-bearing git-truth sweep needs no hook at all. matcher '.*' (a
|
|
117
|
+
// bare '*' matches NOTHING in Codex — see the PreToolUse note above).
|
|
118
|
+
PostToolUse: [
|
|
119
|
+
{ matcher: '.*', hooks: [node('hook-event-reporter.js')] },
|
|
120
|
+
],
|
|
112
121
|
// Identity/context injection.
|
|
113
122
|
SessionStart: [
|
|
114
123
|
{ matcher: '', hooks: [sh('session-start.sh')] },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installCodexHooks.js","sourceRoot":"","sources":["../../src/core/installCodexHooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installCodexHooks.js","sourceRoot":"","sources":["../../src/core/installCodexHooks.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -3437,7 +3437,36 @@ export interface InstarConfig {
|
|
|
3437
3437
|
judgeFailCooldownMs?: number;
|
|
3438
3438
|
/** Per-field clamp (chars) on the <hard-blocker> marker fields (default 500). */
|
|
3439
3439
|
markerFieldMaxChars?: number;
|
|
3440
|
+
/** Real-check verification (ACT-152 / autonomous-completion-real-checks spec). */
|
|
3441
|
+
realCheck?: {
|
|
3442
|
+
enabled?: boolean;
|
|
3443
|
+
timeoutMs?: number;
|
|
3444
|
+
maxChars?: number;
|
|
3445
|
+
captureBytes?: number;
|
|
3446
|
+
failBreakerThreshold?: number;
|
|
3447
|
+
failWindowMs?: number;
|
|
3448
|
+
failCooldownMs?: number;
|
|
3449
|
+
};
|
|
3450
|
+
/**
|
|
3451
|
+
* Scope-Accretion Completion Discipline (spec: autonomous-scope-accretion-
|
|
3452
|
+
* completion.md). SNAPSHOT SEMANTICS: snapshotted server-side at run
|
|
3453
|
+
* registration — a mid-run edit here changes nothing for the running
|
|
3454
|
+
* session. The operator's LIVE mid-run lever is the PIN-gated
|
|
3455
|
+
* POST /autonomous/:topic/scope-accretion-override route (audited,
|
|
3456
|
+
* principal-verified); this flag governs FUTURE runs.
|
|
3457
|
+
*/
|
|
3458
|
+
scopeAccretion?: {
|
|
3459
|
+
/** Default true (monotone-safe, operator-requested). */
|
|
3460
|
+
enabled?: boolean;
|
|
3461
|
+
/** Consecutive unchanged-set holds that trip the loud breaker (default 3, min 2). */
|
|
3462
|
+
breakerK?: number;
|
|
3463
|
+
};
|
|
3440
3464
|
};
|
|
3465
|
+
/**
|
|
3466
|
+
* Server-side ceiling (ms) on a registered autonomous run's endAt —
|
|
3467
|
+
* POST /autonomous/register clamps endAt to now + maxDurationMs (default 48h).
|
|
3468
|
+
*/
|
|
3469
|
+
maxDurationMs?: number;
|
|
3441
3470
|
};
|
|
3442
3471
|
/** Notification preferences for autonomy events */
|
|
3443
3472
|
notifications?: NotificationPreferences;
|