create-agdf 0.20.2 → 0.31.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 (903) hide show
  1. package/README.md +148 -191
  2. package/generated/.agdf/control/README.md +35 -109
  3. package/generated/.agdf/control/planned-urs.md +95 -0
  4. package/generated/.agdf/control/templates/BRAND.md +28 -0
  5. package/generated/.agdf/control/templates/RUN_STATE.md +15 -64
  6. package/generated/.agdf/control/templates/artefacts/PRD.md +11 -0
  7. package/generated/.agdf/control/templates/artefacts/SD.md +4 -0
  8. package/generated/.agdf/control/templates/artefacts/UR.md +1 -1
  9. package/generated/.agdf/control/templates/artefacts/UX_INTENT_DEFINITION.md +1 -1
  10. package/generated/.agents/plugins/marketplace.json +12 -0
  11. package/generated/.opencode/agdf-agent-router.md +3 -3
  12. package/generated/.opencode/agdf-interaction-locales.json +2958 -2682
  13. package/generated/.opencode/contracts/closeout.md +1 -1
  14. package/generated/.opencode/contracts/control-scaffold.md +63 -46
  15. package/generated/.opencode/contracts/gate-artifact-preparation.md +64 -48
  16. package/generated/.opencode/contracts/gate-transition.md +5 -6
  17. package/generated/.opencode/contracts/interaction.md +52 -129
  18. package/generated/.opencode/contracts/modes.md +9 -3
  19. package/generated/.opencode/contracts/prd-definition.md +46 -7
  20. package/generated/.opencode/contracts/quality.md +45 -2
  21. package/generated/.opencode/contracts/request-activation.md +14 -10
  22. package/generated/.opencode/contracts/sd-definition.md +49 -3
  23. package/generated/.opencode/contracts/task-target-resolution.md +24 -0
  24. package/generated/.opencode/contracts/tp-definition.md +9 -1
  25. package/generated/.opencode/contracts/ur-definition.md +50 -12
  26. package/generated/.opencode/skills/agdf-brownfield-analysis/SKILL.md +8 -5
  27. package/generated/.opencode/skills/agdf-clean-implementation-review/SKILL.md +3 -2
  28. package/generated/.opencode/skills/agdf-code-review/SKILL.md +5 -3
  29. package/generated/.opencode/skills/agdf-delivery-closeout/SKILL.md +3 -2
  30. package/generated/.opencode/skills/agdf-delivery-path-search/SKILL.md +3 -2
  31. package/generated/.opencode/skills/agdf-gate-check/SKILL.md +35 -31
  32. package/generated/.opencode/skills/agdf-prd-definition/SKILL.md +3 -2
  33. package/generated/.opencode/skills/agdf-qa-gate/SKILL.md +3 -2
  34. package/generated/.opencode/skills/agdf-release-or/SKILL.md +8 -5
  35. package/generated/.opencode/skills/agdf-sd-definition/SKILL.md +3 -2
  36. package/generated/.opencode/skills/agdf-task-plan-review/SKILL.md +3 -2
  37. package/generated/.opencode/skills/agdf-tp-definition/SKILL.md +3 -2
  38. package/generated/.opencode/skills/agdf-ur-definition/SKILL.md +12 -4
  39. package/generated/.opencode/skills/agdf-ux-intent-definition/SKILL.md +36 -6
  40. package/generated/plugins/agdf/.claude-plugin/plugin.json +3 -2
  41. package/generated/plugins/agdf/.codex-plugin/plugin.json +1 -1
  42. package/generated/plugins/agdf/companion/assignment.mjs +65 -0
  43. package/generated/plugins/agdf/companion/companion.json +4 -0
  44. package/generated/plugins/agdf/companion/events.mjs +117 -0
  45. package/generated/plugins/agdf/companion/figure.mjs +137 -0
  46. package/generated/plugins/agdf/companion/gate-bar.mjs +36 -0
  47. package/generated/plugins/agdf/companion/hooks.json +3 -0
  48. package/generated/plugins/agdf/companion/localization.mjs +67 -0
  49. package/generated/plugins/agdf/companion/notice.mjs +92 -0
  50. package/generated/plugins/agdf/companion/persistence.mjs +36 -0
  51. package/generated/plugins/agdf/companion/register.mjs +630 -0
  52. package/generated/plugins/agdf/companion/run-state.mjs +97 -0
  53. package/generated/plugins/agdf/companion/state.mjs +22 -0
  54. package/generated/plugins/agdf/companion/view.mjs +129 -0
  55. package/generated/plugins/agdf/control/README.md +35 -109
  56. package/generated/plugins/agdf/control/planned-urs.md +95 -0
  57. package/generated/plugins/agdf/control/templates/BRAND.md +28 -0
  58. package/generated/plugins/agdf/control/templates/RUN_STATE.md +15 -64
  59. package/generated/plugins/agdf/control/templates/artefacts/PRD.md +11 -0
  60. package/generated/plugins/agdf/control/templates/artefacts/SD.md +4 -0
  61. package/generated/plugins/agdf/control/templates/artefacts/UR.md +1 -1
  62. package/generated/plugins/agdf/control/templates/artefacts/UX_INTENT_DEFINITION.md +1 -1
  63. package/generated/plugins/agdf/mcp/server/README.md +143 -7
  64. package/generated/plugins/agdf/mcp/server/package.json +12 -7
  65. package/generated/plugins/agdf/mcp/server/src/generation-entry.js +3 -85
  66. package/generated/plugins/agdf/mcp/server/src/generation-protocol.js +2 -44
  67. package/generated/plugins/agdf/mcp/server/src/generation-runtime.js +103 -0
  68. package/generated/plugins/agdf/mcp/server/src/generation-thread-entry.js +8 -0
  69. package/generated/plugins/agdf/mcp/server/src/generation.js +64 -20
  70. package/generated/plugins/agdf/mcp/server/src/main.js +43 -10
  71. package/generated/plugins/agdf/mcp/server/src/next-action.js +227 -0
  72. package/generated/plugins/agdf/mcp/server/src/prepared-call-transport.js +306 -0
  73. package/generated/plugins/agdf/mcp/server/src/safe-read-continuation.js +62 -0
  74. package/generated/plugins/agdf/mcp/server/src/server.js +159 -46
  75. package/generated/plugins/agdf/mcp/server/src/stdio-output.js +42 -0
  76. package/generated/plugins/agdf/mcp/server/src/worker-entry.js +2 -2
  77. package/generated/plugins/agdf/mcp/server/src/worker.js +53 -7
  78. package/generated/plugins/agdf/mcp/server/ui/cockpit.html +31 -31
  79. package/generated/plugins/agdf/mcp/server/ui/decision-manifest.json +3 -3
  80. package/generated/plugins/agdf/mcp/server/ui/decision.html +36 -36
  81. package/generated/plugins/agdf/mcp/server/ui/manifest.json +4 -4
  82. package/generated/plugins/agdf/meta/agdf-agent-router.md +3 -3
  83. package/generated/plugins/agdf/meta/agdf-defaults.json +9 -0
  84. package/generated/plugins/agdf/meta/agdf-defaults.schema.json +20 -0
  85. package/generated/plugins/agdf/meta/agdf-interaction-locales.json +2958 -2682
  86. package/generated/plugins/agdf/meta/agdf-mcp-capability.json +1 -1
  87. package/generated/plugins/agdf/meta/agdf-plugin.definition.json +8 -3
  88. package/generated/plugins/agdf/meta/contracts/closeout.md +1 -1
  89. package/generated/plugins/agdf/meta/contracts/control-scaffold.md +63 -46
  90. package/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +64 -48
  91. package/generated/plugins/agdf/meta/contracts/gate-transition.md +5 -6
  92. package/generated/plugins/agdf/meta/contracts/interaction.md +52 -129
  93. package/generated/plugins/agdf/meta/contracts/modes.md +9 -3
  94. package/generated/plugins/agdf/meta/contracts/prd-definition.md +46 -7
  95. package/generated/plugins/agdf/meta/contracts/quality.md +45 -2
  96. package/generated/plugins/agdf/meta/contracts/request-activation.md +14 -10
  97. package/generated/plugins/agdf/meta/contracts/sd-definition.md +49 -3
  98. package/generated/plugins/agdf/meta/contracts/task-target-resolution.md +24 -0
  99. package/generated/plugins/agdf/meta/contracts/tp-definition.md +9 -1
  100. package/generated/plugins/agdf/meta/contracts/ur-definition.md +50 -12
  101. package/generated/plugins/agdf/meta/copilot-payload-baseline.json +3 -3
  102. package/generated/plugins/agdf/meta/distribution-profile-history.json +14 -0
  103. package/generated/plugins/agdf/runtime/agdf-session-check.js +25 -21
  104. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.json +9 -0
  105. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.schema.json +20 -0
  106. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-interaction-locales.json +2958 -2682
  107. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-plugin.definition.json +8 -3
  108. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/closeout.md +1 -1
  109. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/control-scaffold.md +63 -46
  110. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +64 -48
  111. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-transition.md +5 -6
  112. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/interaction.md +52 -129
  113. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/modes.md +9 -3
  114. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/prd-definition.md +46 -7
  115. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/quality.md +45 -2
  116. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/request-activation.md +14 -10
  117. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/sd-definition.md +49 -3
  118. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/task-target-resolution.md +24 -0
  119. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/tp-definition.md +9 -1
  120. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/ur-definition.md +50 -12
  121. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/codex-document-command.js +195 -0
  122. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/command-registry.js +83 -148
  123. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/control-maintenance-command.js +8 -37
  124. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/parse-args.js +101 -16
  125. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/planned-command.js +55 -0
  126. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/project-read-command.js +64 -0
  127. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/run-command-aliases.js +116 -0
  128. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/runtime-context.js +1 -59
  129. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/validation-handlers.js +34 -103
  130. package/generated/plugins/agdf/runtime/create-agdf/lib/control-evaluation/git-observation.js +7 -5
  131. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/startup.js +2 -2
  132. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-decision-protocol.js +40 -0
  133. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-dispatch-runtime.js +95 -304
  134. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-entry.js +3 -24
  135. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-owner-entry.js +31 -15
  136. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-runtime.js +29 -0
  137. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-thread-entry.js +11 -0
  138. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/owner-client.js +79 -0
  139. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/package.js +21 -80
  140. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/plugin-runtime.js +61 -13
  141. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/prepared-call-journal.js +269 -0
  142. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/thread-owner.js +164 -0
  143. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-owner-protocol.js +1 -0
  144. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-protocol-runtime.js +308 -0
  145. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-worker-runtime.js +155 -0
  146. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/control-command-service.js +22 -7
  147. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/control-context.js +8 -1
  148. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/validator-application.js +2 -2
  149. package/generated/plugins/agdf/runtime/create-agdf/package.json +5 -1
  150. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/companion/events.js +154 -0
  151. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/companion/figure-state.js +36 -0
  152. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/companion/journal.js +180 -0
  153. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/companion/run-view.js +184 -0
  154. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/acceptance-criteria.js +2 -0
  155. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/closeout-readiness.js +34 -8
  156. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-placeholder.js +9 -0
  157. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-readiness.js +2 -7
  158. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/definition-sources.js +3 -2
  159. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/delivery-map.js +2 -12
  160. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/doctor.js +162 -172
  161. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-check.js +54 -15
  162. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-inputs.js +13 -0
  163. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-pure.js +450 -0
  164. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy.js +3 -434
  165. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/next-action.js +2 -0
  166. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/parent-reconciliation.js +2 -1
  167. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/prd-readiness.js +7 -2
  168. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/qa-follow-up.js +2 -1
  169. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/report-decision.js +9 -0
  170. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/required-files.js +9 -7
  171. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state-policy.js +1 -1
  172. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state.js +15 -9
  173. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-step-policy.js +2 -1
  174. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-work-summary.js +6 -4
  175. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared-value.js +7 -0
  176. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared.js +5 -254
  177. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/tp-planning.js +3 -2
  178. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/traceability-readiness.js +57 -8
  179. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/ur-readiness.js +22 -4
  180. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/verified-change.js +11 -9
  181. 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
  182. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/artifact-readiness.js +10 -6
  183. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/authoring-inputs.js +195 -0
  184. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-archive.js +53 -0
  185. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-context.js +2 -1
  186. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-contract.js +11 -4
  187. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-list.d.ts +10 -6
  188. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-list.js +32 -41
  189. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-session.js +8 -8
  190. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-work.js +33 -0
  191. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit.js +72 -57
  192. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/contract.js +164 -32
  193. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/decision-session.js +53 -11
  194. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/doctor-observation.js +91 -0
  195. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/material-recording-calls.js +54 -0
  196. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-operation-call.js +5 -0
  197. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-state.js +49 -0
  198. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/result.js +61 -0
  199. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/run-classification.js +31 -0
  200. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/selection.js +15 -3
  201. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/service.js +148 -69
  202. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/compatibility.js +42 -132
  203. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/contract.js +5 -5
  204. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/presentation.js +27 -119
  205. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/service.js +9 -37
  206. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/cockpit-pool.js +25 -9
  207. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/cockpit-worker.js +4 -3
  208. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-reader.js +92 -0
  209. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-worker.js +11 -0
  210. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/fs.js +18 -0
  211. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/snapshot.js +68 -17
  212. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/aggregate.js +3 -1
  213. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-command.js +13 -10
  214. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-operations.js +10 -7
  215. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-binding-proof.js +12 -20
  216. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-bindings.js +10 -7
  217. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/authoring-text-handoff.js +3 -0
  218. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/canonical-initialization.js +761 -0
  219. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/control-layout.js +183 -0
  220. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-action-contract.js +10 -1
  221. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-action-service.js +24 -3
  222. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-material-contract.js +2 -1
  223. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/evidence-bindings.js +7 -7
  224. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/git-identity.js +86 -0
  225. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/index.js +0 -1
  226. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/input-resolution.js +101 -0
  227. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/material-limits.js +4 -0
  228. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-entry.js +273 -0
  229. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-handoff.js +174 -0
  230. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-inventory.js +90 -0
  231. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin-reader.js +48 -0
  232. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin.js +40 -0
  233. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/prepared-control-calls.js +137 -0
  234. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-decision.js +12 -7
  235. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-delivery.js +93 -0
  236. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-render.js +5 -2
  237. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-review.js +3 -2
  238. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-snapshot.js +9 -6
  239. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/recording-formats.js +12 -16
  240. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-artefact-recording.js +54 -66
  241. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-closure.js +343 -0
  242. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-contract.js +40 -251
  243. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-schema.js +514 -0
  244. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-service.js +222 -34
  245. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-create-command.js +60 -0
  246. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.d.ts +14 -0
  247. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.js +42 -0
  248. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-input-resolution.js +72 -0
  249. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory-reader.js +33 -0
  250. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory.js +179 -0
  251. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-material.js +229 -0
  252. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-mutation.js +51 -0
  253. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-identity.js +2 -1
  254. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-proof.js +7 -4
  255. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-status.js +20 -4
  256. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operations.js +70 -13
  257. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-owned-outputs.js +21 -9
  258. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-envelope.js +25 -33
  259. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-render.js +92 -35
  260. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation.js +45 -21
  261. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recording.js +10 -179
  262. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-boundary.js +7 -21
  263. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-history.js +23 -16
  264. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision.js +120 -179
  265. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal-compute.js +19 -44
  266. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal.js +6 -1
  267. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-source-revisions.js +56 -35
  268. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-document.js +110 -42
  269. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-edits.js +13 -5
  270. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-parser.js +14 -6
  271. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-reader.js +37 -21
  272. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-repository.js +112 -48
  273. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-resolver.js +12 -15
  274. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-writer.js +21 -377
  275. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-pending.js +2 -1
  276. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-transaction.js +125 -114
  277. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-steps.js +142 -251
  278. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-store-inspection.js +14 -2
  279. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-verified-change.js +81 -0
  280. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-work-summary-shape.d.ts +1 -0
  281. 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
  282. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/delivery-continuation/service.js +5 -66
  283. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/persistence.js +26 -8
  284. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/state-adapter.js +1 -1
  285. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/index.js +16 -6
  286. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog-validation.js +6 -1
  287. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog.js +11 -3
  288. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/interaction-presentation.js +55 -12
  289. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-hints.js +75 -0
  290. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-resolution.js +98 -0
  291. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-schema.js +15 -0
  292. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-resource-contract.js +1 -1
  293. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-tool-errors.js +33 -15
  294. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/owned-file-lock.js +266 -0
  295. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/owner-placement.js +50 -0
  296. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/canonical-init-plan.js +34 -0
  297. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/configuration.js +92 -0
  298. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/context.js +7 -11
  299. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/language-preference.js +59 -0
  300. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/runtime/mcp-owner-protocol.js +102 -0
  301. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/runtime/plugin-provenance.js +180 -18
  302. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/compact-continuation.js +3 -3
  303. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/contract.js +34 -13
  304. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-intake.js +14 -6
  305. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +6 -10
  306. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/mcp-continuation.js +87 -0
  307. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/prd-definition.js +17 -7
  308. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/readiness-findings.js +7 -0
  309. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/sd-definition.js +6 -3
  310. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/service.js +66 -18
  311. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/tp-definition.js +6 -3
  312. package/generated/plugins/agdf/runtime/runtime-manifest.json +2 -2
  313. package/generated/plugins/agdf/scripts/check-runtime-integrity.mjs +62 -43
  314. package/generated/plugins/agdf/scripts/instruction-footprint.mjs +5 -5
  315. package/generated/plugins/agdf/skills/brownfield-analysis/SKILL.md +8 -5
  316. package/generated/plugins/agdf/skills/clean-implementation-review/SKILL.md +3 -2
  317. package/generated/plugins/agdf/skills/code-review/SKILL.md +5 -3
  318. package/generated/plugins/agdf/skills/delivery-closeout/SKILL.md +3 -2
  319. package/generated/plugins/agdf/skills/delivery-path-search/SKILL.md +3 -2
  320. package/generated/plugins/agdf/skills/gate-check/SKILL.md +35 -31
  321. package/generated/plugins/agdf/skills/prd-definition/SKILL.md +3 -2
  322. package/generated/plugins/agdf/skills/qa-gate/SKILL.md +3 -2
  323. package/generated/plugins/agdf/skills/release-or/SKILL.md +8 -5
  324. package/generated/plugins/agdf/skills/sd-definition/SKILL.md +3 -2
  325. package/generated/plugins/agdf/skills/task-plan-review/SKILL.md +3 -2
  326. package/generated/plugins/agdf/skills/tp-definition/SKILL.md +3 -2
  327. package/generated/plugins/agdf/skills/ur-definition/SKILL.md +12 -4
  328. package/generated/plugins/agdf/skills/ux-intent-definition/SKILL.md +36 -6
  329. package/generated/plugins/agdf/skills/ux-intent-definition/help.md +8 -1
  330. package/generated/plugins/agdf/submission/openai/availability.md +1 -1
  331. package/generated/plugins/agdf/submission/openai/capability-matrix.json +1 -1
  332. package/generated/plugins/agdf/submission/openai/release-notes.md +9 -1
  333. package/generated/plugins/agdf/submission/openai/reviewer-cases.json +1 -1
  334. package/generated/plugins/agdf-planning/.codex-plugin/plugin.json +40 -0
  335. package/generated/plugins/agdf-planning/README.md +21 -0
  336. package/generated/plugins/agdf-planning/assets/agdf-icon.svg +16 -0
  337. package/generated/plugins/agdf-planning/assets/agdf-logo.svg +16 -0
  338. package/generated/plugins/agdf-planning/meta/agdf-planning.definition.json +9 -0
  339. package/generated/plugins/agdf-planning/plugin.json +45 -0
  340. package/generated/plugins/agdf-planning/skills/planning/SKILL.md +56 -0
  341. package/generated/plugins/copilot/agdf/.agdf-payload-inventory.json +1028 -488
  342. package/generated/plugins/copilot/agdf/control/README.md +35 -109
  343. package/generated/plugins/copilot/agdf/control/planned-urs.md +95 -0
  344. package/generated/plugins/copilot/agdf/control/templates/BRAND.md +28 -0
  345. package/generated/plugins/copilot/agdf/control/templates/RUN_STATE.md +15 -64
  346. package/generated/plugins/copilot/agdf/control/templates/artefacts/PRD.md +11 -0
  347. package/generated/plugins/copilot/agdf/control/templates/artefacts/SD.md +4 -0
  348. package/generated/plugins/copilot/agdf/control/templates/artefacts/UR.md +1 -1
  349. package/generated/plugins/copilot/agdf/control/templates/artefacts/UX_INTENT_DEFINITION.md +1 -1
  350. package/generated/plugins/copilot/agdf/mcp/server/README.md +143 -7
  351. package/generated/plugins/copilot/agdf/mcp/server/package.json +12 -7
  352. package/generated/plugins/copilot/agdf/mcp/server/src/generation-entry.js +3 -85
  353. package/generated/plugins/copilot/agdf/mcp/server/src/generation-protocol.js +2 -44
  354. package/generated/plugins/copilot/agdf/mcp/server/src/generation-runtime.js +103 -0
  355. package/generated/plugins/copilot/agdf/mcp/server/src/generation-thread-entry.js +8 -0
  356. package/generated/plugins/copilot/agdf/mcp/server/src/generation.js +64 -20
  357. package/generated/plugins/copilot/agdf/mcp/server/src/main.js +43 -10
  358. package/generated/plugins/copilot/agdf/mcp/server/src/next-action.js +227 -0
  359. package/generated/plugins/copilot/agdf/mcp/server/src/prepared-call-transport.js +306 -0
  360. package/generated/plugins/copilot/agdf/mcp/server/src/safe-read-continuation.js +62 -0
  361. package/generated/plugins/copilot/agdf/mcp/server/src/server.js +159 -46
  362. package/generated/plugins/copilot/agdf/mcp/server/src/stdio-output.js +42 -0
  363. package/generated/plugins/copilot/agdf/mcp/server/src/worker-entry.js +2 -2
  364. package/generated/plugins/copilot/agdf/mcp/server/src/worker.js +53 -7
  365. package/generated/plugins/copilot/agdf/meta/agdf-agent-router.md +3 -3
  366. package/generated/plugins/copilot/agdf/meta/agdf-plugin.definition.json +8 -3
  367. package/generated/plugins/copilot/agdf/meta/distribution-profile-history.json +14 -0
  368. package/generated/plugins/copilot/agdf/plugin.json +1 -1
  369. package/generated/plugins/copilot/agdf/runtime/agdf-session-check.js +25 -21
  370. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.json +9 -0
  371. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.schema.json +20 -0
  372. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-interaction-locales.json +2958 -2682
  373. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-plugin.definition.json +8 -3
  374. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/closeout.md +1 -1
  375. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/control-scaffold.md +63 -46
  376. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +64 -48
  377. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-transition.md +5 -6
  378. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/interaction.md +52 -129
  379. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/modes.md +9 -3
  380. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/prd-definition.md +46 -7
  381. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/quality.md +45 -2
  382. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/request-activation.md +14 -10
  383. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/sd-definition.md +49 -3
  384. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/task-target-resolution.md +24 -0
  385. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/tp-definition.md +9 -1
  386. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/ur-definition.md +50 -12
  387. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/codex-document-command.js +195 -0
  388. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/command-registry.js +83 -148
  389. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/control-maintenance-command.js +8 -37
  390. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/parse-args.js +101 -16
  391. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/planned-command.js +55 -0
  392. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/project-read-command.js +64 -0
  393. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/run-command-aliases.js +116 -0
  394. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/runtime-context.js +1 -59
  395. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/validation-handlers.js +34 -103
  396. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-evaluation/git-observation.js +7 -5
  397. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/startup.js +2 -2
  398. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-decision-protocol.js +40 -0
  399. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-dispatch-runtime.js +95 -304
  400. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-entry.js +3 -24
  401. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-owner-entry.js +31 -15
  402. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-runtime.js +29 -0
  403. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-thread-entry.js +11 -0
  404. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/owner-client.js +79 -0
  405. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/package.js +21 -80
  406. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/plugin-runtime.js +61 -13
  407. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/prepared-call-journal.js +269 -0
  408. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/thread-owner.js +164 -0
  409. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-owner-protocol.js +1 -0
  410. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-protocol-runtime.js +308 -0
  411. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-worker-runtime.js +155 -0
  412. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/control-command-service.js +22 -7
  413. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/control-context.js +8 -1
  414. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/validator-application.js +2 -2
  415. package/generated/plugins/copilot/agdf/runtime/create-agdf/package.json +5 -1
  416. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/companion/events.js +154 -0
  417. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/companion/figure-state.js +36 -0
  418. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/companion/journal.js +180 -0
  419. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/companion/run-view.js +184 -0
  420. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/acceptance-criteria.js +2 -0
  421. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/closeout-readiness.js +34 -8
  422. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-placeholder.js +9 -0
  423. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-readiness.js +2 -7
  424. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/definition-sources.js +3 -2
  425. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/delivery-map.js +2 -12
  426. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/doctor.js +162 -172
  427. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-check.js +54 -15
  428. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-inputs.js +13 -0
  429. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-pure.js +450 -0
  430. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy.js +3 -434
  431. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/next-action.js +2 -0
  432. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/parent-reconciliation.js +2 -1
  433. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/prd-readiness.js +7 -2
  434. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/qa-follow-up.js +2 -1
  435. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/report-decision.js +9 -0
  436. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/required-files.js +9 -7
  437. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state-policy.js +1 -1
  438. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state.js +15 -9
  439. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-step-policy.js +2 -1
  440. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-work-summary.js +6 -4
  441. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared-value.js +7 -0
  442. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared.js +5 -254
  443. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/tp-planning.js +3 -2
  444. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/traceability-readiness.js +57 -8
  445. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/ur-readiness.js +22 -4
  446. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/verified-change.js +11 -9
  447. 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
  448. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/artifact-readiness.js +10 -6
  449. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/authoring-inputs.js +195 -0
  450. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-archive.js +53 -0
  451. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/contract.js +164 -32
  452. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/doctor-observation.js +91 -0
  453. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/material-recording-calls.js +54 -0
  454. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-operation-call.js +5 -0
  455. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-state.js +49 -0
  456. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/result.js +61 -0
  457. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/run-classification.js +31 -0
  458. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/selection.js +15 -3
  459. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/service.js +148 -69
  460. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/compatibility.js +42 -132
  461. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/contract.js +5 -5
  462. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/presentation.js +27 -119
  463. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/service.js +9 -37
  464. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/cockpit-pool.js +121 -0
  465. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-reader.js +92 -0
  466. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-worker.js +11 -0
  467. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/fs.js +18 -0
  468. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/snapshot.js +68 -17
  469. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/aggregate.js +3 -1
  470. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-command.js +13 -10
  471. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-operations.js +10 -7
  472. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-binding-proof.js +12 -20
  473. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-bindings.js +10 -7
  474. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/authoring-text-handoff.js +3 -0
  475. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/canonical-initialization.js +761 -0
  476. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/control-layout.js +183 -0
  477. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-material-contract.js +2 -1
  478. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/evidence-bindings.js +7 -7
  479. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/git-identity.js +86 -0
  480. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/index.js +0 -1
  481. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/input-resolution.js +101 -0
  482. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/material-limits.js +4 -0
  483. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-entry.js +273 -0
  484. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-handoff.js +174 -0
  485. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-inventory.js +90 -0
  486. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin-reader.js +48 -0
  487. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin.js +40 -0
  488. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/prepared-control-calls.js +137 -0
  489. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-decision.js +12 -7
  490. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-delivery.js +93 -0
  491. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-render.js +5 -2
  492. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-review.js +3 -2
  493. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-snapshot.js +9 -6
  494. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/recording-formats.js +12 -16
  495. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-artefact-recording.js +54 -66
  496. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-closure.js +343 -0
  497. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-contract.js +40 -251
  498. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-schema.js +514 -0
  499. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-service.js +222 -34
  500. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-create-command.js +60 -0
  501. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.d.ts +14 -0
  502. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.js +42 -0
  503. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-input-resolution.js +72 -0
  504. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory-reader.js +33 -0
  505. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory.js +179 -0
  506. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-material.js +229 -0
  507. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-mutation.js +51 -0
  508. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-identity.js +2 -1
  509. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-proof.js +7 -4
  510. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-status.js +20 -4
  511. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operations.js +70 -13
  512. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-owned-outputs.js +21 -9
  513. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-envelope.js +25 -33
  514. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-render.js +92 -35
  515. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation.js +45 -21
  516. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recording.js +10 -179
  517. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-boundary.js +7 -21
  518. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-history.js +23 -16
  519. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision.js +120 -179
  520. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal-compute.js +19 -44
  521. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal.js +6 -1
  522. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-source-revisions.js +56 -35
  523. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-document.js +110 -42
  524. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-edits.js +13 -5
  525. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-parser.js +14 -6
  526. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-reader.js +37 -21
  527. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-repository.js +112 -48
  528. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-resolver.js +12 -15
  529. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-writer.js +21 -377
  530. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-pending.js +2 -1
  531. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-transaction.js +125 -114
  532. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-steps.js +142 -251
  533. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-store-inspection.js +14 -2
  534. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-verified-change.js +81 -0
  535. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-work-summary-shape.d.ts +1 -0
  536. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/{backlog-summary-shape.js → run-work-summary-shape.js} +7 -19
  537. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/delivery-continuation/service.js +5 -66
  538. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/persistence.js +26 -8
  539. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/state-adapter.js +1 -1
  540. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/index.js +16 -6
  541. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog-validation.js +6 -1
  542. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog.js +11 -3
  543. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/interaction-presentation.js +55 -12
  544. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-hints.js +75 -0
  545. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-resolution.js +98 -0
  546. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-schema.js +15 -0
  547. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-resource-contract.js +1 -1
  548. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-tool-errors.js +33 -15
  549. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/owned-file-lock.js +266 -0
  550. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/owner-placement.js +50 -0
  551. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/canonical-init-plan.js +34 -0
  552. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/configuration.js +92 -0
  553. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/context.js +7 -11
  554. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/language-preference.js +59 -0
  555. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/runtime/mcp-owner-protocol.js +102 -0
  556. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/runtime/plugin-provenance.js +180 -18
  557. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/compact-continuation.js +3 -3
  558. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/contract.js +34 -13
  559. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-intake.js +14 -6
  560. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +6 -10
  561. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/mcp-continuation.js +87 -0
  562. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/prd-definition.js +17 -7
  563. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/readiness-findings.js +7 -0
  564. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/sd-definition.js +6 -3
  565. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/service.js +66 -18
  566. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/tp-definition.js +6 -3
  567. package/generated/plugins/copilot/agdf/runtime/runtime-manifest.json +2 -2
  568. package/generated/plugins/copilot/agdf/skills/agdf-brownfield-analysis/SKILL.md +8 -5
  569. package/generated/plugins/copilot/agdf/skills/agdf-clean-implementation-review/SKILL.md +3 -2
  570. package/generated/plugins/copilot/agdf/skills/agdf-code-review/SKILL.md +5 -3
  571. package/generated/plugins/copilot/agdf/skills/agdf-delivery-closeout/SKILL.md +3 -2
  572. package/generated/plugins/copilot/agdf/skills/agdf-delivery-path-search/SKILL.md +3 -2
  573. package/generated/plugins/copilot/agdf/skills/agdf-gate-check/SKILL.md +35 -31
  574. package/generated/plugins/copilot/agdf/skills/agdf-interaction-locales.json +1 -1
  575. package/generated/plugins/copilot/agdf/skills/agdf-prd-definition/SKILL.md +3 -2
  576. package/generated/plugins/copilot/agdf/skills/agdf-qa-gate/SKILL.md +3 -2
  577. package/generated/plugins/copilot/agdf/skills/agdf-release-or/SKILL.md +8 -5
  578. package/generated/plugins/copilot/agdf/skills/agdf-sd-definition/SKILL.md +3 -2
  579. package/generated/plugins/copilot/agdf/skills/agdf-task-plan-review/SKILL.md +3 -2
  580. package/generated/plugins/copilot/agdf/skills/agdf-tp-definition/SKILL.md +3 -2
  581. package/generated/plugins/copilot/agdf/skills/agdf-ur-definition/SKILL.md +12 -4
  582. package/generated/plugins/copilot/agdf/skills/agdf-ux-intent-definition/SKILL.md +36 -6
  583. package/generated/plugins/copilot/agdf/skills/contracts/closeout.md +1 -1
  584. package/generated/plugins/copilot/agdf/skills/contracts/control-scaffold.md +63 -46
  585. package/generated/plugins/copilot/agdf/skills/contracts/gate-artifact-preparation.md +64 -48
  586. package/generated/plugins/copilot/agdf/skills/contracts/gate-transition.md +5 -6
  587. package/generated/plugins/copilot/agdf/skills/contracts/interaction.md +52 -129
  588. package/generated/plugins/copilot/agdf/skills/contracts/modes.md +9 -3
  589. package/generated/plugins/copilot/agdf/skills/contracts/prd-definition.md +46 -7
  590. package/generated/plugins/copilot/agdf/skills/contracts/quality.md +45 -2
  591. package/generated/plugins/copilot/agdf/skills/contracts/request-activation.md +14 -10
  592. package/generated/plugins/copilot/agdf/skills/contracts/sd-definition.md +49 -3
  593. package/generated/plugins/copilot/agdf/skills/contracts/task-target-resolution.md +24 -0
  594. package/generated/plugins/copilot/agdf/skills/contracts/tp-definition.md +9 -1
  595. package/generated/plugins/copilot/agdf/skills/contracts/ur-definition.md +50 -12
  596. package/generated/submissions/openai/agdf/.codex-plugin/plugin.json +1 -1
  597. package/generated/submissions/openai/agdf/meta/agdf-agent-router.md +3 -3
  598. package/generated/submissions/openai/agdf/meta/agdf-defaults.json +9 -0
  599. package/generated/submissions/openai/agdf/meta/agdf-defaults.schema.json +20 -0
  600. package/generated/submissions/openai/agdf/meta/agdf-interaction-locales.json +2958 -2682
  601. package/generated/submissions/openai/agdf/meta/agdf-plugin.definition.json +8 -3
  602. package/generated/submissions/openai/agdf/meta/contracts/closeout.md +1 -1
  603. package/generated/submissions/openai/agdf/meta/contracts/control-scaffold.md +63 -46
  604. package/generated/submissions/openai/agdf/meta/contracts/gate-artifact-preparation.md +64 -48
  605. package/generated/submissions/openai/agdf/meta/contracts/gate-transition.md +5 -6
  606. package/generated/submissions/openai/agdf/meta/contracts/interaction.md +52 -129
  607. package/generated/submissions/openai/agdf/meta/contracts/modes.md +9 -3
  608. package/generated/submissions/openai/agdf/meta/contracts/prd-definition.md +46 -7
  609. package/generated/submissions/openai/agdf/meta/contracts/quality.md +45 -2
  610. package/generated/submissions/openai/agdf/meta/contracts/request-activation.md +14 -10
  611. package/generated/submissions/openai/agdf/meta/contracts/sd-definition.md +49 -3
  612. package/generated/submissions/openai/agdf/meta/contracts/task-target-resolution.md +24 -0
  613. package/generated/submissions/openai/agdf/meta/contracts/tp-definition.md +9 -1
  614. package/generated/submissions/openai/agdf/meta/contracts/ur-definition.md +50 -12
  615. package/generated/submissions/openai/agdf/meta/copilot-payload-baseline.json +3 -3
  616. package/generated/submissions/openai/agdf/meta/distribution-profile-history.json +14 -0
  617. package/generated/submissions/openai/agdf/plugin.json +1 -1
  618. package/generated/submissions/openai/agdf/skills/brownfield-analysis/SKILL.md +8 -5
  619. package/generated/submissions/openai/agdf/skills/clean-implementation-review/SKILL.md +3 -2
  620. package/generated/submissions/openai/agdf/skills/code-review/SKILL.md +5 -3
  621. package/generated/submissions/openai/agdf/skills/delivery-closeout/SKILL.md +3 -2
  622. package/generated/submissions/openai/agdf/skills/delivery-path-search/SKILL.md +3 -2
  623. package/generated/submissions/openai/agdf/skills/gate-check/SKILL.md +35 -31
  624. package/generated/submissions/openai/agdf/skills/prd-definition/SKILL.md +3 -2
  625. package/generated/submissions/openai/agdf/skills/qa-gate/SKILL.md +3 -2
  626. package/generated/submissions/openai/agdf/skills/release-or/SKILL.md +8 -5
  627. package/generated/submissions/openai/agdf/skills/sd-definition/SKILL.md +3 -2
  628. package/generated/submissions/openai/agdf/skills/task-plan-review/SKILL.md +3 -2
  629. package/generated/submissions/openai/agdf/skills/tp-definition/SKILL.md +3 -2
  630. package/generated/submissions/openai/agdf/skills/ur-definition/SKILL.md +12 -4
  631. package/generated/submissions/openai/agdf/skills/ux-intent-definition/SKILL.md +36 -6
  632. package/generated/submissions/openai/agdf/skills/ux-intent-definition/help.md +8 -1
  633. package/generated/submissions/openai/agdf/submission/openai/availability.md +1 -1
  634. package/generated/submissions/openai/agdf/submission/openai/capability-matrix.json +1 -1
  635. package/generated/submissions/openai/agdf/submission/openai/inventory.json +50 -42
  636. package/generated/submissions/openai/agdf/submission/openai/listing.json +1 -1
  637. package/generated/submissions/openai/agdf/submission/openai/readiness.json +2 -2
  638. package/generated/submissions/openai/agdf/submission/openai/readiness.md +2 -2
  639. package/generated/submissions/openai/agdf/submission/openai/release-notes.md +9 -1
  640. package/generated/submissions/openai/agdf/submission/openai/reviewer-cases.json +1 -1
  641. package/lib/cli/application.js +31 -43
  642. package/lib/cli/codex-document-command.js +195 -0
  643. package/lib/cli/command-registry.js +83 -148
  644. package/lib/cli/control-maintenance-command.js +8 -37
  645. package/lib/cli/parse-args.js +101 -16
  646. package/lib/cli/planned-command.js +55 -0
  647. package/lib/cli/project-init-command.js +21 -0
  648. package/lib/cli/project-read-command.js +64 -0
  649. package/lib/cli/run-command-aliases.js +116 -0
  650. package/lib/cli/runtime-context.js +1 -59
  651. package/lib/cli/validation-handlers.js +34 -103
  652. package/lib/control-evaluation/git-observation.js +7 -5
  653. package/lib/control-maintenance/startup.js +2 -2
  654. package/lib/host-adapters/codex/plugin.js +48 -1
  655. package/lib/install-setup/contract.js +4 -4
  656. package/lib/install-setup/{control-migration.js → control-compatibility.js} +1 -2
  657. package/lib/install-setup/interaction.js +0 -1
  658. package/lib/install-setup/presentation.js +3 -4
  659. package/lib/install-setup/service.js +5 -18
  660. package/lib/installers/local-marketplace.js +262 -8
  661. package/lib/lifecycle/codex-startup-status.js +29 -0
  662. package/lib/lifecycle/presentation.js +6 -0
  663. package/lib/mcp-decision-protocol.js +40 -0
  664. package/lib/mcp-dispatch-runtime.js +95 -304
  665. package/lib/mcp-lifecycle/adapters/codex-origin-probe.js +28 -4
  666. package/lib/mcp-lifecycle/evidence.js +2 -1
  667. package/lib/mcp-lifecycle/facade-entry.js +3 -24
  668. package/lib/mcp-lifecycle/facade-owner-entry.js +31 -15
  669. package/lib/mcp-lifecycle/facade-runtime.js +29 -0
  670. package/lib/mcp-lifecycle/facade-thread-entry.js +11 -0
  671. package/lib/mcp-lifecycle/owner-client.js +79 -0
  672. package/lib/mcp-lifecycle/package.js +21 -80
  673. package/lib/mcp-lifecycle/plugin-runtime.js +61 -13
  674. package/lib/mcp-lifecycle/prepared-call-journal.js +269 -0
  675. package/lib/mcp-lifecycle/service.js +5 -4
  676. package/lib/mcp-lifecycle/thread-owner.js +164 -0
  677. package/lib/mcp-owner-protocol.js +1 -0
  678. package/lib/mcp-protocol-runtime.js +308 -0
  679. package/lib/mcp-worker-runtime.js +155 -0
  680. package/lib/runtime/control-command-service.js +22 -7
  681. package/lib/runtime/control-context.js +8 -1
  682. package/lib/runtime/validator-application.js +2 -2
  683. package/lib/scaffold/canonical-init.js +2 -691
  684. package/lib/scaffold/plan.js +11 -32
  685. package/lib/scaffold/presentation.js +2 -2
  686. package/lib/scaffold/write.js +6 -1
  687. package/package.json +6 -2
  688. package/runtime/core/lib/companion/events.js +154 -0
  689. package/runtime/core/lib/companion/figure-state.js +36 -0
  690. package/runtime/core/lib/companion/journal.js +180 -0
  691. package/runtime/core/lib/companion/run-view.js +184 -0
  692. package/runtime/core/lib/control-evaluation/acceptance-criteria.js +2 -0
  693. package/runtime/core/lib/control-evaluation/closeout-readiness.js +34 -8
  694. package/runtime/core/lib/control-evaluation/decision-content-placeholder.js +9 -0
  695. package/runtime/core/lib/control-evaluation/decision-content-readiness.js +2 -7
  696. package/runtime/core/lib/control-evaluation/definition-sources.js +3 -2
  697. package/runtime/core/lib/control-evaluation/delivery-map.js +2 -12
  698. package/runtime/core/lib/control-evaluation/doctor.js +162 -172
  699. package/runtime/core/lib/control-evaluation/gate-check.js +54 -15
  700. package/runtime/core/lib/control-evaluation/gate-policy-inputs.js +13 -0
  701. package/runtime/core/lib/control-evaluation/gate-policy-pure.js +450 -0
  702. package/runtime/core/lib/control-evaluation/gate-policy.js +3 -434
  703. package/runtime/core/lib/control-evaluation/next-action.js +2 -0
  704. package/runtime/core/lib/control-evaluation/parent-reconciliation.js +2 -1
  705. package/runtime/core/lib/control-evaluation/prd-readiness.js +7 -2
  706. package/runtime/core/lib/control-evaluation/qa-follow-up.js +2 -1
  707. package/runtime/core/lib/control-evaluation/report-decision.js +9 -0
  708. package/runtime/core/lib/control-evaluation/required-files.js +9 -7
  709. package/runtime/core/lib/control-evaluation/run-state-policy.js +1 -1
  710. package/runtime/core/lib/control-evaluation/run-state.js +15 -9
  711. package/runtime/core/lib/control-evaluation/run-step-policy.js +2 -1
  712. package/runtime/core/lib/control-evaluation/run-work-summary.js +6 -4
  713. package/runtime/core/lib/control-evaluation/shared-value.js +7 -0
  714. package/runtime/core/lib/control-evaluation/shared.js +5 -254
  715. package/runtime/core/lib/control-evaluation/tp-planning.js +3 -2
  716. package/runtime/core/lib/control-evaluation/traceability-readiness.js +57 -8
  717. package/runtime/core/lib/control-evaluation/ur-readiness.js +22 -4
  718. package/runtime/core/lib/control-evaluation/verified-change.js +11 -9
  719. 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
  720. package/runtime/core/lib/control-inspect/artifact-readiness.js +10 -6
  721. package/runtime/core/lib/control-inspect/authoring-inputs.js +195 -0
  722. package/runtime/core/lib/control-inspect/cockpit-archive.js +53 -0
  723. package/runtime/core/lib/control-inspect/cockpit-context.js +2 -1
  724. package/runtime/core/lib/control-inspect/cockpit-contract.js +11 -4
  725. package/runtime/core/lib/control-inspect/cockpit-list.d.ts +10 -6
  726. package/runtime/core/lib/control-inspect/cockpit-list.js +32 -41
  727. package/runtime/core/lib/control-inspect/cockpit-session.js +8 -8
  728. package/runtime/core/lib/control-inspect/cockpit-work.js +33 -0
  729. package/runtime/core/lib/control-inspect/cockpit.js +72 -57
  730. package/runtime/core/lib/control-inspect/contract.js +164 -32
  731. package/runtime/core/lib/control-inspect/decision-session.js +53 -11
  732. package/runtime/core/lib/control-inspect/doctor-observation.js +91 -0
  733. package/runtime/core/lib/control-inspect/material-recording-calls.js +54 -0
  734. package/runtime/core/lib/control-inspect/project-operation-call.js +5 -0
  735. package/runtime/core/lib/control-inspect/project-state.js +49 -0
  736. package/runtime/core/lib/control-inspect/result.js +61 -0
  737. package/runtime/core/lib/control-inspect/run-classification.js +31 -0
  738. package/runtime/core/lib/control-inspect/selection.js +15 -3
  739. package/runtime/core/lib/control-inspect/service.js +148 -69
  740. package/runtime/core/lib/control-maintenance/compatibility.js +42 -132
  741. package/runtime/core/lib/control-maintenance/contract.js +5 -5
  742. package/runtime/core/lib/control-maintenance/presentation.js +27 -119
  743. package/runtime/core/lib/control-maintenance/service.js +9 -37
  744. package/runtime/core/lib/control-read/cockpit-pool.js +25 -9
  745. package/runtime/core/lib/control-read/cockpit-worker.js +4 -3
  746. package/runtime/core/lib/control-read/doctor-reader.js +92 -0
  747. package/runtime/core/lib/control-read/doctor-worker.js +11 -0
  748. package/runtime/core/lib/control-read/fs.js +18 -0
  749. package/runtime/core/lib/control-read/snapshot.js +68 -17
  750. package/runtime/core/lib/control-state/aggregate.js +3 -1
  751. package/runtime/core/lib/control-state/approval-command.js +13 -10
  752. package/runtime/core/lib/control-state/approval-operations.js +10 -7
  753. package/runtime/core/lib/control-state/artefact-binding-proof.js +12 -20
  754. package/runtime/core/lib/control-state/artefact-bindings.js +10 -7
  755. package/runtime/core/lib/control-state/authoring-text-handoff.js +3 -0
  756. package/runtime/core/lib/control-state/canonical-initialization.js +761 -0
  757. package/runtime/core/lib/control-state/control-layout.js +183 -0
  758. package/runtime/core/lib/control-state/decision-action-contract.js +10 -1
  759. package/runtime/core/lib/control-state/decision-action-service.js +24 -3
  760. package/runtime/core/lib/control-state/decision-material-contract.js +2 -1
  761. package/runtime/core/lib/control-state/evidence-bindings.js +7 -7
  762. package/runtime/core/lib/control-state/git-identity.js +86 -0
  763. package/runtime/core/lib/control-state/index.js +0 -1
  764. package/runtime/core/lib/control-state/input-resolution.js +101 -0
  765. package/runtime/core/lib/control-state/material-limits.js +4 -0
  766. package/runtime/core/lib/control-state/planned-entry.js +273 -0
  767. package/runtime/core/lib/control-state/planned-handoff.js +174 -0
  768. package/runtime/core/lib/control-state/planned-inventory.js +90 -0
  769. package/runtime/core/lib/control-state/planned-origin-reader.js +48 -0
  770. package/runtime/core/lib/control-state/planned-origin.js +40 -0
  771. package/runtime/core/lib/control-state/prepared-control-calls.js +137 -0
  772. package/runtime/core/lib/control-state/presentation-decision.js +12 -7
  773. package/runtime/core/lib/control-state/presentation-delivery.js +93 -0
  774. package/runtime/core/lib/control-state/preview-render.js +5 -2
  775. package/runtime/core/lib/control-state/preview-review.js +3 -2
  776. package/runtime/core/lib/control-state/preview-snapshot.js +9 -6
  777. package/runtime/core/lib/control-state/recording-formats.js +12 -16
  778. package/runtime/core/lib/control-state/run-artefact-recording.js +54 -66
  779. package/runtime/core/lib/control-state/run-closure.js +343 -0
  780. package/runtime/core/lib/control-state/run-command-contract.js +40 -251
  781. package/runtime/core/lib/control-state/run-command-schema.js +514 -0
  782. package/runtime/core/lib/control-state/run-command-service.js +222 -34
  783. package/runtime/core/lib/control-state/run-create-command.js +60 -0
  784. package/runtime/core/lib/control-state/run-identity.d.ts +14 -0
  785. package/runtime/core/lib/control-state/run-identity.js +42 -0
  786. package/runtime/core/lib/control-state/run-input-resolution.js +72 -0
  787. package/runtime/core/lib/control-state/run-inventory-reader.js +33 -0
  788. package/runtime/core/lib/control-state/run-inventory.js +179 -0
  789. package/runtime/core/lib/control-state/run-material.js +229 -0
  790. package/runtime/core/lib/control-state/run-mutation.js +51 -0
  791. package/runtime/core/lib/control-state/run-operation-identity.js +2 -1
  792. package/runtime/core/lib/control-state/run-operation-proof.js +7 -4
  793. package/runtime/core/lib/control-state/run-operation-status.js +20 -4
  794. package/runtime/core/lib/control-state/run-operations.js +70 -13
  795. package/runtime/core/lib/control-state/run-owned-outputs.js +21 -9
  796. package/runtime/core/lib/control-state/run-presentation-envelope.js +25 -33
  797. package/runtime/core/lib/control-state/run-presentation-render.js +92 -35
  798. package/runtime/core/lib/control-state/run-presentation.js +45 -21
  799. package/runtime/core/lib/control-state/run-recording.js +10 -179
  800. package/runtime/core/lib/control-state/run-revision-boundary.js +7 -21
  801. package/runtime/core/lib/control-state/run-revision-history.js +23 -16
  802. package/runtime/core/lib/control-state/run-revision.js +120 -179
  803. package/runtime/core/lib/control-state/run-seal-compute.js +19 -44
  804. package/runtime/core/lib/control-state/run-seal.js +6 -1
  805. package/runtime/core/lib/control-state/run-source-revisions.js +56 -35
  806. package/runtime/core/lib/control-state/run-state-document.js +110 -42
  807. package/runtime/core/lib/control-state/run-state-edits.js +13 -5
  808. package/runtime/core/lib/control-state/run-state-parser.js +14 -6
  809. package/runtime/core/lib/control-state/run-state-reader.js +37 -21
  810. package/runtime/core/lib/control-state/run-state-repository.js +112 -48
  811. package/runtime/core/lib/control-state/run-state-resolver.js +12 -15
  812. package/runtime/core/lib/control-state/run-state-writer.js +21 -377
  813. package/runtime/core/lib/control-state/run-step-pending.js +2 -1
  814. package/runtime/core/lib/control-state/run-step-transaction.js +125 -114
  815. package/runtime/core/lib/control-state/run-steps.js +142 -251
  816. package/runtime/core/lib/control-state/run-store-inspection.js +14 -2
  817. package/runtime/core/lib/control-state/run-verified-change.js +81 -0
  818. package/runtime/core/lib/control-state/run-work-summary-shape.d.ts +1 -0
  819. 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
  820. package/runtime/core/lib/delivery-continuation/service.js +5 -66
  821. package/runtime/core/lib/delivery-path-search/persistence.js +26 -8
  822. package/runtime/core/lib/delivery-path-search/state-adapter.js +1 -1
  823. package/runtime/core/lib/index.js +16 -6
  824. package/runtime/core/lib/interaction-catalog-validation.js +6 -1
  825. package/runtime/core/lib/interaction-catalog.js +11 -3
  826. package/runtime/core/lib/interaction-presentation.js +55 -12
  827. package/runtime/core/lib/mcp-input-hints.js +75 -0
  828. package/runtime/core/lib/mcp-input-resolution.js +98 -0
  829. package/runtime/core/lib/mcp-input-schema.js +15 -0
  830. package/runtime/core/lib/mcp-resource-contract.js +1 -1
  831. package/runtime/core/lib/mcp-tool-errors.js +33 -15
  832. package/runtime/core/lib/owned-file-lock.js +266 -0
  833. package/runtime/core/lib/owner-placement.js +50 -0
  834. package/runtime/core/lib/resources/canonical-init-plan.js +34 -0
  835. package/runtime/core/lib/resources/configuration.js +92 -0
  836. package/runtime/core/lib/resources/context.js +7 -11
  837. package/runtime/core/lib/resources/language-preference.js +59 -0
  838. package/runtime/core/lib/runtime/mcp-owner-protocol.js +102 -0
  839. package/runtime/core/lib/runtime/plugin-provenance.js +180 -18
  840. package/runtime/core/lib/skill-dispatch/compact-continuation.js +3 -3
  841. package/runtime/core/lib/skill-dispatch/contract.js +34 -13
  842. package/runtime/core/lib/skill-dispatch/delivery-intake.js +14 -6
  843. package/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +6 -10
  844. package/runtime/core/lib/skill-dispatch/mcp-continuation.js +87 -0
  845. package/runtime/core/lib/skill-dispatch/prd-definition.js +17 -7
  846. package/runtime/core/lib/skill-dispatch/readiness-findings.js +7 -0
  847. package/runtime/core/lib/skill-dispatch/sd-definition.js +6 -3
  848. package/runtime/core/lib/skill-dispatch/service.js +66 -18
  849. package/runtime/core/lib/skill-dispatch/tp-definition.js +6 -3
  850. package/generated/.agdf/control/templates/AGDF_RUN.md +0 -139
  851. package/generated/.agdf/control/templates/MASTER_BACKLOG.md +0 -39
  852. package/generated/plugins/agdf/control/templates/AGDF_RUN.md +0 -139
  853. package/generated/plugins/agdf/control/templates/MASTER_BACKLOG.md +0 -39
  854. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/interaction.js +0 -28
  855. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/repair.js +0 -4
  856. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/service.js +0 -3
  857. package/generated/plugins/agdf/runtime/create-agdf/lib/control-state/run-recovery.js +0 -5
  858. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-backlog.js +0 -135
  859. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/interaction.js +0 -57
  860. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/migration.js +0 -85
  861. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/repair.js +0 -226
  862. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.d.ts +0 -4
  863. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary.js +0 -67
  864. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-migration.js +0 -69
  865. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-projection-reader.js +0 -38
  866. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog-writer.js +0 -80
  867. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog.js +0 -90
  868. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recovery.js +0 -296
  869. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-relationship-correction.js +0 -74
  870. package/generated/plugins/copilot/agdf/control/templates/AGDF_RUN.md +0 -139
  871. package/generated/plugins/copilot/agdf/control/templates/MASTER_BACKLOG.md +0 -39
  872. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/interaction.js +0 -28
  873. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/repair.js +0 -4
  874. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/service.js +0 -3
  875. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-state/run-recovery.js +0 -5
  876. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/interaction.js +0 -57
  877. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/migration.js +0 -85
  878. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/repair.js +0 -226
  879. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.d.ts +0 -4
  880. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary.js +0 -67
  881. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-migration.js +0 -69
  882. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-projection-reader.js +0 -38
  883. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog-writer.js +0 -80
  884. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog.js +0 -90
  885. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recovery.js +0 -296
  886. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-relationship-correction.js +0 -74
  887. package/lib/control-maintenance/interaction.js +0 -28
  888. package/lib/control-maintenance/repair.js +0 -4
  889. package/lib/control-maintenance/service.js +0 -3
  890. package/lib/control-state/run-recovery.js +0 -5
  891. package/lib/install-setup/control-repair.js +0 -1
  892. package/runtime/core/lib/control-inspect/cockpit-backlog.js +0 -135
  893. package/runtime/core/lib/control-maintenance/interaction.js +0 -57
  894. package/runtime/core/lib/control-maintenance/migration.js +0 -85
  895. package/runtime/core/lib/control-maintenance/repair.js +0 -226
  896. package/runtime/core/lib/control-state/backlog-summary-shape.d.ts +0 -4
  897. package/runtime/core/lib/control-state/backlog-summary.js +0 -67
  898. package/runtime/core/lib/control-state/legacy-migration.js +0 -69
  899. package/runtime/core/lib/control-state/legacy-projection-reader.js +0 -38
  900. package/runtime/core/lib/control-state/run-backlog-writer.js +0 -80
  901. package/runtime/core/lib/control-state/run-backlog.js +0 -90
  902. package/runtime/core/lib/control-state/run-recovery.js +0 -296
  903. package/runtime/core/lib/control-state/run-relationship-correction.js +0 -74
