audit-tools 0.31.2 → 0.31.4

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.
Files changed (55) hide show
  1. package/README.md +60 -20
  2. package/dist/audit/cli/auditStep.d.ts +6 -3
  3. package/dist/audit/cli/auditStep.d.ts.map +1 -1
  4. package/dist/audit/cli/auditStep.js +116 -19
  5. package/dist/audit/cli/auditStep.js.map +1 -1
  6. package/dist/audit/cli/dispatch.d.ts.map +1 -1
  7. package/dist/audit/cli/dispatch.js +41 -2
  8. package/dist/audit/cli/dispatch.js.map +1 -1
  9. package/dist/audit/cli/mergeAndIngestCommand.d.ts.map +1 -1
  10. package/dist/audit/cli/mergeAndIngestCommand.js +14 -1
  11. package/dist/audit/cli/mergeAndIngestCommand.js.map +1 -1
  12. package/dist/remediate/index.d.ts.map +1 -1
  13. package/dist/remediate/index.js +1 -0
  14. package/dist/remediate/index.js.map +1 -1
  15. package/dist/remediate/steps/dispatch.d.ts +15 -0
  16. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  17. package/dist/remediate/steps/dispatch.js +65 -5
  18. package/dist/remediate/steps/dispatch.js.map +1 -1
  19. package/dist/remediate/steps/intakeResolver.d.ts +6 -0
  20. package/dist/remediate/steps/intakeResolver.d.ts.map +1 -1
  21. package/dist/remediate/steps/intakeResolver.js +65 -39
  22. package/dist/remediate/steps/intakeResolver.js.map +1 -1
  23. package/dist/remediate/steps/nextStep.d.ts +9 -0
  24. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  25. package/dist/remediate/steps/nextStep.js +97 -23
  26. package/dist/remediate/steps/nextStep.js.map +1 -1
  27. package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
  28. package/dist/remediate/steps/rollingSession.js +2 -3
  29. package/dist/remediate/steps/rollingSession.js.map +1 -1
  30. package/dist/remediate/steps/types.d.ts +1 -1
  31. package/dist/remediate/steps/types.d.ts.map +1 -1
  32. package/dist/remediate/steps/types.js.map +1 -1
  33. package/dist/shared/index.d.ts +3 -1
  34. package/dist/shared/index.d.ts.map +1 -1
  35. package/dist/shared/index.js +2 -1
  36. package/dist/shared/index.js.map +1 -1
  37. package/dist/shared/io/auditToolsPaths.d.ts +20 -0
  38. package/dist/shared/io/auditToolsPaths.d.ts.map +1 -1
  39. package/dist/shared/io/auditToolsPaths.js +24 -0
  40. package/dist/shared/io/auditToolsPaths.js.map +1 -1
  41. package/dist/shared/io/gitignoreArtifacts.d.ts +1 -1
  42. package/dist/shared/io/stepContractWriter.d.ts +12 -4
  43. package/dist/shared/io/stepContractWriter.d.ts.map +1 -1
  44. package/dist/shared/io/stepContractWriter.js +81 -11
  45. package/dist/shared/io/stepContractWriter.js.map +1 -1
  46. package/dist/shared/quota/claimLease.d.ts +32 -0
  47. package/dist/shared/quota/claimLease.d.ts.map +1 -0
  48. package/dist/shared/quota/claimLease.js +66 -0
  49. package/dist/shared/quota/claimLease.js.map +1 -0
  50. package/dist/shared/quota/claimRegistry.d.ts +35 -1
  51. package/dist/shared/quota/claimRegistry.d.ts.map +1 -1
  52. package/dist/shared/quota/claimRegistry.js +74 -7
  53. package/dist/shared/quota/claimRegistry.js.map +1 -1
  54. package/docs/audit-pkg/development.md +1 -1
  55. package/package.json +3 -7
@@ -75,50 +75,68 @@ export async function resolveIntakeStep(params) {
75
75
  // source set is fixed by the user, so it is preserved across bare calls.
76
76
  manifest = undefined;
77
77
  }
