audit-tools 0.32.22 → 0.32.27
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/README.md +10 -4
- package/dist/audit/cli/conceptualDispatch.d.ts +11 -0
- package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
- package/dist/audit/cli/conceptualDispatch.js +31 -1
- package/dist/audit/cli/conceptualDispatch.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +46 -0
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +14 -14
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/contracts/workerSchemas.d.ts +4 -4
- package/dist/audit/contracts/wrapperResponse.d.ts +6 -6
- package/dist/audit/orchestrator/advance.d.ts +18 -19
- package/dist/audit/orchestrator/advance.d.ts.map +1 -1
- package/dist/audit/orchestrator/advance.js +32 -40
- package/dist/audit/orchestrator/advance.js.map +1 -1
- package/dist/audit/orchestrator/advanceTypes.d.ts +0 -17
- package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
- package/dist/audit/orchestrator/hostInputPause.d.ts +69 -0
- package/dist/audit/orchestrator/hostInputPause.d.ts.map +1 -0
- package/dist/audit/orchestrator/hostInputPause.js +90 -0
- package/dist/audit/orchestrator/hostInputPause.js.map +1 -0
- package/dist/audit/quota/index.d.ts +24 -24
- package/dist/audit/types.d.ts +2 -2
- package/dist/remediate/contractPipeline/artifactStore.d.ts +27 -0
- package/dist/remediate/contractPipeline/artifactStore.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/artifactStore.js +34 -0
- package/dist/remediate/contractPipeline/artifactStore.js.map +1 -1
- package/dist/remediate/contractPipeline/changeClassification.d.ts +9 -3
- package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/changeClassification.js +25 -6
- package/dist/remediate/contractPipeline/changeClassification.js.map +1 -1
- package/dist/remediate/contractPipeline/derive.d.ts +42 -0
- package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
- package/dist/remediate/contractPipeline/derive.js +108 -0
- package/dist/remediate/contractPipeline/derive.js.map +1 -1
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +9 -1
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/intake.d.ts +10 -0
- package/dist/remediate/intake.d.ts.map +1 -1
- package/dist/remediate/intake.js +20 -1
- package/dist/remediate/intake.js.map +1 -1
- package/dist/remediate/phases/grounding.d.ts +7 -4
- package/dist/remediate/phases/grounding.d.ts.map +1 -1
- package/dist/remediate/phases/grounding.js +52 -8
- package/dist/remediate/phases/grounding.js.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.d.ts +1 -0
- package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js +2 -2
- package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.d.ts +25 -0
- package/dist/remediate/steps/dispatch/acceptNode.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.js +65 -7
- package/dist/remediate/steps/dispatch/acceptNode.js.map +1 -1
- package/dist/remediate/steps/dispatch/common.d.ts +11 -0
- package/dist/remediate/steps/dispatch/common.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/common.js +16 -0
- package/dist/remediate/steps/dispatch/common.js.map +1 -1
- package/dist/remediate/steps/dispatch/implementPrompt.d.ts +13 -0
- package/dist/remediate/steps/dispatch/implementPrompt.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/implementPrompt.js +33 -7
- package/dist/remediate/steps/dispatch/implementPrompt.js.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.js +77 -9
- package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
- package/dist/remediate/steps/dispatch/worktreeLifecycle.d.ts +55 -16
- package/dist/remediate/steps/dispatch/worktreeLifecycle.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/worktreeLifecycle.js +119 -16
- package/dist/remediate/steps/dispatch/worktreeLifecycle.js.map +1 -1
- package/dist/remediate/steps/dispatch.d.ts +2 -2
- package/dist/remediate/steps/dispatch.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch.js +2 -2
- package/dist/remediate/steps/dispatch.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +12 -1
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/validation/artifacts.d.ts.map +1 -1
- package/dist/remediate/validation/artifacts.js +38 -1
- package/dist/remediate/validation/artifacts.js.map +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts +1 -1
- package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipeline.js +1 -1
- package/dist/remediate/validation/contractPipeline.js.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.d.ts +15 -0
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +168 -2
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/shared/dispatch/admissionLoop.d.ts +12 -12
- package/dist/shared/dispatch/costRank.d.ts +17 -1
- package/dist/shared/dispatch/costRank.d.ts.map +1 -1
- package/dist/shared/dispatch/costRank.js +8 -4
- package/dist/shared/dispatch/costRank.js.map +1 -1
- package/dist/shared/friction/captureFrictionEvent.d.ts +13 -0
- package/dist/shared/friction/captureFrictionEvent.d.ts.map +1 -1
- package/dist/shared/friction/captureFrictionEvent.js.map +1 -1
- package/dist/shared/friction/frictionRecord.d.ts +55 -1
- package/dist/shared/friction/frictionRecord.d.ts.map +1 -1
- package/dist/shared/friction/frictionRecord.js +40 -0
- package/dist/shared/friction/frictionRecord.js.map +1 -1
- package/dist/shared/friction/stepBoundaryCapture.d.ts +14 -0
- package/dist/shared/friction/stepBoundaryCapture.d.ts.map +1 -1
- package/dist/shared/friction/stepBoundaryCapture.js +47 -0
- package/dist/shared/friction/stepBoundaryCapture.js.map +1 -1
- package/dist/shared/friction/triage.d.ts +94 -14
- package/dist/shared/friction/triage.d.ts.map +1 -1
- package/dist/shared/friction/triage.js +0 -0
- package/dist/shared/friction/triage.js.map +1 -1
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/quota/capacity.d.ts +4 -4
- package/dist/shared/quota/modelStatics.d.ts +15 -7
- package/dist/shared/quota/modelStatics.d.ts.map +1 -1
- package/dist/shared/quota/modelStatics.js +60 -13
- package/dist/shared/quota/modelStatics.js.map +1 -1
- package/dist/shared/quota/quotaSource.d.ts +2 -2
- package/dist/shared/validation/designFindingGrounding.d.ts.map +1 -1
- package/dist/shared/validation/designFindingGrounding.js +9 -3
- package/dist/shared/validation/designFindingGrounding.js.map +1 -1
- package/dist/shared/validation/findingGrounding.d.ts +40 -0
- package/dist/shared/validation/findingGrounding.d.ts.map +1 -1
- package/dist/shared/validation/findingGrounding.js +83 -0
- package/dist/shared/validation/findingGrounding.js.map +1 -1
- package/docs/audit-pkg/operator-guide.md +84 -0
- package/package.json +2 -2
|
@@ -14,11 +14,11 @@ import { AGENT_FEEDBACK_FILENAME, readJsonFile, readOptionalJsonFile, writeJsonF
|
|
|
14
14
|
import { validateImplementWorkerResult } from "../../validation/artifacts.js";
|
|
15
15
|
import { REMEDIATION_DISPATCH_PLAN_CONTRACT_VERSION, } from "../types.js";
|
|
16
16
|
import { specIndicatesNoChange, hasExecutableEvidence, dependencyVerifiedComplete, } from "../stepUtils.js";
|
|
17
|
-
import { isTerminalStatus, isVerifiedCompleteStatus, } from "../../state/itemStatus.js";
|
|
17
|
+
import { isTerminalStatus, isVerifiedCompleteStatus, isSkipStatus, } from "../../state/itemStatus.js";
|
|
18
18
|
import { resnapshotAffectedFileHashes } from "../../utils/fileIntegrity.js";
|
|
19
19
|
import { createReservationLedger } from "audit-tools/shared";
|
|
20
|
-
import { runDir, dispatchPlanPath, getCachedConventions, estimateImplementSlotTokens, worktreeBranchForBlock, gitBranchExists, gitEditedFilesForBranch, gitHunksForBranch, toRepoRelative, } from "./common.js";
|
|
21
|
-
import { worktreePath, ensureRemediationBranchCheckedOut, } from "./worktreeLifecycle.js";
|
|
20
|
+
import { runDir, dispatchPlanPath, getCachedConventions, estimateImplementSlotTokens, worktreeBranchForBlock, gitBranchExists, gitEditedFilesForBranch, gitHunksForBranch, gitCommitIsAncestor, toRepoRelative, } from "./common.js";
|
|
21
|
+
import { worktreePath, ensureRemediationBranchCheckedOut, quarantineCommitByOid, } from "./worktreeLifecycle.js";
|
|
22
22
|
import { scheduleWave, buildDispatchQuota } from "./waveScheduling.js";
|
|
23
23
|
import { buildBlockAliasMap, collapseItemResults, buildNodeDisposition, attributeSiblingRed, detectOverlappingEdits, } from "./writeScope.js";
|
|
24
24
|
import { buildImplementDispatchItem, blockReadFiles, detectPackageRoot, buildTestFileIndex, collectReferencingTests, implementPrompt, } from "./implementPrompt.js";
|
|
@@ -589,6 +589,50 @@ async function mergeImplementResultsIntoState(options, runId, plan, state) {
|
|
|
589
589
|
: "");
|
|
590
590
|
continue;
|
|
591
591
|
}
|
|
592
|
+
// INV-WTS-7: a resolved_no_change is genuine ONLY when the node captured NO
|
|
593
|
+
// commit OID and git ground truth confirms an empty branch. A node that DID
|
|
594
|
+
// capture a commit OID but whose branch now reads empty is a CLOBBER (a
|
|
595
|
+
// concurrent sweep/accept reset its ref toward base) — an ancestry mismatch,
|
|
596
|
+
// NOT a genuine no-change: re-block to triage and recover its committed work
|
|
597
|
+
// from quarantine, never flip it terminal on a race-corrupted live read. A
|
|
598
|
+
// worker-claimed no-change whose branch actually HAS edits is likewise
|
|
599
|
+
// re-blocked (git ground truth over the self-report). Only fires on the
|
|
600
|
+
// rolling path (an accept-outcome exists); the interim main-tree path has no
|
|
601
|
+
// git ground truth and is unaffected.
|
|
602
|
+
if (itemResult.status === "resolved_no_change" && acceptOutcome) {
|
|
603
|
+
const noChangeBranch = worktreeBranchForBlock(blockId, runId);
|
|
604
|
+
const branchPresent = gitBranchExists(options.root, noChangeBranch);
|
|
605
|
+
const branchEdits = branchPresent
|
|
606
|
+
? gitEditedFilesForBranch(options.root, noChangeBranch)
|
|
607
|
+
: null;
|
|
608
|
+
const branchHasEdits = !!branchEdits && branchEdits.available && branchEdits.files.size > 0;
|
|
609
|
+
const branchEmpty = !branchPresent ||
|
|
610
|
+
(!!branchEdits && branchEdits.available && branchEdits.files.size === 0);
|
|
611
|
+
const capturedOid = acceptOutcome.committedOid;
|
|
612
|
+
if (capturedOid && branchEmpty) {
|
|
613
|
+
quarantineCommitByOid(options.root, runId, blockId, capturedOid);
|
|
614
|
+
stateItem.status = "blocked";
|
|
615
|
+
markTerminal(stateItem);
|
|
616
|
+
stateItem.failure_reason =
|
|
617
|
+
`Node ${blockId} reported finding ${itemResult.finding_id} ` +
|
|
618
|
+
`resolved_no_change, but it had captured commit ${capturedOid.slice(0, 8)} and ` +
|
|
619
|
+
`its branch now reads empty — a concurrent sweep/accept clobbered its ref toward ` +
|
|
620
|
+
`base (ancestry mismatch, not a genuine no-change). Its committed work is ` +
|
|
621
|
+
`preserved under quarantine and the finding is routed to triage.`;
|
|
622
|
+
continue;
|
|
623
|
+
}
|
|
624
|
+
if (branchHasEdits) {
|
|
625
|
+
stateItem.status = "blocked";
|
|
626
|
+
markTerminal(stateItem);
|
|
627
|
+
const sample = [...branchEdits.files].slice(0, 5).join(", ");
|
|
628
|
+
stateItem.failure_reason =
|
|
629
|
+
`Node ${blockId} reported finding ${itemResult.finding_id} ` +
|
|
630
|
+
`resolved_no_change, but its worktree branch actually has edits ` +
|
|
631
|
+
`(${sample}${branchEdits.files.size > 5 ? ", …" : ""}); git ground truth ` +
|
|
632
|
+
`contradicts the no-change claim. Routed to triage.`;
|
|
633
|
+
continue;
|
|
634
|
+
}
|
|
635
|
+
}
|
|
592
636
|
const spec = stateItem.item_spec;
|
|
593
637
|
// The worker's explicit `resolved_no_change` is a no-change signal in its
|
|
594
638
|
// own right; the spec heuristic is the fallback for a plain `resolved`.
|
|
@@ -749,22 +793,46 @@ async function mergeImplementResultsIntoState(options, runId, plan, state) {
|
|
|
749
793
|
// "resolved" but committed nothing); the hard-failure case (outcome=error|timeout)
|
|
750
794
|
// is caught earlier, in the collapsed loop's resolve branch, so a mislabeled
|
|
751
795
|
// `resolved_no_change` can't slip past this resolvedFindingIds keying.
|
|
752
|
-
if (resolvedFindingIds.length > 0) {
|
|
753
|
-
|
|
796
|
+
if (resolvedFindingIds.length > 0 && acceptOutcome) {
|
|
797
|
+
const notLanded = !acceptOutcome.merged;
|
|
798
|
+
// INV-WTS-3: node-IDENTITY ancestry reconcile. A merged:true accept is only
|
|
799
|
+
// trusted after confirming THIS node's own landed cherry-pick commit is still
|
|
800
|
+
// reachable from the remediation HEAD (`git merge-base --is-ancestor`). A bare
|
|
801
|
+
// path-existence probe (`cat-file -e HEAD:<path>`) would false-PASS when a
|
|
802
|
+
// sibling or a pre-existing file sits at the same path (CE-001); the captured
|
|
803
|
+
// commit OID cannot. If the landing was rolled back / clobbered after accept,
|
|
804
|
+
// the OID is no longer an ancestor → re-block + recover from quarantine.
|
|
805
|
+
const ancestryLost = acceptOutcome.merged &&
|
|
806
|
+
!!acceptOutcome.landedHeadOid &&
|
|
807
|
+
!gitCommitIsAncestor(options.root, acceptOutcome.landedHeadOid);
|
|
808
|
+
if (notLanded || ancestryLost) {
|
|
809
|
+
if (ancestryLost && acceptOutcome.committedOid) {
|
|
810
|
+
quarantineCommitByOid(options.root, runId, blockId, acceptOutcome.committedOid);
|
|
811
|
+
}
|
|
754
812
|
for (const findingId of resolvedFindingIds) {
|
|
755
813
|
const stateItem = state.items[findingId];
|
|
756
|
-
|
|
814
|
+
// These findings were just set to `resolved` by THIS merge pass, so the
|
|
815
|
+
// re-block must be allowed to flip resolved→blocked. Only a user-SKIP
|
|
816
|
+
// terminal (deemed_inappropriate / ignored) is protected — never a bare
|
|
817
|
+
// `isTerminalStatus` guard, which would (wrongly) skip the resolved item
|
|
818
|
+
// this gate exists to override (INV-WTS-5).
|
|
819
|
+
if (!stateItem || isSkipStatus(stateItem.status))
|
|
757
820
|
continue;
|
|
758
821
|
stateItem.status = "blocked";
|
|
759
822
|
markTerminal(stateItem);
|
|
760
|
-
stateItem.failure_reason =
|
|
761
|
-
`Node ${blockId} reported finding ${findingId} resolved, but its tool-owned ` +
|
|
823
|
+
stateItem.failure_reason = notLanded
|
|
824
|
+
? `Node ${blockId} reported finding ${findingId} resolved, but its tool-owned ` +
|
|
762
825
|
`verify/merge did not land the edits (outcome=${acceptOutcome.outcome}, ` +
|
|
763
826
|
`verify_passed=${acceptOutcome.verifyPassed}, merged=false); the fix is not in ` +
|
|
764
827
|
`the main tree. Routed to triage.` +
|
|
765
828
|
(acceptOutcome.diagnostic
|
|
766
829
|
? `\nFailing command output:\n${acceptOutcome.diagnostic}`
|
|
767
|
-
: "")
|
|
830
|
+
: "")
|
|
831
|
+
: `Node ${blockId} reported finding ${findingId} resolved and merged, but its ` +
|
|
832
|
+
`landed commit ${acceptOutcome.landedHeadOid.slice(0, 8)} is no longer an ` +
|
|
833
|
+
`ancestor of the remediation HEAD — a concurrent sweep/accept rolled its landing ` +
|
|
834
|
+
`back (ancestry mismatch, closing the CE-001 path-existence false-close). Its ` +
|
|
835
|
+
`committed work is preserved under quarantine and the finding is routed to triage.`;
|
|
768
836
|
}
|
|
769
837
|
}
|
|
770
838
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marshal.js","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/marshal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"marshal.js","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/marshal.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,16 @@ export declare function createWorktree(root: string, worktreePath: string, branc
|
|
|
26
26
|
* Best-effort: a copy failure must not abort the dispatch (logged, not thrown).
|
|
27
27
|
*/
|
|
28
28
|
export declare function seedUntrackedDeclaredPaths(root: string, worktreeRoot: string, declaredPaths: Iterable<string>): void;
|
|
29
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Remove ONE git worktree, PATH-SCOPED (INV-WTS-1/4). Always addresses only the
|
|
31
|
+
* named `worktreePath` via `git worktree remove --force <path>` — never a global
|
|
32
|
+
* `git worktree prune` that could drop a SIBLING node's registered-but-transiently-
|
|
33
|
+
* absent worktree. `git worktree remove --force` clears the registration even when
|
|
34
|
+
* the directory is already MISSING (a stale admin entry), so this alone replaces
|
|
35
|
+
* the prior global-prune reset step. Best-effort: a genuinely-absent + unregistered
|
|
36
|
+
* path (git reports "is not a working tree" and the dir does not exist) is a silent
|
|
37
|
+
* no-op; any other failure is surfaced on stderr, never thrown.
|
|
38
|
+
*/
|
|
30
39
|
export declare function removeWorktree(root: string, worktreePath: string): void;
|
|
31
40
|
/**
|
|
32
41
|
* Fully reset a node's isolated worktree + branch so a fresh `createWorktree -b`
|
|
@@ -40,25 +49,29 @@ export declare function removeWorktree(root: string, worktreePath: string): void
|
|
|
40
49
|
* worktree/branch is the expected first-attempt case, not an error). Any partial
|
|
41
50
|
* edits from a throttled prior attempt are intentionally discarded — the
|
|
42
51
|
* re-dispatch redoes the node from HEAD.
|
|
52
|
+
*
|
|
53
|
+
* INV-WTS-1/4 (no sibling clobber, stale-sweep never prunes in-flight work): every
|
|
54
|
+
* step is scoped to THIS node's own `worktreePath` / `branchName`. There is NO
|
|
55
|
+
* global `git worktree prune` — a global prune drops the admin entry of ANY sibling
|
|
56
|
+
* worktree whose directory is transiently absent (a sibling between its own rmSync
|
|
57
|
+
* and re-create), which is the exact data-loss race this module closes. Path-scoped
|
|
58
|
+
* `removeWorktree` clears even a stale registration whose dir is already gone, so
|
|
59
|
+
* the prune is unnecessary. Callers serialize a node's reset/create against its own
|
|
60
|
+
* accept via `worktreeNodeLockPath` (INV-WTS-8), so two operations on the SAME node
|
|
61
|
+
* never interleave, while DIFFERENT nodes never touch each other's path.
|
|
43
62
|
*/
|
|
44
63
|
export declare function resetNodeWorktreeAndBranch(root: string, worktreePath: string, branchName: string): void;
|
|
64
|
+
export declare function verifyNodeInWorktree(worktreePath: string, targetedCommands: string[],
|
|
45
65
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* same path `close.ts` uses for `test_command`/`e2e_command`) so the shell — not
|
|
54
|
-
* a word-split + `spawnSync(shell:false)` — resolves the verb. That is what
|
|
55
|
-
* makes this OS-agnostic: on win32 `cmd.exe` natively execs `.cmd` shims (npm,
|
|
56
|
-
* npx, …) and resolves PATH commands; on darwin/linux `/bin/sh` does. The prior
|
|
57
|
-
* argv path ENOENT'd the *spawn itself* for any verb that wasn't a bare
|
|
58
|
-
* executable (e.g. `grep` on Windows), turning a correct fix into a phantom
|
|
59
|
-
* contract failure that burned the retry budget.
|
|
66
|
+
* INV-WTS-2: enforce that the verify cwd IS its own git top-level (a per-node
|
|
67
|
+
* ISOLATED worktree). Set by the accept-node path (`acceptNodeWorktree`) — the
|
|
68
|
+
* enforcement point — so a worktree deleted out from under the verify fails LOUD
|
|
69
|
+
* instead of resolving up to the enclosing MAIN checkout and false-greening
|
|
70
|
+
* against unrelated code. Left OFF (default) for the deliberately-main-rooted
|
|
71
|
+
* re-verify callers (triage re-runs a node's `targeted_commands` at the repo root,
|
|
72
|
+
* which is legitimately a subdir of no isolated worktree).
|
|
60
73
|
*/
|
|
61
|
-
|
|
74
|
+
enforceWorktreeRoot?: boolean): WorktreeVerifyResult;
|
|
62
75
|
/** Merge the worktree branch into the current HEAD via cherry-pick. On failure, removes the worktree and returns the error. */
|
|
63
76
|
export declare function mergeWorktree(root: string, worktreePath: string, branchName: string): {
|
|
64
77
|
success: true;
|
|
@@ -109,6 +122,18 @@ export declare function remediationBranchName(runId: string): string;
|
|
|
109
122
|
* cherry-pick → cross-package check → reset sequence through this single lock.
|
|
110
123
|
*/
|
|
111
124
|
export declare function baseBranchLockPath(root: string, runId: string): string;
|
|
125
|
+
/**
|
|
126
|
+
* Per-node worktree lock path (INV-WTS-1/8). Serializes create / reset / remove /
|
|
127
|
+
* accept for ONE node so a concurrent operation on the SAME node never interleaves
|
|
128
|
+
* (and a scoped removal can't race its own re-create). DISTINCT from
|
|
129
|
+
* {@link baseBranchLockPath} (base-branch.lock) and the per-run `rolling-session.lock`
|
|
130
|
+
* — `withFileLock` is a non-reentrant `wx` create, so sharing a path self-deadlocks
|
|
131
|
+
* (INV-WTS-6). Keyed on the block id so two DIFFERENT nodes hold DIFFERENT locks and
|
|
132
|
+
* never contend. INV-WTS-8: whenever both are held, this per-node lock is acquired
|
|
133
|
+
* BEFORE the base-branch lock on every accept path, so the fixed total order makes an
|
|
134
|
+
* AB/BA cross-lock deadlock unreachable by construction.
|
|
135
|
+
*/
|
|
136
|
+
export declare function worktreeNodeLockPath(root: string, runId: string, blockId: string): string;
|
|
112
137
|
/** Durable ref under which a failed-but-committed node's commit is preserved. */
|
|
113
138
|
export declare function quarantineRef(runId: string, blockId: string): string;
|
|
114
139
|
/**
|
|
@@ -142,6 +167,20 @@ export declare function quarantineUncommittedWorktreeEdits(root: string, worktre
|
|
|
142
167
|
ref: string;
|
|
143
168
|
commit: string;
|
|
144
169
|
} | null;
|
|
170
|
+
/**
|
|
171
|
+
* Point a node's durable quarantine ref straight at a captured commit OID, with no
|
|
172
|
+
* live branch dependency (INV-WTS-3/7 clobber recovery). Used when a concurrent
|
|
173
|
+
* sweep/accept has already reset or deleted the node's branch ref toward base so
|
|
174
|
+
* `quarantineFailedNodeCommit` (which rev-parses the branch) can no longer resolve
|
|
175
|
+
* the work — the captured OID from the node's own accept-outcome is still a
|
|
176
|
+
* reachable commit object, so preserving it here keeps the honest committed work
|
|
177
|
+
* recoverable instead of silently lost. Best-effort; returns the ref + commit, or
|
|
178
|
+
* null when the update-ref failed.
|
|
179
|
+
*/
|
|
180
|
+
export declare function quarantineCommitByOid(root: string, runId: string, blockId: string, commitOid: string): {
|
|
181
|
+
ref: string;
|
|
182
|
+
commit: string;
|
|
183
|
+
} | null;
|
|
145
184
|
/** Clear a node's quarantine ref (e.g. once a later re-dispatch landed successfully). Best-effort. */
|
|
146
185
|
export declare function clearQuarantinedCommit(root: string, runId: string, blockId: string): void;
|
|
147
186
|
/** Quarantined failed-node commits still preserved for a run, for recovery surfacing in the report. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktreeLifecycle.d.ts","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/worktreeLifecycle.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAgC3F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC9B,IAAI,CAoBN;AAED
|
|
1
|
+
{"version":3,"file":"worktreeLifecycle.d.ts","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/worktreeLifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,18 +69,28 @@ export function seedUntrackedDeclaredPaths(root, worktreeRoot, declaredPaths) {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* Remove ONE git worktree, PATH-SCOPED (INV-WTS-1/4). Always addresses only the
|
|
74
|
+
* named `worktreePath` via `git worktree remove --force <path>` — never a global
|
|
75
|
+
* `git worktree prune` that could drop a SIBLING node's registered-but-transiently-
|
|
76
|
+
* absent worktree. `git worktree remove --force` clears the registration even when
|
|
77
|
+
* the directory is already MISSING (a stale admin entry), so this alone replaces
|
|
78
|
+
* the prior global-prune reset step. Best-effort: a genuinely-absent + unregistered
|
|
79
|
+
* path (git reports "is not a working tree" and the dir does not exist) is a silent
|
|
80
|
+
* no-op; any other failure is surfaced on stderr, never thrown.
|
|
81
|
+
*/
|
|
73
82
|
export function removeWorktree(root, worktreePath) {
|
|
74
|
-
// Already-absent worktree = silent no-op: no spawn, no stderr, no throw. A
|
|
75
|
-
// path that still exists but fails git-remove for another reason is surfaced
|
|
76
|
-
// exactly as before. We do NOT match on the 'not a working tree' stderr text.
|
|
77
|
-
if (!existsSync(worktreePath))
|
|
78
|
-
return;
|
|
79
83
|
const result = spawnSyncHidden("git", ["worktree", "remove", "--force", worktreePath], { cwd: root, encoding: "utf8", shell: false });
|
|
80
|
-
if (result.status
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
if (result.status === 0)
|
|
85
|
+
return;
|
|
86
|
+
const stderr = (result.stderr ?? "").trim();
|
|
87
|
+
// "not a working tree" = the path was never a registered worktree. When the
|
|
88
|
+
// directory is ALSO absent there is genuinely nothing to remove → silent no-op.
|
|
89
|
+
// When the directory still exists (an orphaned plain dir) it is a real failure
|
|
90
|
+
// worth surfacing (the caller's rmSync then clears the leftover dir).
|
|
91
|
+
if (/not a working tree/i.test(stderr) && !existsSync(worktreePath))
|
|
92
|
+
return;
|
|
93
|
+
process.stderr.write(`[remediate-code] worktree remove failed (exit ${result.status ?? "unknown"}): ${stderr}\n`);
|
|
84
94
|
}
|
|
85
95
|
/**
|
|
86
96
|
* Fully reset a node's isolated worktree + branch so a fresh `createWorktree -b`
|
|
@@ -94,19 +104,28 @@ export function removeWorktree(root, worktreePath) {
|
|
|
94
104
|
* worktree/branch is the expected first-attempt case, not an error). Any partial
|
|
95
105
|
* edits from a throttled prior attempt are intentionally discarded — the
|
|
96
106
|
* re-dispatch redoes the node from HEAD.
|
|
107
|
+
*
|
|
108
|
+
* INV-WTS-1/4 (no sibling clobber, stale-sweep never prunes in-flight work): every
|
|
109
|
+
* step is scoped to THIS node's own `worktreePath` / `branchName`. There is NO
|
|
110
|
+
* global `git worktree prune` — a global prune drops the admin entry of ANY sibling
|
|
111
|
+
* worktree whose directory is transiently absent (a sibling between its own rmSync
|
|
112
|
+
* and re-create), which is the exact data-loss race this module closes. Path-scoped
|
|
113
|
+
* `removeWorktree` clears even a stale registration whose dir is already gone, so
|
|
114
|
+
* the prune is unnecessary. Callers serialize a node's reset/create against its own
|
|
115
|
+
* accept via `worktreeNodeLockPath` (INV-WTS-8), so two operations on the SAME node
|
|
116
|
+
* never interleave, while DIFFERENT nodes never touch each other's path.
|
|
97
117
|
*/
|
|
98
118
|
export function resetNodeWorktreeAndBranch(root, worktreePath, branchName) {
|
|
119
|
+
// Path-scoped removal: clears the registration (even a stale one whose dir is
|
|
120
|
+
// missing) for THIS node only — never a global prune that could drop a sibling.
|
|
99
121
|
removeWorktree(root, worktreePath);
|
|
100
|
-
// Prune stale worktree admin entries (e.g. a dir deleted out from under git),
|
|
101
|
-
// otherwise `git worktree add` can refuse a path it still thinks is registered.
|
|
102
|
-
spawnSyncHidden("git", ["worktree", "prune"], { cwd: root, shell: false });
|
|
103
122
|
// Force-delete the leftover branch from a prior attempt so `-b` recreates it.
|
|
104
123
|
spawnSyncHidden("git", ["branch", "-D", branchName], { cwd: root, shell: false });
|
|
105
124
|
// Force-remove a leftover worktree DIRECTORY: when a prior attempt's worktree
|
|
106
125
|
// became an orphaned dir (registered admin entry gone but files remain),
|
|
107
|
-
// `git worktree remove`
|
|
126
|
+
// `git worktree remove` reports "is not a working tree" and `git worktree add`
|
|
108
127
|
// then refuses because the path already exists. Deleting the dir makes the
|
|
109
|
-
// re-create succeed. Best-effort.
|
|
128
|
+
// re-create succeed. Best-effort, and scoped to this node's own path.
|
|
110
129
|
if (existsSync(worktreePath)) {
|
|
111
130
|
rmSync(worktreePath, { recursive: true, force: true });
|
|
112
131
|
}
|
|
@@ -127,7 +146,51 @@ export function resetNodeWorktreeAndBranch(root, worktreePath, branchName) {
|
|
|
127
146
|
* executable (e.g. `grep` on Windows), turning a correct fix into a phantom
|
|
128
147
|
* contract failure that burned the retry budget.
|
|
129
148
|
*/
|
|
130
|
-
|
|
149
|
+
/**
|
|
150
|
+
* INV-WTS-2 escape check: returns a LOUD diagnostic string when `worktreeRoot` is
|
|
151
|
+
* NOT safe to run a build-free verify in — either the cwd was removed (a concurrent
|
|
152
|
+
* sweep deleted the worktree → a bare command would ENOENT or resolve up to MAIN),
|
|
153
|
+
* or git resolves an ENCLOSING top-level distinct from the cwd (the worktree escaped
|
|
154
|
+
* to the main checkout). Returns null when the cwd IS its own git top-level (the
|
|
155
|
+
* healthy isolated-worktree case). A cwd that exists but is not inside any git work
|
|
156
|
+
* tree (`status != 0`, no spawn error) is NOT an escape — only a resolved enclosing
|
|
157
|
+
* top-level is — so that case returns null too (never a false refusal).
|
|
158
|
+
*/
|
|
159
|
+
function verifyCwdEscapeDiagnostic(worktreeRoot) {
|
|
160
|
+
const probe = spawnSyncHidden("git", ["rev-parse", "--show-toplevel"], { cwd: worktreeRoot, encoding: "utf8", shell: false });
|
|
161
|
+
if (probe.error) {
|
|
162
|
+
return (`[remediate-code] verify REFUSED: the verify cwd ${worktreeRoot} no longer exists ` +
|
|
163
|
+
`(${probe.error.code ?? "spawn error"}). The worktree was ` +
|
|
164
|
+
`removed out from under the verify (a concurrent sweep/accept); refusing to run a ` +
|
|
165
|
+
`build-free verify that would false-green against unrelated code.`);
|
|
166
|
+
}
|
|
167
|
+
if (probe.status === 0) {
|
|
168
|
+
const top = (probe.stdout ?? "").trim();
|
|
169
|
+
if (top.length > 0 && canonicalPathKey(top) !== canonicalPathKey(worktreeRoot)) {
|
|
170
|
+
return (`[remediate-code] verify REFUSED: git top-level for ${worktreeRoot} is ${top}, not ` +
|
|
171
|
+
`the cwd itself — the verify cwd is INSIDE an enclosing checkout (a per-node worktree ` +
|
|
172
|
+
`deleted out from under it resolves up to MAIN). Refusing to run a build-free verify ` +
|
|
173
|
+
`that would false-green against unrelated code.`);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
export function verifyNodeInWorktree(worktreePath, targetedCommands,
|
|
179
|
+
/**
|
|
180
|
+
* INV-WTS-2: enforce that the verify cwd IS its own git top-level (a per-node
|
|
181
|
+
* ISOLATED worktree). Set by the accept-node path (`acceptNodeWorktree`) — the
|
|
182
|
+
* enforcement point — so a worktree deleted out from under the verify fails LOUD
|
|
183
|
+
* instead of resolving up to the enclosing MAIN checkout and false-greening
|
|
184
|
+
* against unrelated code. Left OFF (default) for the deliberately-main-rooted
|
|
185
|
+
* re-verify callers (triage re-runs a node's `targeted_commands` at the repo root,
|
|
186
|
+
* which is legitimately a subdir of no isolated worktree).
|
|
187
|
+
*/
|
|
188
|
+
enforceWorktreeRoot = false) {
|
|
189
|
+
if (enforceWorktreeRoot) {
|
|
190
|
+
const escape = verifyCwdEscapeDiagnostic(worktreePath);
|
|
191
|
+
if (escape !== null)
|
|
192
|
+
return { passed: false, output: escape };
|
|
193
|
+
}
|
|
131
194
|
const outputs = [];
|
|
132
195
|
for (const cmd of targetedCommands) {
|
|
133
196
|
const r = runShellCommand(cmd, {
|
|
@@ -267,6 +330,20 @@ export function remediationBranchName(runId) {
|
|
|
267
330
|
export function baseBranchLockPath(root, runId) {
|
|
268
331
|
return join(root, ".audit-tools", "remediation", "runs", refSafeSegment(runId, "run"), "base-branch.lock");
|
|
269
332
|
}
|
|
333
|
+
/**
|
|
334
|
+
* Per-node worktree lock path (INV-WTS-1/8). Serializes create / reset / remove /
|
|
335
|
+
* accept for ONE node so a concurrent operation on the SAME node never interleaves
|
|
336
|
+
* (and a scoped removal can't race its own re-create). DISTINCT from
|
|
337
|
+
* {@link baseBranchLockPath} (base-branch.lock) and the per-run `rolling-session.lock`
|
|
338
|
+
* — `withFileLock` is a non-reentrant `wx` create, so sharing a path self-deadlocks
|
|
339
|
+
* (INV-WTS-6). Keyed on the block id so two DIFFERENT nodes hold DIFFERENT locks and
|
|
340
|
+
* never contend. INV-WTS-8: whenever both are held, this per-node lock is acquired
|
|
341
|
+
* BEFORE the base-branch lock on every accept path, so the fixed total order makes an
|
|
342
|
+
* AB/BA cross-lock deadlock unreachable by construction.
|
|
343
|
+
*/
|
|
344
|
+
export function worktreeNodeLockPath(root, runId, blockId) {
|
|
345
|
+
return join(root, ".audit-tools", "remediation", "runs", refSafeSegment(runId, "run"), `worktree-${refSafeSegment(blockId, "node")}.lock`);
|
|
346
|
+
}
|
|
270
347
|
/** Durable ref under which a failed-but-committed node's commit is preserved. */
|
|
271
348
|
export function quarantineRef(runId, blockId) {
|
|
272
349
|
return `refs/remediation-quarantine/${refSafeSegment(runId, "run")}/${refSafeSegment(blockId, "node")}`;
|
|
@@ -342,6 +419,32 @@ export function quarantineUncommittedWorktreeEdits(root, worktreeRoot, branch, r
|
|
|
342
419
|
}
|
|
343
420
|
return quarantineFailedNodeCommit(root, branch, runId, blockId);
|
|
344
421
|
}
|
|
422
|
+
/**
|
|
423
|
+
* Point a node's durable quarantine ref straight at a captured commit OID, with no
|
|
424
|
+
* live branch dependency (INV-WTS-3/7 clobber recovery). Used when a concurrent
|
|
425
|
+
* sweep/accept has already reset or deleted the node's branch ref toward base so
|
|
426
|
+
* `quarantineFailedNodeCommit` (which rev-parses the branch) can no longer resolve
|
|
427
|
+
* the work — the captured OID from the node's own accept-outcome is still a
|
|
428
|
+
* reachable commit object, so preserving it here keeps the honest committed work
|
|
429
|
+
* recoverable instead of silently lost. Best-effort; returns the ref + commit, or
|
|
430
|
+
* null when the update-ref failed.
|
|
431
|
+
*/
|
|
432
|
+
export function quarantineCommitByOid(root, runId, blockId, commitOid) {
|
|
433
|
+
if (!commitOid)
|
|
434
|
+
return null;
|
|
435
|
+
const ref = quarantineRef(runId, blockId);
|
|
436
|
+
const upd = spawnSyncHidden("git", ["update-ref", ref, commitOid], {
|
|
437
|
+
cwd: root,
|
|
438
|
+
encoding: "utf8",
|
|
439
|
+
shell: false,
|
|
440
|
+
});
|
|
441
|
+
if (upd.status !== 0) {
|
|
442
|
+
process.stderr.write(`[remediate-code] could not quarantine ${blockId} commit ${commitOid.slice(0, 8)}: ${(upd.stderr ?? "").trim()}\n`);
|
|
443
|
+
return null;
|
|
444
|
+
}
|
|
445
|
+
process.stderr.write(`[remediate-code] preserved clobbered node ${blockId} commit ${commitOid.slice(0, 8)} at ${ref} for recovery\n`);
|
|
446
|
+
return { ref, commit: commitOid };
|
|
447
|
+
}
|
|
345
448
|
/** Clear a node's quarantine ref (e.g. once a later re-dispatch landed successfully). Best-effort. */
|
|
346
449
|
export function clearQuarantinedCommit(root, runId, blockId) {
|
|
347
450
|
spawnSyncHidden("git", ["update-ref", "-d", quarantineRef(runId, blockId)], {
|