@deftai/directive-runtime 0.129.5 → 0.129.7

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 (222) hide show
  1. package/Taskfile.yml +316 -0
  2. package/UPGRADING.md +1 -0
  3. package/commands.md +5 -3
  4. package/contracts/design-critique.md +1 -1
  5. package/contracts/path-write-fence.md +6 -0
  6. package/dist/applying-host-release.d.ts +16 -0
  7. package/dist/applying-host-release.js +98 -0
  8. package/dist/authz.d.ts +1 -1
  9. package/dist/authz.js +1 -1
  10. package/dist/check.d.ts +1 -0
  11. package/dist/check.js +27 -4
  12. package/dist/design-critique-ensure-arc-dest.d.ts +16 -0
  13. package/dist/design-critique-ensure-arc-dest.js +168 -0
  14. package/dist/dispatch.d.ts +1 -1
  15. package/dist/dispatch.js +8 -0
  16. package/dist/hook-dispatch.js +3 -2
  17. package/dist/human-presence-mint.d.ts +6 -1
  18. package/dist/human-presence-mint.js +20 -6
  19. package/dist/session-start.d.ts +8 -2
  20. package/dist/session-start.js +70 -15
  21. package/dist/setup-wiring.d.ts +36 -0
  22. package/dist/setup-wiring.js +169 -14
  23. package/dist/vbrief-preflight.d.ts +4 -0
  24. package/dist/vbrief-preflight.js +34 -0
  25. package/dist/verify-scope-provenance.d.ts +13 -1
  26. package/dist/verify-scope-provenance.js +44 -1
  27. package/dist/verify-source-cli/verify-deposit-closure.js +5 -5
  28. package/dist/windows-bin-ps1.d.ts +2 -2
  29. package/dist/windows-bin-ps1.js +5 -11
  30. package/docs/deft-directive-disable.md +3 -3
  31. package/docs/getting-started.md +2 -0
  32. package/docs/scope-provenance.md +15 -1
  33. package/package.json +2 -3
  34. package/packs/lessons/lessons-pack-0.1.json +15 -0
  35. package/packs/skills/skills-pack-0.1.json +3 -3
  36. package/skills/deft-directive-design-critique/SKILL.md +1 -1
  37. package/skills/deft-directive-release/SKILL.md +31 -1
  38. package/skills/deft-directive-review-cycle/SKILL.md +15 -6
  39. package/skills/deft-directive-swarm/references/host-grok-build.md +3 -2
  40. package/vendor/directive-content/Taskfile.yml +316 -0
  41. package/vendor/directive-content/UPGRADING.md +1 -0
  42. package/vendor/directive-content/commands.md +5 -3
  43. package/vendor/directive-content/contracts/design-critique.md +1 -1
  44. package/vendor/directive-content/contracts/path-write-fence.md +6 -0
  45. package/vendor/directive-content/docs/deft-directive-disable.md +3 -3
  46. package/vendor/directive-content/docs/getting-started.md +2 -0
  47. package/vendor/directive-content/docs/scope-provenance.md +15 -1
  48. package/vendor/directive-content/packs/lessons/lessons-pack-0.1.json +15 -0
  49. package/vendor/directive-content/packs/skills/skills-pack-0.1.json +3 -3
  50. package/vendor/directive-content/skills/deft-directive-design-critique/SKILL.md +1 -1
  51. package/vendor/directive-content/skills/deft-directive-release/SKILL.md +31 -1
  52. package/vendor/directive-content/skills/deft-directive-review-cycle/SKILL.md +15 -6
  53. package/vendor/directive-content/skills/deft-directive-swarm/references/host-grok-build.md +3 -2
  54. package/vendor/directive-core/dist/.tsbuildinfo +1 -1
  55. package/vendor/directive-core/dist/authz/classify.d.ts +12 -0
  56. package/vendor/directive-core/dist/authz/classify.d.ts.map +1 -1
  57. package/vendor/directive-core/dist/authz/classify.js +40 -12
  58. package/vendor/directive-core/dist/authz/classify.js.map +1 -1
  59. package/vendor/directive-core/dist/authz/templates.d.ts +2 -2
  60. package/vendor/directive-core/dist/authz/templates.d.ts.map +1 -1
  61. package/vendor/directive-core/dist/authz/templates.js +1 -0
  62. package/vendor/directive-core/dist/authz/templates.js.map +1 -1
  63. package/vendor/directive-core/dist/authz/types.d.ts +1 -1
  64. package/vendor/directive-core/dist/authz/types.d.ts.map +1 -1
  65. package/vendor/directive-core/dist/authz/types.js +2 -0
  66. package/vendor/directive-core/dist/authz/types.js.map +1 -1
  67. package/vendor/directive-core/dist/authz/verb-classification.d.ts.map +1 -1
  68. package/vendor/directive-core/dist/authz/verb-classification.js +30 -3
  69. package/vendor/directive-core/dist/authz/verb-classification.js.map +1 -1
  70. package/vendor/directive-core/dist/cache/fetch.d.ts.map +1 -1
  71. package/vendor/directive-core/dist/cache/fetch.js +50 -4
  72. package/vendor/directive-core/dist/cache/fetch.js.map +1 -1
  73. package/vendor/directive-core/dist/design-critique/arc-dest.d.ts +22 -5
  74. package/vendor/directive-core/dist/design-critique/arc-dest.d.ts.map +1 -1
  75. package/vendor/directive-core/dist/design-critique/arc-dest.js +61 -0
  76. package/vendor/directive-core/dist/design-critique/arc-dest.js.map +1 -1
  77. package/vendor/directive-core/dist/design-critique/run-posture.d.ts +7 -2
  78. package/vendor/directive-core/dist/design-critique/run-posture.d.ts.map +1 -1
  79. package/vendor/directive-core/dist/design-critique/run-posture.js +6 -1
  80. package/vendor/directive-core/dist/design-critique/run-posture.js.map +1 -1
  81. package/vendor/directive-core/dist/fs/contained-write.d.ts +8 -2
  82. package/vendor/directive-core/dist/fs/contained-write.d.ts.map +1 -1
  83. package/vendor/directive-core/dist/fs/contained-write.js +22 -6
  84. package/vendor/directive-core/dist/fs/contained-write.js.map +1 -1
  85. package/vendor/directive-core/dist/hooks/dispatcher.d.ts +1 -1
  86. package/vendor/directive-core/dist/hooks/dispatcher.d.ts.map +1 -1
  87. package/vendor/directive-core/dist/hooks/dispatcher.js +290 -16
  88. package/vendor/directive-core/dist/hooks/dispatcher.js.map +1 -1
  89. package/vendor/directive-core/dist/hooks/shell-write-targets.d.ts +5 -0
  90. package/vendor/directive-core/dist/hooks/shell-write-targets.d.ts.map +1 -1
  91. package/vendor/directive-core/dist/hooks/shell-write-targets.js +18 -1
  92. package/vendor/directive-core/dist/hooks/shell-write-targets.js.map +1 -1
  93. package/vendor/directive-core/dist/init-deposit/agent-hooks.d.ts +26 -1
  94. package/vendor/directive-core/dist/init-deposit/agent-hooks.d.ts.map +1 -1
  95. package/vendor/directive-core/dist/init-deposit/agent-hooks.js +52 -3
  96. package/vendor/directive-core/dist/init-deposit/agent-hooks.js.map +1 -1
  97. package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts +48 -0
  98. package/vendor/directive-core/dist/init-deposit/host-hook-outer.d.ts.map +1 -1
  99. package/vendor/directive-core/dist/init-deposit/host-hook-outer.js +170 -9
  100. package/vendor/directive-core/dist/init-deposit/host-hook-outer.js.map +1 -1
  101. package/vendor/directive-core/dist/init-deposit/scaffold.d.ts +8 -1
  102. package/vendor/directive-core/dist/init-deposit/scaffold.d.ts.map +1 -1
  103. package/vendor/directive-core/dist/init-deposit/scaffold.js +38 -4
  104. package/vendor/directive-core/dist/init-deposit/scaffold.js.map +1 -1
  105. package/vendor/directive-core/dist/install-health/cheap.d.ts +2 -1
  106. package/vendor/directive-core/dist/install-health/cheap.d.ts.map +1 -1
  107. package/vendor/directive-core/dist/install-health/cheap.js +4 -3
  108. package/vendor/directive-core/dist/install-health/cheap.js.map +1 -1
  109. package/vendor/directive-core/dist/install-health/constants.d.ts +18 -2
  110. package/vendor/directive-core/dist/install-health/constants.d.ts.map +1 -1
  111. package/vendor/directive-core/dist/install-health/constants.js +18 -2
  112. package/vendor/directive-core/dist/install-health/constants.js.map +1 -1
  113. package/vendor/directive-core/dist/policy/deft-directive-disable.d.ts +42 -5
  114. package/vendor/directive-core/dist/policy/deft-directive-disable.d.ts.map +1 -1
  115. package/vendor/directive-core/dist/policy/deft-directive-disable.js +71 -41
  116. package/vendor/directive-core/dist/policy/deft-directive-disable.js.map +1 -1
  117. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.d.ts +6 -1
  118. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.d.ts.map +1 -1
  119. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.js +24 -12
  120. package/vendor/directive-core/dist/pr-closeout-attestable/evaluate.js.map +1 -1
  121. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.d.ts +68 -14
  122. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.d.ts.map +1 -1
  123. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.js +278 -47
  124. package/vendor/directive-core/dist/pr-closeout-attestable/pr-head-assert.js.map +1 -1
  125. package/vendor/directive-core/dist/pr-merge-readiness/slizard-gate.d.ts +10 -5
  126. package/vendor/directive-core/dist/pr-merge-readiness/slizard-gate.d.ts.map +1 -1
  127. package/vendor/directive-core/dist/pr-merge-readiness/slizard-gate.js +41 -18
  128. package/vendor/directive-core/dist/pr-merge-readiness/slizard-gate.js.map +1 -1
  129. package/vendor/directive-core/dist/preflight-gh/pre-push.d.ts +3 -2
  130. package/vendor/directive-core/dist/preflight-gh/pre-push.d.ts.map +1 -1
  131. package/vendor/directive-core/dist/preflight-gh/pre-push.js +19 -18
  132. package/vendor/directive-core/dist/preflight-gh/pre-push.js.map +1 -1
  133. package/vendor/directive-core/dist/release/gh.d.ts.map +1 -1
  134. package/vendor/directive-core/dist/release/gh.js +2 -1
  135. package/vendor/directive-core/dist/release/gh.js.map +1 -1
  136. package/vendor/directive-core/dist/release/version.d.ts +4 -2
  137. package/vendor/directive-core/dist/release/version.d.ts.map +1 -1
  138. package/vendor/directive-core/dist/release/version.js +4 -2
  139. package/vendor/directive-core/dist/release/version.js.map +1 -1
  140. package/vendor/directive-core/dist/release-publish/gh-api.d.ts.map +1 -1
  141. package/vendor/directive-core/dist/release-publish/gh-api.js +4 -2
  142. package/vendor/directive-core/dist/release-publish/gh-api.js.map +1 -1
  143. package/vendor/directive-core/dist/release-publish/main.d.ts.map +1 -1
  144. package/vendor/directive-core/dist/release-publish/main.js +15 -4
  145. package/vendor/directive-core/dist/release-publish/main.js.map +1 -1
  146. package/vendor/directive-core/dist/release-publish/pipeline.d.ts +11 -0
  147. package/vendor/directive-core/dist/release-publish/pipeline.d.ts.map +1 -1
  148. package/vendor/directive-core/dist/release-publish/pipeline.js +143 -2
  149. package/vendor/directive-core/dist/release-publish/pipeline.js.map +1 -1
  150. package/vendor/directive-core/dist/release-rollback/gh.d.ts.map +1 -1
  151. package/vendor/directive-core/dist/release-rollback/gh.js +2 -1
  152. package/vendor/directive-core/dist/release-rollback/gh.js.map +1 -1
  153. package/vendor/directive-core/dist/scope/delivery-evidence.d.ts +202 -19
  154. package/vendor/directive-core/dist/scope/delivery-evidence.d.ts.map +1 -1
  155. package/vendor/directive-core/dist/scope/delivery-evidence.js +948 -107
  156. package/vendor/directive-core/dist/scope/delivery-evidence.js.map +1 -1
  157. package/vendor/directive-core/dist/scope/transition.d.ts +4 -1
  158. package/vendor/directive-core/dist/scope/transition.d.ts.map +1 -1
  159. package/vendor/directive-core/dist/scope/transition.js +2 -2
  160. package/vendor/directive-core/dist/scope/transition.js.map +1 -1
  161. package/vendor/directive-core/dist/scope-provenance/base-fence.d.ts +11 -2
  162. package/vendor/directive-core/dist/scope-provenance/base-fence.d.ts.map +1 -1
  163. package/vendor/directive-core/dist/scope-provenance/base-fence.js +16 -1
  164. package/vendor/directive-core/dist/scope-provenance/base-fence.js.map +1 -1
  165. package/vendor/directive-core/dist/scope-provenance/evaluate.d.ts +12 -0
  166. package/vendor/directive-core/dist/scope-provenance/evaluate.d.ts.map +1 -1
  167. package/vendor/directive-core/dist/scope-provenance/evaluate.js +41 -5
  168. package/vendor/directive-core/dist/scope-provenance/evaluate.js.map +1 -1
  169. package/vendor/directive-core/dist/scope-provenance/forge-approval.d.ts +106 -0
  170. package/vendor/directive-core/dist/scope-provenance/forge-approval.d.ts.map +1 -0
  171. package/vendor/directive-core/dist/scope-provenance/forge-approval.js +382 -0
  172. package/vendor/directive-core/dist/scope-provenance/forge-approval.js.map +1 -0
  173. package/vendor/directive-core/dist/session/git.d.ts +21 -2
  174. package/vendor/directive-core/dist/session/git.d.ts.map +1 -1
  175. package/vendor/directive-core/dist/session/git.js +21 -4
  176. package/vendor/directive-core/dist/session/git.js.map +1 -1
  177. package/vendor/directive-core/dist/session/occupancy.d.ts +93 -6
  178. package/vendor/directive-core/dist/session/occupancy.d.ts.map +1 -1
  179. package/vendor/directive-core/dist/session/occupancy.js +215 -52
  180. package/vendor/directive-core/dist/session/occupancy.js.map +1 -1
  181. package/vendor/directive-core/dist/session/orientation-compression.d.ts +18 -2
  182. package/vendor/directive-core/dist/session/orientation-compression.d.ts.map +1 -1
  183. package/vendor/directive-core/dist/session/orientation-compression.js +38 -5
  184. package/vendor/directive-core/dist/session/orientation-compression.js.map +1 -1
  185. package/vendor/directive-core/dist/session/session-start.d.ts +47 -2
  186. package/vendor/directive-core/dist/session/session-start.d.ts.map +1 -1
  187. package/vendor/directive-core/dist/session/session-start.js +154 -3
  188. package/vendor/directive-core/dist/session/session-start.js.map +1 -1
  189. package/vendor/directive-core/dist/swarm/approach1-babysitter.d.ts +18 -4
  190. package/vendor/directive-core/dist/swarm/approach1-babysitter.d.ts.map +1 -1
  191. package/vendor/directive-core/dist/swarm/approach1-babysitter.js +28 -4
  192. package/vendor/directive-core/dist/swarm/approach1-babysitter.js.map +1 -1
  193. package/vendor/directive-core/dist/swarm/dest-place.d.ts +1 -1
  194. package/vendor/directive-core/dist/swarm/dest-place.d.ts.map +1 -1
  195. package/vendor/directive-core/dist/swarm/dest-place.js +36 -41
  196. package/vendor/directive-core/dist/swarm/dest-place.js.map +1 -1
  197. package/vendor/directive-core/dist/swarm/finalize-cohort.d.ts +29 -0
  198. package/vendor/directive-core/dist/swarm/finalize-cohort.d.ts.map +1 -1
  199. package/vendor/directive-core/dist/swarm/finalize-cohort.js +122 -11
  200. package/vendor/directive-core/dist/swarm/finalize-cohort.js.map +1 -1
  201. package/vendor/directive-core/dist/swarm/finalize-owed.d.ts +14 -0
  202. package/vendor/directive-core/dist/swarm/finalize-owed.d.ts.map +1 -1
  203. package/vendor/directive-core/dist/swarm/finalize-owed.js +214 -48
  204. package/vendor/directive-core/dist/swarm/finalize-owed.js.map +1 -1
  205. package/vendor/directive-core/dist/swarm/launch.d.ts.map +1 -1
  206. package/vendor/directive-core/dist/swarm/launch.js +15 -4
  207. package/vendor/directive-core/dist/swarm/launch.js.map +1 -1
  208. package/vendor/directive-core/dist/swarm/worktree-pm-install.d.ts +49 -2
  209. package/vendor/directive-core/dist/swarm/worktree-pm-install.d.ts.map +1 -1
  210. package/vendor/directive-core/dist/swarm/worktree-pm-install.js +207 -12
  211. package/vendor/directive-core/dist/swarm/worktree-pm-install.js.map +1 -1
  212. package/vendor/directive-core/dist/swarm/worktrees-cli.d.ts +6 -0
  213. package/vendor/directive-core/dist/swarm/worktrees-cli.d.ts.map +1 -1
  214. package/vendor/directive-core/dist/swarm/worktrees-cli.js +79 -2
  215. package/vendor/directive-core/dist/swarm/worktrees-cli.js.map +1 -1
  216. package/vendor/directive-core/dist/swarm/worktrees.d.ts +12 -1
  217. package/vendor/directive-core/dist/swarm/worktrees.d.ts.map +1 -1
  218. package/vendor/directive-core/dist/swarm/worktrees.js +34 -26
  219. package/vendor/directive-core/dist/swarm/worktrees.js.map +1 -1
  220. package/vendor/directive-core/dist/triage/evaluate/worktrees.d.ts.map +1 -1
  221. package/vendor/directive-core/dist/triage/evaluate/worktrees.js +219 -60
  222. package/vendor/directive-core/dist/triage/evaluate/worktrees.js.map +1 -1
