create-agdf 0.20.1 → 0.30.0

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 (847) hide show
  1. package/README.md +154 -192
  2. package/generated/.agdf/control/README.md +31 -110
  3. package/generated/.agdf/control/planned-urs.md +95 -0
  4. package/generated/.agdf/control/templates/RUN_STATE.md +15 -64
  5. package/generated/.agdf/control/templates/artefacts/SD.md +7 -1
  6. package/generated/.agdf/control/templates/artefacts/TP.md +4 -0
  7. package/generated/.agdf/control/templates/artefacts/UR.md +1 -1
  8. package/generated/.agents/plugins/marketplace.json +12 -0
  9. package/generated/.opencode/agdf-agent-router.md +3 -3
  10. package/generated/.opencode/agdf-interaction-locales.json +2668 -2682
  11. package/generated/.opencode/contracts/closeout.md +1 -1
  12. package/generated/.opencode/contracts/control-scaffold.md +63 -46
  13. package/generated/.opencode/contracts/gate-artifact-preparation.md +58 -48
  14. package/generated/.opencode/contracts/gate-transition.md +5 -6
  15. package/generated/.opencode/contracts/interaction.md +43 -126
  16. package/generated/.opencode/contracts/modes.md +4 -3
  17. package/generated/.opencode/contracts/prd-definition.md +6 -6
  18. package/generated/.opencode/contracts/quality.md +81 -6
  19. package/generated/.opencode/contracts/request-activation.md +9 -8
  20. package/generated/.opencode/contracts/sd-definition.md +19 -3
  21. package/generated/.opencode/contracts/task-target-resolution.md +24 -0
  22. package/generated/.opencode/contracts/tp-definition.md +7 -1
  23. package/generated/.opencode/contracts/ur-definition.md +41 -7
  24. package/generated/.opencode/skills/agdf-brownfield-analysis/SKILL.md +8 -5
  25. package/generated/.opencode/skills/agdf-clean-implementation-review/SKILL.md +5 -2
  26. package/generated/.opencode/skills/agdf-code-review/SKILL.md +7 -3
  27. package/generated/.opencode/skills/agdf-delivery-closeout/SKILL.md +3 -2
  28. package/generated/.opencode/skills/agdf-delivery-path-search/SKILL.md +3 -2
  29. package/generated/.opencode/skills/agdf-gate-check/SKILL.md +35 -31
  30. package/generated/.opencode/skills/agdf-prd-definition/SKILL.md +3 -2
  31. package/generated/.opencode/skills/agdf-qa-gate/SKILL.md +13 -11
  32. package/generated/.opencode/skills/agdf-release-or/SKILL.md +8 -5
  33. package/generated/.opencode/skills/agdf-sd-definition/SKILL.md +5 -3
  34. package/generated/.opencode/skills/agdf-task-plan-review/SKILL.md +5 -2
  35. package/generated/.opencode/skills/agdf-tp-definition/SKILL.md +5 -3
  36. package/generated/.opencode/skills/agdf-ur-definition/SKILL.md +12 -4
  37. package/generated/.opencode/skills/agdf-ux-intent-definition/SKILL.md +5 -4
  38. package/generated/plugins/agdf/.claude-plugin/plugin.json +3 -2
  39. package/generated/plugins/agdf/.codex-plugin/plugin.json +1 -1
  40. package/generated/plugins/agdf/companion/assignment.mjs +65 -0
  41. package/generated/plugins/agdf/companion/companion.json +4 -0
  42. package/generated/plugins/agdf/companion/core.mjs +16 -0
  43. package/generated/plugins/agdf/companion/figure.mjs +137 -0
  44. package/generated/plugins/agdf/companion/gate-bar.mjs +54 -0
  45. package/generated/plugins/agdf/companion/hooks.json +3 -0
  46. package/generated/plugins/agdf/companion/locales.json +200 -0
  47. package/generated/plugins/agdf/companion/localization.mjs +89 -0
  48. package/generated/plugins/agdf/companion/notice.mjs +90 -0
  49. package/generated/plugins/agdf/companion/persistence.mjs +36 -0
  50. package/generated/plugins/agdf/companion/register.mjs +444 -0
  51. package/generated/plugins/agdf/companion/run-state.mjs +110 -0
  52. package/generated/plugins/agdf/companion/state.mjs +48 -0
  53. package/generated/plugins/agdf/companion/view.mjs +84 -0
  54. package/generated/plugins/agdf/control/README.md +31 -110
  55. package/generated/plugins/agdf/control/planned-urs.md +95 -0
  56. package/generated/plugins/agdf/control/templates/RUN_STATE.md +15 -64
  57. package/generated/plugins/agdf/control/templates/artefacts/SD.md +7 -1
  58. package/generated/plugins/agdf/control/templates/artefacts/TP.md +4 -0
  59. package/generated/plugins/agdf/control/templates/artefacts/UR.md +1 -1
  60. package/generated/plugins/agdf/mcp/server/README.md +124 -12
  61. package/generated/plugins/agdf/mcp/server/package.json +12 -7
  62. package/generated/plugins/agdf/mcp/server/src/generation-entry.js +3 -85
  63. package/generated/plugins/agdf/mcp/server/src/generation-protocol.js +2 -44
  64. package/generated/plugins/agdf/mcp/server/src/generation-runtime.js +94 -0
  65. package/generated/plugins/agdf/mcp/server/src/generation-thread-entry.js +8 -0
  66. package/generated/plugins/agdf/mcp/server/src/generation.js +64 -20
  67. package/generated/plugins/agdf/mcp/server/src/main.js +42 -10
  68. package/generated/plugins/agdf/mcp/server/src/server.js +44 -22
  69. package/generated/plugins/agdf/mcp/server/src/stdio-output.js +42 -0
  70. package/generated/plugins/agdf/mcp/server/src/ui-capability.js +49 -1
  71. package/generated/plugins/agdf/mcp/server/src/worker-entry.js +2 -2
  72. package/generated/plugins/agdf/mcp/server/src/worker.js +53 -7
  73. package/generated/plugins/agdf/mcp/server/ui/cockpit.html +31 -31
  74. package/generated/plugins/agdf/mcp/server/ui/decision-manifest.json +3 -3
  75. package/generated/plugins/agdf/mcp/server/ui/decision.html +36 -36
  76. package/generated/plugins/agdf/mcp/server/ui/manifest.json +4 -4
  77. package/generated/plugins/agdf/meta/agdf-agent-router.md +3 -3
  78. package/generated/plugins/agdf/meta/agdf-defaults.json +9 -0
  79. package/generated/plugins/agdf/meta/agdf-defaults.schema.json +20 -0
  80. package/generated/plugins/agdf/meta/agdf-interaction-locales.json +2668 -2682
  81. package/generated/plugins/agdf/meta/agdf-mcp-capability.json +2 -2
  82. package/generated/plugins/agdf/meta/agdf-plugin.definition.json +12 -5
  83. package/generated/plugins/agdf/meta/contracts/closeout.md +1 -1
  84. package/generated/plugins/agdf/meta/contracts/control-scaffold.md +63 -46
  85. package/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +58 -48
  86. package/generated/plugins/agdf/meta/contracts/gate-transition.md +5 -6
  87. package/generated/plugins/agdf/meta/contracts/interaction.md +43 -126
  88. package/generated/plugins/agdf/meta/contracts/modes.md +4 -3
  89. package/generated/plugins/agdf/meta/contracts/prd-definition.md +6 -6
  90. package/generated/plugins/agdf/meta/contracts/quality.md +81 -6
  91. package/generated/plugins/agdf/meta/contracts/request-activation.md +9 -8
  92. package/generated/plugins/agdf/meta/contracts/sd-definition.md +19 -3
  93. package/generated/plugins/agdf/meta/contracts/task-target-resolution.md +24 -0
  94. package/generated/plugins/agdf/meta/contracts/tp-definition.md +7 -1
  95. package/generated/plugins/agdf/meta/contracts/ur-definition.md +41 -7
  96. package/generated/plugins/agdf/meta/copilot-payload-baseline.json +3 -3
  97. package/generated/plugins/agdf/meta/distribution-profile-history.json +14 -0
  98. package/generated/plugins/agdf/runtime/agdf-session-check.js +25 -21
  99. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.json +9 -0
  100. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.schema.json +20 -0
  101. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-interaction-locales.json +2668 -2682
  102. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-plugin.definition.json +12 -5
  103. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/closeout.md +1 -1
  104. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/control-scaffold.md +63 -46
  105. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +58 -48
  106. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-transition.md +5 -6
  107. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/interaction.md +43 -126
  108. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/modes.md +4 -3
  109. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/prd-definition.md +6 -6
  110. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/quality.md +81 -6
  111. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/request-activation.md +9 -8
  112. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/sd-definition.md +19 -3
  113. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/task-target-resolution.md +24 -0
  114. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/tp-definition.md +7 -1
  115. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/ur-definition.md +41 -7
  116. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/codex-document-command.js +195 -0
  117. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/command-registry.js +82 -148
  118. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/control-maintenance-command.js +8 -37
  119. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/parse-args.js +98 -16
  120. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/planned-command.js +55 -0
  121. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/project-read-command.js +35 -0
  122. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/run-command-aliases.js +116 -0
  123. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/runtime-context.js +1 -59
  124. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/validation-handlers.js +33 -103
  125. package/generated/plugins/agdf/runtime/create-agdf/lib/control-evaluation/git-observation.js +7 -5
  126. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/startup.js +2 -2
  127. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-decision-protocol.js +40 -0
  128. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-dispatch-runtime.js +71 -298
  129. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-entry.js +3 -24
  130. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-owner-entry.js +31 -15
  131. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-runtime.js +29 -0
  132. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-thread-entry.js +11 -0
  133. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/owner-client.js +79 -0
  134. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/package.js +14 -80
  135. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/plugin-runtime.js +29 -9
  136. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/thread-owner.js +164 -0
  137. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-owner-protocol.js +1 -0
  138. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-protocol-runtime.js +308 -0
  139. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-worker-runtime.js +152 -0
  140. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/control-command-service.js +22 -7
  141. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/control-context.js +8 -1
  142. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/validator-application.js +2 -2
  143. package/generated/plugins/agdf/runtime/create-agdf/package.json +5 -1
  144. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/closeout-readiness.js +10 -2
  145. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-placeholder.js +9 -0
  146. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-readiness.js +2 -7
  147. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/definition-sources.js +3 -2
  148. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/delivery-map.js +2 -12
  149. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/doctor.js +162 -172
  150. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-check.js +10 -9
  151. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-inputs.js +11 -0
  152. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-pure.js +446 -0
  153. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy.js +3 -434
  154. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/next-action.js +2 -0
  155. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/parent-reconciliation.js +2 -1
  156. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/qa-follow-up.js +2 -1
  157. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/required-files.js +9 -7
  158. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state-policy.js +1 -1
  159. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state.js +15 -9
  160. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-step-policy.js +2 -1
  161. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-work-summary.js +6 -4
  162. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared-value.js +7 -0
  163. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared.js +5 -254
  164. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/tp-planning.js +3 -2
  165. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/ur-readiness.js +7 -2
  166. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/verified-change.js +11 -9
  167. package/{runtime/core/lib/control-evaluation/backlog-vocabulary.js → generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/work-vocabulary.js} +2 -2
  168. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/artifact-readiness.js +5 -3
  169. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/authoring-inputs.js +110 -0
  170. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-archive.js +53 -0
  171. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-context.js +2 -1
  172. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-contract.js +11 -4
  173. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-list.d.ts +10 -6
  174. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-list.js +32 -41
  175. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-session.js +8 -8
  176. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-work.js +33 -0
  177. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit.js +75 -44
  178. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/contract.js +142 -58
  179. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/decision-session.js +53 -11
  180. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/doctor-observation.js +91 -0
  181. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-operation-call.js +5 -0
  182. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-state.js +48 -0
  183. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/result.js +61 -0
  184. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/selection.js +9 -3
  185. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/service.js +142 -72
  186. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/compatibility.js +42 -132
  187. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/contract.js +5 -5
  188. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/presentation.js +27 -119
  189. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/service.js +9 -37
  190. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/cockpit-pool.js +25 -9
  191. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/cockpit-worker.js +4 -3
  192. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-reader.js +92 -0
  193. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-worker.js +11 -0
  194. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/fs.js +18 -0
  195. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/snapshot.js +68 -17
  196. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/aggregate.js +3 -1
  197. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-command.js +13 -10
  198. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-operations.js +10 -7
  199. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-binding-proof.js +12 -20
  200. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-bindings.js +10 -7
  201. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/canonical-initialization.js +761 -0
  202. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/control-layout.js +183 -0
  203. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-action-contract.js +10 -1
  204. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-action-service.js +24 -3
  205. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-material-contract.js +2 -1
  206. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/evidence-bindings.js +7 -7
  207. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/git-identity.js +86 -0
  208. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/index.js +0 -1
  209. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/input-resolution.js +99 -0
  210. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-entry.js +273 -0
  211. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-handoff.js +174 -0
  212. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-inventory.js +90 -0
  213. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin-reader.js +48 -0
  214. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin.js +40 -0
  215. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-decision.js +12 -7
  216. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-delivery.js +90 -0
  217. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-render.js +5 -2
  218. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-review.js +3 -2
  219. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-snapshot.js +9 -6
  220. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/recording-formats.js +12 -16
  221. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-artefact-recording.js +54 -66
  222. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-closure.js +343 -0
  223. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-contract.js +33 -119
  224. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-schema.js +508 -0
  225. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-service.js +198 -34
  226. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-create-command.js +60 -0
  227. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.d.ts +14 -0
  228. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.js +40 -0
  229. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-input-resolution.js +72 -0
  230. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory-reader.js +31 -0
  231. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory.js +179 -0
  232. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-material.js +211 -0
  233. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-mutation.js +51 -0
  234. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-identity.js +2 -1
  235. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-proof.js +7 -4
  236. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-status.js +20 -4
  237. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operations.js +70 -13
  238. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-owned-outputs.js +21 -9
  239. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-envelope.js +25 -33
  240. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-render.js +9 -8
  241. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation.js +45 -21
  242. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recording.js +10 -179
  243. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-boundary.js +7 -21
  244. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-history.js +23 -16
  245. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision.js +84 -161
  246. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal-compute.js +19 -44
  247. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal.js +6 -1
  248. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-source-revisions.js +19 -18
  249. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-document.js +110 -42
  250. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-edits.js +13 -5
  251. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-parser.js +14 -6
  252. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-reader.js +27 -18
  253. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-repository.js +112 -48
  254. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-resolver.js +12 -15
  255. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-writer.js +21 -377
  256. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-pending.js +2 -1
  257. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-transaction.js +125 -114
  258. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-steps.js +136 -248
  259. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-store-inspection.js +14 -2
  260. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-verified-change.js +81 -0
  261. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-work-summary-shape.d.ts +1 -0
  262. package/{runtime/core/lib/control-state/backlog-summary-shape.js → generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-work-summary-shape.js} +7 -19
  263. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/delivery-continuation/service.js +5 -66
  264. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/persistence.js +26 -8
  265. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/state-adapter.js +1 -1
  266. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/index.js +14 -6
  267. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog.js +3 -3
  268. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/interaction-presentation.js +30 -12
  269. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-hints.js +46 -0
  270. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-resolution.js +98 -0
  271. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-schema.js +15 -0
  272. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-resource-contract.js +1 -1
  273. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-tool-errors.js +31 -15
  274. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/owned-file-lock.js +266 -0
  275. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/owner-placement.js +50 -0
  276. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/canonical-init-plan.js +34 -0
  277. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/configuration.js +92 -0
  278. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/context.js +7 -11
  279. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/language-preference.js +59 -0
  280. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/runtime/mcp-owner-protocol.js +102 -0
  281. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/runtime/plugin-provenance.js +173 -18
  282. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/compact-continuation.js +3 -3
  283. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/contract.js +28 -9
  284. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-intake.js +11 -5
  285. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +6 -10
  286. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/mcp-continuation.js +64 -0
  287. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/prd-definition.js +14 -5
  288. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/sd-definition.js +2 -1
  289. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/service.js +49 -14
  290. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/tp-definition.js +2 -1
  291. package/generated/plugins/agdf/runtime/runtime-manifest.json +2 -2
  292. package/generated/plugins/agdf/scripts/check-runtime-integrity.mjs +60 -42
  293. package/generated/plugins/agdf/scripts/instruction-footprint.mjs +5 -5
  294. package/generated/plugins/agdf/skills/brownfield-analysis/SKILL.md +8 -5
  295. package/generated/plugins/agdf/skills/clean-implementation-review/SKILL.md +5 -2
  296. package/generated/plugins/agdf/skills/code-review/SKILL.md +7 -3
  297. package/generated/plugins/agdf/skills/delivery-closeout/SKILL.md +3 -2
  298. package/generated/plugins/agdf/skills/delivery-path-search/SKILL.md +3 -2
  299. package/generated/plugins/agdf/skills/gate-check/SKILL.md +35 -31
  300. package/generated/plugins/agdf/skills/prd-definition/SKILL.md +3 -2
  301. package/generated/plugins/agdf/skills/qa-gate/SKILL.md +13 -11
  302. package/generated/plugins/agdf/skills/release-or/SKILL.md +8 -5
  303. package/generated/plugins/agdf/skills/sd-definition/SKILL.md +5 -3
  304. package/generated/plugins/agdf/skills/task-plan-review/SKILL.md +5 -2
  305. package/generated/plugins/agdf/skills/tp-definition/SKILL.md +5 -3
  306. package/generated/plugins/agdf/skills/ur-definition/SKILL.md +12 -4
  307. package/generated/plugins/agdf/skills/ux-intent-definition/SKILL.md +5 -4
  308. package/generated/plugins/agdf/submission/openai/availability.md +1 -1
  309. package/generated/plugins/agdf/submission/openai/capability-matrix.json +1 -1
  310. package/generated/plugins/agdf/submission/openai/release-notes.md +9 -1
  311. package/generated/plugins/agdf/submission/openai/reviewer-cases.json +1 -1
  312. package/generated/plugins/agdf-planning/.codex-plugin/plugin.json +40 -0
  313. package/generated/plugins/agdf-planning/README.md +21 -0
  314. package/generated/plugins/agdf-planning/assets/agdf-icon.svg +16 -0
  315. package/generated/plugins/agdf-planning/assets/agdf-logo.svg +16 -0
  316. package/generated/plugins/agdf-planning/meta/agdf-planning.definition.json +9 -0
  317. package/generated/plugins/agdf-planning/plugin.json +45 -0
  318. package/generated/plugins/agdf-planning/skills/planning/SKILL.md +56 -0
  319. package/generated/plugins/copilot/agdf/.agdf-payload-inventory.json +886 -483
  320. package/generated/plugins/copilot/agdf/control/README.md +31 -110
  321. package/generated/plugins/copilot/agdf/control/planned-urs.md +95 -0
  322. package/generated/plugins/copilot/agdf/control/templates/RUN_STATE.md +15 -64
  323. package/generated/plugins/copilot/agdf/control/templates/artefacts/SD.md +7 -1
  324. package/generated/plugins/copilot/agdf/control/templates/artefacts/TP.md +4 -0
  325. package/generated/plugins/copilot/agdf/control/templates/artefacts/UR.md +1 -1
  326. package/generated/plugins/copilot/agdf/mcp/server/README.md +124 -12
  327. package/generated/plugins/copilot/agdf/mcp/server/package.json +12 -7
  328. package/generated/plugins/copilot/agdf/mcp/server/src/generation-entry.js +3 -85
  329. package/generated/plugins/copilot/agdf/mcp/server/src/generation-protocol.js +2 -44
  330. package/generated/plugins/copilot/agdf/mcp/server/src/generation-runtime.js +94 -0
  331. package/generated/plugins/copilot/agdf/mcp/server/src/generation-thread-entry.js +8 -0
  332. package/generated/plugins/copilot/agdf/mcp/server/src/generation.js +64 -20
  333. package/generated/plugins/copilot/agdf/mcp/server/src/main.js +42 -10
  334. package/generated/plugins/copilot/agdf/mcp/server/src/server.js +44 -22
  335. package/generated/plugins/copilot/agdf/mcp/server/src/stdio-output.js +42 -0
  336. package/generated/plugins/copilot/agdf/mcp/server/src/ui-capability.js +49 -1
  337. package/generated/plugins/copilot/agdf/mcp/server/src/worker-entry.js +2 -2
  338. package/generated/plugins/copilot/agdf/mcp/server/src/worker.js +53 -7
  339. package/generated/plugins/copilot/agdf/meta/agdf-agent-router.md +3 -3
  340. package/generated/plugins/copilot/agdf/meta/agdf-plugin.definition.json +12 -5
  341. package/generated/plugins/copilot/agdf/meta/distribution-profile-history.json +14 -0
  342. package/generated/plugins/copilot/agdf/plugin.json +1 -1
  343. package/generated/plugins/copilot/agdf/runtime/agdf-session-check.js +25 -21
  344. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.json +9 -0
  345. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.schema.json +20 -0
  346. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-interaction-locales.json +2668 -2682
  347. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-plugin.definition.json +12 -5
  348. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/closeout.md +1 -1
  349. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/control-scaffold.md +63 -46
  350. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +58 -48
  351. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-transition.md +5 -6
  352. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/interaction.md +43 -126
  353. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/modes.md +4 -3
  354. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/prd-definition.md +6 -6
  355. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/quality.md +81 -6
  356. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/request-activation.md +9 -8
  357. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/sd-definition.md +19 -3
  358. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/task-target-resolution.md +24 -0
  359. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/tp-definition.md +7 -1
  360. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/ur-definition.md +41 -7
  361. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/codex-document-command.js +195 -0
  362. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/command-registry.js +82 -148
  363. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/control-maintenance-command.js +8 -37
  364. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/parse-args.js +98 -16
  365. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/planned-command.js +55 -0
  366. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/project-read-command.js +35 -0
  367. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/run-command-aliases.js +116 -0
  368. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/runtime-context.js +1 -59
  369. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/validation-handlers.js +33 -103
  370. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-evaluation/git-observation.js +7 -5
  371. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/startup.js +2 -2
  372. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-decision-protocol.js +40 -0
  373. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-dispatch-runtime.js +71 -298
  374. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-entry.js +3 -24
  375. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-owner-entry.js +31 -15
  376. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-runtime.js +29 -0
  377. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-thread-entry.js +11 -0
  378. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/owner-client.js +79 -0
  379. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/package.js +14 -80
  380. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/plugin-runtime.js +29 -9
  381. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/thread-owner.js +164 -0
  382. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-owner-protocol.js +1 -0
  383. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-protocol-runtime.js +308 -0
  384. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-worker-runtime.js +152 -0
  385. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/control-command-service.js +22 -7
  386. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/control-context.js +8 -1
  387. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/validator-application.js +2 -2
  388. package/generated/plugins/copilot/agdf/runtime/create-agdf/package.json +5 -1
  389. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/closeout-readiness.js +10 -2
  390. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-placeholder.js +9 -0
  391. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-readiness.js +2 -7
  392. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/definition-sources.js +3 -2
  393. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/delivery-map.js +2 -12
  394. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/doctor.js +162 -172
  395. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-check.js +10 -9
  396. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-inputs.js +11 -0
  397. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-pure.js +446 -0
  398. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy.js +3 -434
  399. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/next-action.js +2 -0
  400. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/parent-reconciliation.js +2 -1
  401. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/qa-follow-up.js +2 -1
  402. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/required-files.js +9 -7
  403. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state-policy.js +1 -1
  404. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state.js +15 -9
  405. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-step-policy.js +2 -1
  406. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-work-summary.js +6 -4
  407. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared-value.js +7 -0
  408. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared.js +5 -254
  409. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/tp-planning.js +3 -2
  410. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/ur-readiness.js +7 -2
  411. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/verified-change.js +11 -9
  412. package/generated/plugins/{agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/backlog-vocabulary.js → copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/work-vocabulary.js} +2 -2
  413. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/artifact-readiness.js +5 -3
  414. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/authoring-inputs.js +110 -0
  415. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-archive.js +53 -0
  416. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/contract.js +142 -58
  417. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/doctor-observation.js +91 -0
  418. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-operation-call.js +5 -0
  419. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-state.js +48 -0
  420. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/result.js +61 -0
  421. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/selection.js +9 -3
  422. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/service.js +142 -72
  423. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/compatibility.js +42 -132
  424. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/contract.js +5 -5
  425. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/presentation.js +27 -119
  426. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/service.js +9 -37
  427. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/cockpit-pool.js +121 -0
  428. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-reader.js +92 -0
  429. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-worker.js +11 -0
  430. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/fs.js +18 -0
  431. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/snapshot.js +68 -17
  432. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/aggregate.js +3 -1
  433. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-command.js +13 -10
  434. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-operations.js +10 -7
  435. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-binding-proof.js +12 -20
  436. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-bindings.js +10 -7
  437. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/canonical-initialization.js +761 -0
  438. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/control-layout.js +183 -0
  439. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-material-contract.js +2 -1
  440. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/evidence-bindings.js +7 -7
  441. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/git-identity.js +86 -0
  442. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/index.js +0 -1
  443. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/input-resolution.js +99 -0
  444. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-entry.js +273 -0
  445. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-handoff.js +174 -0
  446. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-inventory.js +90 -0
  447. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin-reader.js +48 -0
  448. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin.js +40 -0
  449. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-decision.js +12 -7
  450. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-delivery.js +90 -0
  451. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-render.js +5 -2
  452. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-review.js +3 -2
  453. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-snapshot.js +9 -6
  454. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/recording-formats.js +12 -16
  455. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-artefact-recording.js +54 -66
  456. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-closure.js +343 -0
  457. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-contract.js +33 -119
  458. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-schema.js +508 -0
  459. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-service.js +198 -34
  460. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-create-command.js +60 -0
  461. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.d.ts +14 -0
  462. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.js +40 -0
  463. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-input-resolution.js +72 -0
  464. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory-reader.js +31 -0
  465. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory.js +179 -0
  466. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-material.js +211 -0
  467. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-mutation.js +51 -0
  468. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-identity.js +2 -1
  469. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-proof.js +7 -4
  470. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-status.js +20 -4
  471. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operations.js +70 -13
  472. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-owned-outputs.js +21 -9
  473. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-envelope.js +25 -33
  474. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-render.js +9 -8
  475. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation.js +45 -21
  476. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recording.js +10 -179
  477. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-boundary.js +7 -21
  478. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-history.js +23 -16
  479. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision.js +84 -161
  480. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal-compute.js +19 -44
  481. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal.js +6 -1
  482. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-source-revisions.js +19 -18
  483. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-document.js +110 -42
  484. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-edits.js +13 -5
  485. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-parser.js +14 -6
  486. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-reader.js +27 -18
  487. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-repository.js +112 -48
  488. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-resolver.js +12 -15
  489. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-writer.js +21 -377
  490. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-pending.js +2 -1
  491. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-transaction.js +125 -114
  492. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-steps.js +136 -248
  493. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-store-inspection.js +14 -2
  494. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-verified-change.js +81 -0
  495. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-work-summary-shape.d.ts +1 -0
  496. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/{backlog-summary-shape.js → run-work-summary-shape.js} +7 -19
  497. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/delivery-continuation/service.js +5 -66
  498. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/persistence.js +26 -8
  499. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/state-adapter.js +1 -1
  500. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/index.js +14 -6
  501. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog.js +3 -3
  502. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/interaction-presentation.js +30 -12
  503. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-hints.js +46 -0
  504. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-resolution.js +98 -0
  505. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-schema.js +15 -0
  506. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-resource-contract.js +1 -1
  507. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-tool-errors.js +31 -15
  508. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/owned-file-lock.js +266 -0
  509. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/owner-placement.js +50 -0
  510. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/canonical-init-plan.js +34 -0
  511. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/configuration.js +92 -0
  512. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/context.js +7 -11
  513. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/language-preference.js +59 -0
  514. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/runtime/mcp-owner-protocol.js +102 -0
  515. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/runtime/plugin-provenance.js +173 -18
  516. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/compact-continuation.js +3 -3
  517. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/contract.js +28 -9
  518. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-intake.js +11 -5
  519. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +6 -10
  520. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/mcp-continuation.js +64 -0
  521. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/prd-definition.js +14 -5
  522. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/sd-definition.js +2 -1
  523. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/service.js +49 -14
  524. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/tp-definition.js +2 -1
  525. package/generated/plugins/copilot/agdf/runtime/runtime-manifest.json +2 -2
  526. package/generated/plugins/copilot/agdf/skills/agdf-brownfield-analysis/SKILL.md +8 -5
  527. package/generated/plugins/copilot/agdf/skills/agdf-clean-implementation-review/SKILL.md +5 -2
  528. package/generated/plugins/copilot/agdf/skills/agdf-code-review/SKILL.md +7 -3
  529. package/generated/plugins/copilot/agdf/skills/agdf-delivery-closeout/SKILL.md +3 -2
  530. package/generated/plugins/copilot/agdf/skills/agdf-delivery-path-search/SKILL.md +3 -2
  531. package/generated/plugins/copilot/agdf/skills/agdf-gate-check/SKILL.md +35 -31
  532. package/generated/plugins/copilot/agdf/skills/agdf-interaction-locales.json +1 -1
  533. package/generated/plugins/copilot/agdf/skills/agdf-prd-definition/SKILL.md +3 -2
  534. package/generated/plugins/copilot/agdf/skills/agdf-qa-gate/SKILL.md +13 -11
  535. package/generated/plugins/copilot/agdf/skills/agdf-release-or/SKILL.md +8 -5
  536. package/generated/plugins/copilot/agdf/skills/agdf-sd-definition/SKILL.md +5 -3
  537. package/generated/plugins/copilot/agdf/skills/agdf-task-plan-review/SKILL.md +5 -2
  538. package/generated/plugins/copilot/agdf/skills/agdf-tp-definition/SKILL.md +5 -3
  539. package/generated/plugins/copilot/agdf/skills/agdf-ur-definition/SKILL.md +12 -4
  540. package/generated/plugins/copilot/agdf/skills/agdf-ux-intent-definition/SKILL.md +5 -4
  541. package/generated/plugins/copilot/agdf/skills/contracts/closeout.md +1 -1
  542. package/generated/plugins/copilot/agdf/skills/contracts/control-scaffold.md +63 -46
  543. package/generated/plugins/copilot/agdf/skills/contracts/gate-artifact-preparation.md +58 -48
  544. package/generated/plugins/copilot/agdf/skills/contracts/gate-transition.md +5 -6
  545. package/generated/plugins/copilot/agdf/skills/contracts/interaction.md +43 -126
  546. package/generated/plugins/copilot/agdf/skills/contracts/modes.md +4 -3
  547. package/generated/plugins/copilot/agdf/skills/contracts/prd-definition.md +6 -6
  548. package/generated/plugins/copilot/agdf/skills/contracts/quality.md +81 -6
  549. package/generated/plugins/copilot/agdf/skills/contracts/request-activation.md +9 -8
  550. package/generated/plugins/copilot/agdf/skills/contracts/sd-definition.md +19 -3
  551. package/generated/plugins/copilot/agdf/skills/contracts/task-target-resolution.md +24 -0
  552. package/generated/plugins/copilot/agdf/skills/contracts/tp-definition.md +7 -1
  553. package/generated/plugins/copilot/agdf/skills/contracts/ur-definition.md +41 -7
  554. package/generated/submissions/openai/agdf/.codex-plugin/plugin.json +1 -1
  555. package/generated/submissions/openai/agdf/meta/agdf-agent-router.md +3 -3
  556. package/generated/submissions/openai/agdf/meta/agdf-defaults.json +9 -0
  557. package/generated/submissions/openai/agdf/meta/agdf-defaults.schema.json +20 -0
  558. package/generated/submissions/openai/agdf/meta/agdf-interaction-locales.json +2668 -2682
  559. package/generated/submissions/openai/agdf/meta/agdf-plugin.definition.json +12 -5
  560. package/generated/submissions/openai/agdf/meta/contracts/closeout.md +1 -1
  561. package/generated/submissions/openai/agdf/meta/contracts/control-scaffold.md +63 -46
  562. package/generated/submissions/openai/agdf/meta/contracts/gate-artifact-preparation.md +58 -48
  563. package/generated/submissions/openai/agdf/meta/contracts/gate-transition.md +5 -6
  564. package/generated/submissions/openai/agdf/meta/contracts/interaction.md +43 -126
  565. package/generated/submissions/openai/agdf/meta/contracts/modes.md +4 -3
  566. package/generated/submissions/openai/agdf/meta/contracts/prd-definition.md +6 -6
  567. package/generated/submissions/openai/agdf/meta/contracts/quality.md +81 -6
  568. package/generated/submissions/openai/agdf/meta/contracts/request-activation.md +9 -8
  569. package/generated/submissions/openai/agdf/meta/contracts/sd-definition.md +19 -3
  570. package/generated/submissions/openai/agdf/meta/contracts/task-target-resolution.md +24 -0
  571. package/generated/submissions/openai/agdf/meta/contracts/tp-definition.md +7 -1
  572. package/generated/submissions/openai/agdf/meta/contracts/ur-definition.md +41 -7
  573. package/generated/submissions/openai/agdf/meta/copilot-payload-baseline.json +3 -3
  574. package/generated/submissions/openai/agdf/meta/distribution-profile-history.json +14 -0
  575. package/generated/submissions/openai/agdf/plugin.json +1 -1
  576. package/generated/submissions/openai/agdf/skills/brownfield-analysis/SKILL.md +8 -5
  577. package/generated/submissions/openai/agdf/skills/clean-implementation-review/SKILL.md +5 -2
  578. package/generated/submissions/openai/agdf/skills/code-review/SKILL.md +7 -3
  579. package/generated/submissions/openai/agdf/skills/delivery-closeout/SKILL.md +3 -2
  580. package/generated/submissions/openai/agdf/skills/delivery-path-search/SKILL.md +3 -2
  581. package/generated/submissions/openai/agdf/skills/gate-check/SKILL.md +35 -31
  582. package/generated/submissions/openai/agdf/skills/prd-definition/SKILL.md +3 -2
  583. package/generated/submissions/openai/agdf/skills/qa-gate/SKILL.md +13 -11
  584. package/generated/submissions/openai/agdf/skills/release-or/SKILL.md +8 -5
  585. package/generated/submissions/openai/agdf/skills/sd-definition/SKILL.md +5 -3
  586. package/generated/submissions/openai/agdf/skills/task-plan-review/SKILL.md +5 -2
  587. package/generated/submissions/openai/agdf/skills/tp-definition/SKILL.md +5 -3
  588. package/generated/submissions/openai/agdf/skills/ur-definition/SKILL.md +12 -4
  589. package/generated/submissions/openai/agdf/skills/ux-intent-definition/SKILL.md +5 -4
  590. package/generated/submissions/openai/agdf/submission/openai/availability.md +1 -1
  591. package/generated/submissions/openai/agdf/submission/openai/capability-matrix.json +1 -1
  592. package/generated/submissions/openai/agdf/submission/openai/inventory.json +49 -41
  593. package/generated/submissions/openai/agdf/submission/openai/listing.json +1 -1
  594. package/generated/submissions/openai/agdf/submission/openai/readiness.json +2 -2
  595. package/generated/submissions/openai/agdf/submission/openai/readiness.md +2 -2
  596. package/generated/submissions/openai/agdf/submission/openai/release-notes.md +9 -1
  597. package/generated/submissions/openai/agdf/submission/openai/reviewer-cases.json +1 -1
  598. package/lib/cli/application.js +31 -43
  599. package/lib/cli/codex-document-command.js +195 -0
  600. package/lib/cli/command-registry.js +82 -148
  601. package/lib/cli/control-maintenance-command.js +8 -37
  602. package/lib/cli/parse-args.js +98 -16
  603. package/lib/cli/planned-command.js +55 -0
  604. package/lib/cli/project-init-command.js +21 -0
  605. package/lib/cli/project-read-command.js +35 -0
  606. package/lib/cli/run-command-aliases.js +116 -0
  607. package/lib/cli/runtime-context.js +1 -59
  608. package/lib/cli/validation-handlers.js +33 -103
  609. package/lib/control-evaluation/git-observation.js +7 -5
  610. package/lib/control-maintenance/startup.js +2 -2
  611. package/lib/host-adapters/codex/plugin.js +48 -1
  612. package/lib/install-setup/contract.js +4 -4
  613. package/lib/install-setup/{control-migration.js → control-compatibility.js} +1 -2
  614. package/lib/install-setup/interaction.js +0 -1
  615. package/lib/install-setup/presentation.js +3 -4
  616. package/lib/install-setup/service.js +5 -18
  617. package/lib/installers/local-marketplace.js +262 -8
  618. package/lib/lifecycle/codex-startup-status.js +29 -0
  619. package/lib/lifecycle/presentation.js +6 -0
  620. package/lib/mcp-decision-protocol.js +40 -0
  621. package/lib/mcp-dispatch-runtime.js +71 -298
  622. package/lib/mcp-lifecycle/adapters/codex-origin-probe.js +28 -4
  623. package/lib/mcp-lifecycle/adapters/copilot.js +13 -7
  624. package/lib/mcp-lifecycle/adapters/opencode.js +97 -8
  625. package/lib/mcp-lifecycle/evidence.js +2 -1
  626. package/lib/mcp-lifecycle/facade-entry.js +3 -24
  627. package/lib/mcp-lifecycle/facade-owner-entry.js +31 -15
  628. package/lib/mcp-lifecycle/facade-runtime.js +29 -0
  629. package/lib/mcp-lifecycle/facade-thread-entry.js +11 -0
  630. package/lib/mcp-lifecycle/owner-client.js +79 -0
  631. package/lib/mcp-lifecycle/package.js +14 -80
  632. package/lib/mcp-lifecycle/plugin-runtime.js +29 -9
  633. package/lib/mcp-lifecycle/profile.js +2 -1
  634. package/lib/mcp-lifecycle/service.js +5 -4
  635. package/lib/mcp-lifecycle/thread-owner.js +164 -0
  636. package/lib/mcp-owner-protocol.js +1 -0
  637. package/lib/mcp-protocol-runtime.js +308 -0
  638. package/lib/mcp-worker-runtime.js +152 -0
  639. package/lib/runtime/control-command-service.js +22 -7
  640. package/lib/runtime/control-context.js +8 -1
  641. package/lib/runtime/validator-application.js +2 -2
  642. package/lib/scaffold/canonical-init.js +2 -691
  643. package/lib/scaffold/plan.js +9 -32
  644. package/lib/scaffold/presentation.js +2 -2
  645. package/lib/scaffold/write.js +6 -1
  646. package/package.json +6 -2
  647. package/runtime/core/lib/control-evaluation/closeout-readiness.js +10 -2
  648. package/runtime/core/lib/control-evaluation/decision-content-placeholder.js +9 -0
  649. package/runtime/core/lib/control-evaluation/decision-content-readiness.js +2 -7
  650. package/runtime/core/lib/control-evaluation/definition-sources.js +3 -2
  651. package/runtime/core/lib/control-evaluation/delivery-map.js +2 -12
  652. package/runtime/core/lib/control-evaluation/doctor.js +162 -172
  653. package/runtime/core/lib/control-evaluation/gate-check.js +10 -9
  654. package/runtime/core/lib/control-evaluation/gate-policy-inputs.js +11 -0
  655. package/runtime/core/lib/control-evaluation/gate-policy-pure.js +446 -0
  656. package/runtime/core/lib/control-evaluation/gate-policy.js +3 -434
  657. package/runtime/core/lib/control-evaluation/next-action.js +2 -0
  658. package/runtime/core/lib/control-evaluation/parent-reconciliation.js +2 -1
  659. package/runtime/core/lib/control-evaluation/qa-follow-up.js +2 -1
  660. package/runtime/core/lib/control-evaluation/required-files.js +9 -7
  661. package/runtime/core/lib/control-evaluation/run-state-policy.js +1 -1
  662. package/runtime/core/lib/control-evaluation/run-state.js +15 -9
  663. package/runtime/core/lib/control-evaluation/run-step-policy.js +2 -1
  664. package/runtime/core/lib/control-evaluation/run-work-summary.js +6 -4
  665. package/runtime/core/lib/control-evaluation/shared-value.js +7 -0
  666. package/runtime/core/lib/control-evaluation/shared.js +5 -254
  667. package/runtime/core/lib/control-evaluation/tp-planning.js +3 -2
  668. package/runtime/core/lib/control-evaluation/ur-readiness.js +7 -2
  669. package/runtime/core/lib/control-evaluation/verified-change.js +11 -9
  670. package/{generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/backlog-vocabulary.js → runtime/core/lib/control-evaluation/work-vocabulary.js} +2 -2
  671. package/runtime/core/lib/control-inspect/artifact-readiness.js +5 -3
  672. package/runtime/core/lib/control-inspect/authoring-inputs.js +110 -0
  673. package/runtime/core/lib/control-inspect/cockpit-archive.js +53 -0
  674. package/runtime/core/lib/control-inspect/cockpit-context.js +2 -1
  675. package/runtime/core/lib/control-inspect/cockpit-contract.js +11 -4
  676. package/runtime/core/lib/control-inspect/cockpit-list.d.ts +10 -6
  677. package/runtime/core/lib/control-inspect/cockpit-list.js +32 -41
  678. package/runtime/core/lib/control-inspect/cockpit-session.js +8 -8
  679. package/runtime/core/lib/control-inspect/cockpit-work.js +33 -0
  680. package/runtime/core/lib/control-inspect/cockpit.js +75 -44
  681. package/runtime/core/lib/control-inspect/contract.js +142 -58
  682. package/runtime/core/lib/control-inspect/decision-session.js +53 -11
  683. package/runtime/core/lib/control-inspect/doctor-observation.js +91 -0
  684. package/runtime/core/lib/control-inspect/project-operation-call.js +5 -0
  685. package/runtime/core/lib/control-inspect/project-state.js +48 -0
  686. package/runtime/core/lib/control-inspect/result.js +61 -0
  687. package/runtime/core/lib/control-inspect/selection.js +9 -3
  688. package/runtime/core/lib/control-inspect/service.js +142 -72
  689. package/runtime/core/lib/control-maintenance/compatibility.js +42 -132
  690. package/runtime/core/lib/control-maintenance/contract.js +5 -5
  691. package/runtime/core/lib/control-maintenance/presentation.js +27 -119
  692. package/runtime/core/lib/control-maintenance/service.js +9 -37
  693. package/runtime/core/lib/control-read/cockpit-pool.js +25 -9
  694. package/runtime/core/lib/control-read/cockpit-worker.js +4 -3
  695. package/runtime/core/lib/control-read/doctor-reader.js +92 -0
  696. package/runtime/core/lib/control-read/doctor-worker.js +11 -0
  697. package/runtime/core/lib/control-read/fs.js +18 -0
  698. package/runtime/core/lib/control-read/snapshot.js +68 -17
  699. package/runtime/core/lib/control-state/aggregate.js +3 -1
  700. package/runtime/core/lib/control-state/approval-command.js +13 -10
  701. package/runtime/core/lib/control-state/approval-operations.js +10 -7
  702. package/runtime/core/lib/control-state/artefact-binding-proof.js +12 -20
  703. package/runtime/core/lib/control-state/artefact-bindings.js +10 -7
  704. package/runtime/core/lib/control-state/canonical-initialization.js +761 -0
  705. package/runtime/core/lib/control-state/control-layout.js +183 -0
  706. package/runtime/core/lib/control-state/decision-action-contract.js +10 -1
  707. package/runtime/core/lib/control-state/decision-action-service.js +24 -3
  708. package/runtime/core/lib/control-state/decision-material-contract.js +2 -1
  709. package/runtime/core/lib/control-state/evidence-bindings.js +7 -7
  710. package/runtime/core/lib/control-state/git-identity.js +86 -0
  711. package/runtime/core/lib/control-state/index.js +0 -1
  712. package/runtime/core/lib/control-state/input-resolution.js +99 -0
  713. package/runtime/core/lib/control-state/planned-entry.js +273 -0
  714. package/runtime/core/lib/control-state/planned-handoff.js +174 -0
  715. package/runtime/core/lib/control-state/planned-inventory.js +90 -0
  716. package/runtime/core/lib/control-state/planned-origin-reader.js +48 -0
  717. package/runtime/core/lib/control-state/planned-origin.js +40 -0
  718. package/runtime/core/lib/control-state/presentation-decision.js +12 -7
  719. package/runtime/core/lib/control-state/presentation-delivery.js +90 -0
  720. package/runtime/core/lib/control-state/preview-render.js +5 -2
  721. package/runtime/core/lib/control-state/preview-review.js +3 -2
  722. package/runtime/core/lib/control-state/preview-snapshot.js +9 -6
  723. package/runtime/core/lib/control-state/recording-formats.js +12 -16
  724. package/runtime/core/lib/control-state/run-artefact-recording.js +54 -66
  725. package/runtime/core/lib/control-state/run-closure.js +343 -0
  726. package/runtime/core/lib/control-state/run-command-contract.js +33 -119
  727. package/runtime/core/lib/control-state/run-command-schema.js +508 -0
  728. package/runtime/core/lib/control-state/run-command-service.js +198 -34
  729. package/runtime/core/lib/control-state/run-create-command.js +60 -0
  730. package/runtime/core/lib/control-state/run-identity.d.ts +14 -0
  731. package/runtime/core/lib/control-state/run-identity.js +40 -0
  732. package/runtime/core/lib/control-state/run-input-resolution.js +72 -0
  733. package/runtime/core/lib/control-state/run-inventory-reader.js +31 -0
  734. package/runtime/core/lib/control-state/run-inventory.js +179 -0
  735. package/runtime/core/lib/control-state/run-material.js +211 -0
  736. package/runtime/core/lib/control-state/run-mutation.js +51 -0
  737. package/runtime/core/lib/control-state/run-operation-identity.js +2 -1
  738. package/runtime/core/lib/control-state/run-operation-proof.js +7 -4
  739. package/runtime/core/lib/control-state/run-operation-status.js +20 -4
  740. package/runtime/core/lib/control-state/run-operations.js +70 -13
  741. package/runtime/core/lib/control-state/run-owned-outputs.js +21 -9
  742. package/runtime/core/lib/control-state/run-presentation-envelope.js +25 -33
  743. package/runtime/core/lib/control-state/run-presentation-render.js +9 -8
  744. package/runtime/core/lib/control-state/run-presentation.js +45 -21
  745. package/runtime/core/lib/control-state/run-recording.js +10 -179
  746. package/runtime/core/lib/control-state/run-revision-boundary.js +7 -21
  747. package/runtime/core/lib/control-state/run-revision-history.js +23 -16
  748. package/runtime/core/lib/control-state/run-revision.js +84 -161
  749. package/runtime/core/lib/control-state/run-seal-compute.js +19 -44
  750. package/runtime/core/lib/control-state/run-seal.js +6 -1
  751. package/runtime/core/lib/control-state/run-source-revisions.js +19 -18
  752. package/runtime/core/lib/control-state/run-state-document.js +110 -42
  753. package/runtime/core/lib/control-state/run-state-edits.js +13 -5
  754. package/runtime/core/lib/control-state/run-state-parser.js +14 -6
  755. package/runtime/core/lib/control-state/run-state-reader.js +27 -18
  756. package/runtime/core/lib/control-state/run-state-repository.js +112 -48
  757. package/runtime/core/lib/control-state/run-state-resolver.js +12 -15
  758. package/runtime/core/lib/control-state/run-state-writer.js +21 -377
  759. package/runtime/core/lib/control-state/run-step-pending.js +2 -1
  760. package/runtime/core/lib/control-state/run-step-transaction.js +125 -114
  761. package/runtime/core/lib/control-state/run-steps.js +136 -248
  762. package/runtime/core/lib/control-state/run-store-inspection.js +14 -2
  763. package/runtime/core/lib/control-state/run-verified-change.js +81 -0
  764. package/runtime/core/lib/control-state/run-work-summary-shape.d.ts +1 -0
  765. package/{generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.js → runtime/core/lib/control-state/run-work-summary-shape.js} +7 -19
  766. package/runtime/core/lib/delivery-continuation/service.js +5 -66
  767. package/runtime/core/lib/delivery-path-search/persistence.js +26 -8
  768. package/runtime/core/lib/delivery-path-search/state-adapter.js +1 -1
  769. package/runtime/core/lib/index.js +14 -6
  770. package/runtime/core/lib/interaction-catalog.js +3 -3
  771. package/runtime/core/lib/interaction-presentation.js +30 -12
  772. package/runtime/core/lib/mcp-input-hints.js +46 -0
  773. package/runtime/core/lib/mcp-input-resolution.js +98 -0
  774. package/runtime/core/lib/mcp-input-schema.js +15 -0
  775. package/runtime/core/lib/mcp-resource-contract.js +1 -1
  776. package/runtime/core/lib/mcp-tool-errors.js +31 -15
  777. package/runtime/core/lib/owned-file-lock.js +266 -0
  778. package/runtime/core/lib/owner-placement.js +50 -0
  779. package/runtime/core/lib/resources/canonical-init-plan.js +34 -0
  780. package/runtime/core/lib/resources/configuration.js +92 -0
  781. package/runtime/core/lib/resources/context.js +7 -11
  782. package/runtime/core/lib/resources/language-preference.js +59 -0
  783. package/runtime/core/lib/runtime/mcp-owner-protocol.js +102 -0
  784. package/runtime/core/lib/runtime/plugin-provenance.js +173 -18
  785. package/runtime/core/lib/skill-dispatch/compact-continuation.js +3 -3
  786. package/runtime/core/lib/skill-dispatch/contract.js +28 -9
  787. package/runtime/core/lib/skill-dispatch/delivery-intake.js +11 -5
  788. package/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +6 -10
  789. package/runtime/core/lib/skill-dispatch/mcp-continuation.js +64 -0
  790. package/runtime/core/lib/skill-dispatch/prd-definition.js +14 -5
  791. package/runtime/core/lib/skill-dispatch/sd-definition.js +2 -1
  792. package/runtime/core/lib/skill-dispatch/service.js +49 -14
  793. package/runtime/core/lib/skill-dispatch/tp-definition.js +2 -1
  794. package/generated/.agdf/control/templates/AGDF_RUN.md +0 -139
  795. package/generated/.agdf/control/templates/MASTER_BACKLOG.md +0 -39
  796. package/generated/plugins/agdf/control/templates/AGDF_RUN.md +0 -139
  797. package/generated/plugins/agdf/control/templates/MASTER_BACKLOG.md +0 -39
  798. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/interaction.js +0 -28
  799. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/repair.js +0 -4
  800. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/service.js +0 -3
  801. package/generated/plugins/agdf/runtime/create-agdf/lib/control-state/run-recovery.js +0 -5
  802. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-backlog.js +0 -135
  803. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/interaction.js +0 -57
  804. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/migration.js +0 -85
  805. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/repair.js +0 -226
  806. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.d.ts +0 -4
  807. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary.js +0 -67
  808. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-migration.js +0 -69
  809. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-projection-reader.js +0 -38
  810. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog-writer.js +0 -80
  811. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog.js +0 -90
  812. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recovery.js +0 -296
  813. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-relationship-correction.js +0 -74
  814. package/generated/plugins/copilot/agdf/control/templates/AGDF_RUN.md +0 -139
  815. package/generated/plugins/copilot/agdf/control/templates/MASTER_BACKLOG.md +0 -39
  816. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/interaction.js +0 -28
  817. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/repair.js +0 -4
  818. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/service.js +0 -3
  819. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-state/run-recovery.js +0 -5
  820. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/interaction.js +0 -57
  821. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/migration.js +0 -85
  822. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/repair.js +0 -226
  823. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.d.ts +0 -4
  824. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary.js +0 -67
  825. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-migration.js +0 -69
  826. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-projection-reader.js +0 -38
  827. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog-writer.js +0 -80
  828. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog.js +0 -90
  829. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recovery.js +0 -296
  830. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-relationship-correction.js +0 -74
  831. package/lib/control-maintenance/interaction.js +0 -28
  832. package/lib/control-maintenance/repair.js +0 -4
  833. package/lib/control-maintenance/service.js +0 -3
  834. package/lib/control-state/run-recovery.js +0 -5
  835. package/lib/install-setup/control-repair.js +0 -1
  836. package/runtime/core/lib/control-inspect/cockpit-backlog.js +0 -135
  837. package/runtime/core/lib/control-maintenance/interaction.js +0 -57
  838. package/runtime/core/lib/control-maintenance/migration.js +0 -85
  839. package/runtime/core/lib/control-maintenance/repair.js +0 -226
  840. package/runtime/core/lib/control-state/backlog-summary-shape.d.ts +0 -4
  841. package/runtime/core/lib/control-state/backlog-summary.js +0 -67
  842. package/runtime/core/lib/control-state/legacy-migration.js +0 -69
  843. package/runtime/core/lib/control-state/legacy-projection-reader.js +0 -38
  844. package/runtime/core/lib/control-state/run-backlog-writer.js +0 -80
  845. package/runtime/core/lib/control-state/run-backlog.js +0 -90
  846. package/runtime/core/lib/control-state/run-recovery.js +0 -296
  847. package/runtime/core/lib/control-state/run-relationship-correction.js +0 -74
