dorfl 0.13.1 → 0.13.3

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 (56) hide show
  1. package/dist/claim-cas.d.ts.map +1 -1
  2. package/dist/claim-cas.js +39 -0
  3. package/dist/claim-cas.js.map +1 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +10 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/complete.d.ts.map +1 -1
  8. package/dist/complete.js +9 -2
  9. package/dist/complete.js.map +1 -1
  10. package/dist/cwd-section.d.ts +40 -0
  11. package/dist/cwd-section.d.ts.map +1 -1
  12. package/dist/cwd-section.js +105 -5
  13. package/dist/cwd-section.js.map +1 -1
  14. package/dist/format.d.ts.map +1 -1
  15. package/dist/format.js +56 -0
  16. package/dist/format.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/item-lock.d.ts +167 -0
  22. package/dist/item-lock.d.ts.map +1 -1
  23. package/dist/item-lock.js +283 -2
  24. package/dist/item-lock.js.map +1 -1
  25. package/dist/needs-attention.d.ts +153 -1
  26. package/dist/needs-attention.d.ts.map +1 -1
  27. package/dist/needs-attention.js +399 -3
  28. package/dist/needs-attention.js.map +1 -1
  29. package/dist/reconcile-terminal.d.ts +97 -0
  30. package/dist/reconcile-terminal.d.ts.map +1 -0
  31. package/dist/reconcile-terminal.js +88 -0
  32. package/dist/reconcile-terminal.js.map +1 -0
  33. package/dist/scan.d.ts +17 -0
  34. package/dist/scan.d.ts.map +1 -1
  35. package/dist/scan.js +51 -2
  36. package/dist/scan.js.map +1 -1
  37. package/dist/status.d.ts +28 -0
  38. package/dist/status.d.ts.map +1 -1
  39. package/dist/status.js +79 -2
  40. package/dist/status.js.map +1 -1
  41. package/dist/tasking.d.ts.map +1 -1
  42. package/dist/tasking.js +52 -3
  43. package/dist/tasking.js.map +1 -1
  44. package/package.json +1 -1
  45. package/src/claim-cas.ts +40 -0
  46. package/src/cli.ts +18 -1
  47. package/src/complete.ts +9 -2
  48. package/src/cwd-section.ts +151 -4
  49. package/src/format.ts +72 -0
  50. package/src/index.ts +2 -0
  51. package/src/item-lock.ts +398 -2
  52. package/src/needs-attention.ts +515 -1
  53. package/src/reconcile-terminal.ts +180 -0
  54. package/src/scan.ts +82 -5
  55. package/src/status.ts +131 -6
  56. package/src/tasking.ts +52 -3
package/dist/tasking.js CHANGED
@@ -188,10 +188,59 @@ export async function performTask(options) {
188
188
  }