@@ -0,0 +1,514 @@
1
+ import { MATERIAL_LIMITS } from './material-limits.js';
2
+ import { projectMcpInputSchema } from '../mcp-input-schema.js';
3
+ import { DIGEST_PATTERN, COOPERATIVE_ASSURANCE, canonicalJson, digest } from './approval-command-contract.js';
4
+ import { RUN_ID_PATTERN, REVISION_ID_PATTERN, APPROVAL_GATES } from './run-identity.js';
5
+ import { TASK_TARGET_SOURCES } from '../task-target-resolution.js';
6
+ import { PRESENTATION_LANGUAGE_TAG_PATTERN_SOURCE } from '../interaction-presentation.js';
7
+
8
+ // Canonical structural definitions and validators shared by protocol fronts and
9
+ // the full contract facade. Help/readiness evaluation is not a startup dependency.
10
+ export const RUN_COMMAND_VERSION = '1';
11
+ // Planning adds three typed record variants, without adding permission groups.
12
+ // Keep request/material bounds unchanged and budget the complete published
13
+ // command/decision composition, including its explicit scope constraints.
14
+ export const RUN_COMMAND_LIMITS = Object.freeze({ input_bytes: 65536, result_bytes: 1048576, definition_bytes: 8192,
15
+ definition_bytes_by_group: Object.freeze({ agdf_record: 9216 }), aggregate_definition_bytes: 28672 });
16
+ const string = (maxLength = 4096) => ({ type: 'string', minLength: 1, maxLength });
17
+ const identity = { type: 'string', pattern: REVISION_ID_PATTERN.source };
18
+ const hash = { type: 'string', pattern: DIGEST_PATTERN.source };
19
+ const enumeration = values => ({ enum: [...values] });
20
+ export const strictObject = (properties, required = Object.keys(properties)) => ({ type: 'object', additionalProperties: false, properties, required });
21
+ const source = strictObject({ path: string(), digest: hash });
22
+ export const MATERIAL_REFERENCE_SCHEMA = strictObject({ material_id: identity, digest: hash });
23
+ const materialSource = { oneOf: [source, MATERIAL_REFERENCE_SCHEMA] };
24
+ const materialSlot = enumeration(['UR', 'PRD', 'SD', 'TP', 'QA', 'OR', 'Verified Change', 'Brownfield Review', 'UX Intent Definition', 'Brownfield Analysis', 'CD+Tests', 'TP Review', 'Clean Implementation Review', 'CR', 'EVIDENCE']);
25
+ const integer = maximum => ({ type: 'integer', minimum: 0, maximum });
26
+ const materialStage = { oneOf: [
27
+ strictObject({ action: { const: 'put' }, files: { type: 'array', minItems: 1, maxItems: 4,
28
+ items: strictObject({ slot: materialSlot, content: { type: 'string', maxLength: MATERIAL_LIMITS.inline, description: 'Plain UTF-8 text, at most 49152 encoded bytes per file; the whole JSON request stays <=65536 bytes. Core computes sizes and digests and seals all files in this one call.' } }) } }),
29
+ strictObject({ action: { const: 'begin' }, files: { type: 'array', minItems: 1, maxItems: 4, items: strictObject({ slot: materialSlot, bytes: integer(131072) }) } }),
30
+ strictObject({ action: { const: 'append' }, transfer_id: identity, file: integer(3), offset: integer(131072),
31
+ data: { type: 'string', maxLength: 21848, contentEncoding: 'base64', description: 'Standard base64 of at most 16384 raw UTF-8 bytes; no line breaks.' } }),
32
+ strictObject({ action: enumeration(['seal', 'discard', 'status']), transfer_id: identity }),
33
+ ] };
34
+ export const PLANNING_SCOPE_SCHEMA = strictObject({ plan_id: { type: 'string', pattern: RUN_ID_PATTERN.source },
35
+ expected_digest: { oneOf: [hash, { type: 'null' }] } });
36
+ export const PLANNING_COMMAND_KINDS = Object.freeze(['planned_material.stage', 'planned_ur.create', 'planned_ur.replace', 'run.create_from_planned']);
37
+ const plannedMaterialStage = { allOf: [materialStage, { properties: {
38
+ files: { type: 'array', maxItems: 1, items: { type: 'object', properties: { slot: { const: 'UR' } } } }, file: { maximum: 0 },
39
+ } }] };
40
+ const recoveryGroups = Object.freeze({ 'step.record': 'agdf_record', 'artefact.record': 'agdf_record',
41
+ 'presentation_decision.record': 'agdf_record', 'ur_draft.replace': 'agdf_revise', 'prd_revision.reopen': 'agdf_revise', 'closeout.record': 'agdf_closeout', 'lifecycle_close.record': 'agdf_closeout' });
42
+ const recovery = strictObject({ original_kind: enumeration(Object.keys(recoveryGroups)), pending_digest: hash, recovery_revision_id: identity });
43
+ const recordStep = { oneOf: [
44
+ strictObject({ step: { const: 'ur' }, source: materialSource, title: string(1024) }),
45
+ strictObject({ step: { const: 'route' }, source: materialSource, reason: string(8192), route: enumeration(['quick_task', 'verified_change', 'structured_slice', 'structured_delivery']) }),
46
+ strictObject({ step: { const: 'review' }, source: materialSource, decision: enumeration(['pass', 'revise', 'block']) }),
47
+ strictObject({ step: { const: 'evidence' }, source: materialSource, reason: string(8192), covers: string(1024) }),
48
+ { oneOf: [strictObject({ step: { const: 'internal' }, source: materialSource,
49
+ internal_step: { const: 'UX Intent Definition' }, decision: enumeration(['ready', 'blocked', 'not_applicable']), reason: string(8192), covers: string(1024),
50
+ }, ['step', 'source', 'internal_step', 'decision']), strictObject({ step: { const: 'internal' }, source: materialSource,
51
+ internal_step: enumeration(['Brownfield Analysis', 'CD+Tests', 'TP Review', 'Clean Implementation Review', 'CR']),
52
+ decision: enumeration(['pass', 'revise', 'block', 'not_applicable']), reason: string(8192), covers: string(1024),
53
+ }, ['step', 'source', 'internal_step', 'decision'])] },
54
+ ] };
55
+
56
+ const spec = (group, payload, owner, effects, confirmation = 'authorized_recording') => ({ group, payload_schema: payload, owner, effects, confirmation });
57
+ const proposal = strictObject({ source_gate: enumeration(['UR', 'PRD', 'SD', 'TP']), proposal: materialSource });
58
+ const apply = strictObject({ ...proposal.properties, preview_digest: hash, confirmation: string(8192) });
59
+ const closeout = strictObject({ or: materialSource, confirmation: string(8192) });
60
+ const runId = { type: 'string', pattern: RUN_ID_PATTERN.source };
61
+ // Closure decides over several Runs of one target, without a single Run binding.
62
+ const text = { type: 'string', minLength: 1 };
63
+ const closureEntry = strictObject({ run_id: runId, outcome: enumeration(['superseded', 'abandoned']), reason: text, successor_run: runId, successor_reference: text }, ['run_id', 'outcome', 'reason']);
64
+ export const TARGET_SCOPED_COMMAND_KINDS = Object.freeze(['closure.preview', 'closure.apply']);
65
+ // Source revisions consume a structured proposal staged in this private material slot.
66
+ export const PROPOSAL_COMMAND_KINDS = Object.freeze(['source_revision.preview', 'source_revision.apply', 'source_revision.recover']);
67
+ export const PROPOSAL_MATERIAL_SLOT = 'EVIDENCE';
68
+ const descriptors = {
69
+ 'project.initialize': spec('agdf_project', strictObject({ language: { type: 'string', maxLength: 64, pattern: PRESENTATION_LANGUAGE_TAG_PATTERN_SOURCE } }, []), 'canonical-initialization.initializeCanonicalProject', ['initialize fixed canonical project control; no Run or approval']),
70
+ 'ur_draft.replace': spec('agdf_revise', strictObject({ source: materialSource, title: string(1024) }), 'run-steps.recordRunStep', ['replace only current unapproved UR']),
71
+ 'verified_change.record': spec('agdf_record', strictObject({ phase: enumeration(['eligibility', 'execution']), source: materialSource }), 'run-steps.recordRunStep', ['record compact eligibility or actual execution; no VCS mutation']),
72
+ 'material.stage': spec('agdf_record', materialStage, 'run-material.createRunMaterialStore', ['bounded private transfer; no Run revision or approval']),
73
+ 'planned_material.stage': spec('agdf_record', plannedMaterialStage, 'run-material.createRunMaterialStore', ['planning-scoped UR transfer; no Run or approval']),
74
+ 'planned_ur.create': spec('agdf_record', strictObject({ source: MATERIAL_REFERENCE_SCHEMA, priority: enumeration(['high', 'normal', 'low']) }, ['source']),
75
+ 'planned-entry.mutatePlannedUr', ['create one planned UR; no Run or approval']),
76
+ 'planned_ur.replace': spec('agdf_record', strictObject({ source: MATERIAL_REFERENCE_SCHEMA }), 'planned-entry.mutatePlannedUr', ['CAS replace one untransferred planned UR']),
77
+ 'run.create_from_planned': spec('agdf_run', strictObject({ title: string(1024) }), 'planned-handoff.createRunFromPlanned', ['explicit source-bound handoff; replay returns the same unapproved Run']),
78
+ 'run.create': spec('agdf_run', strictObject({ title: { type: 'string', minLength: 1, maxLength: 1024, pattern: '^(?=.*\\S)[^\\u0000-\\u001f\\u007f\\u2028\\u2029|]+(?![\\s\\S])' } }), 'run-state-repository.createRun', ['create one unapproved Run; replay by original UUID']),
79
+ 'runtime_generation.replace': spec('agdf_record', strictObject({ candidate: source, confirmation: string(256) }), 'owned-runtime-generation.replace', ['replace only the serving facade own runtime; no Run or gate write'], 'concrete_candidate_digest'),
80
+ 'presentation.prepare': spec('agdf_prepare', strictObject({ gate: enumeration(APPROVAL_GATES) }), 'run-presentation.prepareRunPresentation', ['create immutable exact presentation'], 'no_gate_approval'),
81
+ 'presentation.deliver': spec('agdf_prepare', strictObject({ gate: enumeration(APPROVAL_GATES), presentation_id: identity,
82
+ route: enumeration(['automatic', 'markdown', 'fallback']) }), 'decision-session', ['select one primary delivery; no gate effect'], 'no_gate_approval'),
83
+ 'step.record': spec('agdf_record', recordStep, 'run-steps.recordRunStep', ['register bounded actual internal/evidence result; update selected Run']),
84
+ 'artefact.record': spec('agdf_record', strictObject({ gate: enumeration(['PRD', 'SD', 'TP', 'QA']), material: materialSource, reviewer: string(1024), reviewed: { const: true }, update_draft: { type: 'boolean' } }), 'run-artefact-recording.prepareArtefactRecording', ['register reviewed source mapping; replace only unapproved draft']),
85
+ 'approval.record': spec('agdf_approve', strictObject({ gate: enumeration(APPROVAL_GATES), presentation_id: identity, response: string(8192) }), 'approval-command.executeApprovalCommand', ['record one exact deliberate gate reply'], 'new_deliberate_exact_reply'),
86
+ 'presentation_decision.record': spec('agdf_record', strictObject({ gate: enumeration(APPROVAL_GATES), presentation_id: identity,
87
+ action: enumeration(['request_change', 'reject']), comment: { type: 'string', maxLength: 8192 } }),
88
+ 'run-steps.recordRunPresentationDecision', ['record one exact deliberate change request or rejection; no gate approval'], 'new_deliberate_bound_human_reply'),
89
+ 'source_revision.preview': spec('agdf_revise', proposal, 'run-revision.previewSourceRevision', ['read exact revision impact'], 'no_mutation'),
90
+ 'source_revision.apply': spec('agdf_revise', apply, 'run-revision.applySourceRevision', ['archive selected material; invalidate affected decisions; reopen earliest source'], 'exact_material_confirmation'),
91
+ 'source_revision.recover': spec('agdf_revise', strictObject({ proposal: materialSource, source_gate: enumeration(['UR', 'PRD', 'SD', 'TP']), recovery_revision_id: identity, pending_digest: hash }), 'run-revision.recoverSourceRevision', ['recover original bounded source revision'], 'original_confirmed_effect'),
92
+ 'prd_revision.reopen': spec('agdf_revise', strictObject({ prd: source, confirmation: string(8192) }), 'run-revision.reopenPrdRevision', ['reopen existing early PRD boundary preserving history'], 'exact_material_confirmation'),
93
+ 'closeout.record': spec('agdf_closeout', closeout, 'run-steps.recordRunStep', ['publish exact OR; complete selected Run'], 'exact_material_confirmation'),
94
+ 'closure.preview': spec('agdf_closeout', strictObject({ entries: { type: 'array', minItems: 1, maxItems: 64, items: closureEntry } }), 'run-closure.previewRunClosure', ['no run_id/revision; show text verbatim'], 'no_mutation'),
95
+ 'closure.apply': spec('agdf_closeout', strictObject({ preview_id: { type: 'string', pattern: '^[0-9a-f]{8}$' }, confirmation: string(256) }), 'run-closure.applyRunClosure', ["no run_id/revision; owner's verbatim reply; final"], 'exact_owner_phrase'),
96
+ 'operation.recover': { ...spec(null, recovery, 'run-step-transaction.recoverPendingRunStep', ['recover original bounded Run-owned outputs'], 'original_confirmed_effect'), groups: ['agdf_record', 'agdf_revise', 'agdf_closeout'] },
97
+ };
98
+ function freeze(value) { if (value && typeof value === 'object' && !Object.isFrozen(value)) { Object.values(value).forEach(freeze); Object.freeze(value); } return value; }
99
+ export const RUN_COMMAND_DESCRIPTORS = freeze(descriptors);
100
+ export const RUN_COMMAND_GROUPS = freeze({
101
+ agdf_project: ['project.initialize'],
102
+ agdf_run: ['run.create', 'run.create_from_planned'],
103
+ agdf_prepare: ['presentation.prepare', 'presentation.deliver'], agdf_record: ['material.stage', 'planned_material.stage', 'planned_ur.create', 'planned_ur.replace', 'verified_change.record', 'step.record', 'artefact.record', 'presentation_decision.record', 'runtime_generation.replace', 'operation.recover'],
104
+ agdf_approve: ['approval.record'], agdf_revise: ['ur_draft.replace', 'source_revision.preview', 'source_revision.apply', 'source_revision.recover', 'prd_revision.reopen', 'operation.recover'],
105
+ agdf_closeout: ['closeout.record', 'closure.preview', 'closure.apply', 'operation.recover'],
106
+ });
107
+ const envelope = {
108
+ schema_version: { const: RUN_COMMAND_VERSION }, presentation_language: { type: 'string', maxLength: 64, pattern: PRESENTATION_LANGUAGE_TAG_PATTERN_SOURCE },
109
+ working_directory: string(), target_source: enumeration(TASK_TARGET_SOURCES), primary_target: string(), target_id: hash,
110
+ run_id: { type: 'string', pattern: RUN_ID_PATTERN.source }, expected_revision_id: identity, operation_id: identity,
111
+ assurance: { const: 'cooperative_local' },
112
+ };
113
+ export function payloadSchema(group, kind) {
114
+ return kind === 'operation.recover' ? strictObject({ ...recovery.properties,
115
+ original_kind: enumeration(Object.keys(recoveryGroups).filter(original => recoveryGroups[original] === group)) })
116
+ : RUN_COMMAND_DESCRIPTORS[kind].payload_schema;
117
+ }
118
+ // Canonical help is shared by expanded Core validation and operation help.
119
+ const fieldHelp = Object.freeze({
120
+ schema_version: 'Contract v1.',
121
+ presentation_language: 'Reply language (BCP 47).',
122
+ working_directory: 'Absolute task directory.',
123
+ target_source: 'Human target basis; cwd is no authority.',
124
+ primary_target: 'Confirmed absolute target.',
125
+ target_id: 'Exact hash from target inspection; never guess.',
126
+ run_id: 'Run from inspection; recency is no authority.',
127
+ planning: 'Pre-Run scope. Initial material/create: reserve the future planned_ur.create UUID; plan_id is plan-<that UUID>, expected_digest is null. Reuse that plan_id for material and create; material calls have separate UUIDs. Existing plans use the exact selected id/digest. No Run binding.',
128
+ expected_revision_id: 'Inspected revision; recovery keeps original.',
129
+ operation_id: 'New UUID; retry with same UUID/payload.',
130
+ assurance: 'Cooperative intent, not human proof.',
131
+ command: 'Kind and payload; help: operation-contract.',
132
+ path: 'Contained Run-local source path; read the actual file before recording.',
133
+ digest: 'Canonical SHA-256 of the exact source bytes; never guess or reseal unrelated edits.',
134
+ gate: 'Exact gate named by current control, not permission to advance it.',
135
+ presentation_id: 'Immutable current presentation id from MCP inspection or preparation.',
136
+ response: 'Forward the new deliberate human reply for this exact presentation.',
137
+ confirmation: 'Exact concrete confirmation required by this operation contract.',
138
+ source_gate: 'Earliest actually changed approved source, determined from the reviewed proposal.',
139
+ preview_digest: 'Exact preview digest returned for the same reviewed proposal and binding.',
140
+ recovery_revision_id: 'Revision allowed by the original pending operation recovery contract.',
141
+ pending_digest: 'Exact pending operation digest from authoritative operation-status.',
142
+ original_kind: 'Original operation kind in this fixed permission group; preserve its identity.',
143
+ });
144
+ export function describeFields(schema) {
145
+ const value = { ...schema };
146
+ if (value.properties) value.properties = Object.fromEntries(Object.entries(value.properties).map(([key, child]) =>
147
+ [key, { ...describeFields(child), ...(fieldHelp[key] ? { description: fieldHelp[key] } : {}) }]));
148
+ for (const key of ['oneOf', 'anyOf', 'allOf']) if (value[key]) value[key] = value[key].map(describeFields);
149
+ return value;
150
+ }
151
+ function commandSchema(group) {
152
+ return { oneOf: RUN_COMMAND_GROUPS[group].map(kind => strictObject({ kind: { const: kind },
153
+ payload: { ...payloadSchema(group, kind), description: RUN_COMMAND_DESCRIPTORS[kind].effects.join('; ') } })) };
154
+ }
155
+ export function commandGroupSchema(group) {
156
+ if (!RUN_COMMAND_GROUPS[group]) throw Error('command_group_unsupported');
157
+ const fields = { ...commandEnvelope(group), command: commandSchema(group) };
158
+ const kinds = RUN_COMMAND_GROUPS[group], hasPlanning = kinds.some(kind => PLANNING_COMMAND_KINDS.includes(kind));
159
+ if (hasPlanning) fields.planning = PLANNING_SCOPE_SCHEMA;
160
+ const unbound = kind => ['run.create', 'project.initialize', ...TARGET_SCOPED_COMMAND_KINDS, ...PLANNING_COMMAND_KINDS].includes(kind);
161
+ const required = Object.keys(fields).filter(key => key !== 'planning' && !(kinds.some(unbound) && ['run_id', 'expected_revision_id'].includes(key)));
162
+ const schema = strictObject(fields, required);
163
+ if (hasPlanning) {
164
+ schema.if = { properties: { command: { properties: { kind: enumeration(kinds.filter(kind => PLANNING_COMMAND_KINDS.includes(kind))) } } } };
165
+ schema.then = { required: ['planning'], properties: { run_id: { type: 'null' }, expected_revision_id: { type: 'null' } } };
166
+ schema.else = { properties: { planning: { type: 'null' } }, ...(kinds.some(kind => !unbound(kind)) ? { required: ['run_id', 'expected_revision_id'] } : {}) };
167
+ }
168
+ return describeFields(schema);
169
+ }
170
+ export function commandEnvelope(group, kind) {
171
+ if (PLANNING_COMMAND_KINDS.includes(kind)) {
172
+ const { run_id, expected_revision_id, ...base } = envelope;
173
+ return { ...base, planning: PLANNING_SCOPE_SCHEMA };
174
+ }
175
+ if (!['agdf_run', 'agdf_project'].includes(group) && !TARGET_SCOPED_COMMAND_KINDS.includes(kind)) return envelope;
176
+ const { run_id, expected_revision_id, ...creation } = envelope;
177
+ return creation;
178
+ }
179
+ // Repeated immutable schema nodes become deterministic local references. Only
180
+ // schema positions are traversed: a properties map is never itself a schema.
181
+ function compactCommandValidationSchema(expanded) {
182
+ const visit = (node, transform, depth = 0) => {
183
+ const copy = { ...node };
184
+ if (copy.properties) copy.properties = Object.fromEntries(Object.entries(copy.properties).map(([key, child]) =>
185
+ [key, visit(child, transform, depth + 1)]));
186
+ for (const key of ['oneOf', 'anyOf', 'allOf']) if (copy[key]) copy[key] = copy[key].map(child => visit(child, transform, depth + 1));
187
+ if (copy.items) copy.items = visit(copy.items, transform, depth + 1);
188
+ return transform(copy, depth);
189
+ };
190
+ // Discovery keeps direct envelope and per-operation payload meaning; nested
191
+ // field detail remains in the expanded operation-contract from this owner.
192
+ let discovery = visit(expanded, (node, depth) => {
193
+ if (depth > 1) delete node.description;
194
+ return node;
195
+ });
196
+ // Concise direct envelope guidance. Detailed operation meaning stays in full help;
197
+ // retain every constraint while avoiding repeated payload prose in discovery.
198
+ const brief = { schema_version: 'Version one.', presentation_language: 'BCP47 locale.', working_directory: 'Context dir.', target_source: 'Target basis.',
199
+ primary_target: 'Project dir.', target_id: 'Target hash.', run_id: 'Bound Run ID.', expected_revision_id: 'Current rev.',
200
+ operation_id: 'Replay UUID.', assurance: 'Cooperative.', command: 'Typed input.' };
201
+ for (const [key, description] of Object.entries(brief)) if (discovery.properties[key]) discovery.properties[key].description = description;
202
+ // Self-describing envelope names retain their full field help on operation-contract.
203
+ // Avoid repeating that prose in every tool; preserve every structural constraint.
204
+ for (const key of ['schema_version', 'working_directory', 'primary_target', 'target_id', 'command'])
205
+ if (discovery.properties[key]) delete discovery.properties[key].description;
206
+ // Factor a closed object's common shape out of its mutually exclusive variants.
207
+ // Every key remains declared at the closed parent; branch constraints/requirements
208
+ // are preserved exactly, including rejection of foreign payload fields.
209
+ discovery = visit(discovery, node => {
210
+ const rows = node.oneOf;
211
+ if (!rows || rows.length < 2 || rows.some(r => r.type !== 'object' || r.additionalProperties !== false
212
+ || Object.keys(r).some(k => !['type', 'additionalProperties', 'properties', 'required', 'description'].includes(k)))) return node;
213
+ const keys = Object.keys(rows[0].properties).sort(), required = JSON.stringify(rows[0].required);
214
+ if (rows.some(r => JSON.stringify(Object.keys(r.properties).sort()) !== JSON.stringify(keys) || JSON.stringify(r.required) !== required)) return node;
215
+ const common = keys.filter(k => rows.every(r => JSON.stringify(r.properties[k]) === JSON.stringify(rows[0].properties[k])));
216
+ const varying = keys.filter(k => !common.includes(k));
217
+ const { oneOf, ...rest } = node;
218
+ return { ...rest, type: 'object', additionalProperties: false, required: rows[0].required,
219
+ properties: Object.fromEntries(keys.map(k => [k, common.includes(k) ? rows[0].properties[k] : {}])),
220
+ oneOf: rows.map(r => ({ properties: Object.fromEntries(varying.map(k => [k, r.properties[k]])) })) };
221
+ });
222
+ const counts = new Map();
223
+ visit(discovery, node => { const { description, ...base } = node; const key = JSON.stringify(base); counts.set(key, (counts.get(key) ?? 0) + 1); return node; });
224
+ const definitions = {}, names = new Map();
225
+ const factor = (node, depth = 0, defining = false) => {
226
+ const { description, ...base } = node;
227
+ const key = JSON.stringify(base);
228
+ if (!defining && depth > 0 && (counts.get(key) ?? 0) > 1 && key.length >= 48) {
229
+ if (!names.has(key)) {
230
+ const name = `s${names.size}`; names.set(key, name);
231
+ definitions[name] = factor(base, depth, true);
232
+ }
233
+ return { $ref: `#/$defs/${names.get(key)}`, ...(description ? { description } : {}) };
234
+ }
235
+ const copy = { ...node };
236
+ if (copy.properties) copy.properties = Object.fromEntries(Object.entries(copy.properties).map(([name, child]) => [name, factor(child, depth + 1)]));
237
+ for (const name of ['oneOf', 'anyOf', 'allOf']) if (copy[name]) copy[name] = copy[name].map(child => factor(child, depth + 1));
238
+ if (copy.items) copy.items = factor(copy.items, depth + 1);
239
+ return copy;
240
+ };
241
+ const projected = factor(discovery);
242
+ if (names.size) projected.$defs = definitions;
243
+ return projected;
244
+ }
245
+ // A type view is a derived superset, not a second validation owner. Exact per-kind
246
+ // restrictions remain below the required command property and still run in the SDK.
247
+ function commandTypeView(schema) {
248
+ // An intersection is a subset of its first structural operand. Keep that
249
+ // readable superset; every refining operand remains in hidden validation.
250
+ if (schema.allOf) return commandTypeView(schema.allOf[0]);
251
+ if (schema.oneOf || schema.anyOf) return mergeCommandTypes((schema.oneOf ?? schema.anyOf).map(commandTypeView));
252
+ if (schema.properties) return { type: 'object', properties: Object.fromEntries(Object.entries(schema.properties)
253
+ .map(([key, value]) => [key, commandTypeView(value)])) };
254
+ if (schema.items) return { type: 'array', items: commandTypeView(schema.items) };
255
+ const type = value => value === null ? 'null' : Array.isArray(value) ? 'array' : typeof value;
256
+ if (Object.hasOwn(schema, 'const')) return { type: type(schema.const) };
257
+ if (schema.enum) return mergeCommandTypes(schema.enum.map(value => ({ type: type(value) })));
258
+ return { type: schema.type };
259
+ }
260
+ function mergeCommandTypes(rows) {
261
+ if (rows.every(row => row.type === 'object' && row.properties)) {
262
+ const keys = [...new Set(rows.flatMap(row => Object.keys(row.properties)))];
263
+ return { type: 'object', properties: Object.fromEntries(keys.map(key => [key,
264
+ mergeCommandTypes(rows.filter(row => row.properties[key]).map(row => row.properties[key]))])) };
265
+ }
266
+ const unique = [...new Map(rows.map(row => [JSON.stringify(row), row])).values()];
267
+ return unique.length === 1 ? unique[0] : { anyOf: unique };
268
+ }
269
+ function mapCommandSchema(schema, transform) {
270
+ const copy = { ...schema };
271
+ if (copy.properties) copy.properties = Object.fromEntries(Object.entries(copy.properties)
272
+ .map(([key, child]) => [key, mapCommandSchema(child, transform)]));
273
+ for (const key of ['oneOf', 'anyOf', 'allOf']) if (copy[key]) copy[key] = copy[key].map(child => mapCommandSchema(child, transform));
274
+ if (copy.items) copy.items = mapCommandSchema(copy.items, transform);
275
+ return transform(copy);
276
+ }
277
+ function residualCommandConstraints(schema, view) {
278
+ const copy = { ...schema };
279
+ delete copy.description;
280
+ if (copy.additionalProperties === false && view?.additionalProperties === false
281
+ && JSON.stringify(Object.keys(copy.properties ?? {}).sort()) === JSON.stringify(Object.keys(view.properties ?? {}).sort())) delete copy.additionalProperties;
282
+ if (copy.minProperties && view?.required?.length >= copy.minProperties) delete copy.minProperties;
283
+ if (copy.type && copy.type === view?.type) delete copy.type;
284
+ if (copy.properties) copy.properties = Object.fromEntries(Object.entries(copy.properties)
285
+ .map(([key, child]) => [key, residualCommandConstraints(child, view?.properties?.[key])]));
286
+ for (const key of ['oneOf', 'anyOf', 'allOf']) if (copy[key]) copy[key] = copy[key].map(child => residualCommandConstraints(child, view));
287
+ // Empty properties still declare allowed keys in a closed object.
288
+ if (copy.properties && copy.additionalProperties !== false) {
289
+ copy.properties = Object.fromEntries(Object.entries(copy.properties).filter(([, child]) => Object.keys(child).length));
290
+ if (!Object.keys(copy.properties).length) delete copy.properties;
291
+ }
292
+ if (copy.items) copy.items = residualCommandConstraints(copy.items, view?.items);
293
+ if (copy.required) {
294
+ copy.required = copy.required.filter(key => !view?.required?.includes(key));
295
+ if (!copy.required.length) delete copy.required;
296
+ }
297
+ return copy;
298
+ }
299
+ function factorCommandConstraints(schema) {
300
+ const counts = new Map();
301
+ mapCommandSchema(schema, node => { const key = JSON.stringify(node); counts.set(key, (counts.get(key) ?? 0) + 1); return node; });
302
+ const definitions = {}, names = new Map();
303
+ const factor = (node, defining = false) => {
304
+ const key = JSON.stringify(node);
305
+ if (!defining && counts.get(key) > 1 && key.length > 40) {
306
+ if (!names.has(key)) {
307
+ const name = `s${names.size}`; names.set(key, name); definitions[name] = factor(node, true);
308
+ }
309
+ return { $ref: `#/$defs/${names.get(key)}` };
310
+ }
311
+ const copy = { ...node };
312
+ if (copy.properties) copy.properties = Object.fromEntries(Object.entries(copy.properties).map(([name, child]) => [name, factor(child)]));
313
+ for (const name of ['oneOf', 'anyOf', 'allOf']) if (copy[name]) copy[name] = copy[name].map(child => factor(child));
314
+ if (copy.items) copy.items = factor(copy.items);
315
+ return copy;
316
+ };
317
+ return { schema: factor(schema, true), definitions };
318
+ }
319
+ // Factoring repeated parents can leave child definitions referenced only once.
320
+ // Inline those exact schemas; retain every constraint and visible field type.
321
+ function inlineSingleUseDefinitions(schema) {
322
+ for (;;) {
323
+ const serialized = JSON.stringify(schema);
324
+ const single = Object.entries(schema.$defs ?? {}).find(([name]) => {
325
+ const reference = `#/$defs/${name}`;
326
+ return serialized.split(`"$ref":${JSON.stringify(reference)}`).length === 2
327
+ && serialized.includes(JSON.stringify({ $ref: reference }));
328
+ });
329
+ if (!single) return schema;
330
+ const [name, definition] = single;
331
+ delete schema.$defs[name];
332
+ schema = JSON.parse(JSON.stringify(schema).replace(JSON.stringify({ $ref: `#/$defs/${name}` }), () => JSON.stringify(definition)));
333
+ if (!Object.keys(schema.$defs).length) delete schema.$defs;
334
+ }
335
+ }
336
+ export function compactCommandSchema(expanded) {
337
+ const full = mapCommandSchema(expanded, node => { delete node.description; return node; });
338
+ let projected;
339
+ const kinds = full.properties.command.oneOf.map(row => row.properties.kind.const);
340
+ // These two existing groups contain nested unions that Codex otherwise renders
341
+ // as unknown. Keep their possible payload fields visible; help supplies the
342
+ // exact per-kind required fields, and the SDK enforces those original rules.
343
+ if (kinds.includes('material.stage') || kinds.includes('source_revision.preview')) {
344
+ const view = commandTypeView(full.properties.command);
345
+ view.additionalProperties = false;
346
+ view.properties.kind = { enum: kinds };
347
+ view.required = ['kind', 'payload'];
348
+ const first = compactCommandValidationSchema(full);
349
+ const factored = first.properties.command;
350
+ // Closed objects with every declared key required have an equivalent count
351
+ // constraint. This applies only to hidden validation, never visible required flags.
352
+ // Resolve the first compactor's refs before deriving residual constraints.
353
+ const expand = node => {
354
+ if (node.$ref) return expand(first.$defs[node.$ref.split('/').at(-1)]);
355
+ return mapCommandSchema(node, value => value.$ref ? expand(value) : value);
356
+ };
357
+ const validation = factorCommandConstraints(residualCommandConstraints(mapCommandSchema(expand(factored), node => {
358
+ if (node.additionalProperties === false && node.required?.length === Object.keys(node.properties ?? {}).length) {
359
+ const { required, ...rest } = node; return { ...rest, minProperties: required.length };
360
+ }
361
+ return node;
362
+ }), view));
363
+ projected = { ...full, properties: { ...full.properties, command: view },
364
+ dependentSchemas: { command: { properties: { command: validation.schema } } },
365
+ ...(Object.keys(validation.definitions).length ? { $defs: validation.definitions } : {}) };
366
+ } else {
367
+ projected = compactCommandValidationSchema(expanded);
368
+ projected.properties = Object.fromEntries(Object.entries(projected.properties).map(([key, schema]) => {
369
+ const { description, ...value } = schema;
370
+ return [key, { ...(full.properties[key].type ? { type: full.properties[key].type } : {}), ...value }];
371
+ }));
372
+ }
373
+ // Equivalent UUID spelling and shorter local labels retain the fixed discovery
374
+ // budget. Core keeps the expanded canonical pattern and complete field help.
375
+ const uuid = '^[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}$';
376
+ projected = JSON.parse(JSON.stringify(projected).replaceAll(REVISION_ID_PATTERN.source, uuid)
377
+ .replace(/#\/\$defs\/s(\d+)/gu, '#/$defs/$1'));
378
+ if (projected.$defs) projected.$defs = Object.fromEntries(Object.entries(projected.$defs).map(([key, value]) => [key.replace(/^s/u, ''), value]));
379
+ return inlineSingleUseDefinitions(projected);
380
+ }
381
+ const openObject = { type: 'object', additionalProperties: true };
382
+ const nullableObject = { ...openObject, type: ['object', 'null'] };
383
+ const nullableString = { type: ['string', 'null'] };
384
+ const resultProperties = {
385
+ schema_version: { const: '1' }, outcome: enumeration(['accepted', 'already_applied', 'rejected', 'recovery_required', 'effect_unknown']), authorizes: { const: false },
386
+ reason: { ...nullableString, minLength: 1 }, operation_id: { ...identity, type: ['string', 'null'] }, request_digest: { ...hash, type: ['string', 'null'] },
387
+ binding: { oneOf: [{ type: 'null' },
388
+ strictObject({ target_id: hash, planning: PLANNING_SCOPE_SCHEMA, kind: enumeration(PLANNING_COMMAND_KINDS) }),
389
+ strictObject({ target_id: hash, run_id: envelope.run_id, expected_revision_id: identity, kind: enumeration(Object.keys(descriptors).filter(k => k !== 'run.create')) }),
390
+ strictObject({ target_id: hash, run_id: envelope.run_id, expected_revision_id: { type: 'null' }, kind: { const: 'run.create' } }),
391
+ strictObject({ target_id: hash, kind: { const: 'project.initialize' } }),
392
+ strictObject({ target_id: hash, run_id: { type: 'null' }, expected_revision_id: { type: 'null' }, kind: enumeration(TARGET_SCOPED_COMMAND_KINDS) })] },
393
+ receipt: nullableObject, effect: nullableObject,
394
+ current: { ...nullableObject, properties: { available: { type: 'boolean' }, revision: { type: 'integer' }, revision_id: identity }, required: ['available'] },
395
+ assurance: { ...openObject, properties: Object.fromEntries(Object.entries(COOPERATIVE_ASSURANCE).map(([key, value]) => [key, { const: value }])), required: Object.keys(COOPERATIVE_ASSURANCE) }, family_result: openObject,
396
+ historical_effect: { type: 'boolean' }, dispatch: enumeration(['not_dispatched', 'unknown']), recovery: nullableString,
397
+ diagnostics: { type: 'array', items: openObject },
398
+ presentation_delivery: { ...openObject, properties: { mode: enumeration(['native_plus_chat', 'full_chat', 'prepared', 'ui_primary', 'full_markdown']), display: enumeration(['confirmed', 'unconfirmed']),
399
+ text: { type: 'string' }, presentation_id: identity, revision_id: identity, document_digest: hash, document_language: nullableString, authorizes: { const: false } },
400
+ required: ['mode', 'text', 'presentation_id', 'document_digest', 'authorizes'],
401
+ oneOf: [{ properties: { mode: enumeration(['native_plus_chat', 'full_chat']) }, required: ['display', 'revision_id', 'document_language'] },
402
+ { properties: { mode: enumeration(['prepared', 'ui_primary', 'full_markdown']) } }] },
403
+ app_capability: { type: 'string' }, app_reason: { type: 'string' }, app_display: { type: 'string' },
404
+ };
405
+ const resultVariants = [
406
+ { properties: { outcome: enumeration(['accepted', 'already_applied']), operation_id: { type: 'string' }, request_digest: { type: 'string' }, binding: { type: 'object' }, current: { type: 'object' } }, required: ['operation_id', 'request_digest', 'binding', 'receipt', 'effect', 'current', 'assurance', 'historical_effect', 'recovery', 'reason', 'family_result'] },
407
+ { properties: { outcome: enumeration(['rejected', 'recovery_required', 'effect_unknown']), reason: { type: 'string', minLength: 1 } }, required: ['reason'] },
408
+ ];
409
+ export const RUN_COMMAND_RESULT_SCHEMA = freeze({ type: 'object', additionalProperties: true, properties: resultProperties,
410
+ required: ['schema_version', 'outcome', 'authorizes'], oneOf: resultVariants,
411
+ allOf: [{ oneOf: [
412
+ { properties: { outcome: enumeration(['accepted', 'already_applied', 'rejected']) } },
413
+ { properties: { outcome: enumeration(['recovery_required', 'effect_unknown']), recovery: { type: 'string', minLength: 1 } }, required: ['operation_id', 'recovery'] },
414
+ ] }] });
415
+ // Essential envelope projection from the full model, not a second result owner.
416
+ export function commandResultSchema() {
417
+ const keys = ['schema_version', 'outcome', 'authorizes', 'reason', 'operation_id', 'binding', 'receipt', 'recovery'];
418
+ const properties = Object.fromEntries(keys.map(key => [key, key === 'binding' ? { type: ['object', 'null'] } : key === 'outcome' ? { type: 'string' } : resultProperties[key]]));
419
+ return { type: 'object', properties, required: RUN_COMMAND_RESULT_SCHEMA.required,
420
+ oneOf: resultVariants.map(variant => ({ ...variant, properties: Object.fromEntries(Object.entries(variant.properties).filter(([key]) => keys.includes(key))), required: variant.required.filter(key => keys.includes(key)) })) };
421
+ }
422
+ export function validateRunCommandResult(value) { return schemaDiagnostics(value, RUN_COMMAND_RESULT_SCHEMA); }
423
+ export function commandGroupDefinition(group) {
424
+ const definition = { name: group,
425
+ description: {
426
+ agdf_project: 'Initialize fresh current project control. Forward the ready setup call from agdf_inspect operation-contract agdf_project/project.initialize.',
427
+ agdf_run: 'Create an unapproved Run; replay its UUID.',
428
+ agdf_prepare: 'Prepare/deliver documents; never approve. Read existing documents with agdf_inspect.',
429
+ agdf_record: 'Use next_action.call with named inputs. Raw multipart: base64 via contract/recovery.',
430
+ agdf_approve: 'Record NEW deliberate reply for the presented version. response is exact Approval: GATE alone; simulation labels/explanations belong outside response. Quoted text is not approval',
431
+ agdf_revise: 'Preview revisions; confirm to apply.',
432
+ agdf_closeout: 'Record closeout or preview/apply closure.',
433
+ }[group],
434
+ annotations: { readOnlyHint: false, destructiveHint: group !== 'agdf_prepare', idempotentHint: false, openWorldHint: false },
435
+ inputSchema: compactCommandSchema(projectMcpInputSchema(commandGroupSchema(group))), outputSchema: commandResultDiscoverySchema() };
436
+ if (Buffer.byteLength(JSON.stringify(definition)) > (RUN_COMMAND_LIMITS.definition_bytes_by_group[group] ?? RUN_COMMAND_LIMITS.definition_bytes)) throw Error('command_definition_budget_exceeded');
437
+ return freeze(definition);
438
+ }
439
+ // Discovery carries the orientation envelope; the producer always checks the full
440
+ // RUN_COMMAND_RESULT_SCHEMA before delivery. Complete result help is on demand.
441
+ function commandResultDiscoverySchema() {
442
+ return { type: 'object', required: RUN_COMMAND_RESULT_SCHEMA.required,
443
+ properties: Object.fromEntries(['schema_version', 'outcome', 'authorizes'].map(k => [k, resultProperties[k]])) };
444
+ }
445
+ // A deliberately small schema interpreter over the same generated JSON Schema subset.
446
+ // No caller validator, accessor execution, coercion or default-expanded effect is allowed.
447
+ export function schemaDiagnostics(value, schema, path = '$') {
448
+ const errors = [];
449
+ if (schema.if) {
450
+ const branch = schemaDiagnostics(value, schema.if, path).length ? schema.else : schema.then;
451
+ if (branch) errors.push(...schemaDiagnostics(value, branch, path));
452
+ }
453
+ if (schema.oneOf && schema.oneOf.filter(choice => schemaDiagnostics(value, choice, path).length === 0).length !== 1) errors.push({ path, code: 'one_of_invalid' });
454
+ if (schema.allOf) for (const choice of schema.allOf) errors.push(...schemaDiagnostics(value, choice, path));
455
+ if (Array.isArray(schema.type)) {
456
+ const matches = schema.type.map(type => schemaDiagnostics(value, { ...schema, type }, path));
457
+ return matches.some(result => result.length === 0) ? errors : [...errors, { path, code: 'type_invalid' }];
458
+ }
459
+ if (schema.type === 'null' && value !== null) errors.push({ path, code: 'null_required' });
460
+ if (schema.type === 'integer' && !Number.isInteger(value)) errors.push({ path, code: 'integer_required' });
461
+ if (typeof value === 'number' && (schema.minimum !== undefined && value < schema.minimum || schema.maximum !== undefined && value > schema.maximum)) errors.push({ path, code: 'number_out_of_bounds' });
462
+ if (schema.type === 'boolean' && typeof value !== 'boolean') errors.push({ path, code: 'boolean_required' });
463
+ if (schema.type === 'array') {
464
+ if (!Array.isArray(value)) return [...errors, { path, code: 'array_required' }];
465
+ if (schema.minItems !== undefined && value.length < schema.minItems || schema.maxItems !== undefined && value.length > schema.maxItems) errors.push({ path, code: 'array_out_of_bounds' });
466
+ for (let i = 0; i < value.length; i++) {
467
+ const field = Object.getOwnPropertyDescriptor(value, String(i));
468
+ if (!field || !Object.hasOwn(field, 'value')) errors.push({ path, code: 'accessor_forbidden' });
469
+ else if (schema.items) errors.push(...schemaDiagnostics(field.value, schema.items, `${path}[${i}]`));
470
+ }
471
+ }
472
+ if (Object.hasOwn(schema, 'const') && value !== schema.const) errors.push({ path, code: 'constant_invalid' });
473
+ if (schema.enum && !schema.enum.includes(value)) errors.push({ path, code: 'enum_invalid' });
474
+ if (schema.type === 'object' || !schema.type && (schema.properties || schema.required) && value !== null && typeof value === 'object' && !Array.isArray(value)) {
475
+ if (value === null || typeof value !== 'object' || Array.isArray(value) || ![Object.prototype, null].includes(Object.getPrototypeOf(value))) return [{ path, code: 'object_required' }];
476
+ const keys = Reflect.ownKeys(value);
477
+ for (const key of keys) {
478
+ if (typeof key !== 'string') { errors.push({ path, code: 'unknown_field' }); continue; }
479
+ if (!Object.hasOwn(schema.properties ?? {}, key)) { if (schema.additionalProperties === false) errors.push({ path, code: 'unknown_field' }); continue; }
480
+ const property = Object.getOwnPropertyDescriptor(value, key);
481
+ if (!Object.hasOwn(property, 'value')) { errors.push({ path: `${path}.${key}`, code: 'accessor_forbidden' }); continue; }
482
+ errors.push(...schemaDiagnostics(property.value, schema.properties[key], `${path}.${key}`));
483
+ }
484
+ for (const key of schema.required ?? []) if (!Object.hasOwn(value, key)) errors.push({ path: `${path}.${key}`, code: 'field_required' });
485
+ }
486
+ if (schema.type === 'string') {
487
+ if (typeof value !== 'string') return [...errors, { path, code: 'string_required' }];
488
+ if (schema.minLength !== undefined && value.length < schema.minLength || schema.maxLength !== undefined && value.length > schema.maxLength
489
+ || schema.pattern && !(new RegExp(schema.pattern, 'u')).test(value)) errors.push({ path, code: 'string_invalid' });
490
+ }
491
+ return errors;
492
+ }
493
+ export function validateRunCommand(group, input) {
494
+ if (!RUN_COMMAND_GROUPS[group]) return [{ path: '$', code: 'command_group_unsupported' }];
495
+ const errors = schemaDiagnostics(input, commandGroupSchema(group));
496
+ if (errors.length) return errors;
497
+ if (Buffer.byteLength(canonicalJson(input)) > RUN_COMMAND_LIMITS.input_bytes) return [{ path: '$', code: 'command_input_budget_exceeded' }];
498
+ const kind = input.command.kind;
499
+ if (kind === 'operation.recover' && group !== recoveryGroups[input.command.payload.original_kind]) return [{ path: '$.command.payload.original_kind', code: 'command_group_effect_mismatch' }];
500
+ if (group === 'agdf_closeout') {
501
+ const scoped = TARGET_SCOPED_COMMAND_KINDS.includes(kind);
502
+ return ['run_id', 'expected_revision_id'].filter(key => Object.hasOwn(input, key) === scoped)
503
+ .map(key => ({ path: `$.${key}`, code: scoped ? 'field_forbidden' : 'field_required' }));
504
+ }
505
+ return [];
506
+ }
507
+ export const runCommandRequestDigest = input => {
508
+ const identity = value => {
509
+ if (!value || typeof value !== 'object') return value;
510
+ if (!Array.isArray(value) && Object.keys(value).sort().join() === 'digest,material_id') return { digest: value.digest, material_identity: 'canonical_text' };
511
+ return Array.isArray(value) ? value.map(identity) : Object.fromEntries(Object.entries(value).map(([k, v]) => [k, identity(v)]));
512
+ };
513
+ return digest(`agdf-run-command/1\0${canonicalJson(identity(input))}`);
514
+ };