@@ -1,436 +1,5 @@
1
- import { extractField, verifiedChangeEscalationTargets } from "./verified-change.js";
2
- import { gateApprovalStatus, gateArtefactStatus, isDurableGateArtefactSatisfied, isInternalStepSatisfied, modeSliceDecision } from "./run-state-policy.js";
3
1
  import { readSourceRevisions } from "../control-state/run-source-revisions.js";
4
- import { STRUCTURED_REQUIRED_REVIEWS, reviewArtefactType } from "../control-state/evidence-bindings.js";
2
+ import { createGatePolicy } from "./gate-policy-pure.js";
5
3
 
6
- // Compatible display text. Execution consumes the semantic operation, never this sentence.
7
- export const CD_TESTS_NEXT_ALLOWED_ACTION = "Implement the approved TP scope, run its tests, and record CD+Tests evidence before CR.";
8
-
9
- function durableArtefactBlock(gate, nextGate) {
10
- const label = gate === "QA" ? "QA report" : `${gate} artefact`;
11
- const stablePath = gate === "QA" ? ".agdf/control/artefacts/<key>/QA_REPORT.md" : `.agdf/control/artefacts/<key>/${gate}.md`;
12
- return {
13
- status: "blocked",
14
- current_gate: gate,
15
- blocking_reason: `missing_durable_${gate.toLowerCase()}_artefact`,
16
- missing_approval: "none",
17
- allowed: [
18
- `persist the approved ${label} in a stable artefact path such as ${stablePath}`,
19
- "link the artefact from the selected RUN_STATE.md and MASTER_BACKLOG.md",
20
- "run gate-check again",
21
- ],
22
- forbidden: nextGate
23
- ? [`create ${nextGate}`, "create later-gate artefacts", "implement gated work", "claim QA or release readiness"]
24
- : ["create later-gate artefacts", "implement gated work", "claim release readiness"],
25
- next_allowed_action: `Persist the approved ${label} and link it from the AGDF control state before continuing.`,
26
- };
27
- }
28
-
29
- export function isGateSatisfied(runState, gate) {
30
- const status = gateApprovalStatus(runState, gate);
31
- if (status === "not_applicable") return true;
32
- if (status !== "approved") return false;
33
- if (gate === "UAT") return true;
34
- return isDurableGateArtefactSatisfied(runState, gate);
35
- }
36
-
37
- function qaNonPassDecision(runState) {
38
- const status = gateArtefactStatus(runState, "QA").status;
39
- return status === "revise" || status === "block" ? status : null;
40
- }
41
-
42
- function gateDecisionForRunState(runState, verifiedChange = null) {
43
- if (gateApprovalStatus(runState, "UR") === "approved" && !isGateSatisfied(runState, "UR")) return durableArtefactBlock("UR", "PRD");
44
-
45
- if (!isGateSatisfied(runState, "UR")) {
46
- return {
47
- status: "open",
48
- current_gate: "UR",
49
- blocking_reason: "none",
50
- missing_approval: "Approval: UR",
51
- allowed: ["clarify user need", "formulate and persist UR", "record evidence", "request exact UR approval"],
52
- forbidden: ["create later-gate artefacts beyond the current allowed gate", "run Brownfield Analysis as implementation preparation", "implement code", "claim QA or release readiness"],
53
- next_allowed_action: "Fill the current UR control state, persist the UR draft, and request exact approval: Approval: UR.",
54
- };
55
- }
56
-
57
- if (gateApprovalStatus(runState, "PRD") === "approved" && !isGateSatisfied(runState, "PRD")) return durableArtefactBlock("PRD", "SD");
58
-
59
- const revision = readSourceRevisions(runState.content ?? "").receipts.at(-1);
60
- const reassessment = type => revision?.analyses.some(row => row.type === type && row.disposition === "reassess");
61
- const renewedBrownfield = reassessment("Brownfield Review") && (!isInternalStepSatisfied(runState, "Brownfield Review")
62
- || !["structured_slice", "structured_delivery"].includes(modeSliceDecision(runState)));
63
- if (renewedBrownfield && revision.source_gate !== "UR" && isInternalStepSatisfied(runState, "Brownfield Review")
64
- && !["undecided", "structured_slice", "structured_delivery"].includes(modeSliceDecision(runState))) {
65
- return { status: "blocked", current_gate: "Mode/Slice Decision", blocking_reason: "mode_slice_decision_blocked", missing_approval: "none",
66
- allowed: ["resolve the analytical route under the retained approved UR"], forbidden: ["implement code", "skip renewed source approvals"],
67
- next_allowed_action: "Resolve the Brownfield Review blocker before choosing a delivery path." };
68
- }
69
- if ((reassessment("UX Intent Definition") || runState.source_revision_ux_required) && !isInternalStepSatisfied(runState, 'UX Intent Definition')
70
- && isInternalStepSatisfied(runState, "Brownfield Review") && ["structured_slice", "structured_delivery"].includes(modeSliceDecision(runState))) {
71
- return {
72
- status: "open", current_gate: revision.source_gate === "UR" ? "PRD" : revision.source_gate,
73
- blocking_reason: "none", missing_approval: "none",
74
- allowed: ["reassess UX intent under the current approved UR and reviewed analytical context", "record the renewed analysis before dependent authoring"],
75
- forbidden: ["draft or approve a dependent source before analytical reassessment", "implement code", "claim QA or release readiness"],
76
- next_allowed_action: "Reassess UX intent under the current approved UR before dependent source authoring.",
77
- next_operation: { type: "reassess_source_analysis", skill_id: "ux-intent-definition", analysis: "UX Intent Definition" },
78
- };
79
- }
80
-
81
- if (!isGateSatisfied(runState, "PRD") || renewedBrownfield) {
82
- if (!isInternalStepSatisfied(runState, "Brownfield Review")) {
83
- return {
84
- status: "open",
85
- current_gate: "Brownfield Review",
86
- blocking_reason: "none",
87
- missing_approval: "none",
88
- allowed: [
89
- "run Brownfield Review after G-00",
90
- "identify existing workstream, owners, SoT, reuse risks and open PRD/SD questions",
91
- "mark Brownfield Review as done or not_applicable in the selected RUN_STATE.md",
92
- ],
93
- forbidden: ["create PRD before Brownfield Review is resolved", "create SD", "create TP", "implement code", "claim QA or release readiness"],
94
- next_allowed_action: "Run Brownfield Review after G-00 before drafting PRD, or mark Brownfield Review not_applicable with evidence.",
95
- };
96
- }
97
-
98
- const modeDecision = modeSliceDecision(runState);
99
- if (modeDecision === "undecided") {
100
- return {
101
- status: "open",
102
- current_gate: "Mode/Slice Decision",
103
- blocking_reason: "none",
104
- missing_approval: "none",
105
- allowed: [
106
- "decide whether the approved UR is quick_task, verified_change, structured_slice, structured_delivery or block",
107
- "record scope reason, evidence and required next gate depth in the selected RUN_STATE.md",
108
- "choose the next required gate depth before drafting PRD or implementing",
109
- ],
110
- forbidden: ["create PRD before process size is decided", "create SD", "create TP", "implement code", "claim QA or release readiness"],
111
- next_allowed_action: "Record the Mode/Slice Decision from Brownfield Review with scope reason and evidence before choosing PRD depth or Quick Task execution.",
112
- };
113
- }
114
-
115
- if (modeDecision === "block") {
116
- return {
117
- status: "blocked",
118
- current_gate: "Mode/Slice Decision",
119
- blocking_reason: "mode_slice_decision_blocked",
120
- missing_approval: "none",
121
- allowed: ["resolve ownership, SoT, evidence, impact or product-direction uncertainty", "run gate-check again"],
122
- forbidden: ["create PRD", "create SD", "create TP", "implement code", "claim QA or release readiness"],
123
- next_allowed_action: "Resolve the Brownfield Review blocker before choosing a delivery path.",
124
- };
125
- }
126
-
127
- if (modeDecision === "quick_task") {
128
- if (
129
- extractField(runState.content ?? "", "lifecycle") === "completed"
130
- && runState.current_gate === "OR"
131
- && runState.artefacts.get("OR")?.status === "done"
132
- ) {
133
- return {
134
- status: "pass",
135
- current_gate: "OR",
136
- blocking_reason: "none",
137
- missing_approval: "none",
138
- allowed: ["use delivery closeout when explicitly requested"],
139
- forbidden: ["repeat Quick Task execution", "commit, push, open PR or release automatically"],
140
- next_allowed_action: "Use delivery closeout only when an operative VCS handoff is explicitly requested.",
141
- };
142
- }
143
- if (isInternalStepSatisfied(runState, "CR")) return {
144
- status: "open", current_gate: "Quick Task Execution", blocking_reason: "none", missing_approval: "none",
145
- allowed: ["produce OR or delivery closeout"],
146
- forbidden: ["repeat Quick Task execution", "commit, push, open PR or release automatically"],
147
- next_allowed_action: "Produce delivery closeout or requested handoff; do not perform VCS actions automatically.",
148
- next_operation: { type: "record_closeout", skill_id: "release-or", operation_key: "closeout.record", actor: "agent", effect: "closeout", gate: "Quick Task Execution" },
149
- };
150
- return {
151
- status: "open",
152
- current_gate: "Quick Task Execution",
153
- blocking_reason: "none",
154
- missing_approval: "none",
155
- allowed: ["implement the narrow approved UR scope", "run relevant checks", "record evidence and close with OR-lite"],
156
- forbidden: ["expand scope beyond the Brownfield Review decision", "create broad PRD/SD/TP artefacts by ritual", "claim QA or release readiness without evidence"],
157
- next_allowed_action: "Proceed as a Quick Task within the Brownfield Review scope and record verification evidence.",
158
- next_operation: { type: "implement_compact_scope", skill_id: "gate-check", operation_key: "implementation.execute", actor: "agent", effect: "implementation", gate: "Quick Task Execution" },
159
- };
160
- }
161
-
162
- if (modeDecision === "verified_change") {
163
- const state = verifiedChange?.status ?? "missing";
164
- const escalationTarget = verifiedChange?.escalation_target ?? "structured_slice";
165
- if (state === "executed") {
166
- return {
167
- status: "open",
168
- current_gate: "OR",
169
- blocking_reason: "none",
170
- missing_approval: "none",
171
- allowed: ["use the Verified Change mini-closeout", "offer delivery closeout when requested"],
172
- forbidden: ["create PRD, SD, TP, QA or UAT by ritual", "commit, push, open PR or release automatically"],
173
- next_allowed_action: "Close the executed Verified Change with its compact record and offer delivery closeout; do not perform VCS actions automatically.",
174
- };
175
- }
176
- if (state === "escalated" || (state === "invalid" && verifiedChangeEscalationTargets.has(escalationTarget))) {
177
- return {
178
- status: "open",
179
- current_gate: "PRD",
180
- blocking_reason: state === "escalated" ? "verified_change_escalated" : "verified_change_invalid_escalated",
181
- missing_approval: "Approval: PRD",
182
- allowed: ["draft the structured PRD required by the declared escalation target", "retain the Verified Change escalation evidence"],
183
- forbidden: ["implement through Verified Change", "create SD or TP before PRD approval", "claim QA or release readiness"],
184
- next_allowed_action: `Proceed as ${escalationTarget}: draft the required PRD and request exact approval: Approval: PRD.`,
185
- };
186
- }
187
- if (state === "eligible") {
188
- return {
189
- status: "open",
190
- current_gate: "Verified Change Execution",
191
- blocking_reason: "none",
192
- missing_approval: "none",
193
- allowed: ["implement only declared source and derived paths", "run declared propagation and validation commands", "record execution evidence and mini-closeout"],
194
- forbidden: ["touch unlisted paths", "add prohibited impacts", "claim QA, UAT or release readiness"],
195
- next_allowed_action: "Implement only the eligible Verified Change record scope, then record passing propagation and validation evidence.",
196
- next_operation: { type: "implement_compact_scope", skill_id: "gate-check", operation_key: "implementation.execute", actor: "agent", effect: "implementation", gate: "Verified Change Execution" },
197
- };
198
- }
199
- return {
200
- status: state === "missing" || state === "draft" ? "open" : "blocked",
201
- current_gate: "Verified Change Execution",
202
- blocking_reason: state === "invalid" ? "verified_change_invalid" : "verified_change_record_required",
203
- missing_approval: "none",
204
- allowed: ["create or refine the compact Verified Change record", "capture baseline paths", "prove fail-closed eligibility with doctor and gate-check"],
205
- forbidden: ["implement candidate changes", "claim validation, QA, UAT or release readiness"],
206
- next_allowed_action: "Create or repair VERIFIED_CHANGE.md, capture the baseline and satisfy every eligibility check before implementation; escalate if any condition is unproven.",
207
- };
208
- }
209
-
210
- return {
211
- status: "open",
212
- current_gate: "PRD",
213
- blocking_reason: "none",
214
- missing_approval: "Approval: PRD",
215
- allowed: ["draft or refine PRD", "define scope", "define acceptance criteria", "define non-goals", "request exact PRD approval"],
216
- forbidden: ["create SD", "create TP", "run Brownfield Analysis as implementation preparation", "implement code", "claim QA or release readiness"],
217
- next_allowed_action: modeDecision === "structured_slice"
218
- ? "Draft or refine the smallest PRD slice justified by Brownfield Review; do not implement before required artefacts are approved."
219
- : "Draft or refine the PRD; do not implement before PRD, SD and TP are approved.",
220
- };
221
- }
222
-
223
- if (gateApprovalStatus(runState, "SD") === "approved" && !isGateSatisfied(runState, "SD")) return durableArtefactBlock("SD", "TP");
224
-
225
- if (!isGateSatisfied(runState, "SD")) {
226
- return {
227
- status: "open",
228
- current_gate: "SD",
229
- blocking_reason: "none",
230
- missing_approval: "Approval: SD",
231
- allowed: ["draft or refine Solution Design", "define architecture", "define ownership", "request exact SD approval"],
232
- forbidden: ["create TP", "implement code", "claim QA or release readiness"],
233
- next_allowed_action: "Draft or refine the Solution Design; do not implement before SD and TP are approved.",
234
- };
235
- }
236
-
237
- if (gateApprovalStatus(runState, "TP") === "approved" && !isGateSatisfied(runState, "TP")) return durableArtefactBlock("TP", "Brownfield Analysis");
238
-
239
- if (!isGateSatisfied(runState, "TP")) {
240
- return {
241
- status: "open",
242
- current_gate: "TP",
243
- blocking_reason: "none",
244
- missing_approval: "Approval: TP",
245
- allowed: ["draft or refine Task/Test Plan", "define task IDs", "define test evidence", "request exact TP approval"],
246
- forbidden: ["implement code", "claim QA or release readiness"],
247
- next_allowed_action: "Draft or refine the Task/Test Plan; do not implement before TP is approved.",
248
- };
249
- }
250
-
251
- const implementationStepsRequired = gateApprovalStatus(runState, "TP") === "approved";
252
- if (implementationStepsRequired && !isInternalStepSatisfied(runState, "Brownfield Analysis")) {
253
- return {
254
- status: "open",
255
- current_gate: "Brownfield Analysis",
256
- blocking_reason: "none",
257
- missing_approval: "none",
258
- allowed: ["run Brownfield Analysis for the approved TP scope", "verify existing owners, reuse paths and regression risks"],
259
- forbidden: ["implement before Brownfield evidence supports the approved TP path", "claim QA or release readiness"],
260
- next_allowed_action: "Run Brownfield Analysis for the approved TP scope before CD+Tests.",
261
- };
262
- }
263
-
264
- if (implementationStepsRequired && !isInternalStepSatisfied(runState, "CD+Tests")) {
265
- return {
266
- status: "open",
267
- current_gate: "CD+Tests",
268
- blocking_reason: "none",
269
- missing_approval: "none",
270
- allowed: ["implement the approved TP tasks", "run the approved test plan", "record implementation and test evidence"],
271
- forbidden: ["claim QA pass", "request UAT approval", "release"],
272
- next_allowed_action: CD_TESTS_NEXT_ALLOWED_ACTION,
273
- };
274
- }
275
-
276
- if (implementationStepsRequired && !isInternalStepSatisfied(runState, "CR")) {
277
- return {
278
- status: "open",
279
- current_gate: "CR",
280
- blocking_reason: "none",
281
- missing_approval: "none",
282
- allowed: ["run mandatory code review", "record correctness, regression, security and maintainability findings", "fix blocking review findings"],
283
- forbidden: ["claim QA pass", "request UAT approval", "release"],
284
- next_allowed_action: "Run Code Review for the implemented TP scope and resolve blocking findings before QA.",
285
- };
286
- }
287
-
288
- const qaNonPass = qaNonPassDecision(runState);
289
- if (qaNonPass && !runState.qa_acceptance?.eligible) {
290
- const blocked = qaNonPass === "block";
291
- return {
292
- status: blocked ? "blocked" : "open",
293
- current_gate: "QA",
294
- blocking_reason: blocked ? "qa_blocked" : "qa_revise_required",
295
- missing_approval: "none",
296
- allowed: blocked
297
- ? ["route the blocking QA findings to their authoritative owner", "record the next permitted remediation or upstream decision", "rerun QA only after the blocker is resolved"]
298
- : ["revise the implementation against the QA findings", "refresh CD+Tests and mandatory reviews", "rerun QA with refreshed evidence"],
299
- forbidden: ["request QA approval", "request UAT approval", "release", "claim delivery readiness"],
300
- next_allowed_action: blocked
301
- ? "Resolve or route the blocking QA findings via their authoritative owner, then rerun the required steps. Do not request Approval: QA from a block report."
302
- : "Resolve the QA revise findings, refresh CD+Tests and reviews, then rerun QA. Do not request Approval: QA from a revise report.",
303
- };
304
- }
305
-
306
- // The qa-gate forbids a QA pass without review evidence and closeout requires both
307
- // reviews. Until they are recorded the QA approval request is withheld.
308
- const acceptedPlanDeviation = runState.qa_acceptance?.eligible || runState.qa_acceptance?.accepted;
309
- const structuredBeforeQaApproval = ["structured_slice", "structured_delivery"].includes(modeSliceDecision(runState))
310
- && gateApprovalStatus(runState, "QA") !== "approved";
311
- if (structuredBeforeQaApproval && STRUCTURED_REQUIRED_REVIEWS.some(step => !isInternalStepSatisfied(runState, reviewArtefactType(runState, step))
312
- && !(step === "TP Review" && acceptedPlanDeviation && runState.artefacts.get(step)?.status === "revise"))) {
313
- return {
314
- status: "open",
315
- current_gate: "QA",
316
- blocking_reason: "none",
317
- missing_approval: "none",
318
- allowed: ["record TP Review and Clean Implementation Review", "run QA gate"],
319
- forbidden: ["request QA approval", "request UAT approval", "release", "claim delivery readiness"],
320
- next_allowed_action: "Record TP Review and Clean Implementation Review before requesting Approval: QA.",
321
- };
322
- }
323
- // A QA report recorded before current evidence (for example reviews recorded after it)
324
- // would stay stale through closeout; QA is rerun before its approval request.
325
- const qaAssociation = runState.evidence_applicability?.by_step.get("QA");
326
- if (structuredBeforeQaApproval && runState.artefacts.get("QA")?.path && qaAssociation && qaAssociation.applicability !== "current") {
327
- return {
328
- status: "open",
329
- current_gate: "QA",
330
- blocking_reason: "none",
331
- missing_approval: "none",
332
- allowed: ["run QA gate", "persist or refine the QA report"],
333
- forbidden: ["request QA approval", "request UAT approval", "release", "claim delivery readiness"],
334
- next_allowed_action: "Rerun QA against the current evidence before requesting Approval: QA.",
335
- };
336
- }
337
-
338
- if (gateApprovalStatus(runState, "QA") === "approved" && !isGateSatisfied(runState, "QA")) return durableArtefactBlock("QA", "UAT");
339
-
340
- if (isGateSatisfied(runState, "QA") && !isGateSatisfied(runState, "UAT")) {
341
- return {
342
- status: "open",
343
- current_gate: "UAT",
344
- blocking_reason: "none",
345
- missing_approval: "Approval: UAT",
346
- allowed: ["request exact UAT approval", "prepare non-operative delivery summary"],
347
- forbidden: ["release", "push", "open PR", "commit without explicit user instruction and required approval"],
348
- next_allowed_action: "Request exact approval: Approval: UAT before delivery handoff.",
349
- };
350
- }
351
-
352
- if (isGateSatisfied(runState, "UAT")) {
353
- return {
354
- status: "open",
355
- current_gate: "OR",
356
- blocking_reason: "none",
357
- missing_approval: "none",
358
- allowed: ["produce OR or delivery closeout", "prepare commit, push or PR handoff when requested"],
359
- forbidden: ["commit, push, open PR or release automatically"],
360
- next_allowed_action: "Produce delivery closeout or requested handoff; do not perform VCS actions automatically.",
361
- };
362
- }
363
-
364
- return {
365
- status: "open",
366
- current_gate: "QA",
367
- blocking_reason: "none",
368
- missing_approval: "Approval: QA",
369
- allowed: ["run QA gate", "persist or refine the QA report", "request exact QA approval"],
370
- forbidden: ["request UAT approval", "release", "claim delivery readiness before QA approval and report evidence"],
371
- next_allowed_action: "Run the QA gate, persist the QA report, and request exact approval: Approval: QA",
372
- };
373
- }
374
-
375
- // The same policy supplies machine meaning and compatible prose. These operations
376
- // describe eligibility; they are neither user approval nor an invocation authority.
377
- function semanticOperation(decision) {
378
- if (decision.next_operation) return { ...decision.next_operation,
379
- operation_key: decision.next_operation.operation_key ?? decision.next_operation.type,
380
- actor: decision.next_operation.actor ?? "agent", effect: decision.next_operation.effect ?? "preparation" };
381
- if (decision.status === "blocked") return { type: "resolve_control_blocker", operation_key: "control.resolve",
382
- actor: "agent", effect: "none", gate: decision.current_gate };
383
- const key = {
384
- "Brownfield Review": ["analyse_existing_system", "brownfield-analysis", "analysis.brownfield_review", "preparation"],
385
- "Mode/Slice Decision": ["resolve_delivery_route", "brownfield-analysis", "analysis.route", "preparation"],
386
- "Brownfield Analysis": ["prepare_implementation", "brownfield-analysis", "analysis.brownfield_implementation", "preparation"],
387
- "CD+Tests": ["implement_approved_plan", "gate-check", "implementation.execute", "implementation"],
388
- "CR": ["review_implementation", "code-review", "review.code", "preparation"],
389
- "QA": ["evaluate_quality", "qa-gate", "quality.evaluate", "preparation"],
390
- "OR": ["record_closeout", "release-or", "closeout.record", "closeout"],
391
- }[decision.current_gate];
392
- if (key) return { type: key[0], skill_id: key[1], operation_key: key[2], actor: "agent", effect: key[3], gate: decision.current_gate };
393
- if (decision.current_gate === "UAT") return { type: "human_gate_decision", operation_key: "approval.record",
394
- actor: "human", effect: "decision", gate: "UAT" };
395
- if (["UR", "PRD", "SD", "TP"].includes(decision.current_gate)) return { type: "author_gate_artifact",
396
- operation_key: "artefact.author", actor: "agent", effect: "preparation", gate: decision.current_gate };
397
- return { type: "resolve_control_state", operation_key: "control.resolve", actor: "agent", effect: "none", gate: decision.current_gate };
398
- }
399
-
400
- export function transitionDecisionForRunState(runState, verifiedChange = null) {
401
- const decision = gateDecisionForRunState(runState, verifiedChange);
402
- const lifecycle = extractField(runState.content ?? "", "lifecycle") || runState.meta?.lifecycle || "unknown";
403
- if (runState.approval_material_findings?.length) return { ...decision, status: 'blocked', missing_approval: 'none', blocking_reason: 'approved_material_sources_changed',
404
- allowed: ['inspect the changed approved sources through their existing revision/recovery owner'], forbidden: [...decision.forbidden, 'continue from an unconfirmed old approval'],
405
- next_allowed_action: 'Resolve the changed approved material through its existing source/recovery owner; do not infer a fresh approval.',
406
- next_operation: { type: 'resolve_control_blocker', operation_key: 'control.resolve', actor: 'agent', effect: 'none', gate: decision.current_gate },
407
- completion: { status: lifecycle === 'completed' ? 'unconfirmed' : 'pending', gate: 'OR', fulfilled: false } };
408
- if (lifecycle === "completed") {
409
- const or = runState.artefacts.get("OR");
410
- const route = modeSliceDecision(runState);
411
- const fulfilled = decision.current_gate === "OR" && decision.status !== "blocked"
412
- && or?.status === "done" && Boolean(or.path)
413
- && (route === 'verified_change' ? verifiedChange?.status === 'executed' : runState.closeout_evidence?.ready === true)
414
- && ["structured_slice", "structured_delivery", "quick_task", "verified_change"].includes(route);
415
- if (fulfilled) return { ...decision, status: "pass", missing_approval: "none", blocking_reason: "none",
416
- allowed: ["prepare an explicitly requested VCS handoff"], forbidden: ["repeat completed Run work", "perform VCS or release actions automatically"],
417
- next_allowed_action: "Run completed; prepare a VCS handoff only when explicitly requested.",
418
- next_operation: null, completion: { status: "completed", gate: "OR", fulfilled: true, vcs_handoff: "explicit_request_required" } };
419
- return { ...decision, status: "blocked", missing_approval: "none", blocking_reason: "completed_run_obligations_unconfirmed",
420
- allowed: ["inspect the inconsistent completion and route it to its existing recovery owner"],
421
- forbidden: ["repeat completed work automatically", "claim clean completion", "perform VCS or release actions automatically"],
422
- next_allowed_action: "Resolve the inconsistent completed Run obligations before claiming a clean closeout.",
423
- next_operation: { type: "resolve_control_blocker", operation_key: "control.resolve", actor: "agent", effect: "none", gate: decision.current_gate },
424
- completion: { status: "unconfirmed", gate: "OR", fulfilled: false } };
425
- }
426
- const decided = runState.presentation_decisions?.get(decision.current_gate);
427
- if (decided?.decided && runState.approvals.get(decision.current_gate)?.status !== 'approved') return { ...decision,
428
- blocking_reason: decided.reason ?? 'presentation_version_decided', missing_approval: 'none', presentation_decision: decided,
429
- allowed: ['revise the current material through its existing authoring or remediation owner'],
430
- forbidden: [...decision.forbidden, 'approve unchanged decided material', 'invalidate approved upstream sources without supported revision'],
431
- next_allowed_action: 'Revise the decided material through its existing owner, register the changed version and obtain a fresh presentation and deliberate decision.',
432
- next_operation: { type: 'revise_gate_material', operation_key: 'artefact.author', actor: 'agent', effect: 'preparation', gate: decision.current_gate, skill_id: decided.owner },
433
- completion: { status: 'pending', gate: 'OR', fulfilled: false } };
434
- return { ...decision, next_operation: semanticOperation(decision),
435
- completion: { status: "pending", gate: "OR", fulfilled: false } };
436
- }
4
+ // Production keeps the exact validated receipt reader.
5
+ export const { CD_TESTS_NEXT_ALLOWED_ACTION, isGateSatisfied, transitionDecisionForRunState } = createGatePolicy(readSourceRevisions);
@@ -23,7 +23,9 @@ export function storedNextActionStale(runState, decision) {
23
23
  }