189
189
  if (!agent.ok) {
190
190
  const detail = agent.detail ?? `the agent failed to task '${slug}'.`;
191
- const message = `Agent failed tasking '${slug}' (${detail}).`;
191
+ let message = `Agent failed tasking '${slug}' (${detail}).`;
192
+ // RELEASE THE LOCK THE FAILED RUN TOOK (observation
193
+ // `crashed-do-spec-strands-a-tasking-lock-no-verb-releases`).
194
+ //
195
+ // The pre-fix behaviour left the lock HELD on the arbiter, justified by a
196
+ // comment claiming "surfacing it is the review/edit loop's job". That is
197
+ // UNREACHABLE from here: the review/edit loop runs at step 3.5, strictly
198
+ // AFTER this early return, so an agent that dies at step 3 is surfaced by
199
+ // NOBODY. The lock outlived every process that knew about it and each retry
200
+ // of `do spec:<slug>` lost the create-only CAS against a holder that no
201
+ // longer existed (`'spec-<slug>' is already locked (held by another)`).
202
+ // Field trigger: three consecutive model-API faults (`Connection error.`,
203
+ // `overloaded_error`, `api_error`).
204
+ //
205
+ // WHY A PLAIN RELEASE AND NOT A `stuck` SURFACE. The sibling failure just
206
+ // below (`ReviewParseError`) routes through `surfaceTaskingBlock`, which
207
+ // marks the spec `needsAnswers:true` + writes a question sidecar. That is
208
+ // correct THERE (a review verdict is a JUDGEMENT a human must resolve) and
209
+ // wrong HERE: an agent/transport crash carries no judgement to record, and
210
+ // surfacing it would take the spec OUT of the taskable pool behind a
211
+ // contentless question — turning a retryable blip into mandatory human
212
+ // paperwork. A crashed agent is RETRYABLE, so the recovery is to return the
213
+ // spec to the pool and let `do spec:<slug>` simply be re-run.
214
+ //
215
+ // WHY THIS DISCARDS NOTHING. The tasking work branch is created by
216
+ // `switchToWorkBranch` with a LOCAL `git switch -C` and is never pushed
217
+ // before the integrate band; the durable `specs/ready → specs/tasked` move
218
+ // also happens only at integrate. A run that died at step 3 therefore
219
+ // published NOTHING to the arbiter, so releasing its lock cannot lose work.
220
+ // The release is deliberately no more cautious than that risk warrants.
221
+ //
222
+ // A release FAULT is reported but never masks the agent failure: the agent
223
+ // outcome is the terminal one, and `release-lock spec:<slug>` remains the
224
+ // human backstop for the case where this process is itself killed.
225
+ if (useLock) {
226
+ const released = await lock.release({
227
+ slug,
228
+ cwd,
229
+ arbiter,
230
+ lockedBlob,
231
+ env,
232
+ note,
233
+ });
234
+ message =
235
+ released.exitCode === 0
236
+ ? `${message} Released the tasking lock for '${slug}' — the spec is ` +
237
+ 'back in the taskable pool, so re-run `dorfl do spec:' +
238
+ `${slug}\` to retry (nothing was published, so nothing was lost).`
239
+ : `${message} WARNING: could not release the tasking lock for ` +
240
+ `'${slug}' (${released.message}). Clear it with \`dorfl ` +
241
+ `release-lock spec:${slug}\` before retrying.`;
242
+ }
192
243
  note(message);
193
- // The lock stays held (the runner did not release it): a stuck tasking is
194
- // recoverable / re-runnable. Surfacing it is the review/edit loop's job.
195
244
  return { exitCode: 1, outcome: 'agent-failed', slug, message };
196
245
  }
197
246
  // 3.5 THE TASKER REVIEW→EDIT→CONVERGE LOOP (`slicer-review-edit-loop`, Shape 2 /
