@deftai/directive-runtime 0.129.5 → 0.129.6

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 (154) hide show
  1. package/Taskfile.yml +235 -0
  2. package/UPGRADING.md +1 -0
  3. package/contracts/design-critique.md +1 -1
  4. package/contracts/path-write-fence.md +6 -0
  5. package/dist/applying-host-release.d.ts +16 -0
  6. package/dist/applying-host-release.js +98 -0
  7. package/dist/authz.d.ts +1 -1
  8. package/dist/authz.js +1 -1
  9. package/dist/check.d.ts +1 -0
  10. package/dist/check.js +27 -4
  11. package/dist/design-critique-ensure-arc-dest.d.ts +16 -0
  12. package/dist/design-critique-ensure-arc-dest.js +168 -0
  13. package/dist/dispatch.d.ts +1 -1
  14. package/dist/dispatch.js +8 -0
  15. package/dist/hook-dispatch.js +3 -2
  16. package/dist/human-presence-mint.d.ts +6 -1
  17. package/dist/human-presence-mint.js +20 -6
  18. package/dist/session-start.js +40 -6
  19. package/dist/setup-wiring.d.ts +36 -0
  20. package/dist/setup-wiring.js +169 -14
  21. package/dist/verify-source-cli/verify-deposit-closure.js +5 -5
  22. package/dist/windows-bin-ps1.d.ts +2 -2
  23. package/dist/windows-bin-ps1.js +5 -11
  24. package/docs/deft-directive-disable.md +3 -3
  25. package/package.json +2 -3
  26. package/packs/lessons/lessons-pack-0.1.json +15 -0
  27. package/packs/skills/skills-pack-0.1.json +2 -2
  28. package/skills/deft-directive-design-critique/SKILL.md +1 -1
  29. package/skills/deft-directive-release/SKILL.md +31 -1
  30. package/vendor/directive-content/Taskfile.yml +235 -0
  31. package/vendor/directive-content/UPGRADING.md +1 -0
  32. package/vendor/directive-content/contracts/design-critique.md +1 -1
  33. package/vendor/directive-content/contracts/path-write-fence.md +6 -0
  34. package/vendor/directive-content/docs/deft-directive-disable.md +3 -3
  35. package/vendor/directive-content/packs/lessons/lessons-pack-0.1.json +15 -0
  36. package/vendor/directive-content/packs/skills/skills-pack-0.1.json +2 -2
  37. package/vendor/directive-content/skills/deft-directive-design-critique/SKILL.md +1 -1
  38. package/vendor/directive-content/skills/deft-directive-release/SKILL.md +31 -1
  39. package/vendor/directive-core/dist/.tsbuildinfo +1 -1
  40. package/vendor/directive-core/dist/authz/classify.d.ts +12 -0
  41. package/vendor/directive-core/dist/authz/classify.d.ts.map +1 -1
  42. package/vendor/directive-core/dist/authz/classify.js +40 -12
  43. package/vendor/directive-core/dist/authz/classify.js.map +1 -1
  44. package/vendor/directive-core/dist/authz/templates.d.ts +2 -2
  45. package/vendor/directive-core/dist/authz/templates.d.ts.map +1 -1
  46. package/vendor/directive-core/dist/authz/templates.js +1 -0
  47. package/vendor/directive-core/dist/authz/templates.js.map +1 -1
  48. package/vendor/directive-core/dist/authz/types.d.ts +1 -1
  49. package/vendor/directive-core/dist/authz/types.d.ts.map +1 -1
  50. package/vendor/directive-core/dist/authz/types.js +2 -0
  51. package/vendor/directive-core/dist/authz/types.js.map +1 -1
  52. package/vendor/directive-core/dist/authz/verb-classification.d.ts.map +1 -1
  53. package/vendor/directive-core/dist/authz/verb-classification.js +30 -3
  54. package/vendor/directive-core/dist/authz/verb-classification.js.map +1 -1
  55. package/vendor/directive-core/dist/cache/fetch.d.ts.map +1 -1
  56. package/vendor/directive-core/dist/cache/fetch.js +50 -4
  57. package/vendor/directive-core/dist/cache/fetch.js.map +1 -1
  58. package/vendor/directive-core/dist/design-critique/arc-dest.d.ts +22 -5
  59. package/vendor/directive-core/dist/design-critique/arc-dest.d.ts.map +1 -1
  60. package/vendor/directive-core/dist/design-critique/arc-dest.js +61 -0
  61. package/vendor/directive-core/dist/design-critique/arc-dest.js.map +1 -1
  62. package/vendor/directive-core/dist/design-critique/run-posture.d.ts +7 -2
  63. package/vendor/directive-core/dist/design-critique/run-posture.d.ts.map +1 -1
  64. package/vendor/directive-core/dist/design-critique/run-posture.js +6 -1
  65. package/vendor/directive-core/dist/design-critique/run-posture.js.map +1 -1
  66. package/vendor/directive-core/dist/hooks/dispatcher.d.ts.map +1 -1
  67. package/vendor/directive-core/dist/hooks/dispatcher.js +174 -12
  68. package/vendor/directive-core/dist/hooks/dispatcher.js.map +1 -1
  69. package/vendor/directive-core/dist/hooks/shell-write-targets.d.ts +5 -0
  70. package/vendor/directive-core/dist/hooks/shell-write-targets.d.ts.map +1 -1
  71. package/vendor/directive-core/dist/hooks/shell-write-targets.js +18 -1
  72. package/vendor/directive-core/dist/hooks/shell-write-targets.js.map +1 -1
  73. package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts +5 -0
  74. package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts.map +1 -1
  75. package/vendor/directive-core/dist/init-deposit/host-hook-outer.js +22 -9
  76. package/vendor/directive-core/dist/init-deposit/host-hook-outer.js.map +1 -1
  77. package/vendor/directive-core/dist/init-deposit/scaffold.d.ts +8 -1
  78. package/vendor/directive-core/dist/init-deposit/scaffold.d.ts.map +1 -1
  79. package/vendor/directive-core/dist/init-deposit/scaffold.js +38 -4
  80. package/vendor/directive-core/dist/init-deposit/scaffold.js.map +1 -1
  81. package/vendor/directive-core/dist/install-health/cheap.d.ts +2 -1
  82. package/vendor/directive-core/dist/install-health/cheap.d.ts.map +1 -1
  83. package/vendor/directive-core/dist/install-health/cheap.js +4 -3
  84. package/vendor/directive-core/dist/install-health/cheap.js.map +1 -1
  85. package/vendor/directive-core/dist/install-health/constants.d.ts +18 -2
  86. package/vendor/directive-core/dist/install-health/constants.d.ts.map +1 -1
  87. package/vendor/directive-core/dist/install-health/constants.js +18 -2
  88. package/vendor/directive-core/dist/install-health/constants.js.map +1 -1
  89. package/vendor/directive-core/dist/policy/deft-directive-disable.d.ts +42 -5
  90. package/vendor/directive-core/dist/policy/deft-directive-disable.d.ts.map +1 -1
  91. package/vendor/directive-core/dist/policy/deft-directive-disable.js +71 -41
  92. package/vendor/directive-core/dist/policy/deft-directive-disable.js.map +1 -1
  93. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.d.ts +6 -1
  94. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.d.ts.map +1 -1
  95. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.js +24 -12
  96. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.js.map +1 -1
  97. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.d.ts +68 -14
  98. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.d.ts.map +1 -1
  99. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.js +278 -47
  100. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.js.map +1 -1
  101. package/vendor/directive-core/dist/release/gh.d.ts.map +1 -1
  102. package/vendor/directive-core/dist/release/gh.js +2 -1
  103. package/vendor/directive-core/dist/release/gh.js.map +1 -1
  104. package/vendor/directive-core/dist/release/version.d.ts +4 -2
  105. package/vendor/directive-core/dist/release/version.d.ts.map +1 -1
  106. package/vendor/directive-core/dist/release/version.js +4 -2
  107. package/vendor/directive-core/dist/release/version.js.map +1 -1
  108. package/vendor/directive-core/dist/release-publish/gh-api.d.ts.map +1 -1
  109. package/vendor/directive-core/dist/release-publish/gh-api.js +4 -2
  110. package/vendor/directive-core/dist/release-publish/gh-api.js.map +1 -1
  111. package/vendor/directive-core/dist/release-publish/main.d.ts.map +1 -1
  112. package/vendor/directive-core/dist/release-publish/main.js +15 -4
  113. package/vendor/directive-core/dist/release-publish/main.js.map +1 -1
  114. package/vendor/directive-core/dist/release-publish/pipeline.d.ts +11 -0
  115. package/vendor/directive-core/dist/release-publish/pipeline.d.ts.map +1 -1
  116. package/vendor/directive-core/dist/release-publish/pipeline.js +143 -2
  117. package/vendor/directive-core/dist/release-publish/pipeline.js.map +1 -1
  118. package/vendor/directive-core/dist/release-rollback/gh.d.ts.map +1 -1
  119. package/vendor/directive-core/dist/release-rollback/gh.js +2 -1
  120. package/vendor/directive-core/dist/release-rollback/gh.js.map +1 -1
  121. package/vendor/directive-core/dist/session/git.d.ts +21 -2
  122. package/vendor/directive-core/dist/session/git.d.ts.map +1 -1
  123. package/vendor/directive-core/dist/session/git.js +21 -4
  124. package/vendor/directive-core/dist/session/git.js.map +1 -1
  125. package/vendor/directive-core/dist/session/occupancy.d.ts +93 -6
  126. package/vendor/directive-core/dist/session/occupancy.d.ts.map +1 -1
  127. package/vendor/directive-core/dist/session/occupancy.js +215 -52
  128. package/vendor/directive-core/dist/session/occupancy.js.map +1 -1
  129. package/vendor/directive-core/dist/session/session-start.d.ts.map +1 -1
  130. package/vendor/directive-core/dist/session/session-start.js +5 -2
  131. package/vendor/directive-core/dist/session/session-start.js.map +1 -1
  132. package/vendor/directive-core/dist/swarm/dest-place.d.ts +1 -1
  133. package/vendor/directive-core/dist/swarm/dest-place.d.ts.map +1 -1
  134. package/vendor/directive-core/dist/swarm/dest-place.js +36 -41
  135. package/vendor/directive-core/dist/swarm/dest-place.js.map +1 -1
  136. package/vendor/directive-core/dist/swarm/finalize-owed.d.ts +14 -0
  137. package/vendor/directive-core/dist/swarm/finalize-owed.d.ts.map +1 -1
  138. package/vendor/directive-core/dist/swarm/finalize-owed.js +214 -48
  139. package/vendor/directive-core/dist/swarm/finalize-owed.js.map +1 -1
  140. package/vendor/directive-core/dist/swarm/launch.d.ts.map +1 -1
  141. package/vendor/directive-core/dist/swarm/launch.js +15 -4
  142. package/vendor/directive-core/dist/swarm/launch.js.map +1 -1
  143. package/vendor/directive-core/dist/swarm/worktree-pm-install.d.ts +49 -2
  144. package/vendor/directive-core/dist/swarm/worktree-pm-install.d.ts.map +1 -1
  145. package/vendor/directive-core/dist/swarm/worktree-pm-install.js +207 -12
  146. package/vendor/directive-core/dist/swarm/worktree-pm-install.js.map +1 -1
  147. package/vendor/directive-core/dist/swarm/worktrees-cli.d.ts +6 -0
  148. package/vendor/directive-core/dist/swarm/worktrees-cli.d.ts.map +1 -1
  149. package/vendor/directive-core/dist/swarm/worktrees-cli.js +79 -2
  150. package/vendor/directive-core/dist/swarm/worktrees-cli.js.map +1 -1
  151. package/vendor/directive-core/dist/swarm/worktrees.d.ts +12 -1
  152. package/vendor/directive-core/dist/swarm/worktrees.d.ts.map +1 -1
  153. package/vendor/directive-core/dist/swarm/worktrees.js +34 -26
  154. package/vendor/directive-core/dist/swarm/worktrees.js.map +1 -1