24
24
 
25
25
  // A stored next step refines the evaluated gate unless it is a stale generated step.
26
+ // An ended Run stores the marker "none, run ended"; its evaluated next step names the outcome.
26
27
  export function storedNextActionApplies(runState, decision) {
28
+ if (["superseded", "abandoned"].includes(extractField(runState.content ?? "", "lifecycle"))) return false;
27
29
  return !isPlaceholderValue(runState.next_allowed_action) && !storedNextActionStale(runState, decision);
28
30
  }
29
31
 
@@ -1,3 +1,4 @@
1
+ import { runDocumentPath, runEvidencePath } from '../control-state/run-identity.js';
1
2
  import { RUN_ID_PATTERN } from "../control-state/run-state-parser.js";
2
3
 
3
4
  const parentPrefix = "parent_run:";
@@ -220,7 +221,7 @@ export function evaluateProgrammeAggregation(runState, { loadRun, resolveFile }
220
221
  const fieldCounts = input.field_counts ?? {};
221
222
  const acceptanceRefValid = fieldCounts.acceptance_ref === 1
222
223
  && filled(input.acceptance_ref)
223
- && input.acceptance_ref.startsWith(".agdf/control/artefacts/")
224
+ && [runDocumentPath(runState.run_id, ''), runEvidencePath(runState.run_id, '')].some(prefix => input.acceptance_ref.startsWith(`${prefix}/`))
224
225
  && Boolean(resolveFile?.(input.acceptance_ref));
225
226
  const missingEvidenceValid = fieldCounts.missing_evidence === 1
226
227
  && input.missing_evidence === "none";
@@ -1,3 +1,4 @@
1
+ import { runDocumentPath } from '../control-state/run-identity.js';
1
2
  import { readFileSync } from '../control-read/fs.js';
2
3
  import { containedRegularFile, hasSymlinkComponent } from '../control-state/contained-file.js';
3
4
  import { posix } from 'node:path';
@@ -41,7 +42,7 @@ export function inspectQaReports(root, state, runId, expectedDecision, maxSource
41
42
  if (!path) { if (type === 'QA') return stop('Current QA report is missing.'); else continue; }
42
43
  const overlay = proposed?.get(path), external = readArtefact || typeof overlay === 'string';
43
44
  if (posix.normalize(path) !== path || strictUtf8 && /[%?#]/u.test(path)
44
- || !path.startsWith(`.agdf/control/artefacts/${runId}/`) || !external && hasSymlinkComponent(root, path)) return stop(`Unsafe review source: ${type}.`);
45
+ || !path.startsWith(`${runDocumentPath(runId, '')}/`) || !external && hasSymlinkComponent(root, path)) return stop(`Unsafe review source: ${type}.`);
45
46
  const file = external ? null : containedRegularFile(root, path);
46
47
  if (file && file.status !== 'valid') return stop(`Review source unavailable: ${type}.`);
47
48
  if (reports.has(path)) continue;
@@ -1,9 +1,11 @@
1
- import { join } from "node:path";
2
-
1
+ import { join } from 'node:path';
3
2
  export const doctorRequiredFiles = Object.freeze([
4
- join(".agdf", "control", "AGDF_RUN.md"),
5
- join(".agdf", "control", "MASTER_BACKLOG.md"),
6
- join(".agdf", "control", "SOT_REGISTRY.md"),
7
- join(".agdf", "control", "CONTEXT_GRAPH.md"),
8
- join(".agdf", "control", "AGENT_QUALITY_CONTRACTS.json"),
3
+ join('.agdf', 'control', 'SOT_REGISTRY.md'),
4
+ join('.agdf', 'control', 'CONTEXT_GRAPH.md'),
5
+ join('.agdf', 'control', 'AGENT_QUALITY_CONTRACTS.json'),
9
6
  ]);
7
+ // The single current model has one fixed inventory. Layout diagnosis belongs to
8
+ // the caller, including projects where canonical control is still absent.
9
+ export function requiredControlFiles() {
10
+ return doctorRequiredFiles;
11
+ }
@@ -1,5 +1,5 @@
1
1
  // Policy over prepared Run facts; no filesystem reads or state preparation.
2
- import { filled, isPlaceholderValue } from "./shared.js";
2
+ import { filled, isPlaceholderValue } from "./shared-value.js";
3
3
 
4
4
  export const userGateOrder = ["UR", "PRD", "SD", "TP", "QA", "UAT"];
5
5
  export const durableGateArtefacts = new Set(["UR", "PRD", "SD", "TP", "QA"]);
@@ -1,3 +1,5 @@
1
+ import { transitionDecisionForRunState } from './gate-policy.js';
2
+ import { runDocumentPath, isRunDataPath } from '../control-state/run-identity.js';
1
3
  import { userGateOrder, durableGateArtefacts, internalStepArtefacts, closeoutArtefacts, gateApprovalStatus, gateArtefactStatus, expectedDurableArtefactStatuses, describeDurableArtefactStatuses, modeSliceDecision } from "./run-state-policy.js";
2
4
  export { userGateOrder, durableGateArtefacts, internalStepArtefacts, closeoutArtefacts, gateApprovalStatus, gateArtefactStatus, isDurableGateArtefactSatisfied, expectedDurableArtefactStatuses, describeDurableArtefactStatuses, isInternalStepSatisfied, modeSliceDecision } from "./run-state-policy.js";
3
5
  import { presentationDecisionState, approvedMaterialFindings, approvalMaterialTypes, reviewCorrections } from '../control-state/presentation-decision.js';
@@ -57,7 +59,7 @@ export function prepareRunContentState(targetDir, content, path = "", { readArte
57
59
  internalSteps: [...internalStepArtefacts],
58
60
  closeoutArtefacts: [...closeoutArtefacts],
59
61
  });
60
- if ([...normalizedOverlay.keys()].some(name => !name.startsWith(`.agdf/control/artefacts/${parsed.run_id}/`))) throw Error("proposed_artefacts_invalid");
62
+ if ([...normalizedOverlay.keys()].some(name => !isRunDataPath(parsed.run_id, name))) throw Error("proposed_artefacts_invalid");
61
63
  const state = { path, content, ...parsed, meta: parseRunState(content).meta };
62
64
  const evidenceReader = overlayReader ?? (name => {
63
65
  const file = resolvedArtefactFile(targetDir, name);
@@ -89,7 +91,7 @@ export function prepareRunContentState(targetDir, content, path = "", { readArte
89
91
  let closeoutEvidence = { ready: false, findings: ['or_unavailable'] };
90
92
  try { if (or?.path && or.status === 'done') closeoutEvidence = evaluateCloseoutReadiness({ ...state, qa_acceptance: qaAcceptance, reconciliation_state: reconciliation, evidence_applicability: evidence }, evidenceReader(or.path), evidenceReader); }
91
93
  catch { closeoutEvidence = { ready: false, findings: ['or_observation_unavailable'] }; }
92
- return {
94
+ const prepared = {
93
95
  ...state,
94
96
  evidence_applicability: evidence,
95
97
  qa_acceptance: qaAcceptance,
@@ -103,14 +105,17 @@ export function prepareRunContentState(targetDir, content, path = "", { readArte
103
105
  revisionId: extractField(content, "revision_id").replace(/^`|`$/g, ""),
104
106
  }),
105
107
  };
108
+ const decision = transitionDecisionForRunState(prepared);
109
+ return { ...prepared, current_gate: decision.current_gate, next_allowed_action: decision.next_allowed_action };
106
110
  }
107
111
 
108
112
  export function readRunState(targetDir, selection = {}) {
109
- let runPath = join(".agdf", "control", "AGDF_RUN.md");
113
+ let runPath = join(".agdf", "control", "runs");
110
114
  const canonicalRoot = join(targetDir, ".agdf", "control", "runs");
111
115
  let resolutionError;
116
+ let resolutionFindings = [];
112
117
  let candidateRuns = [];
113
- if (existsSync(canonicalRoot)) {
118
+ {
114
119
  try {
115
120
  const selected = resolveRuns(targetDir, {
116
121
  runIdArg: selection.runId,
@@ -121,13 +126,13 @@ export function readRunState(targetDir, selection = {}) {
121
126
  : selected.run.path;
122
127
  } catch (error) {
123
128
  resolutionError = error.message;
129
+ resolutionFindings = error.findings ?? [];
130
+ if (error.run_path) runPath = error.run_path.startsWith(targetDir)
131
+ ? error.run_path.slice(targetDir.length + 1) : error.run_path;
124
132
  if (resolutionError.startsWith("AGDF_ACTIVE_RUN_AMBIGUOUS")) {
125
133
  const active = resolveRuns(targetDir, { allActive: true }).runs.map((run) => {
126
- const controlState = parseControlState(run.content, {
127
- userGates: userGateOrder,
128
- internalSteps: [...internalStepArtefacts],
129
- closeoutArtefacts: [...closeoutArtefacts],
130
- });
134
+ const prepared = prepareRunContentState(targetDir, run.content, run.path);
135
+ const controlState = { ...prepared, decision: transitionDecisionForRunState(prepared).status };
131
136
  return {
132
137
  ...run,
133
138
  control_state: controlState,
@@ -158,6 +163,7 @@ export function readRunState(targetDir, selection = {}) {
158
163
  memory: {},
159
164
  candidate_runs: candidateRuns,
160
165
  resolution_error: resolutionError,
166
+ resolution_findings: resolutionFindings,
161
167
  identity_findings: [],
162
168
  };
163
169
  }
@@ -6,7 +6,8 @@ import { evaluateVerifiedChange } from "./verified-change.js";
6
6
  // current gate, next action and forbidden list together with the step it records.
7
7
  export function policyForRunContent(targetDir, content, runPath = "", preparation = {}) {
8
8
  const runState = prepareRunContentState(targetDir, content, runPath, preparation);
9
- const verifiedChange = modeSliceDecision(runState) === "verified_change" ? evaluateVerifiedChange(targetDir, runState, {}) : null;
9
+ const verifiedChange = modeSliceDecision(runState) === "verified_change" ? evaluateVerifiedChange(targetDir, runState, {
10
+ ...preparation.gitObservation, proposedArtefacts: preparation.proposedArtefacts }) : null;
10
11
  const decision = transitionDecisionForRunState(runState, verifiedChange);
11
12
  return Object.freeze({
12
13
  status: decision.status,
@@ -1,3 +1,4 @@
1
+ import { runDocumentPath } from '../control-state/run-identity.js';
1
2
  import { createHash } from 'node:crypto';
2
3
  import { readFileSync } from '../control-read/fs.js';
3
4
  import { containedRegularFile, hasSymlinkComponent, isSafeControlRelativePath } from '../control-state/contained-file.js';
@@ -6,7 +7,7 @@ import { effectiveNextAllowedAction } from './next-action.js';
6
7
  import { evaluateQaFollowUp, inspectQaReports } from './qa-follow-up.js';
7
8
  import { prepareRunContentState, modeSliceDecision } from './run-state.js';
8
9
  import { extractField } from './verified-change.js';
9
- import { summaryLabel } from './backlog-vocabulary.js';
10
+ import { summaryLabel } from './work-vocabulary.js';
10
11
  import { readReportDecision } from './report-decision.js';
11
12
 
12
13
  // Shared projection; never invokes gate-check, changes control or grants permission. `proposed`
@@ -22,20 +23,21 @@ export function runWorkSummary(root, content, runPath = '', decision = policyFor
22
23
  sources: [], limitations: [], authorizes: false };
23
24
  summary.evidence_applicability = Object.fromEntries(['current', 'superseded', 'applicability_unknown'].map(group => [group,
24
25
  state.evidence_applicability[group].map(row => ({ path: row.report?.path ?? row.source, step: row.step ?? null, reason: row.reason, available: row.available }))]));
25
- if (lifecycle === 'completed') summary.kind = decision.completion?.fulfilled ? 'completed' : 'unconfirmed';
26
+ if (['superseded', 'abandoned'].includes(lifecycle)) { summary.kind = 'run_ended'; summary.display_action = decision.next_allowed_action; }
27
+ else if (lifecycle === 'completed') summary.kind = decision.completion?.fulfilled ? 'completed' : 'unconfirmed';
26
28
  else if (decision.status === 'blocked') summary.kind = 'unconfirmed';
27
29
  else if (decision.current_gate === 'OR') summary.kind = 'closeout_pending';
28
30
  else if (decision.missing_approval !== 'none') summary.kind = 'approval_pending';
29
31
  const qa = state.artefacts.get('QA');
30
32
  const structured = ['structured_slice', 'structured_delivery'].includes(modeSliceDecision(state));
31
- const qaRelevant = structured && (qa?.path || ['QA', 'UAT', 'OR'].includes(decision.current_gate));
33
+ const qaRelevant = summary.kind !== 'run_ended' && structured && (qa?.path || ['QA', 'UAT', 'OR'].includes(decision.current_gate));
32
34
  const unconfirmed = reason => { summary.kind = 'source_unconfirmed'; summary.limitations.push(reason);
33
35
  summary.display_action = decision.next_allowed_action; };
34
36
  if (qaRelevant) {
35
37
  summary.qa_outcome = 'unconfirmed';
36
38
  const path = String(qa?.path ?? '').replace(/^`|`$/gu, '');
37
39
  if (!path) { summary.kind = 'qa_report_pending'; summary.qa_outcome = 'missing'; }
38
- else if (!isSafeControlRelativePath(path) || /[%?#]/u.test(path) || !path.startsWith(`.agdf/control/artefacts/${runId}/`)
40
+ else if (!isSafeControlRelativePath(path) || /[%?#]/u.test(path) || !path.startsWith(`${runDocumentPath(runId, '')}/`)
39
41
  || hasSymlinkComponent(root, path)) unconfirmed('qa_source_unsafe');
40
42
  else {
41
43
  const overlay = proposed?.get(path), file = typeof overlay === 'string' ? null : containedRegularFile(root, path);