dorfl 0.13.2 → 0.13.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 (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 +111 -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/frontmatter.d.ts.map +1 -1
  18. package/dist/frontmatter.js +16 -4
  19. package/dist/frontmatter.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/item-lock.d.ts +167 -0
  25. package/dist/item-lock.d.ts.map +1 -1
  26. package/dist/item-lock.js +255 -1
  27. package/dist/item-lock.js.map +1 -1
  28. package/dist/needs-attention.d.ts +216 -1
  29. package/dist/needs-attention.d.ts.map +1 -1
  30. package/dist/needs-attention.js +595 -2
  31. package/dist/needs-attention.js.map +1 -1
  32. package/dist/reconcile-terminal.d.ts +97 -0
  33. package/dist/reconcile-terminal.d.ts.map +1 -0
  34. package/dist/reconcile-terminal.js +88 -0
  35. package/dist/reconcile-terminal.js.map +1 -0
  36. package/dist/scan.d.ts +17 -0
  37. package/dist/scan.d.ts.map +1 -1
  38. package/dist/scan.js +51 -2
  39. package/dist/scan.js.map +1 -1
  40. package/dist/status.d.ts +28 -0
  41. package/dist/status.d.ts.map +1 -1
  42. package/dist/status.js +79 -2
  43. package/dist/status.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 +157 -4
  49. package/src/format.ts +72 -0
  50. package/src/frontmatter.ts +16 -4
  51. package/src/index.ts +2 -0
  52. package/src/item-lock.ts +369 -1
  53. package/src/needs-attention.ts +783 -0
  54. package/src/reconcile-terminal.ts +180 -0
  55. package/src/scan.ts +82 -5
  56. package/src/status.ts +131 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -29,7 +29,7 @@ export { selectCandidates } from './select.js';
29
29
  export { taskableSpecs, selectPrioritised } from './select-priority.js';
30
30
  export { performClaim } from './claim-cas.js';
31
31
  export { acquireAdvancingLock, releaseAdvancingLock, createItemThroughCas, nextCasContentionDelayMs, runCasContentionLoop, INTERACTIVE_CAS_CONTENTION, LIFECYCLE_CAS_CONTENTION, } from './advancing-lock.js';
32
- export { LOCK_REF_PREFIX, lockEntryFor, itemLockRef, acquireItemLock, releaseItemLock, releaseHeldItemLock, readItemLock, reconcileItemLockAgainstMain, classifyItemLockAgainstMain, reportItemLocks, formatItemLockReport, itemLockReportNeedsAttention, itemFromLockEntry, terminalMainPaths, listItemLocks, listItemLockEntries, heldTaskSlugs, resolveLockHolder, serialiseLockEntry, parseLockEntry, } from './item-lock.js';
32
+ export { LOCK_REF_PREFIX, lockEntryFor, itemLockRef, acquireItemLock, releaseItemLock, releaseHeldItemLock, readItemLock, reconcileItemLockAgainstMain, reconcileTerminalItemLocks, classifyTerminalItemLocks, classifyItemLockAgainstMain, reportItemLocks, formatItemLockReport, itemLockReportNeedsAttention, itemFromLockEntry, terminalMainPaths, listItemLocks, listItemLockEntries, heldTaskSlugs, resolveLockHolder, serialiseLockEntry, parseLockEntry, } from './item-lock.js';
33
33
  export { performStart } from './start.js';
34
34
  export { performWorkOn, suggestHumanWorktreesDir, loadHumanWorktreesDir, persistHumanWorktreesDir, } from './work-on.js';
35
35
  export { resolveReadiness } from './readiness.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAU7E,OAAO,EACN,cAAc,EACd,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,GACjB,MAAM,aAAa,CAAC;AASrB,OAAO,EACN,oBAAoB,EACpB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,iBAAiB,GACjB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EACN,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,kBAAkB,GAClB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACN,yBAAyB,EACzB,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAMrE,OAAO,EAAC,cAAc,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAGnE,OAAO,EACN,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACpB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EACN,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,GACV,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAOjE,OAAO,EAAC,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,oBAAoB,CAAC;AAG7E,OAAO,EAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AAE9E,OAAO,EACN,uBAAuB,EACvB,yBAAyB,GACzB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAC,eAAe,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAO7D,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAC,mBAAmB,EAAE,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAQxE,OAAO,EACN,WAAW,EACX,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EACN,eAAe,EACf,kBAAkB,EAClB,yBAAyB,GACzB,MAAM,0BAA0B,CAAC;AAiBlC,OAAO,EAAC,iBAAiB,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAO/D,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAclD,OAAO,EAAC,kBAAkB,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAC,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAC,MAAM,WAAW,CAAC;AAQ7E,OAAO,EACN,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,kBAAkB,GAClB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EACN,aAAa,EACb,WAAW,EACX,SAAS,EACT,QAAQ,EACR,eAAe,EACf,gBAAgB,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAOtE,OAAO,EAAC,iBAAiB,EAAE,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAS1E,OAAO,EACN,oBAAoB,EACpB,+BAA+B,EAC/B,kBAAkB,EAClB,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,WAAW,GACX,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAW7C,OAAO,EAAC,aAAa,EAAE,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAQtE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAmB5C,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,GACxB,MAAM,qBAAqB,CAAC;AAmB7B,OAAO,EACN,eAAe,EACf,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,4BAA4B,EAC5B,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,eAAe,EACf,oBAAoB,EACpB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,GACd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAGxC,OAAO,EACN,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,GACxB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAOhD,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAO9C,OAAO,EACN,sBAAsB,EACtB,sBAAsB,GACtB,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,SAAS,CAAC;AAOnD,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAS9D,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAYzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAUxD,OAAO,EAAC,aAAa,EAAE,uBAAuB,EAAC,MAAM,aAAa,CAAC;AAOnE,OAAO,EACN,MAAM,EACN,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,GACzB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,WAAW,GACX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EACN,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,2BAA2B,GAC3B,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AASrD,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACN,sBAAsB,EACtB,qBAAqB,GACrB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACN,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,SAAS,EACT,cAAc,EACd,aAAa,EACb,eAAe,EACf,eAAe,GACf,MAAM,gBAAgB,CAAC;AAQxB,OAAO,EACN,WAAW,EACX,QAAQ,EACR,cAAc,EACd,eAAe,GACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EACN,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,GACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EACN,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,aAAa,GACb,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAa1D,OAAO,EACN,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,GACnB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EACN,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,cAAc,GACd,MAAM,aAAa,CAAC;AAQrB,OAAO,EACN,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,GACvB,MAAM,gBAAgB,CAAC;AASxB,OAAO,EAAC,OAAO,EAAE,mBAAmB,EAAC,MAAM,UAAU,CAAC;AAGtD,OAAO,EACN,SAAS,EACT,qBAAqB,EACrB,wBAAwB,EACxB,6BAA6B,GAC7B,MAAM,aAAa,CAAC;AAQrB,OAAO,EACN,UAAU,EACV,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,cAAc,CAAC;AAStB,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,2BAA2B,GAC3B,MAAM,kBAAkB,CAAC;AAe1B,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,EACP,EAAE,EACF,YAAY,GACZ,MAAM,SAAS,CAAC;AAOjB,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAexD,OAAO,EACN,SAAS,EACT,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAQjD,OAAO,EACN,sBAAsB,EACtB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,aAAa,EACb,mBAAmB,GACnB,MAAM,cAAc,CAAC;AAQtB,OAAO,EACN,qBAAqB,EACrB,eAAe,EACf,aAAa,GACb,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EACN,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,GACf,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EACN,4BAA4B,EAC5B,qBAAqB,EACrB,yBAAyB,GACzB,MAAM,0BAA0B,CAAC;AAMlC,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,GACxB,MAAM,yBAAyB,CAAC;AASjC,OAAO,EAAC,WAAW,EAAE,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AAarE,OAAO,EACN,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAC,eAAe,EAAE,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AAOhF,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAOrD,OAAO,EAAC,aAAa,EAAE,sBAAsB,EAAC,MAAM,qBAAqB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type RunResult } from './git.js';
1
2
  import { type SidecarType } from './sidecar.js';
2
3
  /**
3
4
  * The **unified item-lock module** (spec `ledger-status-per-item-lock-refs`, ADR
@@ -436,6 +437,159 @@ export declare function reconcileItemLockAgainstMain(opts: ReleaseOptions): Prom
436
437
  * `error`).
437
438
  */
438
439
  export declare function classifyItemLockAgainstMain(opts: ReleaseOptions): Promise<ReconcileResult>;
440
+ /**
441
+ * The READ-ONLY classification of every held per-item lock against the arbiter's
442
+ * `main`, partitioned by whether the lock's item has come to REST. It performs
443
+ * NO writes: it is what the read-only surfaces (`status`, `scan`) use to tell a
444
+ * genuinely in-flight hold apart from one whose work is already finished and
445
+ * merged. {@link reconcileTerminalItemLocks} is the WRITE twin that acts on the
446
+ * same classification, so the report and the release can never disagree about
447
+ * WHAT a lock is; only whether they act on it.
448
+ */
449
+ /** Shared options for the batch terminal-lock classify/sweep pair. */
450
+ export interface TerminalLockScanOptions {
451
+ /**
452
+ * The ref holding the ARBITER's authoritative `main`, whose tree the terminal
453
+ * probe reads. Defaults to `<arbiter>/main`, which is correct in a WORKING
454
+ * CLONE.
455
+ *
456
+ * A BARE HUB MIRROR (`git clone --bare`, see `repo-mirror.ts`) has NO
457
+ * `remote.origin.fetch` refspec and therefore no `refs/remotes/*` namespace at
458
+ * all, so its copy of the arbiter's main is `refs/heads/main`. Mirror callers
459
+ * MUST pass `'main'`, the same ref `lintRefLedger` and `fetchMirrorMainOrWarn`
460
+ * already read there. Getting this wrong used to be SILENT (every probe failed
461
+ * with `invalid object name`, so every lock classified as in-flight and the
462
+ * sweep became a permanent no-op); `classifyTerminalItemLocks` now guards it
463
+ * explicitly and reports it as an error instead.
464
+ */
465
+ mainRef?: string;
466
+ /**
467
+ * Skip the `mainRef` refresh because the CALLER has just done it. Set by the
468
+ * combined pass ({@link reconcileTerminalState}), which refreshes once and
469
+ * runs both sub-passes against that ONE snapshot, so the same ref is not
470
+ * fetched twice per claim.
471
+ */
472
+ mainAlreadyFresh?: boolean;
473
+ }
474
+ export interface TerminalLockClassification {
475
+ /**
476
+ * Locks whose item is TERMINAL on `<arbiter>/main` (per
477
+ * {@link terminalMainPaths}): the work is durably landed, so the hold is stale
478
+ * and RELEASABLE. These are the locks a completed propose PR leaves behind.
479
+ */
480
+ terminal: LockEntry[];
481
+ /**
482
+ * Locks to KEEP: the item is not at rest on `main` (a live build, an open PR,
483
+ * a parked item), or the entry is a pre-cutover name with no derivable
484
+ * item-form and so cannot be classified at all.
485
+ */
486
+ inFlight: LockEntry[];
487
+ /** Locks whose classification faulted; treated as KEEP (the safe direction). */
488
+ errors: {
489
+ entry: string;
490
+ message: string;
491
+ }[];
492
+ }
493
+ /**
494
+ * Classify every held per-item lock against the arbiter's `main`, WITHOUT
495
+ * touching anything (fix for the propose-path lock leak; observation
496
+ * `every-completed-task-leaves-its-lock-ref-reporting-in-progress`).
497
+ *
498
+ * THE TERMINAL TEST IS THE ONLY TEST, and it is deliberately the narrowest one
499
+ * that identifies finished work: a lock is `terminal` iff the item's body rests
500
+ * in a terminal folder on `<arbiter>/main` per {@link terminalMainPaths} (a task
501
+ * in `tasks/done/` or `tasks/cancelled/`, a spec in `specs/tasked/` or
502
+ * `specs/dropped/`). It is NOT keyed on a branch, a PR's existence, a PR's merge
503
+ * status, the holder, or age: an item on an OPEN PR still shows its body in the
504
+ * ready pool on `main`, so it classifies `inFlight` and its lock stays held.
505
+ * Calling a NON-terminal lock releasable would let two claimants build the same
506
+ * item, which is far worse than the leak being fixed, so every uncertainty
507
+ * (unreadable `main`, an unclassifiable entry, any fault) resolves to KEEP.
508
+ *
509
+ * COST is one `ls-remote` + one pruned lock-ref fetch (via
510
+ * {@link listItemLockEntries}, which the read paths call regardless) plus ONE
511
+ * `git fetch` of `main`, then a purely LOCAL `cat-file -e` per lock. It is
512
+ * deliberately not a loop over {@link classifyItemLockAgainstMain}, which
513
+ * fetches twice per lock (~100 fetches for a 26-lock corpus, far too slow for
514
+ * `status`).
515
+ *
516
+ * Best-effort and NEVER throws.
517
+ */
518
+ export declare function classifyTerminalItemLocks(cwd: string, arbiter?: string, env?: NodeJS.ProcessEnv, opts?: TerminalLockScanOptions): Promise<TerminalLockClassification>;
519
+ /**
520
+ * What a {@link reconcileTerminalItemLocks} sweep did, by lock `<entry>`.
521
+ * `released` + `kept` + `errors` partition the locks that were held on the
522
+ * arbiter when the sweep started.
523
+ */
524
+ export interface TerminalReconcileReport {
525
+ /** Entries whose item is TERMINAL on `<arbiter>/main` and whose ref was deleted. */
526
+ released: string[];
527
+ /** Entry NAMES left HELD: the item is not terminal on `main` (in flight), the
528
+ * entry could not be classified (a pre-cutover name with no item-form), or a
529
+ * terminal lock's release was REFUSED. Mirrors {@link stillHeld}. */
530
+ kept: string[];
531
+ /**
532
+ * The FULL entries still held after the sweep: {@link kept} as parsed
533
+ * {@link LockEntry} objects, so a caller can render its in-flight surface
534
+ * DIRECTLY from this result instead of re-listing the refs (which would cost a
535
+ * second `ls-remote` + fetch and open a TOCTOU window between the two reads).
536
+ */
537
+ stillHeld: LockEntry[];
538
+ /** Entries whose reconciliation faulted (left HELD, the safe direction). A
539
+ * REFUSED release appears both here and in {@link stillHeld}: the lock is still
540
+ * held, and the caller is told why rather than silently losing it. */
541
+ errors: {
542
+ entry: string;
543
+ message: string;
544
+ }[];
545
+ }
546
+ /**
547
+ * LAZY RECONCILIATION: the WRITE twin of {@link classifyTerminalItemLocks}. It
548
+ * takes that exact classification and RELEASES the `terminal` locks. This is the
549
+ * fix for the propose-path lock leak (observation
550
+ * `every-completed-task-leaves-its-lock-ref-reporting-in-progress`).
551
+ *
552
+ * THE BUG THIS EXISTS FOR. `complete --propose` deliberately KEEPS the per-item
553
+ * lock held (the done-move is on the PR branch, not on `main`, so the item is
554
+ * still in the pool and must stay excluded) and promises "It is released when the
555
+ * PR merges (reconciled against main)". That second half NEVER HAPPENED. Nobody
556
+ * runs a dorfl process at the moment a human clicks merge on GitHub and there is
557
+ * no daemon, so a release scheduled for merge-time can never fire. Meanwhile
558
+ * {@link reconcileItemLockAgainstMain} (which implements exactly the right
559
+ * decision) was reachable ONLY from the opt-in `gc --ledger --reap-stale-locks`
560
+ * sweep. An operator driving `do`/`complete` by hand never runs it, so every
561
+ * propose build leaked its lock ref forever and `status` reported finished work
562
+ * as in-progress permanently.
563
+ *
564
+ * WHERE THIS IS CALLED, and why not from the read commands. The merge event is
565
+ * not observable, but its CONSEQUENCE on `main` is, and that consequence is
566
+ * durable, so a late sweep converges just as well as a timely one. It therefore
567
+ * runs from the paths that ALREADY WRITE to the arbiter and already run on every
568
+ * unit of work: the CLAIM path (`do`/`claim`). `status` and `scan` stay strictly
569
+ * READ-ONLY and use {@link classifyTerminalItemLocks} to REPORT a finished item's
570
+ * lock as released-pending rather than as in-progress; they perform this sweep
571
+ * only under an explicit `--reconcile-locks` flag. Putting the automatic release
572
+ * on a write path (rather than behind a flag on a read path) is what makes the
573
+ * fix real: a flag nobody is routed to is what produced the leak in the first
574
+ * place, since `gc --ledger` had been reporting these locks and printing the
575
+ * `release-lock` command all along.
576
+ *
577
+ * SCOPE FENCE: this clears the TERMINAL class ONLY. The OTHER orphan class
578
+ * {@link reconcileItemLockAgainstMain} knows about (the crash-window orphan:
579
+ * non-terminal but SURFACED on `main` with `needsAnswers:true` + sidecar) is
580
+ * deliberately NOT swept here and remains the explicit
581
+ * `gc --ledger --reap-stale-locks` sweep's business. Terminal-on-`main` is a
582
+ * FACT about durable state that proves the work is finished; "surfaced" is a
583
+ * crash inference, and the no-auto-sweep trust model is worth keeping for it.
584
+ *
585
+ * SAFETY. Every delete is the SAME `--force-with-lease` delete
586
+ * ({@link leasedDeleteLockRef}) `release-lock`/requeue use, never a blind
587
+ * `--force`, so a lock a concurrent writer moved between our read and our write
588
+ * is reported, not stolen. The whole sweep is best-effort and NEVER throws: any
589
+ * fault leaves the lock HELD, which is the safe direction. It is idempotent:
590
+ * re-running over a reconciled arbiter is a clean empty report.
591
+ */
592
+ export declare function reconcileTerminalItemLocks(cwd: string, arbiter?: string, env?: NodeJS.ProcessEnv, opts?: TerminalLockScanOptions): Promise<TerminalReconcileReport>;
439
593
  /** One lingering lock in the `gc --ledger` orphaned-lock REPORT: the held entry
440
594
  * plus the read-only cross-substrate {@link ReconcileOutcome} classification of
441
595
  * it against the authoritative `main` durable record. Reported, NEVER cleared
@@ -620,6 +774,19 @@ export declare function itemFromLockEntry(entry: string): string;
620
774
  * copy-pasteable item-form hint or the literal-`--entry` hint.
621
775
  */
622
776
  export declare function hasCurrentItemForm(entry: string): boolean;
777
+ /**
778
+ * Refresh `mainRef` from the arbiter with an EXPLICIT refspec that writes
779
+ * EXACTLY the ref the terminal probe will read, so the read can never land on a
780
+ * ref the fetch did not populate (the bare-mirror trap documented on
781
+ * {@link isTerminalAtRef}; the same stance as `arbiter-refs.ts`). A plain
782
+ * `git fetch <arbiter>` is deliberately NOT used: in a bare mirror it writes
783
+ * `refs/heads/*` and never populates `refs/remotes/*`, and in a working clone it
784
+ * depends on whatever refspec happens to be configured.
785
+ *
786
+ * Returns the git result so the caller can treat a failure as "cannot prove
787
+ * anything terminal" and keep every lock.
788
+ */
789
+ export declare function refreshMainRef(mainRef: string, arbiter: string, cwd: string, env: NodeJS.ProcessEnv | undefined): Promise<RunResult>;
623
790
  /** List the entries (`<type>-<slug>`) currently locked on the arbiter (the
624
791
  * stuck-lock report / `status` read path). */
625
792
  export declare function listItemLocks(cwd: string, arbiter?: string, env?: NodeJS.ProcessEnv): Promise<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"item-lock.d.ts","sourceRoot":"","sources":["../src/item-lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item-lock.d.ts","sourceRoot":"","sources":["../src/item-lock.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,SAAS,EAAC,MAAM,UAAU,CAAC;AAClD,OAAO,EAGN,KAAK,WAAW,EAChB,MAAM,cAAc,CAAC;AAItB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH;;;yBAGyB;AACzB,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,gFAAgF;AAChF,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACd;AAED;uEACuE;AACvE,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/E,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,IAAI,CAAC,EAAE,SAAS,CAAC;CACjB;AAuBD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAavD;AA8CD,MAAM,WAAW,cAAc;IAC9B;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACpC,IAAI,EAAE,cAAc,GAClB,OAAO,CAAC,aAAa,CAAC,CAyFxB;AAED,MAAM,WAAW,cAAc;IAC9B,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACpC,IAAI,EAAE,cAAc,GAClB,OAAO,CAAC,aAAa,CAAC,CAUxB;AA0ED,MAAM,WAAW,qBAAqB;IACrC;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,uBAAuB,CAC5C,IAAI,EAAE,qBAAqB,GACzB,OAAO,CAAC,aAAa,CAAC,CAWxB;AAED;;iCAEiC;AACjC,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,CACxC,IAAI,EAAE,cAAc,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAgB5B;AA8FD;;yEAEyE;AACzE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAwC/D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AACD,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,gBAAgB,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAkC3B;AAED,MAAM,WAAW,aAAa;IAC7B,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CACnC,IAAI,EAAE,aAAa,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAsE3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACpC,IAAI,EAAE,cAAc,GAClB,OAAO,CAAC,gBAAgB,CAAC,CAqD3B;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CACjC,IAAI,EAAE,cAAc,GAClB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CA0BhC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAgB3E;AAED;;;;;;;wBAOwB;AACxB,MAAM,MAAM,gBAAgB,GACzB,eAAe,GACf,gBAAgB,GAChB,SAAS,GACT,OAAO,CAAC;AAEX,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ;8FAC0F;IAC1F,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAsB,4BAA4B,CACjD,IAAI,EAAE,cAAc,GAClB,OAAO,CAAC,eAAe,CAAC,CAsK1B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAChD,IAAI,EAAE,cAAc,GAClB,OAAO,CAAC,eAAe,CAAC,CAkG1B;AAED;;;;;;;;GAQG;AACH,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACvC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;AACD,MAAM,WAAW,0BAA0B;IAC1C;;;;OAIG;IACH,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB;;;;OAIG;IACH,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,gFAAgF;IAChF,MAAM,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,yBAAyB,CAC9C,GAAG,EAAE,MAAM,EACX,OAAO,SAAW,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,EACvB,IAAI,GAAE,uBAA4B,GAChC,OAAO,CAAC,0BAA0B,CAAC,CA+ErC;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACvC,oFAAoF;IACpF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;yEAEqE;IACrE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;;OAKG;IACH,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB;;0EAEsE;IACtE,MAAM,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,0BAA0B,CAC/C,GAAG,EAAE,MAAM,EACX,OAAO,SAAW,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,EACvB,IAAI,GAAE,uBAA4B,GAChC,OAAO,CAAC,uBAAuB,CAAC,CA+DlC;AAED;;;2BAG2B;AAC3B,MAAM,WAAW,eAAe;IAC/B,gEAAgE;IAChE,IAAI,EAAE,SAAS,CAAC;IAChB,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;;;OAQG;IACH,SAAS,EAAE,gBAAgB,CAAC;CAC5B;AAED;;kEAEkE;AAClE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAE3E;AAED;;;;wDAIwD;AACxD,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,eAAe,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,eAAe,CACpC,GAAG,EAAE,MAAM,EACX,OAAO,SAAW,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,cAAc,CAAC,CAgBzB;AAED;;;;;;;GAOG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAE5E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAkCrE;AAgBD;;;;;;;;;;;oFAWoF;AACpF,MAAM,MAAM,WAAW,GACpB,QAAQ,GACR,gBAAgB,GAChB,gBAAgB,GAChB,MAAM,GACN,OAAO,CAAC;AAEX,wDAAwD;AACxD,MAAM,WAAW,SAAS;IACzB,gFAAgF;IAChF,IAAI,EAAE,SAAS,CAAC;IAChB,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,OAAO,EAAE,WAAW,CAAC;IACrB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;yEAGyE;AACzE,MAAM,WAAW,UAAU;IAC1B,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB;yDACqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,kBAAkB,CACvC,GAAG,EAAE,MAAM,EACX,OAAO,SAAW,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,UAAU,CAAC,CA4DrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAQpE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,CA+B7D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYvD;AAQD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzD;AAgHD;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,GAChC,OAAO,CAAC,SAAS,CAAC,CAepB;AAED;8CAC8C;AAC9C,wBAAsB,aAAa,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,SAAW,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CAqCnB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,SAAW,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,SAAS,EAAE,CAAC,CA8DtB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,aAAa,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,SAAW,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAMtB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,SAAW,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAUtB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,SAAW,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAQtB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,SAAW,EAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAMtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAuBlE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACtC,GAAG,EAAE,MAAM,EACX,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,MAAM,CAAC,CAEjB"}
package/dist/item-lock.js CHANGED
@@ -995,6 +995,212 @@ export async function classifyItemLockAgainstMain(opts) {
995
995
  };
996
996
  }
997
997
  }
