audit-tools 0.28.5 → 0.28.7
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/dist/remediate/steps/dispatch.d.ts +61 -16
- package/dist/remediate/steps/dispatch.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch.js +164 -41
- package/dist/remediate/steps/dispatch.js.map +1 -1
- package/dist/remediate/steps/intakeResolver.d.ts.map +1 -1
- package/dist/remediate/steps/intakeResolver.js +10 -1
- package/dist/remediate/steps/intakeResolver.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +5 -13
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
- package/dist/remediate/steps/rollingSession.js +10 -23
- package/dist/remediate/steps/rollingSession.js.map +1 -1
- package/package.json +1 -1
|
@@ -120,6 +120,23 @@ export declare function mergeWorktree(root: string, worktreePath: string, branch
|
|
|
120
120
|
success: false;
|
|
121
121
|
error: string;
|
|
122
122
|
};
|
|
123
|
+
/**
|
|
124
|
+
* Rebase a node's worktree branch onto the main checkout's current HEAD (the
|
|
125
|
+
* remediation branch tip) so a sibling that merged AFTER this worktree was created
|
|
126
|
+
* is folded in before this node verifies and merges. Additive edits to a shared
|
|
127
|
+
* file merge automatically (git's per-commit 3-way); a true hunk conflict is a
|
|
128
|
+
* genuine seam that aborts cleanly so the node routes to triage instead of landing
|
|
129
|
+
* a broken merge. The branch is checked out in the worktree, so the rebase runs
|
|
130
|
+
* there. A no-op (branch already on HEAD — the common, no-sibling-merged case)
|
|
131
|
+
* succeeds. Leaves the branch on its pre-rebase commit on abort (so the failed
|
|
132
|
+
* node's work can still be quarantined).
|
|
133
|
+
*/
|
|
134
|
+
export declare function rebaseBranchOntoHead(root: string, worktreePath: string, branch: string): {
|
|
135
|
+
ok: true;
|
|
136
|
+
} | {
|
|
137
|
+
ok: false;
|
|
138
|
+
error: string;
|
|
139
|
+
};
|
|
123
140
|
/** Worktree path for a remediation block. */
|
|
124
141
|
export declare function worktreePath(root: string, blockId: string, runId: string): string;
|
|
125
142
|
export declare function remediationBranchName(runId: string): string;
|
|
@@ -195,8 +212,14 @@ export interface AcceptNodeWorktreeParams {
|
|
|
195
212
|
branch: string;
|
|
196
213
|
/** The worker's transport outcome from the node dispatcher. */
|
|
197
214
|
workerOutcome: NodeWorkerOutcome;
|
|
198
|
-
/**
|
|
199
|
-
|
|
215
|
+
/**
|
|
216
|
+
* Per-node verify commands. OMIT (leave `undefined`) for the real rolling drivers:
|
|
217
|
+
* the gate then DERIVES the verify from the node's actually-touched test files
|
|
218
|
+
* post-commit ({@link deriveVerifyCommandsFromBranch}) — correct paths/runner by
|
|
219
|
+
* construction, never the whole suite. Pass `[]` to skip the gate (lifecycle unit
|
|
220
|
+
* tests on a minimal temp repo), or an explicit list to force specific commands.
|
|
221
|
+
*/
|
|
222
|
+
targetedCommands?: string[];
|
|
200
223
|
/**
|
|
201
224
|
* Accept-time write-scope inputs (OBL-DS-06). When present, the write-scope
|
|
202
225
|
* gate runs HERE — after the verify, BEFORE the cherry-pick — so an out-of-scope
|
|
@@ -211,8 +234,6 @@ export interface AcceptNodeWorktreeParams {
|
|
|
211
234
|
block_id: string;
|
|
212
235
|
write_paths: string[];
|
|
213
236
|
}>;
|
|
214
|
-
/** The worker's self-reported `amended_files` (adjudicated, never trusted as the gate input). */
|
|
215
|
-
amendedFiles: string[];
|
|
216
237
|
};
|
|
217
238
|
}
|
|
218
239
|
export interface AcceptNodeWorktreeResult {
|
|
@@ -314,6 +335,21 @@ export interface DagNodeFields {
|
|
|
314
335
|
* - `node --test <path>`
|
|
315
336
|
*/
|
|
316
337
|
export declare function isBuildFreeVerifyCommand(cmd: string): boolean;
|
|
338
|
+
/**
|
|
339
|
+
* Derive a node's per-node verify commands from the test files it ACTUALLY touched
|
|
340
|
+
* on its worktree branch (the git ground truth), instead of trusting host-authored
|
|
341
|
+
* `targeted_commands` whose paths/runner can drift from where the worker put the
|
|
342
|
+
* test. Always typechecks (`npm run check`, no emit), then runs ONLY this node's
|
|
343
|
+
* own touched test files with the repo's runners — never the whole suite (which
|
|
344
|
+
* would re-enter worktree-spawning tests inside a nested worktree). Build-free: the
|
|
345
|
+
* host owns the central build; a node's own test imports the source it changed via
|
|
346
|
+
* the tsx loader. Returns `[]` when there is no git ground truth so the caller can
|
|
347
|
+
* skip the gate rather than fabricate a command.
|
|
348
|
+
*/
|
|
349
|
+
/** Pure assembly (git-free) of the verify commands for a set of edited paths —
|
|
350
|
+
* the testable core of {@link deriveVerifyCommandsFromBranch}. */
|
|
351
|
+
export declare function verifyCommandsForEdits(editedFiles: Iterable<string>): string[];
|
|
352
|
+
export declare function deriveVerifyCommandsFromBranch(root: string, branch: string): string[];
|
|
317
353
|
/**
|
|
318
354
|
* Best-effort: repo-relative test files that reference any of `sourceFiles` (by
|
|
319
355
|
* module basename). Pulling them into a block's access lets the worker that
|
|
@@ -435,19 +471,29 @@ export declare function blockScopesFromPlan(plan: RemediationDispatchPlan): Arra
|
|
|
435
471
|
*/
|
|
436
472
|
export declare function declaredPathsFromPlan(plan: RemediationDispatchPlan, blockId: string): string[];
|
|
437
473
|
/**
|
|
438
|
-
*
|
|
439
|
-
*
|
|
440
|
-
*
|
|
441
|
-
*
|
|
442
|
-
* an
|
|
443
|
-
*
|
|
444
|
-
*
|
|
445
|
-
*
|
|
446
|
-
*
|
|
447
|
-
*
|
|
448
|
-
* left to the merge-time lost-update detector (`detectOverlappingEdits`), which
|
|
474
|
+
* Pure write-scope adjudication (OBL-DS-06) — git-free so it is unit-testable with
|
|
475
|
+
* a synthetic edit set. Seeds an ephemeral `OwnershipRegistry` from `allBlockScopes`
|
|
476
|
+
* (normalised to repo-relative so ownership compares like-for-like) and routes the
|
|
477
|
+
* node's ACTUAL out-of-declared edits — the git ground truth, never a self-report:
|
|
478
|
+
* - an edit to a file no sibling block owns is granted and widens this node's
|
|
479
|
+
* effective scope (a too-narrow — or empty — declared scope no longer blocks a
|
|
480
|
+
* correct fix; this is the sanctioned "extend into unowned files" path);
|
|
481
|
+
* - an edit to a file in another block's declared scope is a seam conflict that
|
|
482
|
+
* blocks until the seam protocol re-scopes or serialises the nodes.
|
|
483
|
+
* Cross-sibling contention on a file two live nodes both touch (neither declared)
|
|
484
|
+
* is left to the merge-time lost-update detector (`detectOverlappingEdits`), which
|
|
449
485
|
* sees the full set of merged blocks a single accept cannot.
|
|
450
486
|
*/
|
|
487
|
+
export declare function adjudicateWriteScope(allBlockScopes: Array<{
|
|
488
|
+
block_id: string;
|
|
489
|
+
write_paths: string[];
|
|
490
|
+
}>, blockId: string, edited: GitEditedFiles, root: string): WriteScopeDecision;
|
|
491
|
+
/**
|
|
492
|
+
* Accept-time write-scope gate, run from `acceptNodeWorktree` AFTER the verify and
|
|
493
|
+
* BEFORE the cherry-pick so a violation PREVENTS the merge rather than being
|
|
494
|
+
* reported once the edit already landed in main. Thin git wrapper around
|
|
495
|
+
* {@link adjudicateWriteScope}: resolves the branch's actual edits and adjudicates.
|
|
496
|
+
*/
|
|
451
497
|
export declare function enforceAcceptWriteScope(params: {
|
|
452
498
|
root: string;
|
|
453
499
|
branch: string;
|
|
@@ -456,7 +502,6 @@ export declare function enforceAcceptWriteScope(params: {
|
|
|
456
502
|
block_id: string;
|
|
457
503
|
write_paths: string[];
|
|
458
504
|
}>;
|
|
459
|
-
amendedFiles: string[];
|
|
460
505
|
}): WriteScopeDecision;
|
|
461
506
|
/**
|
|
462
507
|
* Build the map from a known obligation/node alias to the finding id that owns
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/dispatch.ts"],"names":[],"mappings":"AAOA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,eAAe,EAEf,oBAAoB,EACpB,2BAA2B,EAE3B,oBAAoB,EACpB,YAAY,EACb,MAAM,oBAAoB,CAAC;AA6B5B,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC9B,MAAM,YAAY,CAAC;AAapB,OAAO,EAEL,8BAA8B,EAM/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAC1C,OAAO,EACL,6BAA6B,IAAI,4BAA4B,GAC9D,MAAM,wBAAwB,CAAC;AAOhC,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAIrC,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAC3C;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKzF;AAQD,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,sBAAsB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACpD,cAAc,CAAC,EAAE,2BAA2B,EAAE,CAAC;CAChD;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,oBAAoB,GAAG,IAAI,CAM9B;AAiCD,wBAAsB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkHxF;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmF1B;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,kBAAkB,EAC5B,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,GACvC,wBAAwB,CA4B1B;AAmCD,oEAAoE;AACpE,eAAO,MAAM,0BAA0B,qBAA4B,CAAC;AAepE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAStD;AAgBD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CA2B3F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC9B,IAAI,CAoBN;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAYvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,IAAI,CAeN;AAcD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EAAE,GACzB,oBAAoB,CAuBtB;AAED,+HAA+H;AAC/H,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA6BvD;AAED,6CAA6C;AAC7C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjF;AAmBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAOD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAwBxC;AAED,sGAAsG;AACtG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMzF;AAED,uGAAuG;AACvG,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAevD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsB5F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA0BxC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAWtF;AAED,oFAAoF;AACpF,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,CAAC;AAEjF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,aAAa,EAAE,iBAAiB,CAAC;IACjC,oEAAoE;IACpE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE;QACN,gFAAgF;QAChF,cAAc,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;QACnE,iGAAiG;QACjG,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,gGAAgG;IAChG,OAAO,EAAE,iBAAiB,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,GAAG,wBAAwB,CA2E7F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,4EAA4E;AAC5E,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAc1C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,UAAU,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;IAC3C,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;CACxC;AA4BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAe7D;AAyGD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAYhE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EAAE,EACtB,WAAW,EAAE,MAAM,EAAE,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,EAAE,CAsBV;AAgHD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,gBAAgB,GACtB,iBAAiB,CA6DnB;AA0FD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAWnE;AA0QD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GACA,OAAO,CAAC,uBAAuB,CAAC,CAiJlC;AAaD,sEAAsE;AACtE,MAAM,MAAM,cAAc,GACtB;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE;AACzC,2EAA2E;GACzE;IAAE,SAAS,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAC7D,mFAAmF;GACjF;IAAE,SAAS,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAsB9D;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CA+B3D;AAYD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,kBAAkB,EAAE,MAAM,EAAE,EAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,CAYV;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAmBpF;AAED,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,kBAAkB,EAAE,MAAM,EAAE,EAC5B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GACX,kBAAkB,CAsBpB;AAED;;+EAE+E;AAC/E,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,uBAAuB,GAC5B,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAMpD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,uBAAuB,EAC7B,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAIV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACnE,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,GAAG,kBAAkB,CA6BrB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,gBAAgB,GACtB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAuBrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,qBAAqB,CAAC,cAAc,CAAC,EAClD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B;IACD,SAAS,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACjD,UAAU,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC;CACnD,CA0DA;AAMD,MAAM,MAAM,qBAAqB,GAC7B,mBAAmB,GACnB,SAAS,GACT,SAAS,GACT,gBAAgB,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,qBAAqB,CAAC;IACnC,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,gBAAgB,GACtB,eAAe,CA+BjB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,MAAM,EAAE,EACzB,iBAAiB,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EACrE,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,IAAI,CAaf;AAMD,wFAAwF;AACxF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,oFAAoF;AACpF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,gBAAgB,EAAE,GAChC,eAAe,EAAE,CAwBnB;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAkC3B;AA8eD,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAE9B;AAED,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,uBAAuB,CAAC,CAElC"}
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -507,6 +507,44 @@ export function mergeWorktree(root, worktreePath, branchName) {
|
|
|
507
507
|
removeWorktree(root, worktreePath);
|
|
508
508
|
return { success: true };
|
|
509
509
|
}
|
|
510
|
+
/**
|
|
511
|
+
* Rebase a node's worktree branch onto the main checkout's current HEAD (the
|
|
512
|
+
* remediation branch tip) so a sibling that merged AFTER this worktree was created
|
|
513
|
+
* is folded in before this node verifies and merges. Additive edits to a shared
|
|
514
|
+
* file merge automatically (git's per-commit 3-way); a true hunk conflict is a
|
|
515
|
+
* genuine seam that aborts cleanly so the node routes to triage instead of landing
|
|
516
|
+
* a broken merge. The branch is checked out in the worktree, so the rebase runs
|
|
517
|
+
* there. A no-op (branch already on HEAD — the common, no-sibling-merged case)
|
|
518
|
+
* succeeds. Leaves the branch on its pre-rebase commit on abort (so the failed
|
|
519
|
+
* node's work can still be quarantined).
|
|
520
|
+
*/
|
|
521
|
+
export function rebaseBranchOntoHead(root, worktreePath, branch) {
|
|
522
|
+
const head = spawnSync("git", ["rev-parse", "HEAD"], { cwd: root, encoding: "utf8", shell: false });
|
|
523
|
+
if (head.error || head.status !== 0) {
|
|
524
|
+
const detail = (head.stderr ?? head.error?.message ?? "git rev-parse failed").toString().trim();
|
|
525
|
+
return { ok: false, error: `could not resolve remediation HEAD for rebase: ${detail}` };
|
|
526
|
+
}
|
|
527
|
+
const target = head.stdout.trim();
|
|
528
|
+
const rebase = spawnSync("git", ["rebase", target], {
|
|
529
|
+
cwd: worktreePath,
|
|
530
|
+
encoding: "utf8",
|
|
531
|
+
shell: false,
|
|
532
|
+
});
|
|
533
|
+
if (rebase.error || rebase.status !== 0) {
|
|
534
|
+
const detail = [rebase.stdout ?? "", rebase.stderr ?? "", rebase.error?.message ?? ""]
|
|
535
|
+
.filter(Boolean)
|
|
536
|
+
.join("\n")
|
|
537
|
+
.trim();
|
|
538
|
+
// Leave a clean tree: abort the in-progress rebase before the worktree is dropped.
|
|
539
|
+
spawnSync("git", ["rebase", "--abort"], { cwd: worktreePath, shell: false });
|
|
540
|
+
return {
|
|
541
|
+
ok: false,
|
|
542
|
+
error: `rebase onto the current remediation HEAD conflicted (a real seam — two ` +
|
|
543
|
+
`nodes edited the same lines): ${detail}`,
|
|
544
|
+
};
|
|
545
|
+
}
|
|
546
|
+
return { ok: true };
|
|
547
|
+
}
|
|
510
548
|
/** Worktree path for a remediation block. */
|
|
511
549
|
export function worktreePath(root, blockId, runId) {
|
|
512
550
|
return join(root, ".audit-tools", "worktrees", `remediate-${blockId}-${runId}`);
|
|
@@ -725,8 +763,27 @@ export function acceptNodeWorktree(params) {
|
|
|
725
763
|
removeWorktree(root, wt);
|
|
726
764
|
return { outcome: "success", verifyPassed, merged };
|
|
727
765
|
}
|
|
728
|
-
|
|
729
|
-
|
|
766
|
+
// Rebase the node's branch onto the current remediation HEAD BEFORE verify, so a
|
|
767
|
+
// sibling that merged after this worktree was created is folded in. Verify, the
|
|
768
|
+
// write-scope gate, and the cherry-pick then all operate on the FINAL to-be-merged
|
|
769
|
+
// content (green-at-merge; the later cherry-pick can no longer conflict). A true
|
|
770
|
+
// hunk conflict here is a genuine seam — preserve the work and route to triage
|
|
771
|
+
// rather than land a broken merge.
|
|
772
|
+
const rebase = rebaseBranchOntoHead(root, wt, branch);
|
|
773
|
+
if (!rebase.ok) {
|
|
774
|
+
quarantineFailedNodeCommit(root, branch, runId, blockId);
|
|
775
|
+
removeWorktree(root, wt);
|
|
776
|
+
return { outcome: "error", verifyPassed, merged, diagnostic: rebase.error };
|
|
777
|
+
}
|
|
778
|
+
// Verify commands: when the host omits them (real rolling drivers), DERIVE them
|
|
779
|
+
// from the just-committed branch's touched test files — correct paths/runner by
|
|
780
|
+
// construction, only this node's own tests, never the whole suite. An explicit
|
|
781
|
+
// list (or `[]` to skip) overrides; both used by lifecycle unit tests.
|
|
782
|
+
const verifyCommands = targetedCommands === undefined
|
|
783
|
+
? deriveVerifyCommandsFromBranch(root, branch)
|
|
784
|
+
: targetedCommands;
|
|
785
|
+
const verify = verifyCommands.length > 0
|
|
786
|
+
? verifyNodeInWorktree(wt, verifyCommands)
|
|
730
787
|
: { passed: true, output: "" };
|
|
731
788
|
verifyPassed = verify.passed;
|
|
732
789
|
if (!verify.passed) {
|
|
@@ -742,16 +799,16 @@ export function acceptNodeWorktree(params) {
|
|
|
742
799
|
// Write-scope gate (OBL-DS-06), BEFORE the cherry-pick: an out-of-scope or
|
|
743
800
|
// seam-conflicting edit must never land in the main tree, so it is adjudicated
|
|
744
801
|
// against the branch's git diff (the ground truth) here rather than reported
|
|
745
|
-
// after `mergeWorktree` already merged it.
|
|
746
|
-
//
|
|
747
|
-
//
|
|
802
|
+
// after `mergeWorktree` already merged it. The gate routes the node's ACTUAL
|
|
803
|
+
// out-of-declared edits (git diff, never a self-report): an edit to a file no
|
|
804
|
+
// sibling block owns widens the effective scope, while one owned by another
|
|
805
|
+
// block blocks as a seam conflict.
|
|
748
806
|
if (params.scope) {
|
|
749
807
|
const decision = enforceAcceptWriteScope({
|
|
750
808
|
root,
|
|
751
809
|
branch,
|
|
752
810
|
blockId,
|
|
753
811
|
allBlockScopes: params.scope.allBlockScopes,
|
|
754
|
-
amendedFiles: params.scope.amendedFiles,
|
|
755
812
|
});
|
|
756
813
|
if (decision.blocked) {
|
|
757
814
|
// Scope-blocked but the node committed real work — preserve it for recovery.
|
|
@@ -881,6 +938,55 @@ function buildFreeVerifyCommands(commands) {
|
|
|
881
938
|
return [];
|
|
882
939
|
return commands.filter((c) => typeof c === "string" && isBuildFreeVerifyCommand(c));
|
|
883
940
|
}
|
|
941
|
+
/** A repo-relative test path → the runner that executes that file directly. */
|
|
942
|
+
function verifyRunnerForTestFile(repoRelPath) {
|
|
943
|
+
// node:test suites (audit/shared) — run via the tsx loader so the TS source the
|
|
944
|
+
// test imports needs no prior build. vitest suites (remediate) — `vitest run`.
|
|
945
|
+
if (/^tests\/.+\.test\.mjs$/.test(repoRelPath))
|
|
946
|
+
return "node:test";
|
|
947
|
+
if (/^tests\/.+\.test\.(ts|tsx)$/.test(repoRelPath))
|
|
948
|
+
return "vitest";
|
|
949
|
+
return undefined;
|
|
950
|
+
}
|
|
951
|
+
/**
|
|
952
|
+
* Derive a node's per-node verify commands from the test files it ACTUALLY touched
|
|
953
|
+
* on its worktree branch (the git ground truth), instead of trusting host-authored
|
|
954
|
+
* `targeted_commands` whose paths/runner can drift from where the worker put the
|
|
955
|
+
* test. Always typechecks (`npm run check`, no emit), then runs ONLY this node's
|
|
956
|
+
* own touched test files with the repo's runners — never the whole suite (which
|
|
957
|
+
* would re-enter worktree-spawning tests inside a nested worktree). Build-free: the
|
|
958
|
+
* host owns the central build; a node's own test imports the source it changed via
|
|
959
|
+
* the tsx loader. Returns `[]` when there is no git ground truth so the caller can
|
|
960
|
+
* skip the gate rather than fabricate a command.
|
|
961
|
+
*/
|
|
962
|
+
/** Pure assembly (git-free) of the verify commands for a set of edited paths —
|
|
963
|
+
* the testable core of {@link deriveVerifyCommandsFromBranch}. */
|
|
964
|
+
export function verifyCommandsForEdits(editedFiles) {
|
|
965
|
+
const nodeTests = [];
|
|
966
|
+
const vitestTests = [];
|
|
967
|
+
for (const f of editedFiles) {
|
|
968
|
+
const rel = f.replace(/\\/g, "/");
|
|
969
|
+
const runner = verifyRunnerForTestFile(rel);
|
|
970
|
+
if (runner === "node:test")
|
|
971
|
+
nodeTests.push(rel);
|
|
972
|
+
else if (runner === "vitest")
|
|
973
|
+
vitestTests.push(rel);
|
|
974
|
+
}
|
|
975
|
+
const cmds = ["npm run check"];
|
|
976
|
+
if (nodeTests.length > 0) {
|
|
977
|
+
cmds.push(`node --import tsx/esm --test ${nodeTests.sort().join(" ")}`);
|
|
978
|
+
}
|
|
979
|
+
if (vitestTests.length > 0) {
|
|
980
|
+
cmds.push(`npx vitest run ${vitestTests.sort().join(" ")}`);
|
|
981
|
+
}
|
|
982
|
+
return cmds;
|
|
983
|
+
}
|
|
984
|
+
export function deriveVerifyCommandsFromBranch(root, branch) {
|
|
985
|
+
const edited = gitEditedFilesForBranch(root, branch);
|
|
986
|
+
if (!edited.available)
|
|
987
|
+
return [];
|
|
988
|
+
return verifyCommandsForEdits(edited.files);
|
|
989
|
+
}
|
|
884
990
|
function markStarted(item) {
|
|
885
991
|
item.started_at ??= new Date().toISOString();
|
|
886
992
|
delete item.completed_at;
|
|
@@ -1781,46 +1887,63 @@ export function declaredPathsFromPlan(plan, blockId) {
|
|
|
1781
1887
|
return [...(item.access.write_paths ?? []), ...(item.access.read_paths ?? [])];
|
|
1782
1888
|
}
|
|
1783
1889
|
/**
|
|
1784
|
-
*
|
|
1785
|
-
*
|
|
1786
|
-
*
|
|
1787
|
-
*
|
|
1788
|
-
* an
|
|
1789
|
-
*
|
|
1790
|
-
*
|
|
1791
|
-
*
|
|
1792
|
-
*
|
|
1793
|
-
*
|
|
1794
|
-
* left to the merge-time lost-update detector (`detectOverlappingEdits`), which
|
|
1890
|
+
* Pure write-scope adjudication (OBL-DS-06) — git-free so it is unit-testable with
|
|
1891
|
+
* a synthetic edit set. Seeds an ephemeral `OwnershipRegistry` from `allBlockScopes`
|
|
1892
|
+
* (normalised to repo-relative so ownership compares like-for-like) and routes the
|
|
1893
|
+
* node's ACTUAL out-of-declared edits — the git ground truth, never a self-report:
|
|
1894
|
+
* - an edit to a file no sibling block owns is granted and widens this node's
|
|
1895
|
+
* effective scope (a too-narrow — or empty — declared scope no longer blocks a
|
|
1896
|
+
* correct fix; this is the sanctioned "extend into unowned files" path);
|
|
1897
|
+
* - an edit to a file in another block's declared scope is a seam conflict that
|
|
1898
|
+
* blocks until the seam protocol re-scopes or serialises the nodes.
|
|
1899
|
+
* Cross-sibling contention on a file two live nodes both touch (neither declared)
|
|
1900
|
+
* is left to the merge-time lost-update detector (`detectOverlappingEdits`), which
|
|
1795
1901
|
* sees the full set of merged blocks a single accept cannot.
|
|
1796
1902
|
*/
|
|
1797
|
-
export function
|
|
1798
|
-
const { root, branch, blockId, allBlockScopes, amendedFiles } = params;
|
|
1903
|
+
export function adjudicateWriteScope(allBlockScopes, blockId, edited, root) {
|
|
1799
1904
|
const registry = new OwnershipRegistry();
|
|
1800
|
-
registry.initialize(allBlockScopes.map((b) => ({
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1905
|
+
registry.initialize(allBlockScopes.map((b) => ({
|
|
1906
|
+
node_id: b.block_id,
|
|
1907
|
+
write_paths: b.write_paths.map((p) => toRepoRelative(p, root)),
|
|
1908
|
+
})));
|
|
1909
|
+
if (edited.available) {
|
|
1910
|
+
// The node's real source edits outside its declared scope (sanctioned side
|
|
1911
|
+
// outputs already excluded by writeScopeViolations).
|
|
1912
|
+
const candidates = writeScopeViolations(registry.getScope(blockId), edited.files, root);
|
|
1913
|
+
if (candidates.length > 0) {
|
|
1914
|
+
const { seam_routed } = routeAmendmentRequest(registry, blockId, candidates);
|
|
1915
|
+
if (seam_routed.length > 0) {
|
|
1916
|
+
const detail = seam_routed
|
|
1917
|
+
.map((r) => {
|
|
1918
|
+
const reason = r.reason;
|
|
1919
|
+
if (reason.outcome === "owned")
|
|
1920
|
+
return `${r.path} owned by ${reason.owner_node_id}`;
|
|
1921
|
+
if (reason.outcome === "contended") {
|
|
1922
|
+
return `${r.path} contended by ${reason.sibling_node_id}`;
|
|
1923
|
+
}
|
|
1924
|
+
return r.path;
|
|
1925
|
+
})
|
|
1926
|
+
.join("; ");
|
|
1927
|
+
return {
|
|
1928
|
+
blocked: true,
|
|
1929
|
+
reason: `Node edited files owned by another block (seam conflict): ${detail}. ` +
|
|
1930
|
+
`Resolve via the seam protocol (re-scope contracts or serialise the nodes) before this node can land.`,
|
|
1931
|
+
};
|
|
1932
|
+
}
|
|
1933
|
+
// every candidate was unowned → granted into this node's effective scope.
|
|
1820
1934
|
}
|
|
1821
1935
|
}
|
|
1822
|
-
|
|
1823
|
-
|
|
1936
|
+
return enforceWriteScope(registry.getScope(blockId), edited, root);
|
|
1937
|
+
}
|
|
1938
|
+
/**
|
|
1939
|
+
* Accept-time write-scope gate, run from `acceptNodeWorktree` AFTER the verify and
|
|
1940
|
+
* BEFORE the cherry-pick so a violation PREVENTS the merge rather than being
|
|
1941
|
+
* reported once the edit already landed in main. Thin git wrapper around
|
|
1942
|
+
* {@link adjudicateWriteScope}: resolves the branch's actual edits and adjudicates.
|
|
1943
|
+
*/
|
|
1944
|
+
export function enforceAcceptWriteScope(params) {
|
|
1945
|
+
const { root, branch, blockId, allBlockScopes } = params;
|
|
1946
|
+
return adjudicateWriteScope(allBlockScopes, blockId, gitEditedFilesForBranch(root, branch), root);
|
|
1824
1947
|
}
|
|
1825
1948
|
// ---------------------------------------------------------------------------
|
|
1826
1949
|
// Merge-seam: obligation-id → node remap + multi-entry collapse (tolerance)
|