@@ -1 +1 @@
1
- {"version":3,"file":"tasking.js","sourceRoot":"","sources":["../src/tasking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasking.js","sourceRoot":"","sources":["../src/tasking.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dorfl",
3
- "version": "0.13.1",
3
+ "version": "0.13.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/wighawag/dorfl.git",
package/src/claim-cas.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import {runAsync, type RunResult} from './git.js';
2
2
  import {acquireItemLock, releaseItemLock, heldTaskSlugs} from './item-lock.js';
3
+ import {reconcileTerminalState} from './reconcile-terminal.js';
3
4
  import {extractPromptSection} from './prompt.js';
4
5
  import {resolveReadiness} from './readiness.js';
5
6
  import {workBranchRef} from './slug-namespace.js';
@@ -386,6 +387,45 @@ async function runClaim(
386
387
  }
387
388
  }
388
389
 
390
+ // LAZY RECONCILIATION of TERMINAL-STATE RESIDUE: the stale per-item lock a
391
+ // propose PR leaves behind (observation
392
+ // `every-completed-task-leaves-its-lock-ref-reporting-in-progress`) AND the
393
+ // stranded sidecar + `needsAnswers` flag a bounced-then-rebuilt item leaves
394
+ // behind (observation
395
+ // `a-rebuilt-task-leaves-its-bounce-question-asking-to-cancel-a-merged-task`).
396
+ // ONE pass, because they are the SAME defect wearing two hats: both are cleared
397
+ // by a step that only runs on a path the item did not take, both become moot at
398
+ // exactly the same moment (the done-move landing on `main`), and both are
399
+ // otherwise detectable only from a loop the manual path never enters.
400
+ //
401
+ // `complete --propose` deliberately KEEPS its per-item lock held across the open
402
+ // PR and promises "It is released when the PR merges (reconciled against main)".
403
+ // That release could never fire: no dorfl process runs when a human clicks merge
404
+ // on GitHub, there is no merge hook, and there is no daemon, so every completed
405
+ // propose item leaked its lock ref permanently.
406
+ //
407
+ // THIS is where the release belongs, and why it is here rather than on `status`:
408
+ // the merge EVENT is unobservable, but its CONSEQUENCE on `main` is durable, so
409
+ // any later sweep converges just as well as a timely one. `claim` is the natural
410
+ // host, it ALREADY writes to the arbiter (it is about to acquire a lock), it
411
+ // ALREADY fetched `main` just above, and it runs on EVERY unit of work, so the
412
+ // leaked set drains continuously without a human ever being asked to run a
413
+ // clean-up verb. Keeping the release on a write path is what makes the fix real:
414
+ // `gc --ledger` had been reporting these very locks and printing the
415
+ // `release-lock` command all along, and that offer is precisely what nobody was
416
+ // routed to. The read-only surfaces (`status`, `scan`) therefore only CLASSIFY.
417
+ //
418
+ // It acts EXACTLY on items that have come to REST in a terminal folder on
419
+ // `<arbiter>/main`; an item on an OPEN PR still shows its body in the pool and
420
+ // keeps both its lock and its question state, as does a genuinely stuck one.
421
+ // Clearing a live `needsAnswers` would be as bad as releasing a live lock: it
422
+ // would disarm a gate and hand gated work to agents. Best-effort and never throws:
423
+ // any fault leaves every lock HELD (the safe direction) and never fails the
424
+ // claim, which is unrelated work, this sweep is opportunistic hygiene, not a
425
+ // precondition. It also cannot affect THIS claim's outcome: an item terminal on
426
+ // `main` is not in the claimable pool anyway.
427
+ await reconcileTerminalState({cwd, arbiter, env});
428
+
389
429
  // Acquire the lock FIRST. A lock `lost` (someone already holds this SAME item's
390
430
  // lock) makes claim lose DEFINITIVELY — exit 2, NO retry budget (a per-item ref
391
431
  // never falsely contends, so a rejection is a GENUINE same-item conflict the
package/src/cli.ts CHANGED
@@ -167,6 +167,7 @@ interface ScanFlags {
167
167
  autoBuild?: boolean;
168
168
  json?: boolean;
169
169
  here?: boolean;
170
+ reconcileLocks?: boolean;
170
171
  arbiterRemote?: string;
171
172
  arbiter?: string;
172
173
  }
@@ -1029,6 +1030,7 @@ interface StatusFlags {
1029
1030
  arbiter?: string;
1030
1031
  noArbiter?: boolean;
1031
1032
  here?: boolean;
1033
+ reconcileLocks?: boolean;
1032
1034
  json?: boolean;
1033
1035
  }
1034
1036
 
@@ -1385,6 +1387,10 @@ export function buildProgram(): Command {
1385
1387
  '--here',
1386
1388
  'report ONLY the current repo (the cwd working tree, fetch-first): skip the cross-repo registry loop entirely. The fast, focused path — no N-mirror fetches.',
1387
1389
  )
1390
+ .option(
1391
+ '--reconcile-locks',
1392
+ 'WRITE: release the per-item locks whose item is already at rest in a terminal folder on the arbiter’s main (e.g. a merged propose PR left its lock behind). Without this flag `scan` is strictly read-only. Not normally needed, the claim path releases them automatically on every unit of work. An item that is NOT terminal on main (a live build, an open PR, a stuck item) is NEVER released, with or without the flag.',
1393
+ )
1388
1394
  .option('--json', 'output the raw report as JSON')
1389
1395
  .action(async (flags: ScanFlags, command: Commander) => {
1390
1396
  const fileConfig = loadConfig(flags.config);
@@ -1403,6 +1409,7 @@ export function buildProgram(): Command {
1403
1409
  override,
1404
1410
  arbiterRemote: flags.arbiterRemote,
1405
1411
  lockArbiterRemote: flags.arbiter ?? 'origin',
1412
+ reconcileLocks: flags.reconcileLocks === true,
1406
1413
  warn,
1407
1414
  });
1408
1415
  // `--here`: report ONLY the cwd — skip the registry loop ENTIRELY (the fast,
@@ -1425,7 +1432,11 @@ export function buildProgram(): Command {
1425
1432
  }
1426
1433
  return;
1427
1434
  }
1428
- const report = await scan(config, {warn, override});
1435
+ const report = await scan(config, {
1436
+ warn,
1437
+ override,
1438
+ reconcileLocks: flags.reconcileLocks === true,
1439
+ });
1429
1440
  // The cwd-local section: resolve it ONLY when a participating cwd is NOT
1430
1441
  // already covered by a registered mirror. A FETCH-FREE pre-check
1431
1442
  // (`cwdSectionDisposition`) decides this with zero network I/O; an
@@ -3908,6 +3919,10 @@ export function buildProgram(): Command {
3908
3919
  '--here',
3909
3920
  'report ONLY the current repo (the cwd working tree, fetch-first): skip the jobs, registry-mirror, and arbiter sections entirely. "This repo, nothing else" — the fast, focused path.',
3910
3921
  )
3922
+ .option(
3923
+ '--reconcile-locks',
3924
+ 'WRITE: release the per-item locks reported as "Completed, lock not yet released" (item already at rest in a terminal folder on the arbiter’s main, e.g. a merged propose PR). Without this flag `status` is strictly read-only and only REPORTS them. Not normally needed, the claim path releases them automatically on every unit of work; this is the manual “drain them now” lever. An item that is NOT terminal on main (a live build, an open PR, a stuck item) is NEVER released, with or without the flag.',
3925
+ )
3911
3926
  .option('--json', 'output the raw report as JSON')
3912
3927
  .action(async (flags: StatusFlags) => {
3913
3928
  const config = resolveGlobalConfig(loadConfig(flags.config), {});
@@ -3923,6 +3938,7 @@ export function buildProgram(): Command {
3923
3938
  override,
3924
3939
  arbiterRemote: flags.arbiterRemote ?? DEFAULT_ARBITER_REMOTE,
3925
3940
  lockArbiterRemote: flags.arbiter ?? 'origin',
3941
+ reconcileLocks: flags.reconcileLocks === true,
3926
3942
  warn,
3927
3943
  });
3928
3944
  // `--here`: report ONLY the cwd — skip the jobs, registry-mirror, and arbiter
@@ -3976,6 +3992,7 @@ export function buildProgram(): Command {
3976
3992
  mirrorPaths,
3977
3993
  arbiter,
3978
3994
  cwd: cwdSection,
3995
+ reconcileLocks: flags.reconcileLocks === true,
3979
3996
  warn,
3980
3997
  });
3981
3998
  if (flags.json) {
package/src/complete.ts CHANGED
@@ -1260,10 +1260,17 @@ async function releaseClaimLockAfterDurableMove(
1260
1260
  if (!durablyOnMain) {
1261
1261
  // PROPOSE, PR open: the done-move is on the PR branch, not on `main`. KEEP the
1262
1262
  // lock held so the in-flight task is not re-claimed during the review window.
1263
+ // The wording used to promise "It is released when the PR merges (reconciled
1264
+ // against main)", which was FALSE: no dorfl process is present at merge time
1265
+ // (no hook, no daemon), so nothing could act on that event and every propose
1266
+ // build leaked its lock ref for ever. The release actually happens on the next
1267
+ // command that writes to the arbiter (the claim path sweeps stale terminal
1268
+ // locks), so the message now names a trigger that really fires.
1263
1269
  note(
1264
1270
  `'${slug}': keeping the per-item lock HELD (propose PR open; the work is ` +
1265
- 'not yet on main). It is released when the PR merges (reconciled against ' +
1266
- 'main).',
1271
+ 'not yet on main). Once the PR merges, the item comes to rest on main and ' +
1272
+ 'the lock is released by the next claim (or now, with `dorfl status ' +
1273
+ '--reconcile-locks`).',
1267
1274
  );
1268
1275
  return;
1269
1276
  }
@@ -8,7 +8,14 @@ import {
8
8
  heldTaskSlugsStrict,
9
9
  heldSpecSlugsStrict,
10
10
  listItemLockEntries,
11
+ classifyTerminalItemLocks,
12
+ reconcileTerminalItemLocks,
13
+ type LockEntry,
11
14
  } from './item-lock.js';
15
+ import {
16
+ classifyTerminalQuestionResidue,
17
+ reconcileTerminalQuestionResidue,
18
+ } from './needs-attention.js';
12
19
  import type {Config} from './config.js';
13
20
  import type {ConfigOverrideMap} from './config-override.js';
14
21
 
@@ -105,6 +112,36 @@ export interface CwdSection {
105
112
  registeredMirrorPath?: string;
106
113
  /** The cwd repo's arbiter + divergence (fetch-first). Absent when no arbiter. */
107
114
  arbiter?: CwdArbiter;
115
+ /**
116
+ * Lock `<entry>` names whose item is already at REST in a terminal folder on
117
+ * `<arbiter>/main`, finished work (typically a merged propose PR) whose lock
118
+ * has not been released yet. These are STALE, not in flight, and are reported
119
+ * separately from {@link RepoReport.lockHeld} so completed work never reads as
120
+ * in-progress. Purely a CLASSIFICATION: `status` releases nothing (it is
121
+ * read-only). They are released automatically by the next claim, or on demand
122
+ * via `--reconcile-locks` / `dorfl gc --ledger --reap-stale-locks`.
123
+ */
124
+ staleLocks?: string[];
125
+ /**
126
+ * Lock `<entry>` names this call actually RELEASED. Populated ONLY under the
127
+ * explicit `reconcileLocks` opt-in (`status --reconcile-locks`), which is the
128
+ * one way this otherwise read-only resolver writes to the arbiter. Empty/absent
129
+ * ⇒ nothing was written.
130
+ */
131
+ reconciledLocks?: string[];
132
+ /**
133
+ * Items resting in a TERMINAL folder on `main` that still carry question state
134
+ * (a stale bounce sidecar, and often a stranded `needsAnswers:true` gate over
135
+ * shipped work). Reported so the residue is visible; `status` clears nothing.
136
+ * These drain on the next claim.
137
+ */
138
+ staleQuestions?: string[];
139
+ /**
140
+ * Terminal items whose sidecar carries a human's ANSWER that was never applied.
141
+ * Deliberately NEVER auto-drained (the answer is prose the tool did not
142
+ * author), so it is surfaced for a human instead.
143
+ */
144
+ unappliedAnswers?: string[];
108
145
  }
109
146
 
110
147
  /** True iff the working repo has a git remote with name `remote`. The held-lock
@@ -204,6 +241,16 @@ export interface ResolveCwdSectionOptions {
204
241
  * arbiter even when the divergence remote is absent. Default `origin`.
205
242
  */
206
243
  lockArbiterRemote?: string;
244
+ /**
245
+ * OPT-IN WRITE (`status --reconcile-locks`). `false`/omitted (the DEFAULT)
246
+ * keeps this resolver strictly READ-ONLY: stale locks are classified and
247
+ * REPORTED via {@link CwdSection.staleLocks}, and nothing on the arbiter is
248
+ * touched. `true` additionally RELEASES the locks whose item is terminal on
249
+ * `<arbiter>/main`, reporting them via {@link CwdSection.reconciledLocks}.
250
+ * Not needed for routine convergence, the claim path already sweeps on every
251
+ * unit of work; this is the manual "drain them now" lever.
252
+ */
253
+ reconcileLocks?: boolean;
207
254
  /** Sink for the fetch-first fall-back warning (warn + last-known, never error). */
208
255
  warn?: (message: string) => void;
209
256
  env?: NodeJS.ProcessEnv;
@@ -261,6 +308,96 @@ export async function resolveCwdSection(
261
308
  // nothing to fail against — it keeps the empty set.
262
309
  const lockRemote = options.lockArbiterRemote ?? 'origin';
263
310
  const hasLockRemote = remoteExists(cwd, lockRemote, env);
311
+
312
+ // 2a. CLASSIFY the held locks against `main` (fix for the propose-path lock
313
+ // leak; observation
314
+ // `every-completed-task-leaves-its-lock-ref-reporting-in-progress`).
315
+ // `complete --propose` deliberately keeps the lock HELD across the open PR
316
+ // and promises it is "released when the PR merges (reconciled against
317
+ // main)", but NO dorfl process runs when a human clicks merge on GitHub,
318
+ // and there is no daemon, so that release could never fire. Every completed
319
+ // propose item therefore kept its lock ref and was reported in-progress for
320
+ // ever.
321
+ //
322
+ // `status` is READ-ONLY and stays that way: by DEFAULT this only
323
+ // CLASSIFIES, splitting the held locks into genuinely in-flight ones and
324
+ // ones whose item has come to REST in a terminal folder on
325
+ // `<arbiter>/main`. That alone fixes the MIS-REPORTING half of the bug
326
+ // finished work stops reading as in-progress, without this command
327
+ // mutating the arbiter. The REF is drained by the paths that already write
328
+ // on every unit of work (the claim path), or on demand here via the
329
+ // explicit `reconcileLocks` opt-in below.
330
+ //
331
+ // The terminal test is the item's POSITION ON MAIN, never a branch or a
332
+ // PR, so an item on an OPEN PR (body still in the pool on `main`) stays
333
+ // in-flight, as does a genuinely stuck one. Ordered BEFORE the held-slug
334
+ // reads below so, under the opt-in, the subtraction and the in-flight
335
+ // surface both see the reconciled truth in the SAME run.
336
+ //
337
+ // Best-effort by construction: neither call throws, and every uncertainty
338
+ // resolves to KEEP, so an offline or push-denied checkout degrades to the
339
+ // previous behaviour.
340
+ //
341
+ // The cwd is a WORKING CLONE, so the arbiter's main is the remote-tracking
342
+ // ref `<lockRemote>/main`, which is the default. (A bare hub mirror would
343
+ // need `mainRef: 'main'`; see the mirror callers in `status`/`scan`.)
344
+ let staleLocks: string[] = [];
345
+ let reconciledLocks: string[] = [];
346
+ // The in-flight entries, taken straight from the classification so the surface
347
+ // below needs no second `ls-remote` + fetch. `undefined` = not read at all.
348
+ let inFlightLocks: LockEntry[] | undefined;
349
+ if (hasLockRemote) {
350
+ if (options.reconcileLocks === true) {
351
+ // The ONLY write this resolver performs, and only when explicitly asked.
352
+ const swept = await reconcileTerminalItemLocks(cwd, lockRemote, env);
353
+ reconciledLocks = swept.released;
354
+ inFlightLocks = swept.stillHeld;
355
+ // Under an EXPLICIT drain request a refusal must be reported: the operator
356
+ // asked for these to go away, so silence would be a lie. (On the claim
357
+ // path the same errors are ignored on purpose: there the sweep is
358
+ // opportunistic hygiene, not something the operator asked for.)
359
+ for (const e of swept.errors) {
360
+ options.warn?.(`could not release lock '${e.entry}': ${e.message}`);
361
+ }
362
+ } else {
363
+ const classified = await classifyTerminalItemLocks(cwd, lockRemote, env);
364
+ staleLocks = classified.terminal.map((l) => l.entry);
365
+ inFlightLocks = classified.inFlight;
366
+ }
367
+ }
368
+
369
+ // 2b. The OTHER half of the same terminal residue: a bounced-then-rebuilt item
370
+ // whose sidecar + `needsAnswers` flag were never cleared (observation
371
+ // `a-rebuilt-task-leaves-its-bounce-question-asking-to-cancel-a-merged-task`).
372
+ // READ-ONLY here, exactly like the lock half: `status` reports it and the
373
+ // claim path drains it. Best-effort; a fault yields an empty report.
374
+ let staleQuestions: string[] = [];
375
+ let unappliedAnswers: string[] = [];
376
+ if (hasLockRemote && options.reconcileLocks !== true) {
377
+ const residue = await classifyTerminalQuestionResidue({
378
+ cwd,
379
+ arbiter: lockRemote,
380
+ mainRef: `${lockRemote}/main`,
381
+ env,
382
+ });
383
+ staleQuestions = residue.drainable.map((r) => r.item);
384
+ unappliedAnswers = residue.answeredHeld.map((r) => r.item);
385
+ } else if (hasLockRemote) {
386
+ // Under the explicit opt-in the question residue is DRAINED alongside the
387
+ // locks, through the one shared pass.
388
+ const drained = await reconcileTerminalQuestionResidue({
389
+ cwd,
390
+ arbiter: lockRemote,
391
+ mainRef: `${lockRemote}/main`,
392
+ env,
393
+ note: options.warn,
394
+ });
395
+ unappliedAnswers = drained.answeredHeld;
396
+ for (const e of drained.errors) {
397
+ options.warn?.(`could not drain questions for '${e.item}': ${e.message}`);
398
+ }
399
+ }
400
+
264
401
  const heldSlugs = hasLockRemote
265
402
  ? await heldTaskSlugsStrict(cwd, lockRemote, env)
266
403
  : new Set<string>();
@@ -307,10 +444,16 @@ export async function resolveCwdSection(
307
444
  // different fault models (selection fails closed; the surface degrades).
308
445
  // Read from the SAME coordination remote the subtraction used. A repo with no
309
446
  // coordination remote has no lock refs to read — empty surface.
310
- if (repo !== undefined && hasLockRemote) {
311
- const lockHeld = await listItemLockEntries(cwd, lockRemote, env);
312
- if (lockHeld.length > 0) {
313
- repo.lockHeld = lockHeld;
447
+ if (repo !== undefined && inFlightLocks !== undefined) {
448
+ // Taken STRAIGHT from the classification in 2a, so the stale ones are already
449
+ // excluded. This is the reporting half of the propose-lock-leak fix: a lock
450
+ // whose item is already at REST on `main` is finished work, NOT an in-flight
451
+ // hold, so it must not appear under "In progress" (the symptom being fixed:
452
+ // completed tasks reported in-progress for ever). It is surfaced under
453
+ // `staleLocks` instead. Reusing that result also avoids a second `ls-remote` +
454
+ // fetch and the TOCTOU window between two separate reads.
455
+ if (inFlightLocks.length > 0) {
456
+ repo.lockHeld = inFlightLocks;
314
457
  }
315
458
  }
316
459
 
@@ -326,6 +469,10 @@ export async function resolveCwdSection(
326
469
  path: cwd,
327
470
  participating: true,
328
471
  repo,
472
+ staleLocks,
473
+ reconciledLocks,
474
+ staleQuestions,
475
+ unappliedAnswers,
329
476
  totalItems: localReport.totalItems,
330
477
  totalEligible: localReport.totalEligible,
331
478
  alsoRegistered,