998
+ /**
999
+ * Classify every held per-item lock against the arbiter's `main`, WITHOUT
1000
+ * touching anything (fix for the propose-path lock leak; observation
1001
+ * `every-completed-task-leaves-its-lock-ref-reporting-in-progress`).
1002
+ *
1003
+ * THE TERMINAL TEST IS THE ONLY TEST, and it is deliberately the narrowest one
1004
+ * that identifies finished work: a lock is `terminal` iff the item's body rests
1005
+ * in a terminal folder on `<arbiter>/main` per {@link terminalMainPaths} (a task
1006
+ * in `tasks/done/` or `tasks/cancelled/`, a spec in `specs/tasked/` or
1007
+ * `specs/dropped/`). It is NOT keyed on a branch, a PR's existence, a PR's merge
1008
+ * status, the holder, or age: an item on an OPEN PR still shows its body in the
1009
+ * ready pool on `main`, so it classifies `inFlight` and its lock stays held.
1010
+ * Calling a NON-terminal lock releasable would let two claimants build the same
1011
+ * item, which is far worse than the leak being fixed, so every uncertainty
1012
+ * (unreadable `main`, an unclassifiable entry, any fault) resolves to KEEP.
1013
+ *
1014
+ * COST is one `ls-remote` + one pruned lock-ref fetch (via
1015
+ * {@link listItemLockEntries}, which the read paths call regardless) plus ONE
1016
+ * `git fetch` of `main`, then a purely LOCAL `cat-file -e` per lock. It is
1017
+ * deliberately not a loop over {@link classifyItemLockAgainstMain}, which
1018
+ * fetches twice per lock (~100 fetches for a 26-lock corpus, far too slow for
1019
+ * `status`).
1020
+ *
1021
+ * Best-effort and NEVER throws.
1022
+ */
1023
+ export async function classifyTerminalItemLocks(cwd, arbiter = 'origin', env, opts = {}) {
1024
+ const out = {
1025
+ terminal: [],
1026
+ inFlight: [],
1027
+ errors: [],
1028
+ };
1029
+ // DEFAULT `<arbiter>/main` (the WORKING-CLONE shape). A BARE HUB MIRROR must
1030
+ // pass `mainRef: 'main'`, see `isTerminalAtRef` for why reading the wrong ref
1031
+ // silently classifies everything as in-flight.
1032
+ const mainRef = opts.mainRef ?? `${arbiter}/main`;
1033
+ let entries;
1034
+ try {
1035
+ entries = await listItemLockEntries(cwd, arbiter, env);
1036
+ }
1037
+ catch {
1038
+ return out;
1039
+ }
1040
+ if (entries.length === 0) {
1041
+ return out;
1042
+ }
1043
+ // ONE refresh of `mainRef` for the WHOLE pass (the durable record every
1044
+ // terminal probe below reads), via an EXPLICIT refspec that writes exactly
1045
+ // that ref. If it fails we cannot prove ANY item terminal, so every lock is
1046
+ // KEPT rather than guessed at.
1047
+ const fetched = opts.mainAlreadyFresh
1048
+ ? { status: 0, stdout: '', stderr: '' }
1049
+ : await refreshMainRef(mainRef, arbiter, cwd, env);
1050
+ if (fetched.status !== 0) {
1051
+ for (const lock of entries) {
1052
+ out.errors.push({
1053
+ entry: lock.entry,
1054
+ message: `could not refresh ${mainRef} from ${arbiter} to classify against (treated as HELD): ${fetched.stderr.trim()}`,
1055
+ });
1056
+ }
1057
+ return out;
1058
+ }
1059
+ // GUARD against the silent-no-op class: if the ref we are about to probe does
1060
+ // not resolve AT ALL, every `cat-file -e` below fails with `invalid object
1061
+ // name`, which is indistinguishable from "the item is not terminal". That
1062
+ // would classify every lock as in-flight and make the sweep a permanent no-op
1063
+ //, exactly the bare-mirror bug this parameter exists to fix. Fail LOUDLY into
1064
+ // `errors` (still keeping every lock) so a wrong ref is diagnosable, never
1065
+ // invisible.
1066
+ const mainResolves = (await gitSoft(['rev-parse', '--verify', '--quiet', mainRef], cwd, env))
1067
+ .status === 0;
1068
+ if (!mainResolves) {
1069
+ for (const lock of entries) {
1070
+ out.errors.push({
1071
+ entry: lock.entry,
1072
+ message: `'${mainRef}' does not resolve in ${cwd}, so nothing can be proven terminal (treated as HELD)`,
1073
+ });
1074
+ }
1075
+ return out;
1076
+ }
1077
+ for (const lock of entries) {
1078
+ // A pre-cutover entry (`slice-`/`prd-`) has no current item-form, so it has
1079
+ // no derivable terminal path, leave it for `release-lock --entry <literal>`.
1080
+ if (!hasCurrentItemForm(lock.entry)) {
1081
+ out.inFlight.push(lock);
1082
+ continue;
1083
+ }
1084
+ try {
1085
+ const { type, slug } = resolveSidecarIdentity(itemFromLockEntry(lock.entry));
1086
+ // Purely LOCAL probes against the single `main` snapshot fetched above.
1087
+ if (await isTerminalAtRef(type, slug, mainRef, cwd, env)) {
1088
+ out.terminal.push(lock);
1089
+ }
1090
+ else {
1091
+ out.inFlight.push(lock);
1092
+ }
1093
+ }
1094
+ catch (err) {
1095
+ out.errors.push({
1096
+ entry: lock.entry,
1097
+ message: err instanceof Error ? err.message : String(err),
1098
+ });
1099
+ }
1100
+ }
1101
+ return out;
1102
+ }
1103
+ /**
1104
+ * LAZY RECONCILIATION: the WRITE twin of {@link classifyTerminalItemLocks}. It
1105
+ * takes that exact classification and RELEASES the `terminal` locks. This is the
1106
+ * fix for the propose-path lock leak (observation
1107
+ * `every-completed-task-leaves-its-lock-ref-reporting-in-progress`).
1108
+ *
1109
+ * THE BUG THIS EXISTS FOR. `complete --propose` deliberately KEEPS the per-item
1110
+ * lock held (the done-move is on the PR branch, not on `main`, so the item is
1111
+ * still in the pool and must stay excluded) and promises "It is released when the
1112
+ * PR merges (reconciled against main)". That second half NEVER HAPPENED. Nobody
1113
+ * runs a dorfl process at the moment a human clicks merge on GitHub and there is
1114
+ * no daemon, so a release scheduled for merge-time can never fire. Meanwhile
1115
+ * {@link reconcileItemLockAgainstMain} (which implements exactly the right
1116
+ * decision) was reachable ONLY from the opt-in `gc --ledger --reap-stale-locks`
1117
+ * sweep. An operator driving `do`/`complete` by hand never runs it, so every
1118
+ * propose build leaked its lock ref forever and `status` reported finished work
1119
+ * as in-progress permanently.
1120
+ *
1121
+ * WHERE THIS IS CALLED, and why not from the read commands. The merge event is
1122
+ * not observable, but its CONSEQUENCE on `main` is, and that consequence is
1123
+ * durable, so a late sweep converges just as well as a timely one. It therefore
1124
+ * runs from the paths that ALREADY WRITE to the arbiter and already run on every
1125
+ * unit of work: the CLAIM path (`do`/`claim`). `status` and `scan` stay strictly
1126
+ * READ-ONLY and use {@link classifyTerminalItemLocks} to REPORT a finished item's
1127
+ * lock as released-pending rather than as in-progress; they perform this sweep
1128
+ * only under an explicit `--reconcile-locks` flag. Putting the automatic release
1129
+ * on a write path (rather than behind a flag on a read path) is what makes the
1130
+ * fix real: a flag nobody is routed to is what produced the leak in the first
1131
+ * place, since `gc --ledger` had been reporting these locks and printing the
1132
+ * `release-lock` command all along.
1133
+ *
1134
+ * SCOPE FENCE: this clears the TERMINAL class ONLY. The OTHER orphan class
1135
+ * {@link reconcileItemLockAgainstMain} knows about (the crash-window orphan:
1136
+ * non-terminal but SURFACED on `main` with `needsAnswers:true` + sidecar) is
1137
+ * deliberately NOT swept here and remains the explicit
1138
+ * `gc --ledger --reap-stale-locks` sweep's business. Terminal-on-`main` is a
1139
+ * FACT about durable state that proves the work is finished; "surfaced" is a
1140
+ * crash inference, and the no-auto-sweep trust model is worth keeping for it.
1141
+ *
1142
+ * SAFETY. Every delete is the SAME `--force-with-lease` delete
1143
+ * ({@link leasedDeleteLockRef}) `release-lock`/requeue use, never a blind
1144
+ * `--force`, so a lock a concurrent writer moved between our read and our write
1145
+ * is reported, not stolen. The whole sweep is best-effort and NEVER throws: any
1146
+ * fault leaves the lock HELD, which is the safe direction. It is idempotent:
1147
+ * re-running over a reconciled arbiter is a clean empty report.
1148
+ */
1149
+ export async function reconcileTerminalItemLocks(cwd, arbiter = 'origin', env, opts = {}) {
1150
+ const classified = await classifyTerminalItemLocks(cwd, arbiter, env, opts);
1151
+ const report = {
1152
+ released: [],
1153
+ kept: classified.inFlight.map((l) => l.entry),
1154
+ // Seeded with what the classifier already decided to keep. A terminal lock
1155
+ // whose release is REFUSED below is appended, so `stillHeld` always reflects
1156
+ // the arbiter's true post-sweep state rather than an optimistic one.
1157
+ stillHeld: [...classified.inFlight],
1158
+ errors: [...classified.errors],
1159
+ };
1160
+ /** A terminal lock we could not remove is STILL HELD, so it must appear in
1161
+ * BOTH the kept set and the in-flight surface, never silently vanish. */
1162
+ const keepUnreleased = (lock) => {
1163
+ report.kept.push(lock.entry);
1164
+ report.stillHeld.push(lock);
1165
+ };
1166
+ for (const lock of classified.terminal) {
1167
+ const ref = itemLockRef(lock.entry);
1168
+ try {
1169
+ const rev = await gitSoft(['rev-parse', '--verify', '--quiet', ref], cwd, env);
1170
+ if (rev.status !== 0 || rev.stdout.trim() === '') {
1171
+ // The ref vanished between the classification and now (another
1172
+ // reconciler won): the desired end state; nothing to report.
1173
+ continue;
1174
+ }
1175
+ const cleared = await leasedDeleteLockRef(ref, rev.stdout.trim(), cwd, arbiter, env);
1176
+ if (cleared === 'deleted') {
1177
+ report.released.push(lock.entry);
1178
+ continue;
1179
+ }
1180
+ // The lease was REJECTED. Distinguish the benign case (a concurrent
1181
+ // reconciler / `release-lock` already cleared the SAME lock): the desired
1182
+ // end state) from a genuine concurrent mutation (back off, never force).
1183
+ const remote = await gitSoft(['ls-remote', arbiter, ref], cwd, env);
1184
+ if (remote.status === 0 && remote.stdout.trim() === '') {
1185
+ await gitSoft(['update-ref', '-d', ref], cwd, env);
1186
+ continue;
1187
+ }
1188
+ keepUnreleased(lock);
1189
+ report.errors.push({
1190
+ entry: lock.entry,
1191
+ message: `terminal-lock release for '${lock.entry}' was rejected (the ref changed concurrently); left HELD, never forced.`,
1192
+ });
1193
+ }
1194
+ catch (err) {
1195
+ keepUnreleased(lock);
1196
+ report.errors.push({
1197
+ entry: lock.entry,
1198
+ message: err instanceof Error ? err.message : String(err),
1199
+ });
1200
+ }
1201
+ }
1202
+ return report;
1203
+ }
998
1204
  /** True iff a {@link ReconcileOutcome} names an ORPHAN class the
999
1205
  * `--reap-stale-locks` sweep can auto-clear via the shared leased delete.
1000
1206
  * Post-`retire-stuck-lock-state` this is just `cleared-stale`. */