@@ -18,6 +18,11 @@
18
18
  * other undeclared paths must match the allowlist. Peer coverage never clears
19
19
  * a missing own allowlist. Missing-mint remediation is split or land a widened
20
20
  * concrete brief — never renew mint.
21
+ *
22
+ * Forge approval (#6203): when no mint is present, a qualifying human forge
23
+ * approval (see forge-approval.ts) may admit the head brief's concrete
24
+ * file_scope for membership only (`forge-approval` authority, same rules as
25
+ * precommitment). The production fence below stays merge-base.
21
26
  */
22
27
  import { matchAny, matchPath } from "../orchestration/pathspec.js";
23
28
  import { DEFAULT_FIXTURE_ROOTS, DEFAULT_SOURCE_ROOTS, DEFAULT_TEST_ROOTS, } from "../test-boundary/policy.js";
@@ -147,6 +152,10 @@ export function evaluateProductionScopeFence(input) {
147
152
  concreteBaseCount: concreteBase.length,
148
153
  };
149
154
  }
155
+ /** Concrete-only authorities: globs never admit and empty is not authoritative (F4). */
156
+ function isConcreteOnlyAuthority(authority) {
157
+ return authority === "precommitment" || authority === "forge-approval";
158
+ }
150
159
  function normalizeMembershipRel(raw) {
151
160
  return raw.replace(/\\/g, "/").replace(/^\.\//, "");
152
161
  }
@@ -164,6 +173,11 @@ function remediationForOutsideMembership(extras, authority) {
164
173
  "A present human mint is authoritative; widening the merge-base brief file_scope will not " +
165
174
  `clear this finding. Live HEAD file_scope cannot authorize extras. ${outside}`);
166
175
  }