@@ -17,6 +17,12 @@
17
17
  * - Deposit presence is **OK**.
18
18
  * - Full re-enable requires: delete the file **and** start a **new** agent session.
19
19
  * - Precedence: active kill-switch first, then `.no-deft-directive`, else normal.
20
+ *
21
+ * Eligibility (#6122 / Prefer-A Bound): override only when positively validated
22
+ * eligible (project-root non-symlink regular file + successful untracked
23
+ * `git ls-files` listing). Tracked / wrong kind / absent → ineligible.
24
+ * Probe launch failure, nonzero status, timeout, or unavailable output →
25
+ * indeterminate (never active; never cached as untracked).
20
26
  */
21
27
  /** Canonical root-only filename (lowercase). Presence = candidate flag. */
22
28
  export declare const DEFT_DIRECTIVE_DISABLE_FLAG_NAME = ".deft-directive-disable";
@@ -36,13 +42,35 @@ export declare const DEFT_DIRECTIVE_DISABLE_STATUS: "disabled-test-kill-switch";
36
42
  * Tracked flags do **not** disable enforcement.
37
43
  */
38
44
  export declare const DEFT_DIRECTIVE_DISABLE_TRACKED_WARNING = "Misconfig: `.deft-directive-disable` is tracked by git. The flag must be gitignored (local kill-switch only). Untrack it and ensure `.gitignore` covers the path. Enforcement is NOT disabled while the flag is tracked.";
45
+ /**
46
+ * Three-way operator-override eligibility (#6122).
47
+ * Only `eligible` selects the kill-switch short-circuit.
48
+ */
49
+ export type OperatorDisableEligibility = "eligible" | "ineligible" | "indeterminate";
50
+ /** Successful `git ls-files` listing outcome (cacheable). */
51
+ export type GitTrackListingOutcome = "tracked" | "untracked";
52
+ /** Listing probe result including indeterminate inspection failures. */
53
+ export type GitTrackProbeResult = GitTrackListingOutcome | "indeterminate";
54
+ /** Test helper: drop cached listing outcomes. */
55
+ export declare function clearDeftDirectiveDisableTrackedProbeCache(): void;
39
56
  export interface DeftDirectiveDisableSeams {
40
57
  readonly isFile?: (path: string) => boolean;
41
58
  readonly isDir?: (path: string) => boolean;
42
- /** Return true when `git ls-files` lists the flag (tracked). */
59
+ /**
60
+ * Legacy boolean seam: true = tracked, false = untracked.
61
+ * Does not model indeterminate; prefer `probeGitTrackListing` for that.
62
+ */
43
63
  readonly isGitTracked?: (projectRoot: string, relPath: string) => boolean;
64
+ /** Three-way listing probe; wins over `isGitTracked` when both are set. */
65
+ readonly probeGitTrackListing?: (projectRoot: string, relPath: string) => GitTrackProbeResult;
44
66
  /** Skip tracked probe + cache (tests / doctor full re-check). */
45
67
  readonly skipTrackedCache?: boolean;
68
+ /**
69
+ * Adapter seam for the default `git ls-files` capture used by
70
+ * `probeGitLsFilesListing` (cached + skipTrackedCache paths). Throw to
71
+ * model launch/nonzero failure; return stdout string on success.
72
+ */
73
+ readonly gitLsFilesCapture?: (projectRoot: string, relPath: string) => string;
46
74
  }
47
75
  export interface DeftDirectiveDisableState {
48
76
  readonly present: boolean;
@@ -50,15 +78,24 @@ export interface DeftDirectiveDisableState {
50
78
  readonly depositPresent: boolean;
51
79
  /**
52
80
  * True when the flag file is tracked by git (misconfig — should be gitignored).
53
- * Always false when the flag is absent or when the probe cannot run.
81
+ * Always false when the flag is absent or when the probe is not a successful
82
+ * tracked listing (including indeterminate).
54
83
  */
55
84
  readonly trackedByGit: boolean;
85
+ /** Three-way eligibility; `active` is true only when this is `eligible`. */
86
+ readonly eligibility: OperatorDisableEligibility;
56
87
  /**
57
88
  * True when the kill-switch is **active** for enforcement short-circuit:
58
- * present and **not** tracked by git.
89
+ * positively validated eligible (present regular file + successful untracked listing).
59
90
  */
60
91
  readonly active: boolean;
61
92
  }
93
+ /**
94
+ * Explicit Git success predicate (#6122): successful `git ls-files` with usable
95
+ * captured output. Empty listing = untracked; nonempty = tracked; launch failure,
96
+ * nonzero, timeout, or unavailable output = indeterminate.
97
+ */
98
+ export declare function probeGitLsFilesListing(projectRoot: string, relPath: string, capture?: (projectRoot: string, relPath: string) => string): GitTrackProbeResult;
62
99
  /** Absolute path to the root kill-switch flag file. */
63
100
  export declare function deftDirectiveDisableFlagPath(projectRoot: string): string;
64
101
  /**
@@ -66,12 +103,12 @@ export declare function deftDirectiveDisableFlagPath(projectRoot: string): strin
66
103
  * (empty or short comment OK). Deposit presence is reported but never treated
67
104
  * as inconsistent (#3039 vs #2926).
68
105
  *
69
- * Enforcement short-circuit uses `state.active` (present && !trackedByGit).
106
+ * Enforcement short-circuit uses `state.active` (eligibility === "eligible").
70
107
  */
71
108
  export declare function detectDeftDirectiveDisable(projectRoot: string, seams?: DeftDirectiveDisableSeams): DeftDirectiveDisableState;
72
109
  /**
73
110
  * True when the local (untracked) kill-switch is active for enforcement
74
- * short-circuit. Tracked flags return false so hooks stay enforced.
111
+ * short-circuit. Tracked / indeterminate flags return false so hooks stay enforced.
75
112
  */
76
113
  export declare function isDeftDirectiveDisableActive(projectRoot: string, seams?: DeftDirectiveDisableSeams): boolean;
77
114
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"deft-directive-disable.d.ts","sourceRoot":"","sources":["../../src/policy/deft-directive-disable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,2EAA2E;AAC3E,eAAO,MAAM,gCAAgC,4BAA4B,CAAC;AAE1E,mEAAmE;AACnE,eAAO,MAAM,qCAAqC,4BAAmC,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,uCAAuC,QAQQ,CAAC;AAE7D,2DAA2D;AAC3D,eAAO,MAAM,+BAA+B,0FAC6C,CAAC;AAE1F,8EAA8E;AAC9E,eAAO,MAAM,6BAA6B,EAAG,2BAAoC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,sCAAsC,6NACyK,CAAC;AAS7N,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,gEAAgE;IAChE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1E,iEAAiE;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAkDD,uDAAuD;AACvD,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,yBAA8B,GACpC,yBAAyB,CAiC3B;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,yBAA8B,GACpC,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE;IACP,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,MAAM,CAgBR"}
1
+ {"version":3,"file":"deft-directive-disable.d.ts","sourceRoot":"","sources":["../../src/policy/deft-directive-disable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAOH,2EAA2E;AAC3E,eAAO,MAAM,gCAAgC,4BAA4B,CAAC;AAE1E,mEAAmE;AACnE,eAAO,MAAM,qCAAqC,4BAAmC,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,uCAAuC,QAQQ,CAAC;AAE7D,2DAA2D;AAC3D,eAAO,MAAM,+BAA+B,0FAC6C,CAAC;AAE1F,8EAA8E;AAC9E,eAAO,MAAM,6BAA6B,EAAG,2BAAoC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,sCAAsC,6NACyK,CAAC;AAK7N;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,CAAC;AAErF,6DAA6D;AAC7D,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7D,wEAAwE;AACxE,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,eAAe,CAAC;AAM3E,iDAAiD;AACjD,wBAAgB,0CAA0C,IAAI,IAAI,CAEjE;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1E,2EAA2E;IAC3E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,mBAAmB,CAAC;IAC9F,iEAAiE;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/E;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AA2BD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GACzD,mBAAmB,CAgBrB;AAiED,uDAAuD;AACvD,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,yBAA8B,GACpC,yBAAyB,CAgB3B;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,yBAA8B,GACpC,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,GAAE;IACP,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,MAAM,CAgBR"}
@@ -17,6 +17,12 @@
17
17
  * - Deposit presence is **OK**.
18
18
  * - Full re-enable requires: delete the file **and** start a **new** agent session.
19
19
  * - Precedence: active kill-switch first, then `.no-deft-directive`, else normal.
20
+ *
21
+ * Eligibility (#6122 / Prefer-A Bound): override only when positively validated
22
+ * eligible (project-root non-symlink regular file + successful untracked
23
+ * `git ls-files` listing). Tracked / wrong kind / absent → ineligible.
24
+ * Probe launch failure, nonzero status, timeout, or unavailable output →
25
+ * indeterminate (never active; never cached as untracked).
20
26
  */
21
27
  import { execFileSync } from "node:child_process";
22
28
  import { lstatSync, statSync } from "node:fs";
@@ -49,9 +55,13 @@ export const DEFT_DIRECTIVE_DISABLE_STATUS = "disabled-test-kill-switch";
49
55
  export const DEFT_DIRECTIVE_DISABLE_TRACKED_WARNING = "Misconfig: `.deft-directive-disable` is tracked by git. The flag must be gitignored (local kill-switch only). Untrack it and ensure `.gitignore` covers the path. Enforcement is NOT disabled while the flag is tracked.";
50
56
  /** Cap git probe so hot-path hooks never hang on a slow VCS call. */
51
57
  const GIT_TRACKED_PROBE_TIMEOUT_MS = 1500;
52
- /** Process-local cache: avoid re-spawning git on every PreToolUse while the flag is present. */
58
+ /** Process-local cache: successful tracked|untracked only — never indeterminate. */
53
59
  const trackedProbeCache = new Map();
54
60
  const TRACKED_PROBE_CACHE_TTL_MS = 30_000;
61
+ /** Test helper: drop cached listing outcomes. */
62
+ export function clearDeftDirectiveDisableTrackedProbeCache() {
63
+ trackedProbeCache.clear();
64
+ }
55
65
  /**
56
66
  * Regular-file check that does **not** treat a symlink as an intentional kill-switch
57
67
  * (#3213 residual after #3206). `statSync().isFile()` follows links, so
@@ -78,28 +88,67 @@ function defaultIsDir(path) {
78
88
  return false;
79
89
  }
80
90
  }
81
- function defaultIsGitTracked(projectRoot, relPath) {
91
+ /**
92
+ * Explicit Git success predicate (#6122): successful `git ls-files` with usable
93
+ * captured output. Empty listing = untracked; nonempty = tracked; launch failure,
94
+ * nonzero, timeout, or unavailable output = indeterminate.
95
+ */
96
+ export function probeGitLsFilesListing(projectRoot, relPath, capture) {
97
+ try {
98
+ const out = capture !== undefined
99
+ ? capture(projectRoot, relPath)
100
+ : execFileSync("git", ["ls-files", "--", relPath], {
101
+ cwd: projectRoot,
102
+ encoding: "utf8",
103
+ stdio: ["ignore", "pipe", "ignore"],
104
+ timeout: GIT_TRACKED_PROBE_TIMEOUT_MS,
105
+ });
106
+ if (typeof out !== "string")
107
+ return "indeterminate";
108
+ return out.trim().length > 0 ? "tracked" : "untracked";
109
+ }
110
+ catch {
111
+ return "indeterminate";
112
+ }
113
+ }
114
+ function defaultProbeGitTrackListing(projectRoot, relPath, capture) {
82
115
  const cacheKey = `${projectRoot}\0${relPath}`;
83
116
  const now = Date.now();
84
117
  const cached = trackedProbeCache.get(cacheKey);
85
118
  if (cached !== undefined && now - cached.atMs < TRACKED_PROBE_CACHE_TTL_MS) {
86
- return cached.tracked;
119
+ return cached.tracked ? "tracked" : "untracked";
87
120
  }
88
- let tracked = false;
89
- try {
90
- const out = execFileSync("git", ["ls-files", "--", relPath], {
91
- cwd: projectRoot,
92
- encoding: "utf8",
93
- stdio: ["ignore", "pipe", "ignore"],
94
- timeout: GIT_TRACKED_PROBE_TIMEOUT_MS,
95
- });
96
- tracked = out.trim().length > 0;
121
+ const result = probeGitLsFilesListing(projectRoot, relPath, capture);
122
+ if (result === "tracked" || result === "untracked") {
123
+ trackedProbeCache.set(cacheKey, { tracked: result === "tracked", atMs: now });
97
124
  }
98
- catch {
99
- tracked = false;
125
+ return result;
126
+ }
127
+ function resolveTrackProbe(projectRoot, seams) {
128
+ if (seams.probeGitTrackListing) {
129
+ return seams.probeGitTrackListing(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME);
130
+ }
131
+ if (seams.isGitTracked) {
132
+ return seams.isGitTracked(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME)
133
+ ? "tracked"
134
+ : "untracked";
100
135
  }
101
- trackedProbeCache.set(cacheKey, { tracked, atMs: now });
102
- return tracked;
136
+ if (seams.skipTrackedCache) {
137
+ return probeGitLsFilesListing(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME, seams.gitLsFilesCapture);
138
+ }
139
+ return defaultProbeGitTrackListing(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME, seams.gitLsFilesCapture);
140
+ }
141
+ function eligibilityFromPresentProbe(present, probe) {
142
+ if (!present) {
143
+ return { eligibility: "ineligible", trackedByGit: false };
144
+ }
145
+ if (probe === "tracked") {
146
+ return { eligibility: "ineligible", trackedByGit: true };
147
+ }
148
+ if (probe === "untracked") {
149
+ return { eligibility: "eligible", trackedByGit: false };
150
+ }
151
+ return { eligibility: "indeterminate", trackedByGit: false };
103
152
  }
104
153
  /** Absolute path to the root kill-switch flag file. */
105
154
  export function deftDirectiveDisableFlagPath(projectRoot) {
@@ -110,47 +159,28 @@ export function deftDirectiveDisableFlagPath(projectRoot) {
110
159
  * (empty or short comment OK). Deposit presence is reported but never treated
111
160
  * as inconsistent (#3039 vs #2926).
112
161
  *
113
- * Enforcement short-circuit uses `state.active` (present && !trackedByGit).
162
+ * Enforcement short-circuit uses `state.active` (eligibility === "eligible").
114
163
  */
115
164
  export function detectDeftDirectiveDisable(projectRoot, seams = {}) {
116
165
  const flagPath = deftDirectiveDisableFlagPath(projectRoot);
117
166
  const isFile = seams.isFile ?? defaultIsFile;
118
167
  const isDir = seams.isDir ?? defaultIsDir;
119
- const isGitTracked = seams.isGitTracked ?? defaultIsGitTracked;
120
168
  const present = isFile(flagPath);
121
169
  const depositPresent = isDir(join(projectRoot, CANONICAL_INSTALL_ROOT));
122
- let trackedByGit = false;
123
- if (present) {
124
- if (seams.skipTrackedCache && seams.isGitTracked === undefined) {
125
- // Fresh probe without reading process cache (doctor / one-shot CLI).
126
- try {
127
- const out = execFileSync("git", ["ls-files", "--", DEFT_DIRECTIVE_DISABLE_FLAG_NAME], {
128
- cwd: projectRoot,
129
- encoding: "utf8",
130
- stdio: ["ignore", "pipe", "ignore"],
131
- timeout: GIT_TRACKED_PROBE_TIMEOUT_MS,
132
- });
133
- trackedByGit = out.trim().length > 0;
134
- }
135
- catch {
136
- trackedByGit = false;
137
- }
138
- }
139
- else {
140
- trackedByGit = isGitTracked(projectRoot, DEFT_DIRECTIVE_DISABLE_FLAG_NAME);
141
- }
142
- }
170
+ const probe = present ? resolveTrackProbe(projectRoot, seams) : "untracked";
171
+ const { eligibility, trackedByGit } = eligibilityFromPresentProbe(present, probe);
143
172
  return {
144
173
  present,
145
174
  flagPath,
146
175
  depositPresent,
147
176
  trackedByGit,
148
- active: present && !trackedByGit,
177
+ eligibility,
178
+ active: eligibility === "eligible",
149
179
  };
150
180
  }
151
181
  /**
152
182
  * True when the local (untracked) kill-switch is active for enforcement
153
- * short-circuit. Tracked flags return false so hooks stay enforced.
183
+ * short-circuit. Tracked / indeterminate flags return false so hooks stay enforced.
154
184
  */
155
185
  export function isDeftDirectiveDisableActive(projectRoot, seams = {}) {
156
186
  return detectDeftDirectiveDisable(projectRoot, seams).active;
@@ -1 +1 @@
1
- {"version":3,"file":"deft-directive-disable.js","sourceRoot":"","sources":["../../src/policy/deft-directive-disable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deft-directive-disable.js","sourceRoot":"","sources":["../../src/policy/deft-directive-disable.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ import type { OnePrUnitGrant } from "../one-pr-unit/types.js";
25
25
  import { type GateRunner } from "../orphan-active/issue-state.js";
26
26
  import type { RunGhFn } from "../pr-protected-issues/types.js";
27
27
  import { type StrictAcceptanceAxis } from "../scope/acceptance-evidence.js";
28
- import { type PrHeadAssertOptions } from "./pr-head-assert.js";
28
+ import { type CloseoutRefuseReason, type PrHeadAssertOptions } from "./pr-head-assert.js";
29
29
  export type OutputStream = "stdout" | "stderr" | "none";
30
30
  /** One acceptance criterion the merge would strand without evidence or disposition. */
31
31
  export interface UnattestedCriterion {
@@ -61,6 +61,11 @@ export interface PrCloseoutAttestableResult {
61
61
  readonly findings: readonly CloseoutFinding[];
62
62
  /** True when the closing-reference read resolved through `ghx`, a cached GET proxy. */
63
63
  readonly proxied: boolean;
64
+ /**
65
+ * One-poll terminal discriminant for wait-mergeable (#6128).
66
+ * Set only for lifecycle-dirty / brief-root-layout-missing refuses.
67
+ */
68
+ readonly reason?: CloseoutRefuseReason;
64
69
  }
65
70
  /** Reads the PR's structured closing-issue references; `null` on lookup failure. */
66
71
  export type FetchClosingIssuesFn = (prNumber: number, repo: string | null, runGh: RunGhFn) => number[] | null;
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/pr-closeout-attestable/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,iCAAiC,CAAC;AAIlF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAQL,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAIL,KAAK,mBAAmB,EAIzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvD,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,oFAAoF;AACpF,MAAM,MAAM,oBAAoB,GAAG,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,EAAE,OAAO,KACX,MAAM,EAAE,GAAG,IAAI,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AA4KD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,wBAAgB,QAAQ,CACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,GAC5B,0BAA0B,CAuS5B"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/pr-closeout-attestable/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,iCAAiC,CAAC;AAIlF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAQL,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAEL,KAAK,oBAAoB,EAIzB,KAAK,mBAAmB,EAIzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qFAAqF;IACrF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvD,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAED,oFAAoF;AACpF,MAAM,MAAM,oBAAoB,GAAG,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,EAAE,OAAO,KACX,MAAM,EAAE,GAAG,IAAI,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IACnD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AA8KD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,wBAAgB,QAAQ,CACtB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,eAAoB,GAC5B,0BAA0B,CAkU5B"}
@@ -33,7 +33,7 @@ import { listActiveRunningBriefsFromLifecycleRoot } from "../orphan-active/runni
33
33
  import { fetchClosingIssuesReferences } from "../pr-protected-issues/gh.js";
34
34
  import { ACCEPTANCE_DISPOSITION_KEY, ACCEPTANCE_DISPOSITIONS, ACCEPTANCE_EVIDENCE_KEY, ACCEPTANCE_EVIDENCE_KINDS, evaluateAcceptanceEvidenceGate, inferRequiredStrictAxes, itemDeclaresMergeRequirement, } from "../scope/acceptance-evidence.js";
35
35
  import { resolveRepo } from "../triage/queue/repo.js";
36
- import { assertWorkingTreeIsPrHead, fetchPrHeadShaViaApi, findWorktreeAtSha, resolveLifecycleDirty, resolveLocalHeadSha, shasMatch, } from "./pr-head-assert.js";
36
+ import { assertWorkingTreeIsPrHead, classifyLifecycleDirty, fetchPrHeadShaViaApi, findWorktreeAtSha, refuseDirtyLifecycle, resolveLocalHeadSha, shasMatch, } from "./pr-head-assert.js";
37
37
  function relBriefPath(path, projectRoot) {
38
38
  try {
39
39
  return relative(resolve(projectRoot), resolve(path)).replace(/\\/g, "/");
@@ -136,7 +136,7 @@ function formatRefusal(prNumber, findings, projectRoot, proxied) {
136
136
  }
137
137
  return lines.join("\n");
138
138
  }
139
- function configError(prNumber, message, proxied = false) {
139
+ function configError(prNumber, message, proxied = false, reason) {
140
140
  return {
141
141
  code: 2,
142
142
  message: `verify:pr-closeout-attestable: ${message}`,
@@ -145,6 +145,7 @@ function configError(prNumber, message, proxied = false) {
145
145
  closingIssues: [],
146
146
  findings: [],
147
147
  proxied,
148
+ ...(reason !== undefined ? { reason } : {}),
148
149
  };
149
150
  }
150
151
  /**
@@ -216,9 +217,10 @@ export function evaluate(projectRoot, prNumber, options = {}) {
216
217
  // (outside-diff residual on #5258). Fail closed on an unverified lookup.
217
218
  const assertOpts = options.prHeadAssert ?? {};
218
219
  const fetchPrHead = assertOpts.fetchPrHeadSha ?? fetchPrHeadShaViaApi;
219
- const resolveWorktree = assertOpts.resolveWorktreeAtSha ?? findWorktreeAtSha;
220
+ const classify = assertOpts.classifyLifecycleDirty ?? classifyLifecycleDirty;
221
+ const resolveWorktree = assertOpts.resolveWorktreeAtSha ??
222
+ ((r, sha) => findWorktreeAtSha(r, sha, classify));
220
223
  const resolveLocal = assertOpts.resolveLocalHeadSha ?? resolveLocalHeadSha;
221
- const resolveDirty = assertOpts.resolveLifecycleDirty ?? resolveLifecycleDirty;
222
224
  const prHead = assertOpts.prHeadSha !== undefined
223
225
  ? assertOpts.prHeadSha
224
226
  : fetchPrHead(prNumber, repo, runner.runGh);
@@ -258,14 +260,22 @@ export function evaluate(projectRoot, prNumber, options = {}) {
258
260
  }
259
261
  }
260
262
  if (altLifecycle === null) {
263
+ if (lookup.anotherShaMatchHasXbrief === true) {
264
+ return configError(prNumber, `selected PR-head worktree ${alt} has no xbrief layout while another SHA-matching worktree does. ` +
265
+ `Caller root ${root} also lacks layout. Prefer a briefed PR-head worktree.`, runner.proxied, "brief-root-layout-missing");
266
+ }
261
267
  return nothingToCheck();
262
268
  }
263
269
  if (assertOpts.checkLifecycleDirty !== false) {
264
- const dirty = resolveDirty(alt);
265
- if (dirty !== null) {
266
- return configError(prNumber, `lifecycle tree under ${alt} has uncommitted xbrief/vbrief changes ` +
267
- `(${dirty}). Closeout reads the committed PR-head brief — commit, ` +
268
- "stash, or discard local lifecycle edits and retry.", runner.proxied);
270
+ const classified = classify(alt);
271
+ if (classified.status === "dirty") {
272
+ const refused = refuseDirtyLifecycle(alt, classified);
273
+ return configError(prNumber, refused.message, runner.proxied, refused.reason);
274
+ }
275
+ if (classified.status === "unverifiable") {
276
+ return configError(prNumber, `lifecycle tree under ${alt} status is unverifiable (${classified.diagnostic}). ` +
277
+ "Closeout cannot certify briefs without a readable git status — fix git and retry. " +
278
+ "No discard remediation is printed for unverifiable status reads.", runner.proxied);
269
279
  }
270
280
  }
271
281
  briefRoot = resolve(alt);
@@ -284,7 +294,7 @@ export function evaluate(projectRoot, prNumber, options = {}) {
284
294
  ...options.prHeadAssert,
285
295
  });
286
296
  if (!headAssert.ok) {
287
- return configError(prNumber, headAssert.message, runner.proxied);
297
+ return configError(prNumber, headAssert.message, runner.proxied, headAssert.reason);
288
298
  }
289
299
  briefRoot =
290
300
  headAssert.resolvedProjectRoot !== undefined ? resolve(headAssert.resolvedProjectRoot) : root;
@@ -296,12 +306,14 @@ export function evaluate(projectRoot, prNumber, options = {}) {
296
306
  catch (err) {
297
307
  const message = err instanceof Error ? err.message : String(err);
298
308
  if (message.includes("No xbrief/ layout found")) {
299
- return nothingToCheck();
309
+ return configError(prNumber, `caller lifecycle root ${root} has briefs but selected brief root ${briefRoot} has no xbrief layout. ` +
310
+ "Pass --project-root to a PR-head worktree that carries the lifecycle briefs.", runner.proxied, "brief-root-layout-missing");
300
311
  }
301
312
  return configError(prNumber, message, runner.proxied);
302
313
  }
303
314
  if (!existsSync(lifecycleRoot)) {
304
- return nothingToCheck();
315
+ return configError(prNumber, `caller lifecycle root ${root} has briefs but selected brief root ${briefRoot} lifecycle path is missing. ` +
316
+ "Pass --project-root to a PR-head worktree that carries the lifecycle briefs.", runner.proxied, "brief-root-layout-missing");
305
317
  }
306
318
  }
307
319
  }
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/pr-closeout-attestable/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/pr-closeout-attestable/evaluate.ts"],"names":[],"mappings":"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"}