@telora/daemon 0.23.7 → 0.23.12
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/build-info.json +4 -3
- package/dist/completion/state-cascade/review-request-gate.d.ts +59 -0
- package/dist/completion/state-cascade/review-request-gate.d.ts.map +1 -0
- package/dist/completion/state-cascade/review-request-gate.js +56 -0
- package/dist/completion/state-cascade/review-request-gate.js.map +1 -0
- package/dist/completion/state-cascade/state-cascade.d.ts +12 -0
- package/dist/completion/state-cascade/state-cascade.d.ts.map +1 -1
- package/dist/completion/state-cascade/state-cascade.js +40 -19
- package/dist/completion/state-cascade/state-cascade.js.map +1 -1
- package/dist/composition/commit-gate-context.d.ts.map +1 -1
- package/dist/composition/commit-gate-context.js +1 -0
- package/dist/composition/commit-gate-context.js.map +1 -1
- package/dist/composition/execution-git-context.d.ts.map +1 -1
- package/dist/composition/execution-git-context.js +1 -0
- package/dist/composition/execution-git-context.js.map +1 -1
- package/dist/composition/execution-spawn-context.d.ts.map +1 -1
- package/dist/composition/execution-spawn-context.js +6 -1
- package/dist/composition/execution-spawn-context.js.map +1 -1
- package/dist/composition/state-cascade-context.d.ts.map +1 -1
- package/dist/composition/state-cascade-context.js +3 -0
- package/dist/composition/state-cascade-context.js.map +1 -1
- package/dist/composition/verify-probe-context.d.ts.map +1 -1
- package/dist/composition/verify-probe-context.js +4 -2
- package/dist/composition/verify-probe-context.js.map +1 -1
- package/dist/config/live-daemon-config.js +1 -1
- package/dist/delivery/recorded-concerns.d.ts.map +1 -1
- package/dist/delivery/recorded-concerns.js +1 -0
- package/dist/delivery/recorded-concerns.js.map +1 -1
- package/dist/focus/focus-lifecycle.d.ts.map +1 -1
- package/dist/focus/focus-lifecycle.js +9 -8
- package/dist/focus/focus-lifecycle.js.map +1 -1
- package/dist/git/daemon-authored-commit.d.ts +19 -0
- package/dist/git/daemon-authored-commit.d.ts.map +1 -0
- package/dist/git/daemon-authored-commit.js +22 -0
- package/dist/git/daemon-authored-commit.js.map +1 -0
- package/dist/git/merge.d.ts.map +1 -1
- package/dist/git/merge.js +4 -1
- package/dist/git/merge.js.map +1 -1
- package/dist/prompt-sections/gate-ownership.d.ts +6 -3
- package/dist/prompt-sections/gate-ownership.d.ts.map +1 -1
- package/dist/prompt-sections/gate-ownership.js +17 -8
- package/dist/prompt-sections/gate-ownership.js.map +1 -1
- package/dist/spawn/worktree-session.d.ts.map +1 -1
- package/dist/spawn/worktree-session.js +19 -5
- package/dist/spawn/worktree-session.js.map +1 -1
- package/dist/supervision/stop-rows-verify-rerun.d.ts +6 -0
- package/dist/supervision/stop-rows-verify-rerun.d.ts.map +1 -1
- package/dist/supervision/stop-rows-verify-rerun.js +14 -9
- package/dist/supervision/stop-rows-verify-rerun.js.map +1 -1
- package/dist/testing/fixtures/index.js +1 -1
- package/dist/testing/fixtures/verification-deps.js +1 -1
- package/dist/types/index.js +1 -1
- package/dist/verify/engine/verification-deps.js +1 -1
- package/dist/verify/gate-config/commit-gate-configured.d.ts.map +1 -1
- package/dist/verify/gate-config/commit-gate-configured.js +1 -0
- package/dist/verify/gate-config/commit-gate-configured.js.map +1 -1
- package/dist/verify/gate-config/verification-config.js +1 -1
- package/dist/verify/gate-config/verification-manifest.d.ts +17 -1
- package/dist/verify/gate-config/verification-manifest.d.ts.map +1 -1
- package/dist/verify/gate-config/verification-manifest.js +36 -1
- package/dist/verify/gate-config/verification-manifest.js.map +1 -1
- package/dist/verify/gate-verdicts/commit-verdict-record.js +1 -1
- package/dist/verify/outcome-routing/verification-rework-messages.js +1 -1
- package/dist/verify/outcome-routing/verification-rework-messages.js.map +1 -1
- package/dist/verify/run-selection/default-on-guards.d.ts +7 -4
- package/dist/verify/run-selection/default-on-guards.d.ts.map +1 -1
- package/dist/verify/run-selection/default-on-guards.js +39 -64
- package/dist/verify/run-selection/default-on-guards.js.map +1 -1
- package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts +22 -0
- package/dist/verify/run-selection/pre-review-gate-dispatch.d.ts.map +1 -0
- package/dist/verify/run-selection/pre-review-gate-dispatch.js +59 -0
- package/dist/verify/run-selection/pre-review-gate-dispatch.js.map +1 -0
- package/dist/verify/run-selection/verification-default-on.d.ts +4 -2
- package/dist/verify/run-selection/verification-default-on.d.ts.map +1 -1
- package/dist/verify/run-selection/verification-default-on.js +17 -8
- package/dist/verify/run-selection/verification-default-on.js.map +1 -1
- package/dist/verify/shortfalls/ruling-evidence-resolution.d.ts +8 -0
- package/dist/verify/shortfalls/ruling-evidence-resolution.d.ts.map +1 -1
- package/dist/verify/shortfalls/ruling-evidence-resolution.js +11 -1
- package/dist/verify/shortfalls/ruling-evidence-resolution.js.map +1 -1
- package/dist/worktree/commit-check-hook.d.ts +17 -0
- package/dist/worktree/commit-check-hook.d.ts.map +1 -0
- package/dist/worktree/commit-check-hook.js +146 -0
- package/dist/worktree/commit-check-hook.js.map +1 -0
- package/dist/worktree/focus-worktree-state.d.ts.map +1 -1
- package/dist/worktree/focus-worktree-state.js +1 -0
- package/dist/worktree/focus-worktree-state.js.map +1 -1
- package/dist/worktree/hook-enforcement-required.d.ts +34 -0
- package/dist/worktree/hook-enforcement-required.d.ts.map +1 -0
- package/dist/worktree/hook-enforcement-required.js +24 -0
- package/dist/worktree/hook-enforcement-required.js.map +1 -0
- package/dist/worktree/scratch-guard.d.ts.map +1 -1
- package/dist/worktree/scratch-guard.js +4 -1
- package/dist/worktree/scratch-guard.js.map +1 -1
- package/dist/worktree/worktree-hooks.d.ts +23 -7
- package/dist/worktree/worktree-hooks.d.ts.map +1 -1
- package/dist/worktree/worktree-hooks.js +29 -14
- package/dist/worktree/worktree-hooks.js.map +1 -1
- package/package.json +1 -1
|
@@ -215,8 +215,10 @@ export declare function judgedCommitVerificationConfig(read: JudgedCommitManifes
|
|
|
215
215
|
* Discover deliveries that should receive a DEFAULT-ON deterministic run: in
|
|
216
216
|
* `verify` status, anchored to an injection, with no explicit verification
|
|
217
217
|
* method (so not already returned by getPendingVerifications), not in a
|
|
218
|
-
* read-only audit focus (those are discovery-only and never run a suite),
|
|
219
|
-
*
|
|
218
|
+
* read-only audit focus (those are discovery-only and never run a suite), in a
|
|
219
|
+
* focus awaiting its pre-review run or carrying a held route's request
|
|
220
|
+
* (pre-review-gate-dispatch.ts -- once per focus HEAD, before review, never
|
|
221
|
+
* merely because the delivery entered verify), and not already run, failed or
|
|
220
222
|
* passed on the focus's unchanged HEAD (HEAD-keyed guards).
|
|
221
223
|
*
|
|
222
224
|
* Synthesizes a `deterministic` PendingVerification carrying the resolved
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-default-on.d.ts","sourceRoot":"","sources":["../../../src/verify/run-selection/verification-default-on.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification-default-on.d.ts","sourceRoot":"","sources":["../../../src/verify/run-selection/verification-default-on.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// packages/daemon/src/integration/explicit-verdict-departure-during-removal.test.ts,
|
|
4
4
|
// packages/daemon/src/integration/explicit-verdict-invalidation-restart.test.ts,
|
|
5
5
|
// packages/daemon/src/integration/focus-commit-verdict-scenario.test.ts,
|
|
6
|
+
// packages/daemon/src/integration/manifest-commit-check-composed.test.ts,
|
|
6
7
|
// packages/daemon/src/verify/deterministic-gate/verify-unprovisioned-worktree.test.ts,
|
|
7
8
|
// packages/daemon/src/verify/engine/verification-commit-sharing.test.ts,
|
|
8
9
|
// packages/daemon/src/verify/gate-config/judged-commit-gate.test.ts,
|
|
@@ -34,6 +35,7 @@ import { configForProduct } from '../../config/config.js';
|
|
|
34
35
|
import { getFocusWorktree } from '../../worktree/focus-worktree-state.js';
|
|
35
36
|
import { resolveHeadSha } from '../attribution/verification-baseline.js';
|
|
36
37
|
import { alreadyPassed, failedOnCurrentHead, pruneGuardsOutsideVerify, ranOnCurrentHead, } from './default-on-guards.js';
|
|
38
|
+
import { focusAwaitsPreReviewRun, mayDispatchGateRun } from './pre-review-gate-dispatch.js';
|
|
37
39
|
import { createLogger } from '../../log/daemon-log.js';
|
|
38
40
|
const log = createLogger({ module: 'verification' });
|
|
39
41
|
/** Default HEAD reader: the registered focus worktree's HEAD, or null when unreadable. */
|
|
@@ -338,12 +340,16 @@ function pruneProductGuards(productId, observedInVerify, complete) {
|
|
|
338
340
|
log.info(`[verification] default-on: not pruning the re-run guards of product ${productId} this tick -- `
|
|
339
341
|
+ 'a focus\'s deliveries could not be read, so "no longer in verify" is not established');
|
|
340
342
|
}
|
|
343
|
+
/** No HEAD may re-arm a recorded pass: outside the pre-review run, only a held route's pull does. */
|
|
344
|
+
const NO_REARMING_HEAD = () => null;
|
|
341
345
|
/**
|
|
342
346
|
* Discover deliveries that should receive a DEFAULT-ON deterministic run: in
|
|
343
347
|
* `verify` status, anchored to an injection, with no explicit verification
|
|
344
348
|
* method (so not already returned by getPendingVerifications), not in a
|
|
345
|
-
* read-only audit focus (those are discovery-only and never run a suite),
|
|
346
|
-
*
|
|
349
|
+
* read-only audit focus (those are discovery-only and never run a suite), in a
|
|
350
|
+
* focus awaiting its pre-review run or carrying a held route's request
|
|
351
|
+
* (pre-review-gate-dispatch.ts -- once per focus HEAD, before review, never
|
|
352
|
+
* merely because the delivery entered verify), and not already run, failed or
|
|
347
353
|
* passed on the focus's unchanged HEAD (HEAD-keyed guards).
|
|
348
354
|
*
|
|
349
355
|
* Synthesizes a `deterministic` PendingVerification carrying the resolved
|
|
@@ -390,6 +396,9 @@ export async function collectDefaultOnVerifications(config, resolved, explicitDe
|
|
|
390
396
|
continue;
|
|
391
397
|
}
|
|
392
398
|
const readHead = memoizedHead(focus.focus_id, deps);
|
|
399
|
+
// Once per focus HEAD, before review: nothing is selected while a sibling codes or a review window is open,
|
|
400
|
+
// unless a held route asks for its commit's verdict (verify/run-selection/pre-review-gate-dispatch.ts).
|
|
401
|
+
const awaitsPreReviewRun = focusAwaitsPreReviewRun(focus, deliveries);
|
|
393
402
|
for (const d of deliveries) {
|
|
394
403
|
if (d.executionStatus !== DELIVERY_STATUS.VERIFY)
|
|
395
404
|
continue;
|
|
@@ -404,12 +413,12 @@ export async function collectDefaultOnVerifications(config, resolved, explicitDe
|
|
|
404
413
|
if (explicitDeliveryIds.has(d.id) || (typeof d.verificationMethod === 'string' && d.verificationMethod !== ''))
|
|
405
414
|
continue;
|
|
406
415
|
observedInVerify.add(d.id);
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
//
|
|
410
|
-
//
|
|
411
|
-
if (alreadyPassed(d.id))
|
|
412
|
-
continue;
|
|
416
|
+
if (!mayDispatchGateRun(awaitsPreReviewRun, d, readHead))
|
|
417
|
+
continue; // its run is the focus's pre-review run, not its verify entry
|
|
418
|
+
// The pass is read FIRST, so a pass on HEAD reads as a pass before ranOnCurrentHead drops a run mark. Only the
|
|
419
|
+
// pre-review run is re-armed by a new HEAD; for a held route the pull alone re-arms a pass (it drops it).
|
|
420
|
+
if (alreadyPassed(d.id, awaitsPreReviewRun ? readHead : NO_REARMING_HEAD))
|
|
421
|
+
continue;
|
|
413
422
|
if (ranOnCurrentHead(d.id, readHead))
|
|
414
423
|
continue; // already judged on this commit this verify-entry
|
|
415
424
|
if (failedOnCurrentHead(d, readHead))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-default-on.js","sourceRoot":"","sources":["../../../src/verify/run-selection/verification-default-on.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verification-default-on.js","sourceRoot":"","sources":["../../../src/verify/run-selection/verification-default-on.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,14 @@ export interface RulingEvidenceCheck {
|
|
|
19
19
|
export declare const NO_EVIDENCE_REF = "(no evidence named)";
|
|
20
20
|
/** How many lines a blob has: a trailing newline does not start another line. Pure. */
|
|
21
21
|
export declare function countLines(content: string): number;
|
|
22
|
+
/**
|
|
23
|
+
* Whether a test title appears literally in its source. A runner prints a title with
|
|
24
|
+
* its quotes UNESCAPED (`it('the daemon\'s check')` runs as "the daemon's check"), so a
|
|
25
|
+
* citation of the printed title is matched against the source both as written and
|
|
26
|
+
* with backslash-escaped quotes and backslashes unescaped. Found 2026-10-02: a real,
|
|
27
|
+
* correctly cited title failed to resolve because the source escaped its apostrophe.
|
|
28
|
+
*/
|
|
29
|
+
export declare function literalTitleAppears(source: string, testName: string): boolean;
|
|
22
30
|
/**
|
|
23
31
|
* The real resolver, and the ONE path both a review met's evidence and a verify
|
|
24
32
|
* judge's citations resolve through (verify/effect-reconciliation/judge-workspace.ts):
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruling-evidence-resolution.d.ts","sourceRoot":"","sources":["../../../src/verify/shortfalls/ruling-evidence-resolution.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAC;AASvF,4DAA4D;AAC5D,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAErH,sGAAsG;AACtG,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED,oEAAoE;AACpE,eAAO,MAAM,eAAe,wBAAwB,CAAC;AAKrD,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIlD;
|
|
1
|
+
{"version":3,"file":"ruling-evidence-resolution.d.ts","sourceRoot":"","sources":["../../../src/verify/shortfalls/ruling-evidence-resolution.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,mCAAmC,CAAC;AASvF,4DAA4D;AAC5D,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAErH,sGAAsG;AACtG,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED,oEAAoE;AACpE,eAAO,MAAM,eAAe,wBAAwB,CAAC;AAKrD,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIlD;AAeD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7E;AAqBD;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,SAAS,WAAW,EAAE,EAC5B,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAOlC;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAMvH;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACvC,KAAK,EAAE,mBAAmB,GAAG,SAAS,GACrC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAqBlC;AAED,gHAAgH;AAChH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,CAAC,EAAE,CAAC,EACJ,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAC7F,mBAAmB,CAErB"}
|
|
@@ -68,6 +68,16 @@ async function git(repoPath, args) {
|
|
|
68
68
|
return { ok: false, message: detail.split('\n')[0] ?? detail, code: e.code, stderr };
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Whether a test title appears literally in its source. A runner prints a title with
|
|
73
|
+
* its quotes UNESCAPED (`it('the daemon\'s check')` runs as "the daemon's check"), so a
|
|
74
|
+
* citation of the printed title is matched against the source both as written and
|
|
75
|
+
* with backslash-escaped quotes and backslashes unescaped. Found 2026-10-02: a real,
|
|
76
|
+
* correctly cited title failed to resolve because the source escaped its apostrophe.
|
|
77
|
+
*/
|
|
78
|
+
export function literalTitleAppears(source, testName) {
|
|
79
|
+
return source.includes(testName) || source.replace(/\\(['"`\\])/g, '$1').includes(testName);
|
|
80
|
+
}
|
|
71
81
|
/** Resolve one parsed reference at `sha` in `repoPath`: null when it resolves, else the reason. */
|
|
72
82
|
async function resolveOne(repoPath, ref, sha) {
|
|
73
83
|
const object = `${sha}:${ref.path}`;
|
|
@@ -81,7 +91,7 @@ async function resolveOne(repoPath, ref, sha) {
|
|
|
81
91
|
const blob = await git(repoPath, ['cat-file', 'blob', object]);
|
|
82
92
|
if (!blob.ok)
|
|
83
93
|
return `${ref.path} could not be read at ${sha.slice(0, 12)} (${blob.message})`;
|
|
84
|
-
if (ref.testName !== undefined && !blob.stdout
|
|
94
|
+
if (ref.testName !== undefined && !literalTitleAppears(blob.stdout, ref.testName) && !matchesGeneratedTestTitle(blob.stdout, ref.testName)) {
|
|
85
95
|
return `test "${ref.testName}" does not appear in ${ref.path} at ${sha.slice(0, 12)}`;
|
|
86
96
|
}
|
|
87
97
|
if (ref.line !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruling-evidence-resolution.js","sourceRoot":"","sources":["../../../src/verify/shortfalls/ruling-evidence-resolution.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ruling-evidence-resolution.js","sourceRoot":"","sources":["../../../src/verify/shortfalls/ruling-evidence-resolution.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,8EAA8E;AAC9E,qEAAqE;AACrE,6EAA6E;AAC7E,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAoB,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,gFAAgF;AAChF,MAAM,aAAa,GAAG,gCAAgC,CAAC;AAqBvD,oEAAoE;AACpE,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAErD,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAExC,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,0IAA0I;AAC1I,KAAK,UAAU,GAAG,CAAC,QAAgB,EAAE,IAAc;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACpK,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAA8D,CAAC;QACzE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;QACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACvF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,QAAgB;IAClE,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC9F,CAAC;AAED,mGAAmG;AACnG,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,GAAgB,EAAE,GAAW;IACvE,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,GAAG,GAAG,CAAC,IAAI,sBAAsB,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC;IAC3F,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM;QAAE,OAAO,GAAG,GAAG,CAAC,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;IACtH,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,GAAG,GAAG,CAAC,IAAI,yBAAyB,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC;IAC9F,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3I,OAAO,SAAS,GAAG,CAAC,QAAQ,wBAAwB,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACxF,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI;YAAE,OAAO,GAAG,GAAG,CAAC,IAAI,QAAQ,KAAK,eAAe,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,GAAG,CAAC,IAAI,EAAE,CAAC;IACtH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,QAAgB,EAChB,IAA4B,EAC5B,GAAW;IAEX,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,MAAM,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,QAAgB,EAAE,GAAW,EAAE,KAAa;IAC3F,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9E,0FAA0F;IAC1F,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;IAC1E,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;SACzD,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAuC,EACvC,KAAsC;IAEtC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,0EAA0E,EAAE,CAAC,CAAC;IACxH,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,IAAI,CAAC;IAC3C,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,+CAA+C,EAAE,CAAC,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,OAAO;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC,CAAC,CAAC;IACtG,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,uEAAuE,EAAE,CAAC,CAAC;;YACxH,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,wBAAyB,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACzH,CAAC;AACH,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,sBAAsB,CACpC,CAAI,EACJ,SAAwB,EACxB,OAA8F;IAE9F,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Marker line identifying a hook this module wrote. */
|
|
2
|
+
export declare const COMMIT_CHECK_HOOK_MARKER = "# TELORA-COMMIT-CHECK";
|
|
3
|
+
/** Lines of failing output the hook prints on a refusal. */
|
|
4
|
+
export declare const COMMIT_CHECK_OUTPUT_TAIL_LINES = 200;
|
|
5
|
+
/** The hook script that runs `command` and refuses the commit (or merge commit) on any failure. */
|
|
6
|
+
export declare function buildCommitCheckHookScript(command: string): string;
|
|
7
|
+
/** The hooks the commit check is installed as: git runs `pre-merge-commit`, not `pre-commit`, for a clean merge's commit. */
|
|
8
|
+
export declare const COMMIT_CHECK_HOOK_NAMES: readonly string[];
|
|
9
|
+
/**
|
|
10
|
+
* Write (or remove) the commit-check hooks in a writable worktree's
|
|
11
|
+
* `.telora-hooks/`. Idempotent. `commitCheck` undefined => no commit check: hooks
|
|
12
|
+
* this module wrote earlier are removed, and any other hook file (the read-only
|
|
13
|
+
* audit block) is left alone. The caller configures `core.hooksPath`
|
|
14
|
+
* (worktree-hooks.ts installs the commit-msg hook first).
|
|
15
|
+
*/
|
|
16
|
+
export declare function installCommitCheckPreCommitHook(worktreePath: string, commitCheck: string | undefined): void;
|
|
17
|
+
//# sourceMappingURL=commit-check-hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commit-check-hook.d.ts","sourceRoot":"","sources":["../../src/worktree/commit-check-hook.ts"],"names":[],"mappings":"AA2CA,wDAAwD;AACxD,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAEhE,4DAA4D;AAC5D,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAOlD,mGAAmG;AACnG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA8DlE;AAYD,6HAA6H;AAC7H,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAAuC,CAAC;AAE7F;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAS3G"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/worktree/commit-check-hook.test.ts
|
|
3
|
+
// PINNED-BY-END
|
|
4
|
+
/**
|
|
5
|
+
* The repo-declared commit check, installed as git `pre-commit` and
|
|
6
|
+
* `pre-merge-commit` hooks in a writable agent worktree.
|
|
7
|
+
*
|
|
8
|
+
* A repo declares a cheap structural check (lint + ratchets) as `commitCheck` in
|
|
9
|
+
* its `telora.verify.json` (verify/gate-config/verification-manifest.ts). The
|
|
10
|
+
* daemon writes it into the worktree's `.telora-hooks/`, beside the
|
|
11
|
+
* delivery-trailer `commit-msg` hook (worktree-hooks.ts), so a structural red is
|
|
12
|
+
* refused at the commit that would introduce it instead of surfacing later as a
|
|
13
|
+
* failed gate verdict. `pre-merge-commit` carries the same script because git
|
|
14
|
+
* runs it, not `pre-commit`, for the commit a clean `git merge` makes. A repo that
|
|
15
|
+
* declares no commit check gets neither hook, and ones this module wrote earlier
|
|
16
|
+
* are removed.
|
|
17
|
+
*
|
|
18
|
+
* The hooks are plain git, so they bind every engine that commits through git
|
|
19
|
+
* (Claude and Codex alike). The check runs from the worktree root against the
|
|
20
|
+
* working tree, and:
|
|
21
|
+
* - passes when the command exits 0;
|
|
22
|
+
* - REFUSES the commit, printing the tail of the failing output, whenever the
|
|
23
|
+
* command fails. An ENVIRONMENTAL failure (exit 126/127, or Node could not
|
|
24
|
+
* resolve a module) is refused too, under its own banner naming the
|
|
25
|
+
* environment rather than reading as a lint red: an unchecked commit is not
|
|
26
|
+
* admitted.
|
|
27
|
+
*
|
|
28
|
+
* An agent's merge commit -- a clean `git merge`, or `git commit` concluding a
|
|
29
|
+
* conflicted one -- runs the check like any other commit. Exempt only: a
|
|
30
|
+
* daemon-authored commit or merge, which runs git with
|
|
31
|
+
* `DAEMON_AUTHORED_COMMIT_ARGS` (git/daemon-authored-commit.ts): safety captures
|
|
32
|
+
* and the in-repo publish commit preserve or record work, and the merge-back of
|
|
33
|
+
* integration must not wedge on the agent-facing check. The persistent merge
|
|
34
|
+
* worktree is given no commit check at all (focus-lifecycle).
|
|
35
|
+
*
|
|
36
|
+
* Rationale and the declaration format: docs/runbook-verify-gate-command.md.
|
|
37
|
+
*/
|
|
38
|
+
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
39
|
+
import { join } from 'node:path';
|
|
40
|
+
import { DAEMON_AUTHORED_COMMIT_CONFIG_KEY } from '../git/daemon-authored-commit.js';
|
|
41
|
+
/** Marker line identifying a hook this module wrote. */
|
|
42
|
+
export const COMMIT_CHECK_HOOK_MARKER = '# TELORA-COMMIT-CHECK';
|
|
43
|
+
/** Lines of failing output the hook prints on a refusal. */
|
|
44
|
+
export const COMMIT_CHECK_OUTPUT_TAIL_LINES = 200;
|
|
45
|
+
/** Quote a string as one single-quoted POSIX shell word. */
|
|
46
|
+
function shellQuote(value) {
|
|
47
|
+
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
48
|
+
}
|
|
49
|
+
/** The hook script that runs `command` and refuses the commit (or merge commit) on any failure. */
|
|
50
|
+
export function buildCommitCheckHookScript(command) {
|
|
51
|
+
return [
|
|
52
|
+
'#!/bin/bash',
|
|
53
|
+
COMMIT_CHECK_HOOK_MARKER,
|
|
54
|
+
'# Telora commit check: runs the repo-declared `commitCheck` (telora.verify.json)',
|
|
55
|
+
'# before every commit. Generated by the daemon (worktree/commit-check-hook.ts);',
|
|
56
|
+
'# do not edit -- it is rewritten on every spawn.',
|
|
57
|
+
'',
|
|
58
|
+
'# A daemon-authored commit or merge (safety capture, publish commit, merge-back)',
|
|
59
|
+
'# is exempt (git/daemon-authored-commit.ts). An agent\'s merge commit is NOT.',
|
|
60
|
+
`if [ "$(git config --get ${DAEMON_AUTHORED_COMMIT_CONFIG_KEY} 2>/dev/null)" = "true" ]; then`,
|
|
61
|
+
' exit 0',
|
|
62
|
+
'fi',
|
|
63
|
+
'',
|
|
64
|
+
`check_cmd=${shellQuote(command)}`,
|
|
65
|
+
'top="$(git rev-parse --show-toplevel 2>/dev/null)"',
|
|
66
|
+
'if [ -n "$top" ]; then cd "$top" || exit 1; fi',
|
|
67
|
+
'log="$(mktemp "${TMPDIR:-/tmp}/telora-commit-check.XXXXXX")"',
|
|
68
|
+
'echo "Telora commit check: running \\`$check_cmd\\` before this commit..." >&2',
|
|
69
|
+
'# Run without the index/dir variables git exports to hooks, so the check\'s',
|
|
70
|
+
'# own git calls (and any temp repos its self-tests make) see a normal env.',
|
|
71
|
+
'env -u GIT_INDEX_FILE -u GIT_DIR -u GIT_WORK_TREE -u GIT_PREFIX bash -c "$check_cmd" >"$log" 2>&1',
|
|
72
|
+
'status=$?',
|
|
73
|
+
'if [ "$status" -eq 0 ]; then',
|
|
74
|
+
' rm -f "$log"',
|
|
75
|
+
' echo "Telora commit check: passed." >&2',
|
|
76
|
+
' exit 0',
|
|
77
|
+
'fi',
|
|
78
|
+
'',
|
|
79
|
+
'environmental=0',
|
|
80
|
+
'if [ "$status" -eq 126 ] || [ "$status" -eq 127 ]; then environmental=1; fi',
|
|
81
|
+
"if grep -qE 'Cannot find module|ERR_MODULE_NOT_FOUND|MODULE_NOT_FOUND|: command not found|: not found$' \"$log\"; then environmental=1; fi",
|
|
82
|
+
'',
|
|
83
|
+
`tail -n ${COMMIT_CHECK_OUTPUT_TAIL_LINES} "$log" >&2`,
|
|
84
|
+
'rm -f "$log"',
|
|
85
|
+
'echo "" >&2',
|
|
86
|
+
'echo "========================================================" >&2',
|
|
87
|
+
'if [ "$environmental" -eq 1 ]; then',
|
|
88
|
+
' echo " COMMIT REFUSED: the commit check could not run (environment, exit $status)" >&2',
|
|
89
|
+
' echo "========================================================" >&2',
|
|
90
|
+
' echo "" >&2',
|
|
91
|
+
' echo " \\`$check_cmd\\` failed to START: a command or module it needs" >&2',
|
|
92
|
+
' echo " is missing (see the output above). That is the worktree\'s" >&2',
|
|
93
|
+
' echo " environment, not a lint or ratchet red in your change -- but an" >&2',
|
|
94
|
+
' echo " unchecked commit is not admitted. Restore the install (e.g. npm" >&2',
|
|
95
|
+
' echo " install in this worktree) and commit again." >&2',
|
|
96
|
+
' echo "" >&2',
|
|
97
|
+
' echo "========================================================" >&2',
|
|
98
|
+
' exit 1',
|
|
99
|
+
'fi',
|
|
100
|
+
'echo " COMMIT REFUSED: the commit check failed (exit $status)" >&2',
|
|
101
|
+
'echo "========================================================" >&2',
|
|
102
|
+
'echo "" >&2',
|
|
103
|
+
'echo " \\`$check_cmd\\` failed on the working tree (output above)." >&2',
|
|
104
|
+
'echo " Fix the reported lint / ratchet failures in this session and" >&2',
|
|
105
|
+
'echo " commit again. Do not bypass the hook (--no-verify): the same" >&2',
|
|
106
|
+
'echo " checks run in the daemon\'s gate and fail the delivery there." >&2',
|
|
107
|
+
'echo "" >&2',
|
|
108
|
+
'echo "========================================================" >&2',
|
|
109
|
+
'exit 1',
|
|
110
|
+
'',
|
|
111
|
+
].join('\n');
|
|
112
|
+
}
|
|
113
|
+
/** True when the file at `path` is a hook this module wrote. */
|
|
114
|
+
function isCommitCheckHook(path) {
|
|
115
|
+
if (!existsSync(path))
|
|
116
|
+
return false;
|
|
117
|
+
try {
|
|
118
|
+
return readFileSync(path, 'utf-8').split('\n').includes(COMMIT_CHECK_HOOK_MARKER);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/** The hooks the commit check is installed as: git runs `pre-merge-commit`, not `pre-commit`, for a clean merge's commit. */
|
|
125
|
+
export const COMMIT_CHECK_HOOK_NAMES = ['pre-commit', 'pre-merge-commit'];
|
|
126
|
+
/**
|
|
127
|
+
* Write (or remove) the commit-check hooks in a writable worktree's
|
|
128
|
+
* `.telora-hooks/`. Idempotent. `commitCheck` undefined => no commit check: hooks
|
|
129
|
+
* this module wrote earlier are removed, and any other hook file (the read-only
|
|
130
|
+
* audit block) is left alone. The caller configures `core.hooksPath`
|
|
131
|
+
* (worktree-hooks.ts installs the commit-msg hook first).
|
|
132
|
+
*/
|
|
133
|
+
export function installCommitCheckPreCommitHook(worktreePath, commitCheck) {
|
|
134
|
+
const hooksDir = join(worktreePath, '.telora-hooks');
|
|
135
|
+
const declared = commitCheck !== undefined && commitCheck.trim() !== '';
|
|
136
|
+
if (declared && !existsSync(hooksDir))
|
|
137
|
+
mkdirSync(hooksDir, { recursive: true });
|
|
138
|
+
for (const name of COMMIT_CHECK_HOOK_NAMES) {
|
|
139
|
+
const hookPath = join(hooksDir, name);
|
|
140
|
+
if (declared)
|
|
141
|
+
writeFileSync(hookPath, buildCommitCheckHookScript(commitCheck), { mode: 0o755 });
|
|
142
|
+
else if (isCommitCheckHook(hookPath))
|
|
143
|
+
rmSync(hookPath, { force: true });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=commit-check-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commit-check-hook.js","sourceRoot":"","sources":["../../src/worktree/commit-check-hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-worktree-state.d.ts","sourceRoot":"","sources":["../../src/worktree/focus-worktree-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"focus-worktree-state.d.ts","sourceRoot":"","sources":["../../src/worktree/focus-worktree-state.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAgB3D;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BtF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAgB/E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAc5D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAErE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzD"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
// packages/daemon/src/focus/focus-poller-auto-advance-teamless-wedge.test.ts,
|
|
7
7
|
// packages/daemon/src/focus/pending-spawn-verify-hold.test.ts,
|
|
8
8
|
// packages/daemon/src/integration/failed-head-wedge-poll.test.ts,
|
|
9
|
+
// packages/daemon/src/integration/review-request-verdict-composed.test.ts,
|
|
9
10
|
// packages/daemon/src/spawn/directive-verify-hold-disposal-convergence.test.ts,
|
|
10
11
|
// packages/daemon/src/supervision/team-stall-reapers.test.ts,
|
|
11
12
|
// packages/daemon/src/verify/engine/verification-commit-sharing.test.ts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focus-worktree-state.js","sourceRoot":"","sources":["../../src/worktree/focus-worktree-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"focus-worktree-state.js","sourceRoot":"","sources":["../../src/worktree/focus-worktree-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An agent never runs in a worktree whose git hooks are not in force.
|
|
3
|
+
*
|
|
4
|
+
* The execution-worktree guards (worktree-hooks.ts) are the commit-time checks
|
|
5
|
+
* an agent cannot skip: the Telora-Delivery trailer `commit-msg` hook on every
|
|
6
|
+
* writable worktree, the repo's declared commit check as `pre-commit`, and the
|
|
7
|
+
* read-only audit block. They take effect only through the worktree's own
|
|
8
|
+
* `core.hooksPath`. When that cannot be set (worktreeConfig will not enable, or
|
|
9
|
+
* the per-worktree write fails) the installers refuse to fall back to the
|
|
10
|
+
* SHARED hooksPath, so the worktree has NO hooks.
|
|
11
|
+
*
|
|
12
|
+
* This is the fail-closed wrapper for AGENT worktrees: install the guards and,
|
|
13
|
+
* if enforcement is not in effect, throw. The spawn path turns the throw into
|
|
14
|
+
* `unavailable` (no session starts; the next poll retries; the installer's WARN
|
|
15
|
+
* names the cause). The daemon's own merge worktree keeps the warn-only
|
|
16
|
+
* installer: its commits are the daemon's, and refusing there would stop all
|
|
17
|
+
* worktree provisioning.
|
|
18
|
+
*
|
|
19
|
+
* History: docs/daemon/history-platform.md (worktree/hook-enforcement-required.ts).
|
|
20
|
+
*/
|
|
21
|
+
import type { ExecutionWorktreeGuardOptions } from './worktree-hooks.js';
|
|
22
|
+
/** Thrown when an agent worktree's git hooks cannot be put in force. */
|
|
23
|
+
export declare class HookEnforcementUnavailableError extends Error {
|
|
24
|
+
readonly worktreePath: string;
|
|
25
|
+
constructor(worktreePath: string);
|
|
26
|
+
}
|
|
27
|
+
export type GuardInstaller = (worktreePath: string, readOnly: boolean, opts: ExecutionWorktreeGuardOptions) => boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Install the execution guards on an agent worktree, refusing (throwing) when they
|
|
30
|
+
* are not in effect. `install` is the production installExecutionWorktreeGuards,
|
|
31
|
+
* bound at the composition root.
|
|
32
|
+
*/
|
|
33
|
+
export declare function installAgentWorktreeGuards(worktreePath: string, readOnly: boolean, opts: ExecutionWorktreeGuardOptions, install: GuardInstaller): void;
|
|
34
|
+
//# sourceMappingURL=hook-enforcement-required.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-enforcement-required.d.ts","sourceRoot":"","sources":["../../src/worktree/hook-enforcement-required.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEzE,wEAAwE;AACxE,qBAAa,+BAAgC,SAAQ,KAAK;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM;gBAApB,YAAY,EAAE,MAAM;CAO1C;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,6BAA6B,KAAK,OAAO,CAAC;AAEvH;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,6BAA6B,EACnC,OAAO,EAAE,cAAc,GACtB,IAAI,CAEN"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
|
|
2
|
+
// Pinned by: packages/daemon/src/spawn/worktree-session.test.ts,
|
|
3
|
+
// packages/daemon/src/worktree/hook-enforcement-required.test.ts
|
|
4
|
+
// PINNED-BY-END
|
|
5
|
+
/** Thrown when an agent worktree's git hooks cannot be put in force. */
|
|
6
|
+
export class HookEnforcementUnavailableError extends Error {
|
|
7
|
+
worktreePath;
|
|
8
|
+
constructor(worktreePath) {
|
|
9
|
+
super(`git hook enforcement is not in effect for ${worktreePath}: no agent session ` +
|
|
10
|
+
`may run there (its commits would skip the delivery trailer and commit checks)`);
|
|
11
|
+
this.worktreePath = worktreePath;
|
|
12
|
+
this.name = 'HookEnforcementUnavailableError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Install the execution guards on an agent worktree, refusing (throwing) when they
|
|
17
|
+
* are not in effect. `install` is the production installExecutionWorktreeGuards,
|
|
18
|
+
* bound at the composition root.
|
|
19
|
+
*/
|
|
20
|
+
export function installAgentWorktreeGuards(worktreePath, readOnly, opts, install) {
|
|
21
|
+
if (!install(worktreePath, readOnly, opts))
|
|
22
|
+
throw new HookEnforcementUnavailableError(worktreePath);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=hook-enforcement-required.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-enforcement-required.js","sourceRoot":"","sources":["../../src/worktree/hook-enforcement-required.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,iEAAiE;AACjE,mEAAmE;AACnE,gBAAgB;AAyBhB,wEAAwE;AACxE,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACnC;IAArB,YAAqB,YAAoB;QACvC,KAAK,CACH,6CAA6C,YAAY,qBAAqB;YAC5E,+EAA+E,CAClF,CAAC;QAJiB,iBAAY,GAAZ,YAAY,CAAQ;QAKvC,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAID;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,YAAoB,EACpB,QAAiB,EACjB,IAAmC,EACnC,OAAuB;IAEvB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC;QAAE,MAAM,IAAI,+BAA+B,CAAC,YAAY,CAAC,CAAC;AACtG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scratch-guard.d.ts","sourceRoot":"","sources":["../../src/worktree/scratch-guard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scratch-guard.d.ts","sourceRoot":"","sources":["../../src/worktree/scratch-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
*
|
|
29
29
|
* History: docs/daemon/history-platform.md (worktree/scratch-guard.ts).
|
|
30
30
|
*/
|
|
31
|
+
import { DAEMON_AUTHORED_COMMIT_ARGS } from '../git/daemon-authored-commit.js';
|
|
31
32
|
import { loadEnvConfig } from '@telora/daemon-core';
|
|
32
33
|
import { runGitSync } from '../git/index.js';
|
|
33
34
|
import { assertWorktreeIdentity, } from './identity.js';
|
|
@@ -379,7 +380,9 @@ function commitStaged(worktreePath, message, context, trailerValue, paths) {
|
|
|
379
380
|
// git's `--trailer` insertion. With paths, `git commit -- <paths>` records
|
|
380
381
|
// only those paths (literal pathspecs: a filename is never read as a glob).
|
|
381
382
|
const pathspec = paths ? ['--', ...paths.map((p) => `:(literal)${p}`)] : [];
|
|
382
|
-
|
|
383
|
+
// Daemon-authored: the repo's commit check (pre-commit) must not refuse a
|
|
384
|
+
// capture that exists to preserve work; the trailer guard still runs.
|
|
385
|
+
const commitResult = runGitSync([...DAEMON_AUTHORED_COMMIT_ARGS, 'commit', '-m', message, '--trailer', `${DELIVERY_TRAILER_KEY}: ${trailerValue}`, ...pathspec], worktreePath);
|
|
383
386
|
if (!commitResult.success) {
|
|
384
387
|
// Do NOT guess the cause: a guard refusal and a genuinely-empty commit used
|
|
385
388
|
// to emit the identical "(may be empty)" line, which is exactly what made
|