176
+ if (authority === "forge-approval") {
177
+ return ("Split paths outside the forge-approved head brief file_scope to a follow-up story, or " +
178
+ "widen the head brief and get a fresh qualifying human approval on the new head (#6203). " +
179
+ outside);
180
+ }
167
181
  return ("Split paths outside the membership allowlist to a follow-up story, or land a " +
168
182
  "widened concrete brief on the merge base before widening (#5192). Live HEAD " +
169
183
  `file_scope cannot authorize extras. ${outside}`);
@@ -217,7 +231,7 @@ export function evaluateApprovedScopeMembership(input) {
217
231
  return false;
218
232
  };
219
233
  const rawOwn = input.baseApprovedFileScope;
220
- const ownAllow = authority === "precommitment"
234
+ const ownAllow = isConcreteOnlyAuthority(authority)
221
235
  ? normalizeFileScope(rawOwn ?? []).filter((e) => isConcreteFileScopeEntry(e))
222
236
  : normalizeFileScope(rawOwn ?? []);
223
237
  const peerAllow = normalizeFileScope((input.peerApprovedFileScopes ?? []).flat());
@@ -316,6 +330,7 @@ export function evaluateApprovedScopeMembership(input) {
316
330
  expandedPaths: outside,
317
331
  detail: `changed paths outside membership allowlist (#4774 / #5192` +
318
332
  `${authority === "precommitment" ? "; concrete precommitment" : ""}` +
333
+ `${authority === "forge-approval" ? "; forge-approved head brief (#6203)" : ""}` +
319
334
  `${overflow.length > 0 ? `; production extras past allowance ${String(allowance)}` : ""}` +
320
335
  `): ${outside.join(", ")}`,
321
336
  remediation: remediationForOutsideMembership(outside, authority),
@@ -1 +1 @@
1
- {"version":3,"file":"base-fence.js","sourceRoot":"","sources":["../../src/scope-provenance/base-fence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-fence.js","sourceRoot":"","sources":["../../src/scope-provenance/base-fence.ts"],"names":[],"mappings":"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"}
@@ -25,11 +25,17 @@
25
25
  * only when active on the merge base. Brand-new pending that was never
26
26
  * active on base must not become an active scope via the diff or the map.
27
27
  *
28
+ * Forge approval (#6203): with a PR context and no present mint, a failing
29
+ * membership check may admit the head brief's concrete file_scope when a
30
+ * qualifying human forge approval covers its auth-hash v1. Membership only;
31
+ * the production fence still reads the merge-base brief.
32
+ *
28
33
  * Intent-pin checks (#3385) remain for existing base-committed records.
29
34
  *
30
35
  * Three-state exit: 0 clean / 1 fence violation / 2 config.
31
36
  */
32
37
  import { type ApprovedScopeRecord } from "./digest.js";
38
+ import { type ForgeApprovalContext } from "./forge-approval.js";
33
39
  export type ScopeProvenanceViolationKind = "self-authorizing-scope-expansion" | "production-scope-over-budget" | "active-xbrief-modified-without-digest" | "change-set-outside-approved-scope" | "digest-mismatch-without-renewal" | "intent-drift" | "unclassified-key" | "intent-digest-mismatch" | "duplicate-key" | "duplicate-item-id" | "same-pr-intent-rewrite" | "first-activation-missing-intent-pin" | "legacy-intent-edit" | "intent-parse-error";
34
40
  export interface ScopeProvenanceFinding {
35
41
  readonly xbriefRelPath: string;
@@ -79,6 +85,12 @@ export interface ScopeProvenanceOptions {
79
85
  readonly testRoots?: readonly string[];
80
86
  readonly fixtureRoots?: readonly string[];
81
87
  readonly sourceRoots?: readonly string[];
88
+ /**
89
+ * PR context for the forge-approved head-brief membership admit (#6203).
90
+ * Consulted only when membership fails under precommitment or missing
91
+ * authority (never under a present mint). Absent → today's Path B.
92
+ */
93
+ readonly forgeApproval?: ForgeApprovalContext;
82
94
  }
83
95
  /**
84
96
  * Resolve a PR-aware base ref. Bare `HEAD` only shows uncommitted changes, so
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/scope-provenance/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AA0BH,OAAO,EACL,KAAK,mBAAmB,EAUzB,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,4BAA4B,GACpC,kCAAkC,GAClC,8BAA8B,GAC9B,uCAAuC,GACvC,mCAAmC,GACnC,iCAAiC,GACjC,cAAc,GACd,kBAAkB,GAClB,wBAAwB,GACxB,eAAe,GACf,mBAAmB,GACnB,wBAAwB,GACxB,qCAAqC,GACrC,oBAAoB,GACpB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,4CAA4C;IAC5C,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC1D;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACxE,kEAAkE;IAClE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC;IACtF,sEAAsE;IACtE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACzD;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,+EAA+E;IAC/E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,qEAAqE;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AA4BD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BxE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmClD;AAsFD,wFAAwF;AACxF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAwBvF;AA+MD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAwBnF;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;CAC/C,GAAG,OAAO,CA0BV;AAMD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,mBAAmB,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;CAC7E,GAAG,sBAAsB,GAAG,IAAI,CAGhC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,sBAA2B,GACnC,qBAAqB,CAm8BvB;AAED,qDAAqD;AACrD,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/scope-provenance/evaluate.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,11 @@
25
25
  * only when active on the merge base. Brand-new pending that was never
26
26
  * active on base must not become an active scope via the diff or the map.
27
27
  *
28
+ * Forge approval (#6203): with a PR context and no present mint, a failing
29
+ * membership check may admit the head brief's concrete file_scope when a
30
+ * qualifying human forge approval covers its auth-hash v1. Membership only;
31
+ * the production fence still reads the merge-base brief.
32
+ *
28
33
  * Intent-pin checks (#3385) remain for existing base-committed records.
29
34
  *
30
35
  * Three-state exit: 0 clean / 1 fence violation / 2 config.
@@ -38,6 +43,7 @@ import { loadTestBoundaryPolicy } from "../test-boundary/policy.js";
38
43
  import { evaluateApprovedScopeMembership, evaluateProductionScopeFence, isConcreteFileScopeEntry, pathMatchesFileScope, } from "./base-fence.js";
39
44
  import { censusFromBaseMap, continuityExemptPaths, isLifecycleXbriefPath, LIFECYCLE_FOLDERS, preMoveSameBasenameLifecyclePaths, resolveStoryContinuity, sameBasenameLifecyclePaths, } from "./continuity.js";
40
45
  import { approvedScopeIntentRel, approvedScopeSafePlanId, computeFileScopeDigest, extractFileScope, extractPlanId, isHumanApprovalStamp, listApprovedScopeRecords, normalizeFileScope, readApprovedScopeRecord, } from "./digest.js";
46
+ import { evaluateForgeHeadBriefApproval } from "./forge-approval.js";
41
47
  import { bodyDigestIsAuthority, evaluateIntentForXbrief } from "./intent-evaluate.js";
42
48
  import { recoverApprovedScopePairs } from "./mint-artifacts.js";
43
49
  function git(args, projectRoot) {
@@ -777,6 +783,8 @@ export function evaluateScopeProvenance(projectRoot, options = {}) {
777
783
  }
778
784
  }
779
785
  let reportedPeerFailure = false;
786
+ /** Forge-approval admit / reject notes appended to the result message (#6203). */
787
+ const forgeNotes = [];
780
788
  for (const { rel, raw } of activeEntries) {
781
789
  const modifiedEarly = changedSetHasPath(changedSet, rel);
782
790
  let payload;
@@ -1183,7 +1191,7 @@ export function evaluateScopeProvenance(projectRoot, options = {}) {
1183
1191
  }
1184
1192
  }
1185
1193
  }
1186
- const membershipHit = evaluateApprovedScopeMembership({
1194
+ const membershipInput = {
1187
1195
  xbriefRelPath: rel,
1188
1196
  planId: planId ?? rel,
1189
1197
  xbriefModifiedInChangeSet: modified,
@@ -1196,7 +1204,34 @@ export function evaluateScopeProvenance(projectRoot, options = {}) {
1196
1204
  testRoots: boundary.testRoots,
1197
1205
  fixtureRoots: boundary.fixtureRoots,
1198
1206
  sourceRoots: boundary.sourceRoots,
1199
- });
1207
+ };
1208
+ let membershipHit = evaluateApprovedScopeMembership(membershipInput);
1209
+ // Forge-approved head-brief admit (#6203): membership-only, never under a
1210
+ // present mint. Reject keeps today's finding unchanged (Path B).
1211
+ if (membershipHit !== null &&
1212
+ modified &&
1213
+ options.forgeApproval !== undefined &&
1214
+ (authorityForEval === "precommitment" || authorityForEval === "missing")) {
1215
+ const verdict = evaluateForgeHeadBriefApproval({
1216
+ projectRoot: root,
1217
+ context: options.forgeApproval,
1218
+ xbriefRelPath: rel,
1219
+ headPayload: payload,
1220
+ });
1221
+ if (verdict.kind === "admit") {
1222
+ membershipHit = evaluateApprovedScopeMembership({
1223
+ ...membershipInput,
1224
+ baseApprovedFileScope: normalizeFileScope(extractFileScope(payload)).filter((e) => isConcreteFileScopeEntry(e)),
1225
+ allowlistAuthority: "forge-approval",
1226
+ });
1227
+ forgeNotes.push(`forge approval (#6203): ${rel} head brief admitted for membership ` +
1228
+ `(approver=${verdict.approver}, commit=${verdict.commitId.slice(0, 7)}, ` +
1229
+ `${verdict.authHash})`);
1230
+ }
1231
+ else {
1232
+ forgeNotes.push(`forge approval (#6203): ${rel} not admitted -- ${verdict.reason}; Path B applies`);
1233
+ }
1234
+ }
1200
1235
  // Only emit membership when the xBRIEF is in the change set (helper no-ops otherwise).
1201
1236
  if (membershipHit !== null) {
1202
1237
  findings.push({
@@ -1406,12 +1441,13 @@ export function evaluateScopeProvenance(projectRoot, options = {}) {
1406
1441
  }
1407
1442
  }
1408
1443
  }
1444
+ const forgeTail = forgeNotes.length > 0 ? `\n${forgeNotes.join("\n")}` : "";
1409
1445
  if (findings.length === 0 && softFindings.length === 0) {
1410
1446
  return {
1411
1447
  exitCode: 0,
1412
1448
  findings: [],
1413
1449
  message: `verify_scope_provenance: clean (${activeEntries.length} active xBRIEF(s), ` +
1414
- `${changed.length} changed file(s)) (#3145).`,
1450
+ `${changed.length} changed file(s)) (#3145).${forgeTail}`,
1415
1451
  };
1416
1452
  }
1417
1453
  if (findings.length === 0) {
@@ -1423,7 +1459,7 @@ export function evaluateScopeProvenance(projectRoot, options = {}) {
1423
1459
  exitCode: 0,
1424
1460
  findings: softFindings,
1425
1461
  message: `verify_scope_provenance: WARN ${softFindings.length} intent-pin finding(s) ` +
1426
- `(intent edit on a brief with no intent pin (advisory; not failing)) (#3385).\n${body}`,
1462
+ `(intent edit on a brief with no intent pin (advisory; not failing)) (#3385).\n${body}${forgeTail}`,
1427
1463
  };
1428
1464
  }
1429
1465
  const all = [...findings, ...softFindings];
@@ -1437,7 +1473,7 @@ export function evaluateScopeProvenance(projectRoot, options = {}) {
1437
1473
  return {
1438
1474
  exitCode: 1,
1439
1475
  findings: all,
1440
- message: `verify_scope_provenance: ${findings.length} self-authorization violation(s) (#3145).\n${body}`,
1476
+ message: `verify_scope_provenance: ${findings.length} self-authorization violation(s) (#3145).\n${body}${forgeTail}`,
1441
1477
  };
1442
1478
  }
1443
1479
  /** Re-export builder for activation hook callers. */
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/scope-provenance/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../../src/scope-provenance/evaluate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Forge-approved head-brief membership admit (#6203).
3
+ *
4
+ * Membership (#4774 / #5192) trusts a brief's file_scope only from the merge
5
+ * base, so a PR that carries a new or widened brief plus its code is refused.
6
+ * This module supplies the only other accepted proof: a currently effective
7
+ * GitHub APPROVED review, by a non-author User with repo write, whose reviewed
8
+ * commit holds a brief with the same auth-hash v1 as the evaluated PR head.
9
+ *
10
+ * Auth-hash v1 covers plan.id, the xbrief path, the concrete file_scope, and
11
+ * the acceptanceCriteria array. Delivery metadata (plan.metadata.productPullRequest
12
+ * and the rest of plan.metadata) stays out, so a PPR stamp does not drop the
13
+ * approval.
14
+ *
15
+ * Every failure (no PR context, forge unavailable, Bot/App reviewer, withdrawn
16
+ * review, hash mismatch, head mismatch) returns a reject verdict. The caller
17
+ * keeps today's Path B or mint remediation. This module never throws.
18
+ *
19
+ * Residual: an agent that holds a second human forge token can satisfy these
20
+ * predicates. That confused-deputy posture stays on #6207; the hash does not
21
+ * close it.
22
+ */
23
+ export declare const FORGE_AUTH_HASH_SCHEMA: "deft.scope.forge-auth-hash.v1";
24
+ export interface ForgeAuthHashPreimage {
25
+ readonly schema: typeof FORGE_AUTH_HASH_SCHEMA;
26
+ readonly planId: string;
27
+ readonly xbriefPath: string;
28
+ readonly fileScope: readonly string[];
29
+ readonly acceptanceCriteria: readonly unknown[];
30
+ }
31
+ /**
32
+ * The acceptanceCriteria array of auth-hash v1, in document order:
33
+ * plan.acceptance, plan.narratives.AcceptanceCriteria, then each item's
34
+ * narrative.Acceptance (nested subItems / items depth-first).
35
+ */
36
+ export declare function collectAcceptanceCriteria(payload: unknown): unknown[];
37
+ /** Auth-hash v1 preimage, or null when the brief has no plan.id. */
38
+ export declare function buildAuthHashV1Preimage(payload: unknown, xbriefRelPath: string): ForgeAuthHashPreimage | null;
39
+ /** `sha256:<hex>` over canonical JSON of the v1 preimage; null without plan.id. */
40
+ export declare function computeAuthHashV1(payload: unknown, xbriefRelPath: string): string | null;
41
+ export type ForgeReadResult<T> = {
42
+ readonly ok: true;
43
+ readonly value: T;
44
+ } | {
45
+ readonly ok: false;
46
+ readonly detail: string;
47
+ };
48
+ /** REST reader. `path` is a `gh api` path such as `repos/o/r/pulls/1`. */
49
+ export interface ForgeApprovalReader {
50
+ readonly getJson: (path: string) => ForgeReadResult<unknown>;
51
+ /** Raw file bytes (contents API with the raw media type). */
52
+ readonly getRaw: (path: string) => ForgeReadResult<string>;
53
+ }
54
+ export interface ForgeApprovalGit {
55
+ /** `git rev-parse HEAD`, or null. */
56
+ readonly headSha: () => string | null;
57
+ /** Parents of HEAD (empty when unreadable). */
58
+ readonly headParents: () => readonly string[];
59
+ /** OWNER/NAME of the checkout's `origin` remote, or null. */
60
+ readonly originRepo: () => string | null;
61
+ }
62
+ export interface ForgeApprovalContext {
63
+ readonly prNumber: number;
64
+ /**
65
+ * OWNER/NAME the caller expects. It must equal the checkout's `origin`
66
+ * repo; it never replaces it (a fork approval cannot authorize here).
67
+ */
68
+ readonly repo?: string | null;
69
+ readonly reader?: ForgeApprovalReader;
70
+ readonly git?: ForgeApprovalGit;
71
+ }
72
+ export type ForgeApprovalVerdict = {
73
+ readonly kind: "admit";
74
+ readonly approver: string;
75
+ readonly commitId: string;
76
+ readonly authHash: string;
77
+ } | {
78
+ readonly kind: "reject";
79
+ readonly reason: string;
80
+ };
81
+ export declare const defaultForgeApprovalReader: ForgeApprovalReader;
82
+ export declare function defaultForgeApprovalGit(projectRoot: string): ForgeApprovalGit;
83
+ export interface ForgeReview {
84
+ readonly login: string | null;
85
+ readonly userType: string | null;
86
+ readonly state: string;
87
+ readonly commitId: string | null;
88
+ }
89
+ /**
90
+ * Currently effective approvals: per reviewer, the latest APPROVED /
91
+ * CHANGES_REQUESTED / DISMISSED review decides; COMMENTED and PENDING never
92
+ * override. Returns reviewers whose deciding review is APPROVED, latest first.
93
+ */
94
+ export declare function effectiveApprovals(reviews: readonly ForgeReview[]): ForgeReview[];
95
+ export interface ForgeHeadBriefApprovalInput {
96
+ readonly projectRoot: string;
97
+ readonly context: ForgeApprovalContext;
98
+ readonly xbriefRelPath: string;
99
+ readonly headPayload: unknown;
100
+ }
101
+ /**
102
+ * Decide whether a qualifying forge approval admits the evaluated head brief
103
+ * for membership. Never throws; any failure is a reject with a reason.
104
+ */
105
+ export declare function evaluateForgeHeadBriefApproval(input: ForgeHeadBriefApprovalInput): ForgeApprovalVerdict;
106
+ //# sourceMappingURL=forge-approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forge-approval.d.ts","sourceRoot":"","sources":["../../src/scope-provenance/forge-approval.ts"],"names":[],"mappings":"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"}