@@ -1342,8 +1548,32 @@ async function isItemSurfacedOnMain(type, slug, item, arbiter, cwd, env) {
1342
1548
  /** True iff `<arbiter>/main` shows the item TERMINAL — any of
1343
1549
  * {@link terminalMainPaths} present in `<arbiter>/main`'s tree. */
1344
1550
  async function isTerminalOnMain(type, slug, arbiter, cwd, env) {
1551
+ return isTerminalAtRef(type, slug, `${arbiter}/main`, cwd, env);
1552
+ }
1553
+ /**
1554
+ * True iff `mainRef`'s tree contains any of {@link terminalMainPaths} for the
1555
+ * item, the ref-parameterised core of {@link isTerminalOnMain}.
1556
+ *
1557
+ * WHY `mainRef` IS A PARAMETER and not hard-coded to `<arbiter>/main`: the two
1558
+ * repo shapes dorfl works with hold the arbiter's `main` under DIFFERENT refs,
1559
+ * and reading the wrong one silently answers "not terminal" for every item
1560
+ * (observation `checkpoint-path-reports-its-own-write-as-absent`, the same class
1561
+ * `arbiter-refs.ts` was written for).
1562
+ * - A WORKING CLONE has a normal fetch refspec, so the arbiter's main lands in
1563
+ * the REMOTE-TRACKING ref `refs/remotes/<arbiter>/main` ⇒ `<arbiter>/main`.
1564
+ * - A BARE HUB MIRROR (`git clone --bare`, see `repo-mirror.ts`) has NO
1565
+ * `remote.origin.fetch` refspec and therefore NO `refs/remotes/*` namespace
1566
+ * AT ALL: its copy of the arbiter's main is `refs/heads/main` ⇒ plain
1567
+ * `main`. This is why every other mirror reader in this codebase
1568
+ * (`lintRefLedger('main', mirrorPath)`, `fetchMirrorMainOrWarn`) speaks
1569
+ * `main`, not `origin/main`.
1570
+ * Passing `<arbiter>/main` on a mirror makes `cat-file -e` fail with `invalid
1571
+ * object name`, which is indistinguishable from "the file is not there", so
1572
+ * every lock classifies as in-flight and the sweep becomes a silent no-op.
1573
+ */
1574
+ async function isTerminalAtRef(type, slug, mainRef, cwd, env) {
1345
1575
  for (const path of terminalMainPaths(type, slug)) {
1346
- const exists = (await gitSoft(['cat-file', '-e', `${arbiter}/main:${path}`], cwd, env))
1576
+ const exists = (await gitSoft(['cat-file', '-e', `${mainRef}:${path}`], cwd, env))
1347
1577
  .status === 0;
1348
1578
  if (exists) {
1349
1579
  return true;
@@ -1351,6 +1581,30 @@ async function isTerminalOnMain(type, slug, arbiter, cwd, env) {
1351
1581
  }
1352
1582
  return false;
1353
1583
  }
1584
+ /**
1585
+ * Refresh `mainRef` from the arbiter with an EXPLICIT refspec that writes
1586
+ * EXACTLY the ref the terminal probe will read, so the read can never land on a
1587
+ * ref the fetch did not populate (the bare-mirror trap documented on
1588
+ * {@link isTerminalAtRef}; the same stance as `arbiter-refs.ts`). A plain
1589
+ * `git fetch <arbiter>` is deliberately NOT used: in a bare mirror it writes
1590
+ * `refs/heads/*` and never populates `refs/remotes/*`, and in a working clone it
1591
+ * depends on whatever refspec happens to be configured.
1592
+ *
1593
+ * Returns the git result so the caller can treat a failure as "cannot prove
1594
+ * anything terminal" and keep every lock.
1595
+ */
1596
+ export async function refreshMainRef(mainRef, arbiter, cwd, env) {
1597
+ // `<arbiter>/main` ⇒ remote-tracking destination; a bare `main` (or any other
1598
+ // local branch name) ⇒ `refs/heads/` destination, the mirror shape.
1599
+ const remotePrefix = `${arbiter}/`;
1600
+ const dest = mainRef.startsWith(remotePrefix)
1601
+ ? `refs/remotes/${mainRef}`
1602
+ : `refs/heads/${mainRef}`;
1603
+ const branch = mainRef.startsWith(remotePrefix)
1604
+ ? mainRef.slice(remotePrefix.length)
1605
+ : mainRef;
1606
+ return gitSoft(['fetch', '--quiet', arbiter, `+refs/heads/${branch}:${dest}`], cwd, env);
1607
+ }
1354
1608
  /** List the entries (`<type>-<slug>`) currently locked on the arbiter (the
1355
1609
  * stuck-lock report / `status` read path). */
1356
1610
  export async function listItemLocks(cwd, arbiter = 'origin', env) {