78
- // Auto-discovered input confirmation gate: when a candidate was found via
79
- // default discovery (no --input supplied) and no manifest has ever been
80
- // written for this run (previousManifest is undefined), present the file to
81
- // the user before writing source-manifest.json. Only after the user confirms
82
- // (via confirm_auto_discovered_input_ack.json) does the run proceed to write
83
- // the manifest and continue. Re-derivation (previousManifest set but cleared
84
- // above) does NOT re-trigger the gate the user already confirmed that input.
78
+ // Discovered-sources gate: on a fresh run (no manifest ever written) with no
79
+ // explicit source neither `--input` (inputResolution.supplied) NOR
80
+ // `--guidance-file` (which lands as intake.conversationStart) surface EVERY
81
+ // auto-discovered candidate to the host as a context manifest before writing
82
+ // source-manifest.json. The host decides (confirm the auto-selected best, or
83
+ // pass `--input <path>` to pick another / a new file). Awareness never blocks
84
+ // an explicit source: when the host supplied one, this gate is skipped entirely
85
+ // (that is what broke the old decline→re-offer loop — a `--guidance-file` reply
86
+ // used to re-trigger the identical single-candidate prompt). Re-derivation
87
+ // (previousManifest set but cleared above) does NOT re-trigger it.
85
88
  if (!inputResolution.supplied &&
89
+ !intake.conversationStart &&
86
90
  inputResolution.existing.length > 0 &&
87
91
  !manifest &&
88
92
  !previousManifest) {
89
93
  const ackPath = join(artifactsDir, "confirm_auto_discovered_input_ack.json");
90
94
  const ack = await readOptionalJsonFile(ackPath);
91
- if (!ack || ack.status !== "confirmed") {
92
- const candidatePath = inputResolution.existing[0];
93
- // Determine source type label for the prompt
94
- let sourceTypeLabel = "document";
95
- let findingCount;
96
- let mtimeStr;
97
- try {
98
- const fileStat = await stat(candidatePath);
99
- mtimeStr = fileStat.mtime.toISOString();
100
- }
101
- catch { /* best-effort */ }
102
- if (candidatePath.toLowerCase().endsWith(".json")) {
95
+ if (ack?.status === "declined") {
96
+ // Host explicitly rejected the discovered defaults — do NOT silently build a
97
+ // manifest from the very candidate they declined; ask for an explicit source
98
+ // instead. This breaks the loop even without a `--guidance-file` reply.
99
+ return collectStartingPointStep([], "Stop after collecting an explicit remediation source (--input <path>) and rerunning next-step.");
100
+ }
101
+ if (ack?.status !== "confirmed") {
102
+ // Build one manifest row per discovered source, each with provenance the
103
+ // host can weigh (type, mtime, finding count) — the full context set, not
104
+ // just the single best match the pipeline would auto-select.
105
+ const sourceRows = [];
106
+ // Defensive: fall back to the single-best `existing` if a caller omitted
107
+ // the full context set (older callers/tests predate `allExisting`).
108
+ const discovered = inputResolution.allExisting ?? inputResolution.existing;
109
+ for (const candidatePath of discovered) {
110
+ let sourceTypeLabel = "document";
111
+ let findingCount;
112
+ let mtimeStr;
103
113
  try {
104
- const content = await readFile(candidatePath, "utf8");
105
- const parsed = JSON.parse(content);
106
- if (isAuditFindingsReport(parsed)) {
107
- sourceTypeLabel = "structured_audit";
108
- const asRecord = parsed;
109
- if (Array.isArray(asRecord.findings)) {
110
- findingCount = asRecord.findings.length;
114
+ const fileStat = await stat(candidatePath);
115
+ mtimeStr = fileStat.mtime.toISOString();
116
+ }
117
+ catch { /* best-effort */ }
118
+ if (candidatePath.toLowerCase().endsWith(".json")) {
119
+ try {
120
+ const content = await readFile(candidatePath, "utf8");
121
+ const parsed = JSON.parse(content);
122
+ if (isAuditFindingsReport(parsed)) {
123
+ sourceTypeLabel = "structured_audit";
124
+ const asRecord = parsed;
125
+ if (Array.isArray(asRecord.findings)) {
126
+ findingCount = asRecord.findings.length;
127
+ }
111
128
  }
112
129
  }
130
+ catch { /* best-effort */ }
113
131
  }
114
- catch { /* best-effort */ }
132
+ const meta = [
133
+ `type: ${sourceTypeLabel}`,
134
+ mtimeStr ? `modified ${mtimeStr}` : undefined,
135
+ findingCount !== undefined ? `${findingCount} finding(s)` : undefined,
136
+ ].filter((s) => Boolean(s));
137
+ sourceRows.push(`- \`${candidatePath}\` — ${meta.join(", ")}`);
115
138
  }
116
- const detailLines = [
117
- `- **Path**: \`${candidatePath}\``,
118
- `- **Type**: ${sourceTypeLabel}`,
119
- mtimeStr ? `- **Last modified**: ${mtimeStr}` : undefined,
120
- findingCount !== undefined ? `- **Findings**: ${findingCount}` : undefined,
121
- ].filter((line) => Boolean(line));
139
+ const autoSelected = inputResolution.existing[0];
122
140
  return {
123
141
  kind: "step",
124
142
  step: await writeCurrentStep({
@@ -128,19 +146,27 @@ export async function resolveIntakeStep(params) {
128
146
  repoRoot: root,
129
147
  artifactsDir,
130
148
  prompt: [
131
- "# Confirm Auto-Discovered Input",
149
+ "# Confirm discovered remediation source(s)",
132
150
  "",
133
- "A remediation input was automatically discovered. Please confirm whether to use it.",
151
+ "No `--input`/`--guidance-file` was supplied. The following remediation",
152
+ "source(s) were auto-discovered on disk. Review them and decide with the user",
153
+ "which to use — the tool would otherwise auto-select the highest-priority one",
154
+ `(\`${autoSelected}\`).`,
134
155
  "",
135
- ...detailLines,
156
+ "**Discovered sources:**",
157
+ ...sourceRows,
136
158
  "",
137
- `If you want to use this file, write the following to \`${ackPath}\`:`,
159
+ `To proceed with the auto-selected source (\`${autoSelected}\`), write to \`${ackPath}\`:`,
138
160
  "",
139
161
  "```json",
140
162
  '{ "status": "confirmed" }',
141
163
  "```",
142
164
  "",
143
- `If you want to use a different file, write \`{ "status": "declined" }\` to \`${ackPath}\` and re-run with \`--input <path>\`.`,
165
+ "To use a DIFFERENT discovered source, or a file not listed, re-run with",
166
+ "`--input <path>` (it takes the lossless structured fast-path for a `.json`).",
167
+ "",
168
+ `To reject all discovered defaults, write \`{ "status": "declined" }\` to \`${ackPath}\``,
169
+ "and re-run with an explicit `--input <path>`.",
144
170
  "",
145
171
  `Then run: \`${params.loaderCommand("next-step")}\``,
146
172
  ].join("\n"),
@@ -148,7 +174,7 @@ export async function resolveIntakeStep(params) {
148
174
  params.loaderCommand("next-step"),
149
175
  params.loaderCommand("next-step --input <path>"),
150
176
  ],
151
- stopCondition: "Stop after presenting the discovered file to the user and writing the ack.",
177
+ stopCondition: "Stop after presenting the discovered sources to the user and writing the ack.",
152
178
  artifactPaths: {
153
179
  confirm_auto_discovered_input_ack: ackPath,
154
180
  },
@@ -1 +1 @@
1
- {"version":3,"file":"intakeResolver.js","sourceRoot":"","sources":["../../../src/remediate/steps/intakeResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intakeResolver.js","sourceRoot":"","sources":["../../../src/remediate/steps/intakeResolver.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,15 @@ export interface NextStepOptions {
20
20
  hostModelId?: string | null;
21
21
  finalizeClosing?: boolean;
22
22
  forceReplan?: boolean;
23
+ /**
24
+ * True when this invocation supplied `--guidance-file` (folded into
25
+ * intake/conversation-start.md before the step decision). Like a fresh
26
+ * `--input`, a guidance file introduces NEW intake, so against a run already
27
+ * past intake it must trip the resume-vs-restart conflict gate rather than
28
+ * silently resuming (and executing) the old, unrelated run. Set once at the
29
+ * bootstrap call; bare `next-step` follow-ups leave it undefined.
30
+ */
31
+ guidanceFileSupplied?: boolean;
23
32
  /**
24
33
  * Opt IN to the in-process rolling dispatch engine for the implement phase.
25
34
  * Defaults off (proven host-fanned wave path). See `resolveRollingEngineEnabled`.
@@ -1 +1 @@
1
- {"version":3,"file":"nextStep.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/nextStep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nextStep.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/nextStep.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,9 @@ import { mergeImplementResults, prepareImplementDispatch, readExtractedPlanIfPre
12
12
  import { makeProviderNodeDispatcher } from "./providerNodeDispatch.js";
13
13
  import { ownershipSubWaves } from "../dispatch/ownershipScheduler.js";
14
14
  import { prepareHostRollingDispatch, nodeClaimRegistry, nodeSettledPoolsPath } from "./rollingSession.js";
15
+ import { ClaimRegistry } from "../../shared/quota/claimRegistry.js";
16
+ import { claimWithBackoff, withClaimHeartbeat } from "../../shared/quota/claimLease.js";
17
+ import { nodeClaimsPath } from "../../shared/io/auditToolsPaths.js";
15
18
  import { writeCurrentStep } from "./stepWriter.js";
16
19
  import { dependencyVerifiedComplete } from "./stepUtils.js";
17
20
  import { isTerminalStatus, isVerifiedCompleteStatus, } from "../state/itemStatus.js";
@@ -215,11 +218,13 @@ function resolveInputPaths(root, input) {
215
218
  const values = inputValues(input).filter((value) => value.trim().length > 0);
216
219
  if (values.length > 0) {
217
220
  const checked = values.map((value) => resolve(root, value));
221
+ const existing = checked.filter((candidate) => existsSync(candidate));
218
222
  return {
219
223
  supplied: true,
220
- existing: checked.filter((candidate) => existsSync(candidate)),
224
+ existing,
221
225
  missing: checked.filter((candidate) => !existsSync(candidate)),
222
226
  checked,
227
+ allExisting: existing,
223
228
  };
224
229
  }
225
230
  const checked = defaultInputCandidates(root);
@@ -228,12 +233,14 @@ function resolveInputPaths(root, input) {
228
233
  // highest-priority match — never feed both the structured contract and its
229
234
  // markdown render — so a lone .json input takes the lossless structured
230
235
  // fast-path instead of being demoted to multi-source LLM extraction.
231
- const best = checked.find((candidate) => existsSync(candidate));
236
+ const allExisting = checked.filter((candidate) => existsSync(candidate));
237
+ const best = allExisting[0];
232
238
  return {
233
239
  supplied: false,
234
240
  existing: best ? [best] : [],
235
241
  missing: [],
236
242
  checked,
243
+ allExisting,
237
244
  };
238
245
  }
239
246
  /**
@@ -1549,6 +1556,43 @@ ${resetLine}
1549
1556
  stopCondition: "Stop and wait for the provider reset. Re-running next-step resumes the stranded nodes.",
1550
1557
  });
1551
1558
  }
1559
+ // Cooperative multi-agent (slice 4): the single mutex node guarding this run's
1560
+ // in-process serial state-machine advance, and the heartbeat interval (well inside
1561
+ // STALE_LOCK_MS so a live long phase is never reclaimed).
1562
+ const REMEDIATE_PHASE_NODE = "phase:main";
1563
+ const PHASE_CLAIM_HEARTBEAT_MS = 10_000;
1564
+ // Cooperative multi-agent (slice 4, spec/multi-ide-concurrent-runs-design.md):
1565
+ // emitted when another agent/IDE currently holds the phase mutex and is advancing
1566
+ // this run's serial state machine. A non-blocking "retry shortly" — the host
1567
+ // re-runs next-step and joins once the peer yields (or finishes into the pooled
1568
+ // implement phase this peer can then join).
1569
+ async function buildPhaseBusyStep(params) {
1570
+ const { root, artifactsDir, runId } = params;
1571
+ const nextCommand = loaderCommand("next-step");
1572
+ return writeCurrentStep({
1573
+ stepKind: "phase_busy",
1574
+ status: "ready",
1575
+ runId,
1576
+ repoRoot: root,
1577
+ artifactsDir,
1578
+ prompt: `
1579
+ # Remediation busy — another agent is advancing this run
1580
+
1581
+ Another agent/IDE is currently advancing this remediation's state machine (a
1582
+ serial phase — plan, triage, or close). Nothing is wrong; this is the cooperative
1583
+ multi-agent guard that stops two agents from running the same phase at once.
1584
+
1585
+ Wait a few seconds, then run:
1586
+
1587
+ \`${nextCommand}\`
1588
+
1589
+ Once the peer yields — or the run reaches the parallel implement phase — your
1590
+ next-step joins in and takes on unclaimed work.
1591
+ `,
1592
+ allowedCommands: [nextCommand],
1593
+ stopCondition: "Stop briefly, then re-run next-step to join the run once the peer yields the phase.",
1594
+ });
1595
+ }
1552
1596
  // --- Per-state handlers -----------------------------------------------------
1553
1597
  // Each handler owns one branch of the original decideNextStepInner dispatch.
1554
1598
  // Handlers that emit a step return RemediationStep directly; handlers that need
@@ -2194,7 +2238,7 @@ async function handleInputConflict(root, artifactsDir, state, inputResolution) {
2194
2238
  const itemCount = state.items ? Object.keys(state.items).length : 0;
2195
2239
  const suppliedInline = inputResolution.checked.length > 0
2196
2240
  ? inputResolution.checked.map((p) => `\`${p}\``).join(", ")
2197
- : "(input supplied)";
2241
+ : "(new intake source via `--guidance-file`)";
2198
2242
  return writeCurrentStep({
2199
2243
  stepKind: "input_conflict",
2200
2244
  status: "blocked",
@@ -2202,11 +2246,11 @@ async function handleInputConflict(root, artifactsDir, state, inputResolution) {
2202
2246
  repoRoot: root,
2203
2247
  artifactsDir,
2204
2248
  prompt: `
2205
- # New \`--input\` given, but a remediation run is already in progress
2249
+ # New intake source given, but a remediation run is already in progress
2206
2250
 
2207
2251
  A remediation run already exists in \`${artifactsDir}\` and has advanced past intake,
2208
- so the new \`--input\` you passed will **not** replace it — it would be ignored and the
2209
- existing plan resumed.
2252
+ so the new intake source you passed (\`--input\` or \`--guidance-file\`) will **not**
2253
+ replace it — it would be ignored and the existing plan resumed and executed.
2210
2254
 
2211
2255
  - **Current state**: \`${state.status}\`
2212
2256
  - **Plan**: \`${planId}\` (${itemCount} item(s))
@@ -2214,11 +2258,11 @@ existing plan resumed.
2214
2258
 
2215
2259
  Choose one explicitly and report the choice to the user:
2216
2260
 
2217
- 1. **Resume the existing run** — re-run WITHOUT \`--input\`: \`${loaderCommand("next-step")}\`
2218
- 2. **Start fresh from the new input** — first move aside or delete the existing
2261
+ 1. **Resume the existing run** — re-run WITHOUT any \`--input\`/\`--guidance-file\`: \`${loaderCommand("next-step")}\`
2262
+ 2. **Start fresh from the new source** — first move aside or delete the existing
2219
2263
  \`${artifactsDir}\` directory (and the stale \`remediation-report.md\` /
2220
2264
  \`remediation-outcomes.json\` in \`.audit-tools/\`, which would otherwise be overwritten on completion),
2221
- then re-run \`${loaderCommand("next-step --input <path>")}\`.
2265
+ then re-run with your new source (\`${loaderCommand("next-step --input <path>")}\` or \`--guidance-file <path>\`).
2222
2266
 
2223
2267
  Stop after presenting this choice. Do not advance the run until the user decides.
2224
2268
  `,
@@ -3169,7 +3213,7 @@ const PRE_INTAKE_PRIORITY = [
3169
3213
  */
3170
3214
  function buildPreIntakeObligations(ctx, snapshot) {
3171
3215
  const { artifactsDir, inputResolution } = ctx;
3172
- const { existingCheckpoint, resumeAck, entryState, suppliedInputUnchanged } = snapshot;
3216
+ const { existingCheckpoint, resumeAck, entryState, suppliedInputUnchanged, guidanceFileSupplied } = snapshot;
3173
3217
  const ip = intakePaths(artifactsDir);
3174
3218
  const checkpointPath = join(artifactsDir, "intent_checkpoint.json");
3175
3219
  const ackPath = join(artifactsDir, "confirm_resume_ack.json");
@@ -3177,14 +3221,17 @@ function buildPreIntakeObligations(ctx, snapshot) {
3177
3221
  const reportPath = join(dirname(artifactsDir), "remediation-report.md");
3178
3222
  return [
3179
3223
  {
3180
- // A new, DIFFERENT --input against a run already past intake must not
3181
- // silently resume the old plan; require an explicit resume-vs-restart
3182
- // choice. The SAME --input re-passed (the loader does this every next-step)
3183
- // is an unchanged input a resume, not a conflict. Derives from the frozen
3184
- // entry state never an intake-created one.
3224
+ // A new, DIFFERENT intake source against a run already past intake must not
3225
+ // silently resume (and re-execute) the old plan; require an explicit
3226
+ // resume-vs-restart choice. Two ways a fresh source arrives: a new `--input`
3227
+ // (the SAME --input re-passed by the loader every next-step is an unchanged
3228
+ // input a resume, not a conflict), OR a `--guidance-file` (a one-shot
3229
+ // bootstrap that lands as conversation-start.md — it has no
3230
+ // "unchanged" notion, so any guidance file against an advanced run conflicts;
3231
+ // bare follow-ups don't set the flag). Derives from the frozen entry state.
3185
3232
  id: "input_conflict",
3186
- derive: () => inputResolution.supplied &&
3187
- !suppliedInputUnchanged &&
3233
+ derive: () => ((inputResolution.supplied && !suppliedInputUnchanged) ||
3234
+ guidanceFileSupplied) &&
3188
3235
  entryState != null &&
3189
3236
  entryState.status !== "pending"
3190
3237
  ? "missing"
@@ -3640,6 +3687,7 @@ async function decideNextStepLoop(options, runLogger) {
3640
3687
  resumeAck,
3641
3688
  entryState: state,
3642
3689
  suppliedInputUnchanged,
3690
+ guidanceFileSupplied: Boolean(options.guidanceFileSupplied),
3643
3691
  }),
3644
3692
  }, state, ctx);
3645
3693
  if (preIntake.step)
@@ -3652,11 +3700,37 @@ async function decideNextStepLoop(options, runLogger) {
3652
3700
  return handleNoState(root, artifactsDir);
3653
3701
  }
3654
3702
  await countStep(state);
3655
- const main = await advance({ priority: MAIN_PRIORITY, obligations: buildMainObligations(ctx) }, state, ctx);
3656
- if (main.step)
3657
- return main.step;
3658
- // The unhandled catch-all always emits on a non-null state, so a null step here
3659
- // is unreachable; keep an explicit fallback rather than a non-null assertion.
3660
- return handleUnhandledState(root, artifactsDir, state);
3703
+ // Cooperative multi-agent (slice 4): a single phase mutex serializes the
3704
+ // in-process MAIN advance so two joining peers never run the same SERIAL phase
3705
+ // (planning / triage / close) and clobber state.json. This does NOT serialize
3706
+ // the heavy implement work that runs out-of-process via per-node claims; the
3707
+ // mutex only guards the quick in-process advance + dispatch-emission, during
3708
+ // which each peer claims its own disjoint nodes. Mirrors audit's bundle-mutation
3709
+ // mutex (slice 1). Registry is the repo-level remediation node-claims file
3710
+ // (distinct from the per-run implement node-claims under runs/<runId>/implement).
3711
+ const phaseRegistry = new ClaimRegistry(nodeClaimsPath(artifactsDir));
3712
+ const phaseRunId = stateRunId(state);
3713
+ const phaseClaim = await claimWithBackoff(phaseRegistry, REMEDIATE_PHASE_NODE, {
3714
+ poolId: phaseRunId,
3715
+ });
3716
+ if (!phaseClaim.acquired) {
3717
+ return buildPhaseBusyStep({ root, artifactsDir, runId: phaseRunId });
3718
+ }
3719
+ try {
3720
+ // Re-load fresh under the mutex: a peer may have advanced (and persisted)
3721
+ // state between our initial load and winning the claim. For an established
3722
+ // run (the multi-agent case) the pre-intake gates above were all no-ops, so
3723
+ // the reload is simply the latest persisted state.
3724
+ const advanceState = (await store.loadState()) ?? state;
3725
+ const main = await withClaimHeartbeat(phaseRegistry, REMEDIATE_PHASE_NODE, phaseClaim.ownerToken, { intervalMs: PHASE_CLAIM_HEARTBEAT_MS }, () => advance({ priority: MAIN_PRIORITY, obligations: buildMainObligations(ctx) }, advanceState, ctx));
3726
+ if (main.step)
3727
+ return main.step;
3728
+ // The unhandled catch-all always emits on a non-null state, so a null step
3729
+ // here is unreachable; keep an explicit fallback rather than a non-null assert.
3730
+ return handleUnhandledState(root, artifactsDir, advanceState);
3731
+ }
3732
+ finally {
3733
+ await phaseRegistry.release(REMEDIATE_PHASE_NODE, phaseClaim.ownerToken);
3734
+ }
3661
3735
  }
3662
3736
  //# sourceMappingURL=nextStep.js.map