create-agdf 0.14.5 → 0.20.1

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 (1331) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +496 -19
  3. package/bin/create-agdf.js +2 -1
  4. package/generated/.agdf/control/README.md +29 -2
  5. package/generated/.agdf/control/templates/MASTER_BACKLOG.md +4 -2
  6. package/generated/.agdf/control/templates/RUN_STATE.md +1 -0
  7. package/generated/.agdf/control/templates/artefacts/BROWNFIELD_REVIEW.md +31 -0
  8. package/generated/.agdf/control/templates/artefacts/PRD.md +44 -5
  9. package/generated/.agdf/control/templates/artefacts/QA_REPORT.md +6 -0
  10. package/generated/.agdf/control/templates/artefacts/SD.md +31 -3
  11. package/generated/.agdf/control/templates/artefacts/TP.md +43 -8
  12. package/generated/.agdf/control/templates/artefacts/UR.md +17 -0
  13. package/generated/.agdf/control/templates/artefacts/UX_INTENT_DEFINITION.md +10 -0
  14. package/generated/.opencode/AGDF.md +17 -121
  15. package/generated/.opencode/README.md +7 -2
  16. package/generated/.opencode/agdf-agent-router.md +174 -0
  17. package/generated/.opencode/agdf-interaction-locales.json +2682 -495
  18. package/generated/.opencode/agdf-runtime-contract.md +17 -9
  19. package/generated/.opencode/contracts/closeout.md +7 -3
  20. package/generated/.opencode/contracts/control-scaffold.md +19 -6
  21. package/generated/.opencode/contracts/gate-artifact-preparation.md +132 -0
  22. package/generated/.opencode/contracts/gate-transition.md +56 -12
  23. package/generated/.opencode/contracts/interaction.md +331 -41
  24. package/generated/.opencode/contracts/modes.md +23 -11
  25. package/generated/.opencode/contracts/prd-definition.md +130 -0
  26. package/generated/.opencode/contracts/quality.md +85 -14
  27. package/generated/.opencode/contracts/request-activation.md +252 -0
  28. package/generated/.opencode/contracts/sd-definition.md +69 -0
  29. package/generated/.opencode/contracts/task-target-resolution.md +63 -9
  30. package/generated/.opencode/contracts/tp-definition.md +81 -0
  31. package/generated/.opencode/contracts/ur-definition.md +94 -0
  32. package/generated/.opencode/skills/agdf-brownfield-analysis/SKILL.md +70 -8
  33. package/generated/.opencode/skills/agdf-clean-implementation-review/SKILL.md +35 -3
  34. package/generated/.opencode/skills/agdf-code-review/SKILL.md +36 -2
  35. package/generated/.opencode/skills/agdf-delivery-closeout/SKILL.md +36 -4
  36. package/generated/.opencode/skills/agdf-delivery-path-search/SKILL.md +36 -4
  37. package/generated/.opencode/skills/agdf-gate-check/SKILL.md +68 -222
  38. package/generated/.opencode/skills/agdf-prd-definition/SKILL.md +51 -0
  39. package/generated/.opencode/skills/agdf-qa-gate/SKILL.md +78 -10
  40. package/generated/.opencode/skills/agdf-release-or/SKILL.md +44 -11
  41. package/generated/.opencode/skills/agdf-sd-definition/SKILL.md +51 -0
  42. package/generated/.opencode/skills/agdf-task-plan-review/SKILL.md +35 -3
  43. package/generated/.opencode/skills/agdf-tp-definition/SKILL.md +51 -0
  44. package/generated/.opencode/skills/agdf-ur-definition/SKILL.md +54 -0
  45. package/generated/.opencode/skills/agdf-ux-intent-definition/SKILL.md +100 -6
  46. package/generated/plugins/agdf/.claude-plugin/plugin.json +3 -2
  47. package/generated/plugins/agdf/.codex-plugin/plugin.json +3 -1
  48. package/generated/plugins/agdf/control/README.md +29 -2
  49. package/generated/plugins/agdf/control/templates/MASTER_BACKLOG.md +4 -2
  50. package/generated/plugins/agdf/control/templates/RUN_STATE.md +1 -0
  51. package/generated/plugins/agdf/control/templates/artefacts/BROWNFIELD_REVIEW.md +31 -0
  52. package/generated/plugins/agdf/control/templates/artefacts/PRD.md +44 -5
  53. package/generated/plugins/agdf/control/templates/artefacts/QA_REPORT.md +6 -0
  54. package/generated/plugins/agdf/control/templates/artefacts/SD.md +31 -3
  55. package/generated/plugins/agdf/control/templates/artefacts/TP.md +43 -8
  56. package/generated/plugins/agdf/control/templates/artefacts/UR.md +17 -0
  57. package/generated/plugins/agdf/control/templates/artefacts/UX_INTENT_DEFINITION.md +10 -0
  58. package/generated/plugins/agdf/hooks/hooks.json +2 -2
  59. package/generated/plugins/agdf/hooks/session-start.sh +5 -70
  60. package/generated/plugins/agdf/mcp/agdf-mcp-launch.js +7 -0
  61. package/generated/plugins/agdf/mcp/claude.mcp.json +11 -0
  62. package/generated/plugins/agdf/mcp/sdk/expected-sdk.json +21 -0
  63. package/generated/plugins/agdf/mcp/sdk/package-lock.json +47 -0
  64. package/generated/plugins/agdf/mcp/sdk/package.json +7 -0
  65. package/generated/plugins/agdf/mcp/server/NOTICE +10 -0
  66. package/generated/plugins/agdf/mcp/server/README.md +136 -0
  67. package/generated/plugins/agdf/mcp/server/bin/agdf-mcp.js +24 -0
  68. package/generated/plugins/agdf/mcp/server/package.json +59 -0
  69. package/generated/plugins/agdf/mcp/server/src/cockpit-resource.js +20 -0
  70. package/generated/plugins/agdf/mcp/server/src/generation-entry.js +86 -0
  71. package/generated/plugins/agdf/mcp/server/src/generation-protocol.js +44 -0
  72. package/generated/plugins/agdf/mcp/server/src/generation.js +211 -0
  73. package/generated/plugins/agdf/mcp/server/src/main.js +56 -0
  74. package/generated/plugins/agdf/mcp/server/src/server.js +187 -0
  75. package/generated/plugins/agdf/mcp/server/src/ui-capability.js +17 -0
  76. package/generated/plugins/agdf/mcp/server/src/worker-entry.js +39 -0
  77. package/generated/plugins/agdf/mcp/server/src/worker.js +134 -0
  78. package/generated/plugins/agdf/mcp/server/ui/cockpit.html +109 -0
  79. package/generated/plugins/agdf/mcp/server/ui/decision-manifest.json +8 -0
  80. package/generated/plugins/agdf/mcp/server/ui/decision.html +108 -0
  81. package/generated/plugins/agdf/mcp/server/ui/manifest.json +8 -0
  82. package/generated/plugins/agdf/mcp.json +28 -0
  83. package/generated/plugins/agdf/meta/agdf-agent-router.md +50 -8
  84. package/generated/plugins/agdf/meta/agdf-interaction-locales.json +2682 -495
  85. package/generated/plugins/agdf/meta/agdf-mcp-capability.json +158 -0
  86. package/generated/plugins/agdf/meta/agdf-plugin.definition.json +354 -17
  87. package/generated/plugins/agdf/meta/agdf-runtime-contract.md +17 -9
  88. package/generated/plugins/agdf/meta/contracts/closeout.md +6 -2
  89. package/generated/plugins/agdf/meta/contracts/control-scaffold.md +17 -4
  90. package/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +132 -0
  91. package/generated/plugins/agdf/meta/contracts/gate-transition.md +48 -4
  92. package/generated/plugins/agdf/meta/contracts/interaction.md +328 -38
  93. package/generated/plugins/agdf/meta/contracts/modes.md +23 -11
  94. package/generated/plugins/agdf/meta/contracts/prd-definition.md +130 -0
  95. package/generated/plugins/agdf/meta/contracts/quality.md +77 -6
  96. package/generated/plugins/agdf/meta/contracts/request-activation.md +252 -0
  97. package/generated/plugins/agdf/meta/contracts/sd-definition.md +69 -0
  98. package/generated/plugins/agdf/meta/contracts/task-target-resolution.md +63 -9
  99. package/generated/plugins/agdf/meta/contracts/tp-definition.md +81 -0
  100. package/generated/plugins/agdf/meta/contracts/ur-definition.md +94 -0
  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/meta/schemas/agent-plugins/1.0.0/mcp.schema.json +120 -0
  104. package/generated/plugins/agdf/meta/schemas/agent-plugins/1.0.0/plugin.schema.json +65 -0
  105. package/generated/plugins/agdf/meta/schemas/agent-plugins/1.0.0/provenance.json +19 -0
  106. package/generated/plugins/agdf/runtime/agdf-local.js +5 -4
  107. package/generated/plugins/agdf/runtime/agdf-session-check.js +127 -50
  108. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-interaction-locales.json +2682 -495
  109. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-plugin.definition.json +354 -17
  110. package/generated/plugins/{copilot/agdf/copilot-skills → agdf/runtime/create-agdf/generated/plugins/agdf/meta}/contracts/closeout.md +7 -3
  111. package/generated/plugins/{copilot/agdf/copilot-skills → agdf/runtime/create-agdf/generated/plugins/agdf/meta}/contracts/control-scaffold.md +19 -6
  112. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +132 -0
  113. package/generated/plugins/{copilot/agdf/copilot-skills → agdf/runtime/create-agdf/generated/plugins/agdf/meta}/contracts/gate-transition.md +56 -12
  114. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/interaction.md +777 -0
  115. package/generated/plugins/{copilot/agdf/copilot-skills → agdf/runtime/create-agdf/generated/plugins/agdf/meta}/contracts/modes.md +23 -11
  116. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/prd-definition.md +130 -0
  117. package/generated/plugins/{copilot/agdf/copilot-skills → agdf/runtime/create-agdf/generated/plugins/agdf/meta}/contracts/quality.md +85 -14
  118. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/request-activation.md +252 -0
  119. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/sd-definition.md +69 -0
  120. package/generated/plugins/{copilot/agdf/copilot-skills → agdf/runtime/create-agdf/generated/plugins/agdf/meta}/contracts/task-target-resolution.md +63 -9
  121. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/tp-definition.md +81 -0
  122. package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/ur-definition.md +94 -0
  123. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/command-registry.js +251 -16
  124. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/contract-command.js +24 -0
  125. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/control-maintenance-command.js +44 -0
  126. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/delivery-path-search-command.js +11 -11
  127. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/parse-args.js +254 -5
  128. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/runtime-context.js +14 -37
  129. package/generated/plugins/agdf/runtime/create-agdf/lib/cli/validation-handlers.js +205 -7
  130. package/generated/plugins/agdf/runtime/create-agdf/lib/control-command.js +4 -0
  131. package/generated/plugins/agdf/runtime/create-agdf/lib/control-evaluation/git-observation.js +22 -0
  132. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/interaction.js +28 -0
  133. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/repair.js +4 -0
  134. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/service.js +3 -0
  135. package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/startup.js +25 -0
  136. package/generated/plugins/agdf/runtime/create-agdf/lib/control-state/run-recovery.js +5 -0
  137. package/generated/plugins/agdf/runtime/create-agdf/lib/delivery-path-search/evaluators/claude.js +3 -3
  138. package/generated/plugins/agdf/runtime/create-agdf/lib/delivery-path-search/evaluators/codex.js +3 -3
  139. package/generated/plugins/agdf/runtime/create-agdf/lib/delivery-path-search/evaluators/opencode.js +4 -4
  140. package/generated/plugins/agdf/runtime/create-agdf/lib/delivery-path-search/evaluators/protocol.js +1 -1
  141. package/generated/plugins/agdf/runtime/create-agdf/lib/delivery-path-search/generators/claude.js +3 -3
  142. package/generated/plugins/agdf/runtime/create-agdf/lib/delivery-path-search/generators/codex.js +3 -3
  143. package/generated/plugins/agdf/runtime/create-agdf/lib/delivery-path-search/generators/protocol.js +1 -1
  144. package/generated/plugins/agdf/runtime/create-agdf/lib/delivery-path-search/surfaces/capabilities.js +1 -1
  145. package/generated/plugins/agdf/runtime/create-agdf/lib/delivery-path-search/transports/read-only-guard.js +2 -1
  146. package/generated/plugins/agdf/runtime/create-agdf/lib/host-adapters/claude/session-command.js +2 -0
  147. package/generated/plugins/agdf/runtime/create-agdf/lib/host-adapters/codex/session-command.js +7 -0
  148. package/generated/plugins/agdf/runtime/create-agdf/lib/host-adapters/copilot/session-command.js +1 -0
  149. package/generated/plugins/agdf/runtime/create-agdf/lib/host-adapters/opencode/session-command.js +1 -0
  150. package/generated/plugins/agdf/runtime/create-agdf/lib/host-adapters/session-command.js +11 -0
  151. package/generated/plugins/agdf/runtime/create-agdf/lib/host-command.js +112 -0
  152. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-dispatch-runtime.js +360 -0
  153. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-entry.js +26 -0
  154. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-owner-entry.js +34 -0
  155. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/package.js +527 -0
  156. package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/plugin-runtime.js +420 -0
  157. package/generated/plugins/agdf/runtime/create-agdf/lib/npm-invocation.js +27 -0
  158. package/generated/plugins/agdf/runtime/create-agdf/lib/repository-context.js +87 -0
  159. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/control-command-service.js +12 -0
  160. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/control-context.js +11 -0
  161. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/git-history.js +7 -0
  162. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/git-originals.js +36 -0
  163. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/local-validator.js +39 -5
  164. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/plugin-provenance.js +1 -298
  165. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/runtime-probe.js +61 -0
  166. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/validator-application.js +3 -3
  167. package/generated/plugins/agdf/runtime/create-agdf/lib/runtime-check-consent/contract.js +9 -8
  168. package/generated/plugins/agdf/runtime/create-agdf/lib/skill-dispatch/binding.js +9 -0
  169. package/generated/plugins/agdf/runtime/create-agdf/package.json +6 -2
  170. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/acceptance-criteria.js +61 -0
  171. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/backlog-vocabulary.d.ts +3 -0
  172. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/backlog-vocabulary.js +15 -0
  173. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/closeout-readiness.js +103 -0
  174. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-readiness.js +131 -0
  175. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/definition-sources.js +46 -0
  176. package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-evaluation/delivery-map.js +31 -37
  177. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/delivery-relationships.js +21 -0
  178. package/{lib → generated/plugins/agdf/runtime/create-agdf/runtime/core/lib}/control-evaluation/doctor.js +85 -17
  179. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-check.js +827 -0
  180. package/generated/plugins/{copilot/agdf/runtime/create-agdf → agdf/runtime/create-agdf/runtime/core}/lib/control-evaluation/gate-policy.js +141 -10
  181. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/markdown-table.js +40 -0
  182. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/next-action.js +32 -0
  183. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/normalized-gaps.js +105 -0
  184. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/prd-readiness.js +51 -0
  185. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/qa-follow-up.js +83 -0
  186. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/report-decision.js +237 -0
  187. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state-policy.js +51 -0
  188. package/{lib → generated/plugins/agdf/runtime/create-agdf/runtime/core/lib}/control-evaluation/run-state.js +108 -74
  189. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-step-policy.js +20 -0
  190. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-work-summary.js +109 -0
  191. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/sd-readiness.js +56 -0
  192. package/generated/plugins/{copilot/agdf/runtime/create-agdf → agdf/runtime/create-agdf/runtime/core}/lib/control-evaluation/shared.js +5 -2
  193. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/tp-planning.js +118 -0
  194. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/traceability-readiness.js +212 -0
  195. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/ur-readiness.js +47 -0
  196. package/{lib → generated/plugins/agdf/runtime/create-agdf/runtime/core/lib}/control-evaluation/verified-change.js +10 -30
  197. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/artifact-readiness.js +122 -0
  198. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-backlog.js +135 -0
  199. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-context.js +97 -0
  200. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-contract.js +86 -0
  201. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-list.d.ts +17 -0
  202. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-list.js +45 -0
  203. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-session.js +217 -0
  204. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit.js +388 -0
  205. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/contract.js +299 -0
  206. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/decision-session.js +243 -0
  207. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/selection.js +35 -0
  208. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/service.js +319 -0
  209. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/compatibility.js +149 -0
  210. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/contract.js +41 -0
  211. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/interaction.js +57 -0
  212. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/migration.js +85 -0
  213. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/presentation.js +122 -0
  214. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/repair.js +226 -0
  215. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/service.js +38 -0
  216. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/cockpit-pool.js +105 -0
  217. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/cockpit-worker.js +33 -0
  218. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/control-changes.js +33 -0
  219. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/fs.js +55 -0
  220. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/snapshot.js +378 -0
  221. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read-boundary.js +22 -0
  222. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-command-contract.js +73 -0
  223. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-command.js +137 -0
  224. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-operations.js +95 -0
  225. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-binding-proof.js +90 -0
  226. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-bindings.js +94 -0
  227. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.d.ts +4 -0
  228. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.js +40 -0
  229. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary.js +67 -0
  230. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/contained-file.js +56 -0
  231. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/control-configuration.js +19 -0
  232. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-action-contract.js +32 -0
  233. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-action-service.js +55 -0
  234. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-material-contract.js +12 -0
  235. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/evidence-bindings.js +132 -0
  236. package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-state/index.js +2 -0
  237. package/generated/plugins/{copilot/agdf/runtime/create-agdf → agdf/runtime/create-agdf/runtime/core}/lib/control-state/legacy-migration.js +5 -31
  238. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-projection-reader.js +38 -0
  239. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-decision.js +138 -0
  240. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-render.js +130 -0
  241. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-review.js +136 -0
  242. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-snapshot.js +108 -0
  243. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/qa-deviation-acceptance.js +82 -0
  244. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/recording-formats.js +29 -0
  245. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-artefact-recording.js +81 -0
  246. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog-writer.js +80 -0
  247. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog.js +90 -0
  248. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-contract.js +143 -0
  249. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-service.js +174 -0
  250. package/{lib → generated/plugins/agdf/runtime/create-agdf/runtime/core/lib}/control-state/run-identity.js +1 -0
  251. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-identity.js +31 -0
  252. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-proof.js +103 -0
  253. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-status.js +59 -0
  254. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operations.js +80 -0
  255. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-owned-outputs.js +59 -0
  256. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-envelope.js +36 -0
  257. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-render.js +443 -0
  258. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation.js +348 -0
  259. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recording.js +273 -0
  260. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recovery.js +296 -0
  261. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-relationship-correction.js +74 -0
  262. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-boundary.js +44 -0
  263. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-history.js +184 -0
  264. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision.js +458 -0
  265. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal-compute.js +141 -0
  266. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal.js +26 -0
  267. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-source-revisions.js +221 -0
  268. package/generated/plugins/{copilot/agdf/runtime/create-agdf/lib/control-state/run-state-parser.js → agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-document.js} +17 -47
  269. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-edits.js +170 -0
  270. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-parser.js +106 -0
  271. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-reader.js +57 -0
  272. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-repository.js +201 -0
  273. package/generated/plugins/{copilot/agdf/runtime/create-agdf → agdf/runtime/create-agdf/runtime/core}/lib/control-state/run-state-resolver.js +1 -1
  274. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-writer.js +484 -0
  275. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-pending.js +15 -0
  276. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-transaction.js +359 -0
  277. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-steps.js +571 -0
  278. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-store-inspection.js +65 -0
  279. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-text.js +8 -0
  280. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/delivery-continuation/service.js +67 -0
  281. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/index.js +14 -0
  282. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog-validation.js +26 -0
  283. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog.d.ts +2 -0
  284. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog.js +98 -0
  285. package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/interaction-presentation.js +437 -33
  286. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-resource-contract.js +4 -0
  287. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-tool-errors.js +176 -0
  288. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/repository-context-reader.js +87 -0
  289. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/artefact-templates.js +72 -0
  290. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/binding.js +26 -0
  291. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/context.js +70 -0
  292. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/contracts.js +23 -0
  293. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/runtime/host-installation.js +200 -0
  294. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/runtime/plugin-provenance.js +496 -0
  295. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/binding.js +66 -0
  296. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/compact-continuation.js +76 -0
  297. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/contract.js +430 -0
  298. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-intake.js +80 -0
  299. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +74 -0
  300. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/prd-definition.js +39 -0
  301. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/sd-definition.js +39 -0
  302. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/service.js +833 -0
  303. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/tp-definition.js +41 -0
  304. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/task-target-resolution.js +202 -0
  305. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/LICENSE +11 -0
  306. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/decode.js +3 -0
  307. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  308. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/decode.js +511 -0
  309. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/encode.js +73 -0
  310. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/escape.js +121 -0
  311. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/generated/decode-data-html.js +10 -0
  312. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +10 -0
  313. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/generated/encode-html.js +13 -0
  314. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/index.js +131 -0
  315. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/package.json +3 -0
  316. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
  317. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/decode.js +497 -0
  318. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/encode.js +69 -0
  319. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/escape.js +117 -0
  320. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
  321. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
  322. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
  323. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/index.js +107 -0
  324. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/package.json +3 -0
  325. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/escape.js +3 -0
  326. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/package.json +118 -0
  327. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/entities/src/generated/.eslintrc.json +10 -0
  328. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/LICENSE +20 -0
  329. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/index.browser.cjs +43 -0
  330. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/index.browser.js +43 -0
  331. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/index.cjs +47 -0
  332. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/index.js +47 -0
  333. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/index.native.js +38 -0
  334. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/package.json +12 -0
  335. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/bin/nanoid.cjs +55 -0
  336. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/index.browser.cjs +45 -0
  337. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/index.browser.js +45 -0
  338. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/index.cjs +63 -0
  339. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/index.js +63 -0
  340. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/nanoid.js +1 -0
  341. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/non-secure/index.cjs +24 -0
  342. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/non-secure/index.js +24 -0
  343. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/non-secure/package.json +6 -0
  344. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/package.json +89 -0
  345. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/url-alphabet/index.cjs +4 -0
  346. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/url-alphabet/index.js +4 -0
  347. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/url-alphabet/package.json +6 -0
  348. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/LICENSE +19 -0
  349. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/doctype.js +118 -0
  350. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/error-codes.js +66 -0
  351. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/foreign-content.js +237 -0
  352. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/html.js +528 -0
  353. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/token.js +24 -0
  354. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/unicode.js +70 -0
  355. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/index.js +54 -0
  356. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/package.json +1 -0
  357. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/parser/formatting-element-list.js +114 -0
  358. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/parser/index.js +3240 -0
  359. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/parser/open-element-stack.js +328 -0
  360. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/serializer/index.js +172 -0
  361. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/tokenizer/index.js +2714 -0
  362. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/tokenizer/preprocessor.js +200 -0
  363. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/tree-adapters/default.js +176 -0
  364. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/tree-adapters/interface.js +2 -0
  365. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/doctype.js +114 -0
  366. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/error-codes.js +63 -0
  367. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/foreign-content.js +228 -0
  368. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/html.js +523 -0
  369. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/token.js +20 -0
  370. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/unicode.js +62 -0
  371. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/index.js +42 -0
  372. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
  373. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/parser/index.js +3245 -0
  374. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
  375. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/serializer/index.js +168 -0
  376. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/tokenizer/index.js +2710 -0
  377. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
  378. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/tree-adapters/default.js +173 -0
  379. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/tree-adapters/interface.js +1 -0
  380. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/package.json +50 -0
  381. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/picocolors/LICENSE +15 -0
  382. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/picocolors/package.json +25 -0
  383. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/picocolors/picocolors.browser.js +4 -0
  384. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/picocolors/picocolors.js +75 -0
  385. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/LICENSE +20 -0
  386. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/at-rule.js +25 -0
  387. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/comment.js +13 -0
  388. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/container.js +494 -0
  389. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/css-syntax-error.js +133 -0
  390. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/declaration.js +24 -0
  391. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/document.js +33 -0
  392. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/fromJSON.js +107 -0
  393. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/input.js +282 -0
  394. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/lazy-result.js +626 -0
  395. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/list.js +79 -0
  396. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/map-generator.js +383 -0
  397. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/no-work-result.js +137 -0
  398. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/node.js +494 -0
  399. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/parse.js +42 -0
  400. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/parser.js +626 -0
  401. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/postcss.js +101 -0
  402. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/postcss.mjs +30 -0
  403. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/previous-map.js +176 -0
  404. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/processor.js +67 -0
  405. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/result.js +42 -0
  406. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/root.js +76 -0
  407. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/rule.js +27 -0
  408. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/stringifier.js +457 -0
  409. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/stringify.js +69 -0
  410. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/symbols.js +5 -0
  411. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/terminal-highlight.js +70 -0
  412. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/tokenize.js +270 -0
  413. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/warn-once.js +13 -0
  414. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/warning.js +47 -0
  415. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/package.json +88 -0
  416. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/LICENSE +28 -0
  417. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/array-set.js +121 -0
  418. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  419. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/base64.js +67 -0
  420. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/binary-search.js +111 -0
  421. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/mapping-list.js +79 -0
  422. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/quick-sort.js +141 -0
  423. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/source-map-consumer.js +1236 -0
  424. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/source-map-generator.js +446 -0
  425. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/source-node.js +420 -0
  426. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/util.js +594 -0
  427. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/package.json +71 -0
  428. package/generated/plugins/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/source-map.js +8 -0
  429. package/generated/plugins/agdf/runtime/runtime-manifest.json +2 -2
  430. package/generated/plugins/agdf/scripts/agent-skills-conformance.mjs +9 -5
  431. package/generated/plugins/agdf/scripts/check-runtime-integrity.mjs +1123 -182
  432. package/generated/plugins/agdf/scripts/instruction-footprint.mjs +945 -0
  433. package/generated/plugins/agdf/skills/brownfield-analysis/SKILL.md +67 -5
  434. package/generated/plugins/agdf/skills/clean-implementation-review/SKILL.md +34 -2
  435. package/generated/plugins/agdf/skills/code-review/SKILL.md +36 -2
  436. package/generated/plugins/agdf/skills/delivery-closeout/SKILL.md +34 -2
  437. package/generated/plugins/agdf/skills/delivery-path-search/SKILL.md +34 -2
  438. package/generated/plugins/agdf/skills/gate-check/SKILL.md +68 -222
  439. package/generated/plugins/agdf/skills/prd-definition/SKILL.md +51 -0
  440. package/generated/plugins/agdf/skills/prd-definition/help.md +23 -0
  441. package/generated/plugins/agdf/skills/qa-gate/SKILL.md +73 -5
  442. package/generated/plugins/agdf/skills/release-or/SKILL.md +36 -3
  443. package/generated/plugins/agdf/skills/sd-definition/SKILL.md +51 -0
  444. package/generated/plugins/agdf/skills/sd-definition/help.md +17 -0
  445. package/generated/plugins/agdf/skills/task-plan-review/SKILL.md +34 -2
  446. package/generated/plugins/agdf/skills/tp-definition/SKILL.md +51 -0
  447. package/generated/plugins/agdf/skills/tp-definition/help.md +17 -0
  448. package/generated/plugins/agdf/skills/ur-definition/SKILL.md +54 -0
  449. package/generated/plugins/agdf/skills/ur-definition/help.md +19 -0
  450. package/generated/plugins/agdf/skills/ux-intent-definition/SKILL.md +100 -6
  451. package/generated/plugins/agdf/skills/ux-intent-definition/help.md +3 -0
  452. package/generated/plugins/agdf/submission/openai/availability.md +1 -1
  453. package/generated/plugins/agdf/submission/openai/capability-matrix.json +1 -1
  454. package/generated/plugins/agdf/submission/openai/release-notes.md +1 -1
  455. package/generated/plugins/agdf/submission/openai/reviewer-cases.json +1 -1
  456. package/generated/plugins/copilot/agdf/.agdf-payload-inventory.json +3314 -409
  457. package/generated/plugins/copilot/agdf/control/README.md +125 -0
  458. package/generated/plugins/copilot/agdf/control/templates/AGDF_RUN.md +139 -0
  459. package/generated/plugins/copilot/agdf/control/templates/AGENT_QUALITY_CONTRACTS.json +126 -0
  460. package/generated/plugins/copilot/agdf/control/templates/CONTEXT_GRAPH.md +51 -0
  461. package/generated/plugins/copilot/agdf/control/templates/MASTER_BACKLOG.md +39 -0
  462. package/generated/plugins/copilot/agdf/control/templates/RUN_STATE.md +93 -0
  463. package/generated/plugins/copilot/agdf/control/templates/SOT_REGISTRY.md +25 -0
  464. package/generated/plugins/copilot/agdf/control/templates/artefacts/BROWNFIELD_REVIEW.md +135 -0
  465. package/generated/plugins/copilot/agdf/control/templates/artefacts/OR.md +125 -0
  466. package/generated/plugins/copilot/agdf/control/templates/artefacts/PRD.md +113 -0
  467. package/generated/plugins/copilot/agdf/control/templates/artefacts/QA_REPORT.md +44 -0
  468. package/generated/plugins/copilot/agdf/control/templates/artefacts/SD.md +70 -0
  469. package/generated/plugins/copilot/agdf/control/templates/artefacts/TP.md +71 -0
  470. package/generated/plugins/copilot/agdf/control/templates/artefacts/UR.md +58 -0
  471. package/generated/plugins/copilot/agdf/control/templates/artefacts/UX_INTENT_DEFINITION.md +61 -0
  472. package/generated/plugins/copilot/agdf/control/templates/artefacts/VERIFIED_CHANGE.md +58 -0
  473. package/generated/plugins/copilot/agdf/mcp/agdf-mcp-launch.js +7 -0
  474. package/generated/plugins/copilot/agdf/mcp/sdk/expected-sdk.json +21 -0
  475. package/generated/plugins/copilot/agdf/mcp/sdk/package-lock.json +47 -0
  476. package/generated/plugins/copilot/agdf/mcp/sdk/package.json +7 -0
  477. package/generated/plugins/copilot/agdf/mcp/server/NOTICE +10 -0
  478. package/generated/plugins/copilot/agdf/mcp/server/README.md +136 -0
  479. package/generated/plugins/copilot/agdf/mcp/server/bin/agdf-mcp.js +24 -0
  480. package/generated/plugins/copilot/agdf/mcp/server/package.json +59 -0
  481. package/generated/plugins/copilot/agdf/mcp/server/src/cockpit-resource.js +20 -0
  482. package/generated/plugins/copilot/agdf/mcp/server/src/generation-entry.js +86 -0
  483. package/generated/plugins/copilot/agdf/mcp/server/src/generation-protocol.js +44 -0
  484. package/generated/plugins/copilot/agdf/mcp/server/src/generation.js +211 -0
  485. package/generated/plugins/copilot/agdf/mcp/server/src/main.js +56 -0
  486. package/generated/plugins/copilot/agdf/mcp/server/src/server.js +187 -0
  487. package/generated/plugins/copilot/agdf/mcp/server/src/ui-capability.js +17 -0
  488. package/generated/plugins/copilot/agdf/mcp/server/src/worker-entry.js +39 -0
  489. package/generated/plugins/copilot/agdf/mcp/server/src/worker.js +134 -0
  490. package/generated/plugins/copilot/agdf/mcp.json +16 -0
  491. package/generated/plugins/copilot/agdf/meta/agdf-agent-router.md +50 -8
  492. package/generated/plugins/copilot/agdf/meta/agdf-plugin.definition.json +354 -17
  493. package/generated/plugins/copilot/agdf/meta/agdf-runtime-contract.md +17 -9
  494. package/generated/plugins/copilot/agdf/meta/distribution-profile-history.json +14 -0
  495. package/generated/plugins/copilot/agdf/plugin.json +3 -5
  496. package/generated/plugins/copilot/agdf/runtime/agdf-local.js +5 -4
  497. package/generated/plugins/copilot/agdf/runtime/agdf-session-check.js +110 -47
  498. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-interaction-locales.json +2682 -495
  499. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-plugin.definition.json +354 -17
  500. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/closeout.md +82 -0
  501. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/context-graph.md +48 -0
  502. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/control-scaffold.md +145 -0
  503. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +132 -0
  504. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-transition.md +209 -0
  505. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/interaction.md +777 -0
  506. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/modes.md +195 -0
  507. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/prd-definition.md +130 -0
  508. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/quality.md +228 -0
  509. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/request-activation.md +252 -0
  510. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/sd-definition.md +69 -0
  511. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/task-target-resolution.md +156 -0
  512. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/tp-definition.md +81 -0
  513. package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/ur-definition.md +94 -0
  514. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/command-registry.js +251 -16
  515. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/contract-command.js +24 -0
  516. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/control-maintenance-command.js +44 -0
  517. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/delivery-path-search-command.js +11 -11
  518. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/parse-args.js +254 -5
  519. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/runtime-context.js +14 -37
  520. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/validation-handlers.js +205 -7
  521. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-command.js +4 -0
  522. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-evaluation/git-observation.js +22 -0
  523. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/interaction.js +28 -0
  524. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/repair.js +4 -0
  525. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/service.js +3 -0
  526. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/startup.js +25 -0
  527. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-state/run-recovery.js +5 -0
  528. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/delivery-path-search/evaluators/claude.js +3 -3
  529. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/delivery-path-search/evaluators/codex.js +3 -3
  530. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/delivery-path-search/evaluators/opencode.js +4 -4
  531. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/delivery-path-search/evaluators/protocol.js +1 -1
  532. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/delivery-path-search/generators/claude.js +3 -3
  533. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/delivery-path-search/generators/codex.js +3 -3
  534. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/delivery-path-search/generators/protocol.js +1 -1
  535. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/delivery-path-search/surfaces/capabilities.js +1 -1
  536. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/delivery-path-search/transports/read-only-guard.js +2 -1
  537. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/host-adapters/claude/session-command.js +2 -0
  538. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/host-adapters/codex/session-command.js +7 -0
  539. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/host-adapters/copilot/session-command.js +1 -0
  540. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/host-adapters/opencode/session-command.js +1 -0
  541. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/host-adapters/session-command.js +11 -0
  542. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/host-command.js +112 -0
  543. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-dispatch-runtime.js +360 -0
  544. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-entry.js +26 -0
  545. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-owner-entry.js +34 -0
  546. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/package.js +527 -0
  547. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/plugin-runtime.js +420 -0
  548. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/npm-invocation.js +27 -0
  549. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/repository-context.js +87 -0
  550. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/control-command-service.js +12 -0
  551. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/control-context.js +11 -0
  552. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/git-history.js +7 -0
  553. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/git-originals.js +36 -0
  554. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/local-validator.js +39 -5
  555. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/plugin-provenance.js +1 -298
  556. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/runtime-probe.js +61 -0
  557. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/validator-application.js +3 -3
  558. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime-check-consent/contract.js +9 -8
  559. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/skill-dispatch/binding.js +9 -0
  560. package/generated/plugins/copilot/agdf/runtime/create-agdf/package.json +6 -2
  561. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/acceptance-criteria.js +61 -0
  562. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/backlog-vocabulary.d.ts +3 -0
  563. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/backlog-vocabulary.js +15 -0
  564. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/closeout-readiness.js +103 -0
  565. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-readiness.js +131 -0
  566. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/definition-sources.js +46 -0
  567. package/{lib → generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib}/control-evaluation/delivery-map.js +31 -37
  568. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/delivery-relationships.js +21 -0
  569. package/generated/plugins/{agdf/runtime/create-agdf → copilot/agdf/runtime/create-agdf/runtime/core}/lib/control-evaluation/doctor.js +85 -17
  570. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-check.js +827 -0
  571. package/{lib → generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib}/control-evaluation/gate-policy.js +141 -10
  572. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/markdown-table.js +40 -0
  573. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/next-action.js +32 -0
  574. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/normalized-gaps.js +105 -0
  575. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/prd-readiness.js +51 -0
  576. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/qa-follow-up.js +83 -0
  577. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/report-decision.js +237 -0
  578. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state-policy.js +51 -0
  579. package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-evaluation/run-state.js +108 -74
  580. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-step-policy.js +20 -0
  581. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-work-summary.js +109 -0
  582. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/sd-readiness.js +56 -0
  583. package/{lib → generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib}/control-evaluation/shared.js +5 -2
  584. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/tp-planning.js +118 -0
  585. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/traceability-readiness.js +212 -0
  586. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/ur-readiness.js +47 -0
  587. package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-evaluation/verified-change.js +10 -30
  588. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/artifact-readiness.js +122 -0
  589. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/contract.js +299 -0
  590. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/selection.js +35 -0
  591. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/service.js +319 -0
  592. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/compatibility.js +149 -0
  593. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/contract.js +41 -0
  594. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/interaction.js +57 -0
  595. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/migration.js +85 -0
  596. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/presentation.js +122 -0
  597. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/repair.js +226 -0
  598. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/service.js +38 -0
  599. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/fs.js +55 -0
  600. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/snapshot.js +378 -0
  601. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read-boundary.js +22 -0
  602. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-command-contract.js +73 -0
  603. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-command.js +137 -0
  604. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-operations.js +95 -0
  605. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-binding-proof.js +90 -0
  606. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-bindings.js +94 -0
  607. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.d.ts +4 -0
  608. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.js +40 -0
  609. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary.js +67 -0
  610. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/contained-file.js +56 -0
  611. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/control-configuration.js +19 -0
  612. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-material-contract.js +12 -0
  613. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/evidence-bindings.js +132 -0
  614. package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-state/index.js +2 -0
  615. package/generated/plugins/{agdf/runtime/create-agdf → copilot/agdf/runtime/create-agdf/runtime/core}/lib/control-state/legacy-migration.js +5 -31
  616. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-projection-reader.js +38 -0
  617. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-decision.js +138 -0
  618. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-render.js +130 -0
  619. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-review.js +136 -0
  620. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-snapshot.js +108 -0
  621. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/qa-deviation-acceptance.js +82 -0
  622. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/recording-formats.js +29 -0
  623. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-artefact-recording.js +81 -0
  624. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog-writer.js +80 -0
  625. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog.js +90 -0
  626. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-contract.js +143 -0
  627. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-service.js +174 -0
  628. package/generated/plugins/{agdf/runtime/create-agdf → copilot/agdf/runtime/create-agdf/runtime/core}/lib/control-state/run-identity.js +1 -0
  629. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-identity.js +31 -0
  630. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-proof.js +103 -0
  631. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-status.js +59 -0
  632. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operations.js +80 -0
  633. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-owned-outputs.js +59 -0
  634. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-envelope.js +36 -0
  635. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-render.js +443 -0
  636. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation.js +348 -0
  637. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recording.js +273 -0
  638. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recovery.js +296 -0
  639. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-relationship-correction.js +74 -0
  640. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-boundary.js +44 -0
  641. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-history.js +184 -0
  642. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision.js +458 -0
  643. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal-compute.js +141 -0
  644. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal.js +26 -0
  645. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-source-revisions.js +221 -0
  646. package/{lib/control-state/run-state-parser.js → generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-document.js} +17 -47
  647. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-edits.js +170 -0
  648. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-parser.js +106 -0
  649. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-reader.js +57 -0
  650. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-repository.js +201 -0
  651. package/generated/plugins/{agdf/runtime/create-agdf → copilot/agdf/runtime/create-agdf/runtime/core}/lib/control-state/run-state-resolver.js +1 -1
  652. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-writer.js +484 -0
  653. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-pending.js +15 -0
  654. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-transaction.js +359 -0
  655. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-steps.js +571 -0
  656. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-store-inspection.js +65 -0
  657. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-text.js +8 -0
  658. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/delivery-continuation/service.js +67 -0
  659. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/fs-swap.js +26 -0
  660. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/index.js +14 -0
  661. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog-validation.js +26 -0
  662. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog.js +98 -0
  663. package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/interaction-presentation.js +437 -33
  664. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-resource-contract.js +4 -0
  665. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-tool-errors.js +176 -0
  666. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/repository-context-reader.js +87 -0
  667. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/artefact-templates.js +72 -0
  668. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/binding.js +27 -0
  669. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/context.js +70 -0
  670. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/contracts.js +23 -0
  671. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/runtime/distribution-profile-history.js +173 -0
  672. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/runtime/plugin-provenance.js +496 -0
  673. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/binding.js +66 -0
  674. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/compact-continuation.js +76 -0
  675. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/contract.js +430 -0
  676. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-intake.js +80 -0
  677. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +74 -0
  678. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/prd-definition.js +39 -0
  679. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/sd-definition.js +39 -0
  680. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/service.js +833 -0
  681. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/tp-definition.js +41 -0
  682. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/task-target-resolution.js +202 -0
  683. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/LICENSE +11 -0
  684. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/decode.js +3 -0
  685. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  686. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/decode.js +511 -0
  687. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/encode.js +73 -0
  688. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/escape.js +121 -0
  689. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/generated/decode-data-html.js +10 -0
  690. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +10 -0
  691. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/generated/encode-html.js +13 -0
  692. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/index.js +131 -0
  693. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/commonjs/package.json +3 -0
  694. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
  695. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/decode.js +497 -0
  696. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/encode.js +69 -0
  697. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/escape.js +117 -0
  698. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
  699. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
  700. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
  701. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/index.js +107 -0
  702. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/dist/esm/package.json +3 -0
  703. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/escape.js +3 -0
  704. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/package.json +118 -0
  705. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/entities/src/generated/.eslintrc.json +10 -0
  706. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/LICENSE +20 -0
  707. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/index.browser.cjs +43 -0
  708. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/index.browser.js +43 -0
  709. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/index.cjs +47 -0
  710. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/index.js +47 -0
  711. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/index.native.js +38 -0
  712. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/async/package.json +12 -0
  713. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/bin/nanoid.cjs +55 -0
  714. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/index.browser.cjs +45 -0
  715. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/index.browser.js +45 -0
  716. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/index.cjs +63 -0
  717. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/index.js +63 -0
  718. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/nanoid.js +1 -0
  719. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/non-secure/index.cjs +24 -0
  720. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/non-secure/index.js +24 -0
  721. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/non-secure/package.json +6 -0
  722. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/package.json +89 -0
  723. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/url-alphabet/index.cjs +4 -0
  724. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/url-alphabet/index.js +4 -0
  725. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/nanoid/url-alphabet/package.json +6 -0
  726. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/LICENSE +19 -0
  727. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/doctype.js +118 -0
  728. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/error-codes.js +66 -0
  729. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/foreign-content.js +237 -0
  730. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/html.js +528 -0
  731. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/token.js +24 -0
  732. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/common/unicode.js +70 -0
  733. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/index.js +54 -0
  734. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/package.json +1 -0
  735. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/parser/formatting-element-list.js +114 -0
  736. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/parser/index.js +3240 -0
  737. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/parser/open-element-stack.js +328 -0
  738. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/serializer/index.js +172 -0
  739. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/tokenizer/index.js +2714 -0
  740. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/tokenizer/preprocessor.js +200 -0
  741. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/tree-adapters/default.js +176 -0
  742. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/cjs/tree-adapters/interface.js +2 -0
  743. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/doctype.js +114 -0
  744. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/error-codes.js +63 -0
  745. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/foreign-content.js +228 -0
  746. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/html.js +523 -0
  747. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/token.js +20 -0
  748. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/common/unicode.js +62 -0
  749. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/index.js +42 -0
  750. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
  751. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/parser/index.js +3245 -0
  752. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
  753. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/serializer/index.js +168 -0
  754. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/tokenizer/index.js +2710 -0
  755. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
  756. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/tree-adapters/default.js +173 -0
  757. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/dist/tree-adapters/interface.js +1 -0
  758. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/parse5/package.json +50 -0
  759. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/picocolors/LICENSE +15 -0
  760. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/picocolors/package.json +25 -0
  761. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/picocolors/picocolors.browser.js +4 -0
  762. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/picocolors/picocolors.js +75 -0
  763. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/LICENSE +20 -0
  764. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/at-rule.js +25 -0
  765. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/comment.js +13 -0
  766. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/container.js +494 -0
  767. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/css-syntax-error.js +133 -0
  768. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/declaration.js +24 -0
  769. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/document.js +33 -0
  770. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/fromJSON.js +107 -0
  771. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/input.js +282 -0
  772. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/lazy-result.js +626 -0
  773. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/list.js +79 -0
  774. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/map-generator.js +383 -0
  775. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/no-work-result.js +137 -0
  776. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/node.js +494 -0
  777. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/parse.js +42 -0
  778. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/parser.js +626 -0
  779. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/postcss.js +101 -0
  780. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/postcss.mjs +30 -0
  781. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/previous-map.js +176 -0
  782. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/processor.js +67 -0
  783. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/result.js +42 -0
  784. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/root.js +76 -0
  785. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/rule.js +27 -0
  786. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/stringifier.js +457 -0
  787. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/stringify.js +69 -0
  788. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/symbols.js +5 -0
  789. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/terminal-highlight.js +70 -0
  790. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/tokenize.js +270 -0
  791. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/warn-once.js +13 -0
  792. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/lib/warning.js +47 -0
  793. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/postcss/package.json +88 -0
  794. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/LICENSE +28 -0
  795. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/array-set.js +121 -0
  796. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  797. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/base64.js +67 -0
  798. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/binary-search.js +111 -0
  799. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/mapping-list.js +79 -0
  800. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/quick-sort.js +141 -0
  801. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/source-map-consumer.js +1236 -0
  802. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/source-map-generator.js +446 -0
  803. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/source-node.js +420 -0
  804. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/lib/util.js +594 -0
  805. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/package.json +71 -0
  806. package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/node_modules/source-map-js/source-map.js +8 -0
  807. package/generated/plugins/copilot/agdf/runtime/runtime-manifest.json +2 -2
  808. package/generated/plugins/copilot/agdf/{copilot-skills → skills}/agdf-brownfield-analysis/SKILL.md +70 -8
  809. package/generated/plugins/copilot/agdf/{copilot-skills → skills}/agdf-clean-implementation-review/SKILL.md +35 -3
  810. package/generated/plugins/copilot/agdf/{copilot-skills → skills}/agdf-code-review/SKILL.md +36 -2
  811. package/generated/plugins/copilot/agdf/{copilot-skills → skills}/agdf-delivery-closeout/SKILL.md +36 -4
  812. package/generated/plugins/copilot/agdf/{copilot-skills → skills}/agdf-delivery-path-search/SKILL.md +36 -4
  813. package/generated/plugins/copilot/agdf/skills/agdf-gate-check/SKILL.md +86 -0
  814. package/generated/plugins/copilot/agdf/skills/agdf-interaction-locales.json +1 -0
  815. package/generated/plugins/copilot/agdf/skills/agdf-prd-definition/SKILL.md +51 -0
  816. package/generated/plugins/copilot/agdf/skills/agdf-qa-gate/SKILL.md +205 -0
  817. package/generated/plugins/copilot/agdf/{copilot-skills → skills}/agdf-release-or/SKILL.md +44 -11
  818. package/generated/plugins/copilot/agdf/skills/agdf-runtime-contract.md +24 -0
  819. package/generated/plugins/copilot/agdf/skills/agdf-sd-definition/SKILL.md +51 -0
  820. package/generated/plugins/copilot/agdf/{copilot-skills → skills}/agdf-task-plan-review/SKILL.md +35 -3
  821. package/generated/plugins/copilot/agdf/skills/agdf-tp-definition/SKILL.md +51 -0
  822. package/generated/plugins/copilot/agdf/skills/agdf-ur-definition/SKILL.md +54 -0
  823. package/generated/plugins/copilot/agdf/skills/agdf-ux-intent-definition/SKILL.md +188 -0
  824. package/generated/plugins/copilot/agdf/skills/contracts/closeout.md +82 -0
  825. package/generated/plugins/copilot/agdf/skills/contracts/context-graph.md +48 -0
  826. package/generated/plugins/copilot/agdf/skills/contracts/control-scaffold.md +145 -0
  827. package/generated/plugins/copilot/agdf/skills/contracts/gate-artifact-preparation.md +132 -0
  828. package/generated/plugins/copilot/agdf/skills/contracts/gate-transition.md +209 -0
  829. package/generated/plugins/copilot/agdf/skills/contracts/interaction.md +777 -0
  830. package/generated/plugins/copilot/agdf/skills/contracts/modes.md +195 -0
  831. package/generated/plugins/copilot/agdf/skills/contracts/prd-definition.md +130 -0
  832. package/generated/plugins/copilot/agdf/skills/contracts/quality.md +228 -0
  833. package/generated/plugins/copilot/agdf/skills/contracts/request-activation.md +252 -0
  834. package/generated/plugins/copilot/agdf/skills/contracts/sd-definition.md +69 -0
  835. package/generated/plugins/copilot/agdf/skills/contracts/task-target-resolution.md +156 -0
  836. package/generated/plugins/copilot/agdf/skills/contracts/tp-definition.md +81 -0
  837. package/generated/plugins/copilot/agdf/skills/contracts/ur-definition.md +94 -0
  838. package/generated/submissions/openai/agdf/.codex-plugin/plugin.json +1 -1
  839. package/generated/submissions/openai/agdf/meta/agdf-agent-router.md +50 -8
  840. package/generated/submissions/openai/agdf/meta/agdf-interaction-locales.json +2682 -495
  841. package/generated/submissions/openai/agdf/meta/agdf-plugin.definition.json +354 -17
  842. package/generated/submissions/openai/agdf/meta/agdf-runtime-contract.md +17 -9
  843. package/generated/submissions/openai/agdf/meta/contracts/closeout.md +6 -2
  844. package/generated/submissions/openai/agdf/meta/contracts/control-scaffold.md +17 -4
  845. package/generated/submissions/openai/agdf/meta/contracts/gate-artifact-preparation.md +132 -0
  846. package/generated/submissions/openai/agdf/meta/contracts/gate-transition.md +48 -4
  847. package/generated/submissions/openai/agdf/meta/contracts/interaction.md +328 -38
  848. package/generated/submissions/openai/agdf/meta/contracts/modes.md +23 -11
  849. package/generated/submissions/openai/agdf/meta/contracts/prd-definition.md +130 -0
  850. package/generated/submissions/openai/agdf/meta/contracts/quality.md +77 -6
  851. package/generated/submissions/openai/agdf/meta/contracts/request-activation.md +252 -0
  852. package/generated/submissions/openai/agdf/meta/contracts/sd-definition.md +69 -0
  853. package/generated/submissions/openai/agdf/meta/contracts/task-target-resolution.md +63 -9
  854. package/generated/submissions/openai/agdf/meta/contracts/tp-definition.md +81 -0
  855. package/generated/submissions/openai/agdf/meta/contracts/ur-definition.md +94 -0
  856. package/generated/submissions/openai/agdf/meta/copilot-payload-baseline.json +3 -3
  857. package/generated/submissions/openai/agdf/meta/distribution-profile-history.json +14 -0
  858. package/generated/submissions/openai/agdf/meta/schemas/agent-plugins/1.0.0/mcp.schema.json +120 -0
  859. package/generated/submissions/openai/agdf/meta/schemas/agent-plugins/1.0.0/plugin.schema.json +65 -0
  860. package/generated/submissions/openai/agdf/meta/schemas/agent-plugins/1.0.0/provenance.json +19 -0
  861. package/generated/submissions/openai/agdf/plugin.json +47 -0
  862. package/generated/submissions/openai/agdf/skills/brownfield-analysis/SKILL.md +67 -5
  863. package/generated/submissions/openai/agdf/skills/clean-implementation-review/SKILL.md +34 -2
  864. package/generated/submissions/openai/agdf/skills/code-review/SKILL.md +36 -2
  865. package/generated/submissions/openai/agdf/skills/delivery-closeout/SKILL.md +34 -2
  866. package/generated/submissions/openai/agdf/skills/delivery-path-search/SKILL.md +34 -2
  867. package/generated/submissions/openai/agdf/skills/gate-check/SKILL.md +68 -222
  868. package/generated/submissions/openai/agdf/skills/prd-definition/SKILL.md +51 -0
  869. package/generated/submissions/openai/agdf/skills/prd-definition/help.md +23 -0
  870. package/generated/submissions/openai/agdf/skills/qa-gate/SKILL.md +73 -5
  871. package/generated/submissions/openai/agdf/skills/release-or/SKILL.md +36 -3
  872. package/generated/submissions/openai/agdf/skills/sd-definition/SKILL.md +51 -0
  873. package/generated/submissions/openai/agdf/skills/sd-definition/help.md +17 -0
  874. package/generated/submissions/openai/agdf/skills/task-plan-review/SKILL.md +34 -2
  875. package/generated/submissions/openai/agdf/skills/tp-definition/SKILL.md +51 -0
  876. package/generated/submissions/openai/agdf/skills/tp-definition/help.md +17 -0
  877. package/generated/submissions/openai/agdf/skills/ur-definition/SKILL.md +54 -0
  878. package/generated/submissions/openai/agdf/skills/ur-definition/help.md +19 -0
  879. package/generated/submissions/openai/agdf/skills/ux-intent-definition/SKILL.md +100 -6
  880. package/generated/submissions/openai/agdf/skills/ux-intent-definition/help.md +3 -0
  881. package/generated/submissions/openai/agdf/submission/openai/availability.md +1 -1
  882. package/generated/submissions/openai/agdf/submission/openai/capability-matrix.json +1 -1
  883. package/generated/submissions/openai/agdf/submission/openai/inventory.json +104 -32
  884. package/generated/submissions/openai/agdf/submission/openai/listing.json +1 -1
  885. package/generated/submissions/openai/agdf/submission/openai/readiness.json +2 -2
  886. package/generated/submissions/openai/agdf/submission/openai/readiness.md +2 -2
  887. package/generated/submissions/openai/agdf/submission/openai/release-notes.md +1 -1
  888. package/generated/submissions/openai/agdf/submission/openai/reviewer-cases.json +1 -1
  889. package/lib/cli/application.js +726 -271
  890. package/lib/cli/command-registry.js +251 -16
  891. package/lib/cli/contract-command.js +24 -0
  892. package/lib/cli/control-maintenance-command.js +44 -0
  893. package/lib/cli/delivery-path-search-command.js +11 -11
  894. package/lib/cli/parse-args.js +254 -5
  895. package/lib/cli/runtime-context.js +14 -37
  896. package/lib/cli/validation-handlers.js +205 -7
  897. package/lib/control-command.js +4 -0
  898. package/lib/control-evaluation/git-observation.js +22 -0
  899. package/lib/control-maintenance/interaction.js +28 -0
  900. package/lib/control-maintenance/repair.js +4 -0
  901. package/lib/control-maintenance/service.js +3 -0
  902. package/lib/control-maintenance/startup.js +25 -0
  903. package/lib/control-state/run-recovery.js +5 -0
  904. package/lib/delivery-path-search/evaluators/claude.js +3 -3
  905. package/lib/delivery-path-search/evaluators/codex.js +3 -3
  906. package/lib/delivery-path-search/evaluators/opencode.js +4 -4
  907. package/lib/delivery-path-search/evaluators/protocol.js +1 -1
  908. package/lib/delivery-path-search/generators/claude.js +3 -3
  909. package/lib/delivery-path-search/generators/codex.js +3 -3
  910. package/lib/delivery-path-search/generators/protocol.js +1 -1
  911. package/lib/delivery-path-search/surfaces/capabilities.js +1 -1
  912. package/lib/delivery-path-search/transports/read-only-guard.js +2 -1
  913. package/lib/host-adapters/claude/loaded-sessions.js +45 -0
  914. package/lib/host-adapters/claude/marketplace.js +2 -0
  915. package/lib/host-adapters/claude/permission-rules.js +20 -0
  916. package/lib/host-adapters/claude/plugin-mcp.js +40 -0
  917. package/lib/host-adapters/claude/plugin.js +285 -0
  918. package/lib/host-adapters/claude/runtime-check.js +39 -0
  919. package/lib/host-adapters/claude/session-command.js +2 -0
  920. package/lib/host-adapters/claude/uninstall.js +80 -0
  921. package/lib/host-adapters/codex/config-source.js +48 -0
  922. package/lib/host-adapters/codex/identity.js +19 -0
  923. package/lib/host-adapters/codex/mcp-startup.js +14 -0
  924. package/lib/host-adapters/codex/plugin-mcp.js +39 -0
  925. package/lib/host-adapters/codex/plugin.js +243 -0
  926. package/lib/host-adapters/codex/runtime-check.js +27 -0
  927. package/lib/host-adapters/codex/session-command.js +7 -0
  928. package/lib/host-adapters/copilot/plugin.js +220 -0
  929. package/lib/host-adapters/copilot/session-command.js +1 -0
  930. package/lib/host-adapters/opencode/runtime-check.js +39 -0
  931. package/lib/host-adapters/opencode/session-command.js +1 -0
  932. package/lib/host-adapters/opencode/status.js +43 -0
  933. package/lib/host-adapters/session-command.js +11 -0
  934. package/lib/host-command.js +112 -0
  935. package/lib/install-setup/contract.js +319 -0
  936. package/lib/install-setup/control-migration.js +10 -0
  937. package/lib/install-setup/control-repair.js +1 -0
  938. package/lib/install-setup/interaction.js +157 -0
  939. package/lib/install-setup/presentation.js +337 -0
  940. package/lib/install-setup/service.js +441 -0
  941. package/lib/installers/copilot-marketplace-transport.js +74 -0
  942. package/lib/installers/copilot-settings.js +34 -3
  943. package/lib/installers/copilot-skill-discovery.js +27 -0
  944. package/lib/installers/local-development.js +107 -11
  945. package/lib/installers/local-marketplace.js +313 -37
  946. package/lib/installers/npm-invocation.js +2 -0
  947. package/lib/installers/opencode-activation.js +5 -31
  948. package/lib/installers/opencode.js +286 -89
  949. package/lib/installers/packaged-app-marketplace.js +67 -0
  950. package/lib/installers/plugin-command.js +115 -0
  951. package/lib/installers/plugin-installers.js +21 -521
  952. package/lib/lifecycle/operations.js +78 -137
  953. package/lib/lifecycle/owned-mutation.js +64 -0
  954. package/lib/lifecycle/presentation.js +47 -4
  955. package/lib/lifecycle/result.js +183 -2
  956. package/lib/lifecycle/status.js +150 -66
  957. package/lib/mcp-dispatch-runtime.js +360 -0
  958. package/lib/mcp-lifecycle/adapter-contract.js +54 -0
  959. package/lib/mcp-lifecycle/adapters/claude.js +123 -0
  960. package/lib/mcp-lifecycle/adapters/codex-origin-probe.js +87 -0
  961. package/lib/mcp-lifecycle/adapters/codex.js +513 -0
  962. package/lib/mcp-lifecycle/adapters/copilot.js +106 -0
  963. package/lib/mcp-lifecycle/adapters/file-utils.js +90 -0
  964. package/lib/mcp-lifecycle/adapters/opencode.js +148 -0
  965. package/lib/mcp-lifecycle/evidence.js +122 -0
  966. package/lib/mcp-lifecycle/facade-entry.js +26 -0
  967. package/lib/mcp-lifecycle/facade-owner-entry.js +34 -0
  968. package/lib/mcp-lifecycle/host-config.js +60 -0
  969. package/lib/mcp-lifecycle/package.js +527 -0
  970. package/lib/mcp-lifecycle/plugin-runtime.js +420 -0
  971. package/lib/mcp-lifecycle/presentation.js +61 -0
  972. package/lib/mcp-lifecycle/profile-context.js +11 -0
  973. package/lib/mcp-lifecycle/profile.js +63 -0
  974. package/lib/mcp-lifecycle/result.js +92 -0
  975. package/lib/mcp-lifecycle/service.js +533 -0
  976. package/lib/npm-invocation.js +27 -0
  977. package/lib/repository-context.js +87 -0
  978. package/lib/runtime/control-command-service.js +12 -0
  979. package/lib/runtime/control-context.js +11 -0
  980. package/lib/runtime/git-history.js +7 -0
  981. package/lib/runtime/git-originals.js +36 -0
  982. package/lib/runtime/local-validator.js +39 -5
  983. package/lib/runtime/plugin-provenance.js +1 -298
  984. package/lib/runtime/runtime-probe.js +61 -0
  985. package/lib/runtime/validator-application.js +3 -3
  986. package/lib/runtime-check-consent/adapters.js +3 -42
  987. package/lib/runtime-check-consent/claude-settings.js +2 -23
  988. package/lib/runtime-check-consent/codex-hooks.js +96 -0
  989. package/lib/runtime-check-consent/codex-plugin-consent.js +118 -0
  990. package/lib/runtime-check-consent/contract.js +9 -8
  991. package/lib/runtime-check-consent/coordinator.js +3 -3
  992. package/lib/runtime-check-consent/service.js +29 -53
  993. package/lib/runtime-check-consent/state.js +1 -1
  994. package/lib/scaffold/canonical-init.js +691 -0
  995. package/lib/scaffold/plan.js +8 -14
  996. package/lib/scaffold/presentation.js +53 -3
  997. package/lib/skill-dispatch/binding.js +9 -0
  998. package/opencode-plugin.js +99 -26
  999. package/package.json +22 -51
  1000. package/runtime/core/lib/control-evaluation/acceptance-criteria.js +61 -0
  1001. package/runtime/core/lib/control-evaluation/backlog-vocabulary.d.ts +3 -0
  1002. package/runtime/core/lib/control-evaluation/backlog-vocabulary.js +15 -0
  1003. package/runtime/core/lib/control-evaluation/closeout-readiness.js +103 -0
  1004. package/runtime/core/lib/control-evaluation/decision-content-readiness.js +131 -0
  1005. package/runtime/core/lib/control-evaluation/definition-sources.js +46 -0
  1006. package/{generated/plugins/copilot/agdf/runtime/create-agdf → runtime/core}/lib/control-evaluation/delivery-map.js +31 -37
  1007. package/runtime/core/lib/control-evaluation/delivery-relationships.js +21 -0
  1008. package/{generated/plugins/copilot/agdf/runtime/create-agdf → runtime/core}/lib/control-evaluation/doctor.js +85 -17
  1009. package/runtime/core/lib/control-evaluation/gate-check.js +827 -0
  1010. package/{generated/plugins/agdf/runtime/create-agdf → runtime/core}/lib/control-evaluation/gate-policy.js +141 -10
  1011. package/runtime/core/lib/control-evaluation/markdown-table.js +40 -0
  1012. package/runtime/core/lib/control-evaluation/next-action.js +32 -0
  1013. package/runtime/core/lib/control-evaluation/normalized-gaps.js +105 -0
  1014. package/runtime/core/lib/control-evaluation/prd-readiness.js +51 -0
  1015. package/runtime/core/lib/control-evaluation/qa-follow-up.js +83 -0
  1016. package/runtime/core/lib/control-evaluation/report-decision.js +237 -0
  1017. package/runtime/core/lib/control-evaluation/run-state-policy.js +51 -0
  1018. package/{generated/plugins/agdf/runtime/create-agdf → runtime/core}/lib/control-evaluation/run-state.js +108 -74
  1019. package/runtime/core/lib/control-evaluation/run-step-policy.js +20 -0
  1020. package/runtime/core/lib/control-evaluation/run-work-summary.js +109 -0
  1021. package/runtime/core/lib/control-evaluation/sd-readiness.js +56 -0
  1022. package/{generated/plugins/agdf/runtime/create-agdf → runtime/core}/lib/control-evaluation/shared.js +5 -2
  1023. package/runtime/core/lib/control-evaluation/tp-planning.js +118 -0
  1024. package/runtime/core/lib/control-evaluation/traceability-readiness.js +212 -0
  1025. package/runtime/core/lib/control-evaluation/ur-readiness.js +47 -0
  1026. package/{generated/plugins/agdf/runtime/create-agdf → runtime/core}/lib/control-evaluation/verified-change.js +10 -30
  1027. package/runtime/core/lib/control-inspect/artifact-readiness.js +122 -0
  1028. package/runtime/core/lib/control-inspect/cockpit-backlog.js +135 -0
  1029. package/runtime/core/lib/control-inspect/cockpit-context.js +97 -0
  1030. package/runtime/core/lib/control-inspect/cockpit-contract.js +86 -0
  1031. package/runtime/core/lib/control-inspect/cockpit-list.d.ts +17 -0
  1032. package/runtime/core/lib/control-inspect/cockpit-list.js +45 -0
  1033. package/runtime/core/lib/control-inspect/cockpit-session.js +217 -0
  1034. package/runtime/core/lib/control-inspect/cockpit.js +388 -0
  1035. package/runtime/core/lib/control-inspect/contract.js +299 -0
  1036. package/runtime/core/lib/control-inspect/decision-session.js +243 -0
  1037. package/runtime/core/lib/control-inspect/selection.js +35 -0
  1038. package/runtime/core/lib/control-inspect/service.js +319 -0
  1039. package/runtime/core/lib/control-maintenance/compatibility.js +149 -0
  1040. package/runtime/core/lib/control-maintenance/contract.js +41 -0
  1041. package/runtime/core/lib/control-maintenance/interaction.js +57 -0
  1042. package/runtime/core/lib/control-maintenance/migration.js +85 -0
  1043. package/runtime/core/lib/control-maintenance/presentation.js +122 -0
  1044. package/runtime/core/lib/control-maintenance/repair.js +226 -0
  1045. package/runtime/core/lib/control-maintenance/service.js +38 -0
  1046. package/runtime/core/lib/control-read/cockpit-pool.js +105 -0
  1047. package/runtime/core/lib/control-read/cockpit-worker.js +33 -0
  1048. package/runtime/core/lib/control-read/control-changes.js +33 -0
  1049. package/runtime/core/lib/control-read/fs.js +55 -0
  1050. package/runtime/core/lib/control-read/snapshot.js +378 -0
  1051. package/runtime/core/lib/control-read-boundary.js +22 -0
  1052. package/runtime/core/lib/control-state/approval-command-contract.js +73 -0
  1053. package/runtime/core/lib/control-state/approval-command.js +137 -0
  1054. package/runtime/core/lib/control-state/approval-operations.js +95 -0
  1055. package/runtime/core/lib/control-state/artefact-binding-proof.js +90 -0
  1056. package/runtime/core/lib/control-state/artefact-bindings.js +94 -0
  1057. package/runtime/core/lib/control-state/backlog-summary-shape.d.ts +4 -0
  1058. package/runtime/core/lib/control-state/backlog-summary-shape.js +40 -0
  1059. package/runtime/core/lib/control-state/backlog-summary.js +67 -0
  1060. package/runtime/core/lib/control-state/contained-file.js +56 -0
  1061. package/runtime/core/lib/control-state/control-configuration.js +19 -0
  1062. package/runtime/core/lib/control-state/decision-action-contract.js +32 -0
  1063. package/runtime/core/lib/control-state/decision-action-service.js +55 -0
  1064. package/runtime/core/lib/control-state/decision-material-contract.js +12 -0
  1065. package/runtime/core/lib/control-state/evidence-bindings.js +132 -0
  1066. package/{lib → runtime/core/lib}/control-state/index.js +2 -0
  1067. package/{lib → runtime/core/lib}/control-state/legacy-migration.js +5 -31
  1068. package/runtime/core/lib/control-state/legacy-projection-reader.js +38 -0
  1069. package/runtime/core/lib/control-state/presentation-decision.js +138 -0
  1070. package/runtime/core/lib/control-state/preview-render.js +130 -0
  1071. package/runtime/core/lib/control-state/preview-review.js +136 -0
  1072. package/runtime/core/lib/control-state/preview-snapshot.js +108 -0
  1073. package/runtime/core/lib/control-state/qa-deviation-acceptance.js +82 -0
  1074. package/runtime/core/lib/control-state/recording-formats.js +29 -0
  1075. package/runtime/core/lib/control-state/run-artefact-recording.js +81 -0
  1076. package/runtime/core/lib/control-state/run-backlog-writer.js +80 -0
  1077. package/runtime/core/lib/control-state/run-backlog.js +90 -0
  1078. package/runtime/core/lib/control-state/run-command-contract.js +143 -0
  1079. package/runtime/core/lib/control-state/run-command-service.js +174 -0
  1080. package/{generated/plugins/copilot/agdf/runtime/create-agdf → runtime/core}/lib/control-state/run-identity.js +1 -0
  1081. package/runtime/core/lib/control-state/run-operation-identity.js +31 -0
  1082. package/runtime/core/lib/control-state/run-operation-proof.js +103 -0
  1083. package/runtime/core/lib/control-state/run-operation-status.js +59 -0
  1084. package/runtime/core/lib/control-state/run-operations.js +80 -0
  1085. package/runtime/core/lib/control-state/run-owned-outputs.js +59 -0
  1086. package/runtime/core/lib/control-state/run-presentation-envelope.js +36 -0
  1087. package/runtime/core/lib/control-state/run-presentation-render.js +443 -0
  1088. package/runtime/core/lib/control-state/run-presentation.js +348 -0
  1089. package/runtime/core/lib/control-state/run-recording.js +273 -0
  1090. package/runtime/core/lib/control-state/run-recovery.js +296 -0
  1091. package/runtime/core/lib/control-state/run-relationship-correction.js +74 -0
  1092. package/runtime/core/lib/control-state/run-revision-boundary.js +44 -0
  1093. package/runtime/core/lib/control-state/run-revision-history.js +184 -0
  1094. package/runtime/core/lib/control-state/run-revision.js +458 -0
  1095. package/runtime/core/lib/control-state/run-seal-compute.js +141 -0
  1096. package/runtime/core/lib/control-state/run-seal.js +26 -0
  1097. package/runtime/core/lib/control-state/run-source-revisions.js +221 -0
  1098. package/{generated/plugins/agdf/runtime/create-agdf/lib/control-state/run-state-parser.js → runtime/core/lib/control-state/run-state-document.js} +17 -47
  1099. package/runtime/core/lib/control-state/run-state-edits.js +170 -0
  1100. package/runtime/core/lib/control-state/run-state-parser.js +106 -0
  1101. package/runtime/core/lib/control-state/run-state-reader.js +57 -0
  1102. package/runtime/core/lib/control-state/run-state-repository.js +201 -0
  1103. package/{lib → runtime/core/lib}/control-state/run-state-resolver.js +1 -1
  1104. package/runtime/core/lib/control-state/run-state-writer.js +484 -0
  1105. package/runtime/core/lib/control-state/run-step-pending.js +15 -0
  1106. package/runtime/core/lib/control-state/run-step-transaction.js +359 -0
  1107. package/runtime/core/lib/control-state/run-steps.js +571 -0
  1108. package/runtime/core/lib/control-state/run-store-inspection.js +65 -0
  1109. package/runtime/core/lib/control-state/run-text.js +8 -0
  1110. package/runtime/core/lib/delivery-continuation/service.js +67 -0
  1111. package/runtime/core/lib/fs-swap.js +26 -0
  1112. package/runtime/core/lib/index.js +14 -0
  1113. package/runtime/core/lib/interaction-catalog-validation.js +26 -0
  1114. package/runtime/core/lib/interaction-catalog.d.ts +2 -0
  1115. package/runtime/core/lib/interaction-catalog.js +98 -0
  1116. package/{lib → runtime/core/lib}/interaction-presentation.js +437 -33
  1117. package/runtime/core/lib/mcp-resource-contract.js +4 -0
  1118. package/runtime/core/lib/mcp-tool-errors.js +176 -0
  1119. package/runtime/core/lib/repository-context-reader.js +87 -0
  1120. package/runtime/core/lib/resources/artefact-templates.js +72 -0
  1121. package/runtime/core/lib/resources/binding.js +26 -0
  1122. package/runtime/core/lib/resources/context.js +70 -0
  1123. package/runtime/core/lib/resources/contracts.js +23 -0
  1124. package/runtime/core/lib/runtime/distribution-profile-history.js +173 -0
  1125. package/runtime/core/lib/runtime/host-installation.js +200 -0
  1126. package/runtime/core/lib/runtime/plugin-provenance.js +496 -0
  1127. package/runtime/core/lib/skill-dispatch/binding.js +66 -0
  1128. package/runtime/core/lib/skill-dispatch/compact-continuation.js +76 -0
  1129. package/runtime/core/lib/skill-dispatch/contract.js +430 -0
  1130. package/runtime/core/lib/skill-dispatch/delivery-intake.js +80 -0
  1131. package/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +74 -0
  1132. package/runtime/core/lib/skill-dispatch/prd-definition.js +39 -0
  1133. package/runtime/core/lib/skill-dispatch/sd-definition.js +39 -0
  1134. package/runtime/core/lib/skill-dispatch/service.js +833 -0
  1135. package/runtime/core/lib/skill-dispatch/tp-definition.js +41 -0
  1136. package/runtime/core/lib/task-target-resolution.js +202 -0
  1137. package/runtime/core/node_modules/entities/LICENSE +11 -0
  1138. package/runtime/core/node_modules/entities/decode.js +3 -0
  1139. package/runtime/core/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  1140. package/runtime/core/node_modules/entities/dist/commonjs/decode.js +511 -0
  1141. package/runtime/core/node_modules/entities/dist/commonjs/encode.js +73 -0
  1142. package/runtime/core/node_modules/entities/dist/commonjs/escape.js +121 -0
  1143. package/runtime/core/node_modules/entities/dist/commonjs/generated/decode-data-html.js +10 -0
  1144. package/runtime/core/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +10 -0
  1145. package/runtime/core/node_modules/entities/dist/commonjs/generated/encode-html.js +13 -0
  1146. package/runtime/core/node_modules/entities/dist/commonjs/index.js +131 -0
  1147. package/runtime/core/node_modules/entities/dist/commonjs/package.json +3 -0
  1148. package/runtime/core/node_modules/entities/dist/esm/decode-codepoint.js +72 -0
  1149. package/runtime/core/node_modules/entities/dist/esm/decode.js +497 -0
  1150. package/runtime/core/node_modules/entities/dist/esm/encode.js +69 -0
  1151. package/runtime/core/node_modules/entities/dist/esm/escape.js +117 -0
  1152. package/runtime/core/node_modules/entities/dist/esm/generated/decode-data-html.js +7 -0
  1153. package/runtime/core/node_modules/entities/dist/esm/generated/decode-data-xml.js +7 -0
  1154. package/runtime/core/node_modules/entities/dist/esm/generated/encode-html.js +10 -0
  1155. package/runtime/core/node_modules/entities/dist/esm/index.js +107 -0
  1156. package/runtime/core/node_modules/entities/dist/esm/package.json +3 -0
  1157. package/runtime/core/node_modules/entities/escape.js +3 -0
  1158. package/runtime/core/node_modules/entities/package.json +118 -0
  1159. package/runtime/core/node_modules/entities/src/generated/.eslintrc.json +10 -0
  1160. package/runtime/core/node_modules/nanoid/LICENSE +20 -0
  1161. package/runtime/core/node_modules/nanoid/async/index.browser.cjs +43 -0
  1162. package/runtime/core/node_modules/nanoid/async/index.browser.js +43 -0
  1163. package/runtime/core/node_modules/nanoid/async/index.cjs +47 -0
  1164. package/runtime/core/node_modules/nanoid/async/index.js +47 -0
  1165. package/runtime/core/node_modules/nanoid/async/index.native.js +38 -0
  1166. package/runtime/core/node_modules/nanoid/async/package.json +12 -0
  1167. package/runtime/core/node_modules/nanoid/bin/nanoid.cjs +55 -0
  1168. package/runtime/core/node_modules/nanoid/index.browser.cjs +45 -0
  1169. package/runtime/core/node_modules/nanoid/index.browser.js +45 -0
  1170. package/runtime/core/node_modules/nanoid/index.cjs +63 -0
  1171. package/runtime/core/node_modules/nanoid/index.js +63 -0
  1172. package/runtime/core/node_modules/nanoid/nanoid.js +1 -0
  1173. package/runtime/core/node_modules/nanoid/non-secure/index.cjs +24 -0
  1174. package/runtime/core/node_modules/nanoid/non-secure/index.js +24 -0
  1175. package/runtime/core/node_modules/nanoid/non-secure/package.json +6 -0
  1176. package/runtime/core/node_modules/nanoid/package.json +89 -0
  1177. package/runtime/core/node_modules/nanoid/url-alphabet/index.cjs +4 -0
  1178. package/runtime/core/node_modules/nanoid/url-alphabet/index.js +4 -0
  1179. package/runtime/core/node_modules/nanoid/url-alphabet/package.json +6 -0
  1180. package/runtime/core/node_modules/parse5/LICENSE +19 -0
  1181. package/runtime/core/node_modules/parse5/dist/cjs/common/doctype.js +118 -0
  1182. package/runtime/core/node_modules/parse5/dist/cjs/common/error-codes.js +66 -0
  1183. package/runtime/core/node_modules/parse5/dist/cjs/common/foreign-content.js +237 -0
  1184. package/runtime/core/node_modules/parse5/dist/cjs/common/html.js +528 -0
  1185. package/runtime/core/node_modules/parse5/dist/cjs/common/token.js +24 -0
  1186. package/runtime/core/node_modules/parse5/dist/cjs/common/unicode.js +70 -0
  1187. package/runtime/core/node_modules/parse5/dist/cjs/index.js +54 -0
  1188. package/runtime/core/node_modules/parse5/dist/cjs/package.json +1 -0
  1189. package/runtime/core/node_modules/parse5/dist/cjs/parser/formatting-element-list.js +114 -0
  1190. package/runtime/core/node_modules/parse5/dist/cjs/parser/index.js +3240 -0
  1191. package/runtime/core/node_modules/parse5/dist/cjs/parser/open-element-stack.js +328 -0
  1192. package/runtime/core/node_modules/parse5/dist/cjs/serializer/index.js +172 -0
  1193. package/runtime/core/node_modules/parse5/dist/cjs/tokenizer/index.js +2714 -0
  1194. package/runtime/core/node_modules/parse5/dist/cjs/tokenizer/preprocessor.js +200 -0
  1195. package/runtime/core/node_modules/parse5/dist/cjs/tree-adapters/default.js +176 -0
  1196. package/runtime/core/node_modules/parse5/dist/cjs/tree-adapters/interface.js +2 -0
  1197. package/runtime/core/node_modules/parse5/dist/common/doctype.js +114 -0
  1198. package/runtime/core/node_modules/parse5/dist/common/error-codes.js +63 -0
  1199. package/runtime/core/node_modules/parse5/dist/common/foreign-content.js +228 -0
  1200. package/runtime/core/node_modules/parse5/dist/common/html.js +523 -0
  1201. package/runtime/core/node_modules/parse5/dist/common/token.js +20 -0
  1202. package/runtime/core/node_modules/parse5/dist/common/unicode.js +62 -0
  1203. package/runtime/core/node_modules/parse5/dist/index.js +42 -0
  1204. package/runtime/core/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
  1205. package/runtime/core/node_modules/parse5/dist/parser/index.js +3245 -0
  1206. package/runtime/core/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
  1207. package/runtime/core/node_modules/parse5/dist/serializer/index.js +168 -0
  1208. package/runtime/core/node_modules/parse5/dist/tokenizer/index.js +2710 -0
  1209. package/runtime/core/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
  1210. package/runtime/core/node_modules/parse5/dist/tree-adapters/default.js +173 -0
  1211. package/runtime/core/node_modules/parse5/dist/tree-adapters/interface.js +1 -0
  1212. package/runtime/core/node_modules/parse5/package.json +50 -0
  1213. package/runtime/core/node_modules/picocolors/LICENSE +15 -0
  1214. package/runtime/core/node_modules/picocolors/package.json +25 -0
  1215. package/runtime/core/node_modules/picocolors/picocolors.browser.js +4 -0
  1216. package/runtime/core/node_modules/picocolors/picocolors.js +75 -0
  1217. package/runtime/core/node_modules/postcss/LICENSE +20 -0
  1218. package/runtime/core/node_modules/postcss/lib/at-rule.js +25 -0
  1219. package/runtime/core/node_modules/postcss/lib/comment.js +13 -0
  1220. package/runtime/core/node_modules/postcss/lib/container.js +494 -0
  1221. package/runtime/core/node_modules/postcss/lib/css-syntax-error.js +133 -0
  1222. package/runtime/core/node_modules/postcss/lib/declaration.js +24 -0
  1223. package/runtime/core/node_modules/postcss/lib/document.js +33 -0
  1224. package/runtime/core/node_modules/postcss/lib/fromJSON.js +107 -0
  1225. package/runtime/core/node_modules/postcss/lib/input.js +282 -0
  1226. package/runtime/core/node_modules/postcss/lib/lazy-result.js +626 -0
  1227. package/runtime/core/node_modules/postcss/lib/list.js +79 -0
  1228. package/runtime/core/node_modules/postcss/lib/map-generator.js +383 -0
  1229. package/runtime/core/node_modules/postcss/lib/no-work-result.js +137 -0
  1230. package/runtime/core/node_modules/postcss/lib/node.js +494 -0
  1231. package/runtime/core/node_modules/postcss/lib/parse.js +42 -0
  1232. package/runtime/core/node_modules/postcss/lib/parser.js +626 -0
  1233. package/runtime/core/node_modules/postcss/lib/postcss.js +101 -0
  1234. package/runtime/core/node_modules/postcss/lib/postcss.mjs +30 -0
  1235. package/runtime/core/node_modules/postcss/lib/previous-map.js +176 -0
  1236. package/runtime/core/node_modules/postcss/lib/processor.js +67 -0
  1237. package/runtime/core/node_modules/postcss/lib/result.js +42 -0
  1238. package/runtime/core/node_modules/postcss/lib/root.js +76 -0
  1239. package/runtime/core/node_modules/postcss/lib/rule.js +27 -0
  1240. package/runtime/core/node_modules/postcss/lib/stringifier.js +457 -0
  1241. package/runtime/core/node_modules/postcss/lib/stringify.js +69 -0
  1242. package/runtime/core/node_modules/postcss/lib/symbols.js +5 -0
  1243. package/runtime/core/node_modules/postcss/lib/terminal-highlight.js +70 -0
  1244. package/runtime/core/node_modules/postcss/lib/tokenize.js +270 -0
  1245. package/runtime/core/node_modules/postcss/lib/warn-once.js +13 -0
  1246. package/runtime/core/node_modules/postcss/lib/warning.js +47 -0
  1247. package/runtime/core/node_modules/postcss/package.json +88 -0
  1248. package/runtime/core/node_modules/source-map-js/LICENSE +28 -0
  1249. package/runtime/core/node_modules/source-map-js/lib/array-set.js +121 -0
  1250. package/runtime/core/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  1251. package/runtime/core/node_modules/source-map-js/lib/base64.js +67 -0
  1252. package/runtime/core/node_modules/source-map-js/lib/binary-search.js +111 -0
  1253. package/runtime/core/node_modules/source-map-js/lib/mapping-list.js +79 -0
  1254. package/runtime/core/node_modules/source-map-js/lib/quick-sort.js +141 -0
  1255. package/runtime/core/node_modules/source-map-js/lib/source-map-consumer.js +1236 -0
  1256. package/runtime/core/node_modules/source-map-js/lib/source-map-generator.js +446 -0
  1257. package/runtime/core/node_modules/source-map-js/lib/source-node.js +420 -0
  1258. package/runtime/core/node_modules/source-map-js/lib/util.js +594 -0
  1259. package/runtime/core/node_modules/source-map-js/package.json +71 -0
  1260. package/runtime/core/node_modules/source-map-js/source-map.js +8 -0
  1261. package/generated/plugins/agdf/runtime/create-agdf/lib/control-evaluation/gate-check.js +0 -506
  1262. package/generated/plugins/agdf/runtime/create-agdf/lib/control-state/run-state-repository.js +0 -68
  1263. package/generated/plugins/agdf/runtime/create-agdf/lib/control-state/run-state-writer.js +0 -97
  1264. package/generated/plugins/copilot/agdf/copilot-skills/agdf-gate-check/SKILL.md +0 -240
  1265. package/generated/plugins/copilot/agdf/copilot-skills/agdf-interaction-locales.json +0 -512
  1266. package/generated/plugins/copilot/agdf/copilot-skills/agdf-qa-gate/SKILL.md +0 -137
  1267. package/generated/plugins/copilot/agdf/copilot-skills/agdf-runtime-contract.md +0 -16
  1268. package/generated/plugins/copilot/agdf/copilot-skills/agdf-ux-intent-definition/SKILL.md +0 -94
  1269. package/generated/plugins/copilot/agdf/copilot-skills/contracts/interaction.md +0 -487
  1270. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-evaluation/gate-check.js +0 -506
  1271. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-state/run-state-repository.js +0 -68
  1272. package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-state/run-state-writer.js +0 -97
  1273. package/lib/control-evaluation/gate-check.js +0 -506
  1274. package/lib/control-state/run-state-repository.js +0 -68
  1275. package/lib/control-state/run-state-writer.js +0 -97
  1276. package/lib/proportionality-benchmark/blind-prompt.js +0 -38
  1277. package/lib/proportionality-benchmark/contracts.js +0 -129
  1278. package/lib/proportionality-benchmark/corpus-loader.js +0 -221
  1279. package/lib/proportionality-benchmark/evaluator.js +0 -260
  1280. package/lib/proportionality-benchmark/index.js +0 -8
  1281. package/lib/proportionality-benchmark/live-recorder.js +0 -122
  1282. package/lib/proportionality-benchmark/profiles.js +0 -102
  1283. package/lib/proportionality-benchmark/report.js +0 -60
  1284. package/lib/proportionality-benchmark/source-fingerprint.js +0 -34
  1285. package/lib/public-plugin/builder.js +0 -83
  1286. package/lib/public-plugin/contract.js +0 -102
  1287. package/lib/public-plugin/copilot-profile.js +0 -126
  1288. package/lib/public-plugin/manifest.js +0 -104
  1289. package/lib/public-plugin/report.js +0 -33
  1290. package/lib/public-plugin/validator.js +0 -101
  1291. package/lib/release/profile-history.js +0 -222
  1292. package/lib/release/version-bump.js +0 -549
  1293. package/lib/release/version-coherence.js +0 -137
  1294. package/lib/skill-evals/artefact-quality.js +0 -36
  1295. package/lib/skill-evals/index.js +0 -105
  1296. package/lib/skill-evals/live-recorder.js +0 -85
  1297. package/lib/skill-evals/workspace.js +0 -97
  1298. /package/generated/plugins/{copilot/agdf/copilot-skills → agdf/runtime/create-agdf/generated/plugins/agdf/meta}/contracts/context-graph.md +0 -0
  1299. /package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-evaluation/parent-reconciliation.js +0 -0
  1300. /package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-evaluation/required-files.js +0 -0
  1301. /package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-state/aggregate.js +0 -0
  1302. /package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-state/gate-approval-validator.js +0 -0
  1303. /package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/candidate-policy.js +0 -0
  1304. /package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/contracts.js +0 -0
  1305. /package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/persistence.js +0 -0
  1306. /package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/scoring.js +0 -0
  1307. /package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/search-engine.js +0 -0
  1308. /package/generated/plugins/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/state-adapter.js +0 -0
  1309. /package/{lib → generated/plugins/agdf/runtime/create-agdf/runtime/core/lib}/fs-swap.js +0 -0
  1310. /package/{lib → generated/plugins/agdf/runtime/create-agdf/runtime/core/lib}/runtime/distribution-profile-history.js +0 -0
  1311. /package/generated/plugins/copilot/agdf/{hooks/copilot-hooks.json → com.github.copilot/hooks/hooks.json} +0 -0
  1312. /package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-evaluation/parent-reconciliation.js +0 -0
  1313. /package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-evaluation/required-files.js +0 -0
  1314. /package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-state/aggregate.js +0 -0
  1315. /package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/control-state/gate-approval-validator.js +0 -0
  1316. /package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/candidate-policy.js +0 -0
  1317. /package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/contracts.js +0 -0
  1318. /package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/persistence.js +0 -0
  1319. /package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/scoring.js +0 -0
  1320. /package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/search-engine.js +0 -0
  1321. /package/generated/plugins/copilot/agdf/runtime/create-agdf/{lib → runtime/core/lib}/delivery-path-search/state-adapter.js +0 -0
  1322. /package/{lib → runtime/core/lib}/control-evaluation/parent-reconciliation.js +0 -0
  1323. /package/{lib → runtime/core/lib}/control-evaluation/required-files.js +0 -0
  1324. /package/{lib → runtime/core/lib}/control-state/aggregate.js +0 -0
  1325. /package/{lib → runtime/core/lib}/control-state/gate-approval-validator.js +0 -0
  1326. /package/{lib → runtime/core/lib}/delivery-path-search/candidate-policy.js +0 -0
  1327. /package/{lib → runtime/core/lib}/delivery-path-search/contracts.js +0 -0
  1328. /package/{lib → runtime/core/lib}/delivery-path-search/persistence.js +0 -0
  1329. /package/{lib → runtime/core/lib}/delivery-path-search/scoring.js +0 -0
  1330. /package/{lib → runtime/core/lib}/delivery-path-search/search-engine.js +0 -0
  1331. /package/{lib → runtime/core/lib}/delivery-path-search/state-adapter.js +0 -0
@@ -0,0 +1,136 @@
1
+ import { readFileSync, statSync } from '../control-read/fs.js';
2
+ import { containedRegularFile, hasSymlinkComponent, isSafeControlRelativePath } from './contained-file.js';
3
+ import { canonicalJson, digest, exactObject, DIGEST_PATTERN } from './approval-command-contract.js';
4
+ import { canonicalRunText } from './run-text.js';
5
+ import { readAcceptanceCriteria } from '../control-evaluation/acceptance-criteria.js';
6
+ import { renderPreview, PREVIEW_RENDER_LIMIT } from './preview-render.js';
7
+
8
+ export const PREVIEW_LIMITS = Object.freeze({ descriptor: 16384, files: 32, file: 131072, total: 1048576, rendered: PREVIEW_RENDER_LIMIT, chunk: 131072 });
9
+ export const PREVIEW_REVIEW_FORMAT = Object.freeze({ section: 'Preview Review', fence: 'json', schema_version: '1',
10
+ fields: Object.freeze(['schema_version', 'version', 'source_ur_digest', 'entry', 'files', 'review_task', 'scenarios', 'criterion_ids', 'open_questions']),
11
+ file_fields: Object.freeze(['path', 'digest', 'bytes', 'media_type']), limits: PREVIEW_LIMITS,
12
+ entry: '.agdf/control/artefacts/<run_id>/previews/<short-name-vN>/index.html', digest_rule: 'raw bytes for files; canonical approved UR text for source_ur_digest',
13
+ });
14
+ export const previewError = code => { throw Error(`preview_${code}`); };
15
+ const text = (value, max = 1200) => typeof value === 'string' && !!value.trim() && value.length <= max && !/[\u0000-\u0008\u000b\u000c\u000e-\u001f]/u.test(value);
16
+ const media = new Set(['text/html', 'text/css', 'text/javascript', 'image/png', 'image/jpeg', 'image/webp', 'image/gif', 'image/svg+xml']);
17
+
18
+ // Initial metadata only. Examples, later prose and code blocks cannot declare a requirement.
19
+ export function previewRequirement(content) {
20
+ const header = String(content).replace(/^\uFEFF/u, '').split(/^##[ \t]/mu)[0];
21
+ const lines = header.split(/\r?\n/u), fields = [];
22
+ let fence = false;
23
+ for (const line of lines) {
24
+ if (/^\s*(?:```|~~~)/u.test(line)) { fence = !fence; continue; }
25
+ if (!fence && /^Preview requirement:/u.test(line)) fields.push(line.slice(20).trim());
26
+ }
27
+ if (fields.length > 1 || fields.some(value => !['none', 'before_prd_interactive'].includes(value))) previewError('requirement_invalid');
28
+ return fields[0] === 'before_prd_interactive';
29
+ }
30
+
31
+ // Reject duplicate JSON keys before JSON.parse can discard their first value.
32
+ function uniqueJson(source) {
33
+ let offset = 0;
34
+ const ws = () => { while (/\s/u.test(source[offset] ?? '') && offset < source.length) ++offset; };
35
+ const string = () => {
36
+ const start = offset++;
37
+ while (offset < source.length) { const c = source[offset++]; if (c === '\\') ++offset; else if (c === '"') return JSON.parse(source.slice(start, offset)); }
38
+ previewError('descriptor_invalid');
39
+ };
40
+ const value = (depth = 0) => {
41
+ if (depth > 32) previewError('descriptor_invalid');
42
+ ws(); const c = source[offset];
43
+ if (c === '"') { string(); return; }
44
+ if (c === '{' || c === '[') {
45
+ ++offset; ws(); const end = c === '{' ? '}' : ']', names = new Set();
46
+ if (source[offset] === end) { ++offset; return; }
47
+ for (;;) {
48
+ ws();
49
+ if (c === '{') { if (source[offset] !== '"') previewError('descriptor_invalid'); const key = string(); if (names.has(key)) previewError('descriptor_duplicate_key'); names.add(key); ws(); if (source[offset++] !== ':') previewError('descriptor_invalid'); }
50
+ value(depth + 1); ws(); if (source[offset] === end) { ++offset; return; }
51
+ if (source[offset++] !== ',') previewError('descriptor_invalid');
52
+ }
53
+ }
54
+ const primitive = source.slice(offset).match(/^(?:true|false|null|-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)/u)?.[0];
55
+ if (!primitive) previewError('descriptor_invalid'); offset += primitive.length;
56
+ };
57
+ try { value(); ws(); if (offset !== source.length) previewError('descriptor_invalid'); return JSON.parse(source); }
58
+ catch (error) { if (error.message.startsWith('preview_')) throw error; previewError('descriptor_invalid'); }
59
+ }
60
+
61
+ function descriptorSource(content) {
62
+ const lines = String(content).replace(/\r\n?/gu, '\n').split('\n');
63
+ let fence = null, section = false, seen = 0, collecting = false, closed = false, html = false;
64
+ const body = [];
65
+ for (const line of lines) {
66
+ if (collecting) { if (line === '```') { collecting = false; closed = true; } else body.push(line); continue; }
67
+ if (fence) { if (line.startsWith(fence)) fence = null; continue; }
68
+ if (/^<!--/u.test(line)) html = true;
69
+ if (html) { if (line.includes('-->')) html = false; continue; }
70
+ if (/^## /u.test(line)) { section = line.trim() === '## Preview Review'; if (section) ++seen; continue; }
71
+ if (section && line === '```json') { if (closed) previewError('descriptor_invalid'); collecting = true; continue; }
72
+ const mark = line.match(/^ {0,3}(`{3,}|~{3,})/u)?.[1];
73
+ if (mark) { fence = mark; if (section) previewError('descriptor_invalid'); continue; }
74
+ if (section && line.trim()) previewError('descriptor_invalid');
75
+ }
76
+ if (!seen) return null;
77
+ if (seen !== 1 || !closed || collecting) previewError('descriptor_invalid');
78
+ const source = body.join('\n');
79
+ if (Buffer.byteLength(source) > PREVIEW_LIMITS.descriptor) previewError('descriptor_limit');
80
+ return uniqueJson(source);
81
+ }
82
+
83
+ export function validatePreviewDescriptor(row, runId, criteria, urDigest) {
84
+ if (Buffer.byteLength(canonicalJson(row)) > PREVIEW_LIMITS.descriptor) previewError('descriptor_limit');
85
+ if (!exactObject(row, PREVIEW_REVIEW_FORMAT.fields)
86
+ || row.schema_version !== '1' || !/^[a-z][a-z0-9-]{0,63}-v[1-9][0-9]{0,5}$/u.test(row.version ?? '')
87
+ || !DIGEST_PATTERN.test(row.source_ur_digest ?? '') || urDigest && row.source_ur_digest !== urDigest
88
+ || !text(row.review_task) || !Array.isArray(row.scenarios) || !row.scenarios.length || row.scenarios.length > 16
89
+ || !row.scenarios.every(v => text(v, 240)) || !Array.isArray(row.open_questions) || row.open_questions.length > 16 || !row.open_questions.every(v => text(v))
90
+ || !Array.isArray(row.criterion_ids) || !row.criterion_ids.length || row.criterion_ids.length > 64
91
+ || new Set(row.criterion_ids).size !== row.criterion_ids.length || !row.criterion_ids.every(id => /^[A-Z][A-Z0-9-]*$/u.test(id) && (!criteria || criteria.includes(id)))
92
+ || !Array.isArray(row.files) || !row.files.length || row.files.length > PREVIEW_LIMITS.files) previewError('descriptor_invalid');
93
+ const prefix = `.agdf/control/artefacts/${runId}/previews/${row.version}/`;
94
+ if (row.entry !== prefix + 'index.html') previewError('entry_invalid');
95
+ let previous = '', total = 0;
96
+ for (const file of row.files) {
97
+ if (!exactObject(file, PREVIEW_REVIEW_FORMAT.file_fields) || !isSafeControlRelativePath(file.path)
98
+ || !file.path.startsWith(prefix) || /[%?#\s<>"']/u.test(file.path) || file.path <= previous
99
+ || !DIGEST_PATTERN.test(file.digest ?? '') || !Number.isSafeInteger(file.bytes) || file.bytes < 1 || file.bytes > PREVIEW_LIMITS.file
100
+ || !media.has(file.media_type)) previewError('file_binding_invalid');
101
+ previous = file.path; total += file.bytes;
102
+ }
103
+ if (total > PREVIEW_LIMITS.total || row.files.find(f => f.path === row.entry)?.media_type !== 'text/html') previewError('file_limit');
104
+ return row;
105
+ }
106
+
107
+ export function readPreviewBytes(root, path) {
108
+ if (hasSymlinkComponent(root, path)) previewError('path_unsafe');
109
+ const file = containedRegularFile(root, path);
110
+ if (file.status !== 'valid' || statSync(file.path).size > PREVIEW_LIMITS.file) previewError('file_unavailable');
111
+ const bytes = readFileSync(file.path);
112
+ if (bytes.length > PREVIEW_LIMITS.file) previewError('file_limit');
113
+ return bytes;
114
+ }
115
+
116
+ export function inspectPreviewReview(root, { runId, urContent, prdContent, readBytes = path => readPreviewBytes(root, path) }) {
117
+ const required = previewRequirement(urContent), descriptor = descriptorSource(prdContent);
118
+ if (!descriptor) { if (required) previewError('descriptor_missing'); return null; }
119
+ const criteria = readAcceptanceCriteria(prdContent);
120
+ if (criteria.diagnostics.length) previewError('criteria_invalid');
121
+ validatePreviewDescriptor(descriptor, runId, criteria.ids, digest(canonicalRunText(urContent)));
122
+ const files = descriptor.files.map(file => {
123
+ const bytes = readBytes(file.path);
124
+ if (!Buffer.isBuffer(bytes) || bytes.length !== file.bytes || digest(bytes) !== file.digest) previewError('file_changed');
125
+ return { ...file, data: bytes };
126
+ });
127
+ const html = renderPreview(descriptor, files);
128
+ if (Buffer.byteLength(html) > PREVIEW_LIMITS.rendered) previewError('render_limit');
129
+ return { descriptor, descriptor_digest: digest(canonicalJson(descriptor)), files, html, rendered_digest: digest(html), rendered_bytes: Buffer.byteLength(html) };
130
+ }
131
+
132
+ export function previewForState(root, state, { readBytes } = {}) {
133
+ const runId = state.run_id ?? state.meta?.run_id;
134
+ const read = type => { const path = state.artefacts.get(type)?.path?.replace(/^`|`$/gu, ''); return path ? (readBytes ? readBytes(path) : readPreviewBytes(root, path)).toString('utf8') : ''; };
135
+ return inspectPreviewReview(root, { runId, urContent: read('UR'), prdContent: read('PRD'), readBytes });
136
+ }
@@ -0,0 +1,108 @@
1
+ import { closeSync, constants, fsyncSync, openSync, writeFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { canonicalJson, digest, exactObject, DIGEST_PATTERN } from './approval-command-contract.js';
4
+ import { PREVIEW_LIMITS, previewError, readPreviewBytes, validatePreviewDescriptor } from './preview-review.js';
5
+ import { canonicalRunText } from './run-text.js';
6
+ import { readFileSync, statSync } from '../control-read/fs.js';
7
+ import { containedRegularFile, hasSymlinkComponent } from './contained-file.js';
8
+
9
+ const prefix = (runId, id) => `.agdf/control/runs/${runId}/presentations/${id}`;
10
+ export function previewSnapshotBinding(preview, runId, id) {
11
+ const start = prefix(runId, id), bytes = Buffer.from(preview.html);
12
+ const chunks = [];
13
+ for (let offset = 0; offset < bytes.length; offset += PREVIEW_LIMITS.chunk) {
14
+ const data = bytes.subarray(offset, offset + PREVIEW_LIMITS.chunk);
15
+ chunks.push({ snapshot: `${start}.preview-${chunks.length}`, bytes: data.length, digest: digest(data) });
16
+ }
17
+ return { descriptor: preview.descriptor, descriptor_digest: preview.descriptor_digest, renderer_policy: 1,
18
+ rendered_digest: preview.rendered_digest, rendered_bytes: preview.rendered_bytes,
19
+ files: preview.files.map((file, index) => ({ ...preview.descriptor.files[index], snapshot: `${start}.preview-file-${index}` })), chunks };
20
+ }
21
+
22
+ export function validPreviewSnapshot(row, runId, id) {
23
+ try {
24
+ if (!exactObject(row, ['descriptor', 'descriptor_digest', 'renderer_policy', 'rendered_digest', 'rendered_bytes', 'files', 'chunks'])
25
+ || row.renderer_policy !== 1 || row.descriptor_digest !== digest(canonicalJson(row.descriptor))
26
+ || !DIGEST_PATTERN.test(row.rendered_digest ?? '') || !Number.isSafeInteger(row.rendered_bytes)
27
+ || row.rendered_bytes < 1 || row.rendered_bytes > PREVIEW_LIMITS.rendered) return false;
28
+ validatePreviewDescriptor(row.descriptor, runId);
29
+ const start = prefix(runId, id);
30
+ if (!Array.isArray(row.files) || row.files.length !== row.descriptor.files.length
31
+ || row.files.some((file, index) => !exactObject(file, ['path', 'digest', 'bytes', 'media_type', 'snapshot'])
32
+ || file.snapshot !== `${start}.preview-file-${index}`
33
+ || canonicalJson(Object.fromEntries(Object.entries(file).filter(([key]) => key !== 'snapshot'))) !== canonicalJson(row.descriptor.files[index]))) return false;
34
+ if (!Array.isArray(row.chunks) || !row.chunks.length || row.chunks.length > 16
35
+ || row.chunks.some((chunk, index) => !exactObject(chunk, ['snapshot', 'bytes', 'digest']) || chunk.snapshot !== `${start}.preview-${index}`
36
+ || !Number.isSafeInteger(chunk.bytes) || chunk.bytes < 1 || chunk.bytes > PREVIEW_LIMITS.chunk || !DIGEST_PATTERN.test(chunk.digest ?? '')
37
+ || index < row.chunks.length - 1 && chunk.bytes !== PREVIEW_LIMITS.chunk)
38
+ || row.chunks.reduce((total, chunk) => total + chunk.bytes, 0) !== row.rendered_bytes) return false;
39
+ return true;
40
+ } catch { return false; }
41
+ }
42
+
43
+ export function publishPreviewSnapshot(root, record, preview, { resume = false, checkpoint = () => {} } = {}) {
44
+ const binding = record.preview_review;
45
+ if (!binding) return;
46
+ const html = Buffer.from(preview.html);
47
+ const outputs = [...binding.files.map((file, i) => ({ ...file, data: preview.files[i].data })),
48
+ ...binding.chunks.map((chunk, i) => ({ ...chunk, data: html.subarray(i * PREVIEW_LIMITS.chunk, i * PREVIEW_LIMITS.chunk + chunk.bytes) })),
49
+ { snapshot: prefix(record.run_id, record.presentation_id) + '.preview.html', digest: binding.rendered_digest, bytes: html.length, data: html }];
50
+ for (const output of outputs) {
51
+ let fd;
52
+ try { fd = openSync(join(root, output.snapshot), constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | (constants.O_NOFOLLOW ?? 0), 0o600); }
53
+ catch (error) {
54
+ if (error.code !== 'EEXIST' || !resume) throw error;
55
+ const old = output.snapshot.endsWith('.html') ? readStandalone(root, record) : readPreviewBytes(root, output.snapshot);
56
+ if (old.length !== output.bytes || digest(old) !== output.digest) previewError('snapshot_invalid');
57
+ continue;
58
+ }
59
+ try { writeFileSync(fd, output.data); fsyncSync(fd); } finally { closeSync(fd); }
60
+ checkpoint('presentation_preview_file_published');
61
+ }
62
+ }
63
+
64
+ export function readPreviewSnapshot(root, record, { readBytes = path => readPreviewBytes(root, path), current = false } = {}) {
65
+ const row = record.preview_review;
66
+ if (record.schema_version !== 5 || !validPreviewSnapshot(row, record.run_id, record.presentation_id)) previewError('snapshot_invalid');
67
+ for (const file of row.files) {
68
+ const bytes = readBytes(file.snapshot);
69
+ if (!bytes || bytes.length !== file.bytes || digest(bytes) !== file.digest) previewError('snapshot_changed');
70
+ if (current) { const live = readBytes(file.path); if (!live || live.length !== file.bytes || digest(live) !== file.digest) previewError('file_changed'); }
71
+ }
72
+ const chunks = row.chunks.map(chunk => {
73
+ const bytes = readBytes(chunk.snapshot);
74
+ if (!bytes || bytes.length !== chunk.bytes || digest(bytes) !== chunk.digest) previewError('snapshot_changed');
75
+ return bytes;
76
+ });
77
+ const bytes = Buffer.concat(chunks);
78
+ if (bytes.length !== row.rendered_bytes || digest(bytes) !== row.rendered_digest) previewError('snapshot_changed');
79
+ return bytes;
80
+ }
81
+
82
+ export function validateCurrentPreviewRecord(root, record) {
83
+ if (record.schema_version !== 5) return;
84
+ readPreviewSnapshot(root, record, { current: true });
85
+ readStandalone(root, record);
86
+ const base = `.agdf/control/artefacts/${record.run_id}/`;
87
+ if (digest(readPreviewBytes(root, base + 'PRD.md')) !== record.document_digest
88
+ || digest(canonicalRunText(readPreviewBytes(root, base + 'UR.md').toString('utf8'))) !== record.preview_review.descriptor.source_ur_digest) previewError('source_changed');
89
+ }
90
+
91
+ // A checked full-document access copy. The immutable chunk set remains the
92
+ // historical authority; archives reconstruct it without this derived cache.
93
+ function readStandalone(root, record) {
94
+ const path = prefix(record.run_id, record.presentation_id) + '.preview.html', file = containedRegularFile(root, path);
95
+ if (hasSymlinkComponent(root, path) || file.status !== 'valid' || statSync(file.path).size !== record.preview_review.rendered_bytes) previewError('standalone_unavailable');
96
+ const bytes = readFileSync(file.path);
97
+ if (bytes.length > PREVIEW_LIMITS.rendered || digest(bytes) !== record.preview_review.rendered_digest) previewError('standalone_changed');
98
+ return bytes;
99
+ }
100
+
101
+ // Proof readers may be archive-bound. Never repair history with live filesystem bytes.
102
+ export function previewProof(record, { rawFileDigest, fileDigest }) {
103
+ const row = record.preview_review;
104
+ if (!validPreviewSnapshot(row, record.run_id, record.presentation_id)) return false;
105
+ if (row.files.some(file => rawFileDigest(file.snapshot) !== file.digest || rawFileDigest(file.path) !== file.digest)
106
+ || row.chunks.some(chunk => rawFileDigest(chunk.snapshot) !== chunk.digest)) return false;
107
+ return fileDigest(`.agdf/control/artefacts/${record.run_id}/UR.md`) === row.descriptor.source_ur_digest;
108
+ }
@@ -0,0 +1,82 @@
1
+ import { canonicalJson, digest, exactObject } from './approval-command-contract.js';
2
+ import { inspectQaReports } from '../control-evaluation/qa-follow-up.js';
3
+ import { interactionLocales } from '../resources/context.js';
4
+
5
+ const fields = ['schema_version', 'reviewer', 'usage_scope', 'deviations'];
6
+ const itemFields = ['finding_id', 'severity', 'risk', 'consequence', 'follow_up', 'owner'];
7
+ const concrete = (value, limit = 600) => typeof value === 'string' && value.trim().length > 0
8
+ && value.length <= limit && !/^(?:tbd|todo|none|<)/iu.test(value.trim());
9
+ const outcome = text => [...text.matchAll(/^- decision:[ \t]*(pass|passed|revise|block)[ \t]*$/gmu)].map(row => row[1]);
10
+
11
+ // The existing QA report owns the proposal. It is never a second approval ledger,
12
+ // a caller override flag, a passing test result or proof of native qualification.
13
+ export function inspectQaDeviationAcceptance(root, state, readArtefact) {
14
+ const unavailable = reason => ({ eligible: false, accepted: false, reason });
15
+ const qa = state.artefacts.get('QA');
16
+ if (qa?.status !== 'revise' || !qa.path) return unavailable('qa_deviation_proposal_not_applicable');
17
+ const text = readArtefact(qa.path);
18
+ if (typeof text !== 'string' || !text.includes('## QA Deviation Acceptance')) return unavailable('qa_deviation_proposal_missing');
19
+ try {
20
+ if (!['UR', 'PRD', 'SD', 'TP'].every(gate => state.approvals.get(gate)?.status === 'approved')
21
+ || !['Brownfield Analysis', 'CD+Tests', 'CR', 'Clean Implementation Review', 'TP Review'].every(step => {
22
+ const row = state.artefacts.get(step) ?? state.artefacts.get({ CR: 'Code Review', 'Clean Implementation Review': 'Clean Review' }[step]);
23
+ return row?.path && ['done', ...(step === 'TP Review' ? ['revise'] : [])].includes(row.status);
24
+ })) return unavailable('qa_deviation_prerequisites_incomplete');
25
+ if (!['QA', 'CR', 'Clean Implementation Review', 'TP Review'].every(step =>
26
+ state.evidence_applicability?.by_step.get(step)?.applicability === 'current')) return unavailable('qa_deviation_evidence_not_current');
27
+ for (const step of ['CR', 'Clean Implementation Review']) {
28
+ const row = state.artefacts.get(step) ?? state.artefacts.get({ CR: 'Code Review', 'Clean Implementation Review': 'Clean Review' }[step]);
29
+ const decisions = outcome(readArtefact(row.path) ?? '');
30
+ if (decisions.length !== 1 || !['pass', 'passed'].includes(decisions[0])) return unavailable('qa_deviation_protected_review_not_pass');
31
+ }
32
+ if ([...(state.missing_evidence ?? []), ...(state.risks ?? [])].some(row => row.impact === 'block')) return unavailable('qa_deviation_hard_blocker');
33
+ const sections = text.split(/^## QA Deviation Acceptance\s*$/mu);
34
+ if (sections.length !== 2) return unavailable('qa_deviation_proposal_invalid');
35
+ const section = sections[1].split(/^## /mu)[0].trim();
36
+ const match = section.match(/^```json\s*\n([\s\S]*?)\n```$/u);
37
+ if (!match || Buffer.byteLength(match[1]) > 16000) return unavailable('qa_deviation_proposal_invalid');
38
+ const proposal = JSON.parse(match[1]);
39
+ if (!exactObject(proposal, fields) || proposal.schema_version !== '1' || !concrete(proposal.reviewer, 200)
40
+ || !concrete(proposal.usage_scope) || !Array.isArray(proposal.deviations) || !proposal.deviations.length || proposal.deviations.length > 16
41
+ || !proposal.deviations.every(row => exactObject(row, itemFields) && /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/u.test(row.finding_id ?? '')
42
+ && ['low', 'medium'].includes(row.severity) && ['risk', 'consequence', 'follow_up', 'owner'].every(field => concrete(row[field])))) return unavailable('qa_deviation_proposal_invalid');
43
+ const ids = proposal.deviations.map(row => row.finding_id);
44
+ if (new Set(ids).size !== ids.length) return unavailable('qa_deviation_proposal_invalid');
45
+ const observations = inspectQaReports(root, state, state.run_id, 'revise', 64, true, { readArtefact });
46
+ if (observations.kind !== 'evidence' || observations.findings.some(row => row.target !== 'evidence_obligation')) return unavailable('qa_deviation_hard_blocker');
47
+ const described = new Map();
48
+ for (const row of observations.findings) {
49
+ const statement = canonicalJson({ target: row.target, evidence: row.evidence, action: row.action });
50
+ if (described.has(row.id) && described.get(row.id) !== statement) return unavailable('qa_deviation_scope_ambiguous');
51
+ described.set(row.id, statement);
52
+ }
53
+ const open = new Set(observations.findings.map(row => row.id));
54
+ if (open.size !== ids.length || ids.some(id => !open.has(id))) return unavailable('qa_deviation_scope_incomplete');
55
+ const acceptanceDigest = digest(`agdf-qa-deviation-acceptance/1\0${canonicalJson({ proposal, sources: observations.sources })}`);
56
+ const decided = state.presentation_decisions?.get('QA');
57
+ const acceptance = decided?.receipt?.effect?.qa_acceptance;
58
+ const accepted = state.approvals.get('QA')?.status === 'approved' && decided?.decided === true
59
+ && decided.action === 'approve' && acceptance?.kind === 'accepted_with_deviations' && acceptance.digest === acceptanceDigest
60
+ && canonicalJson(acceptance.deviation_ids) === canonicalJson(ids);
61
+ return { eligible: true, accepted, digest: acceptanceDigest, proposal, sources: observations.sources, qa_outcome: 'revise' };
62
+ } catch { return unavailable('qa_deviation_proposal_invalid'); }
63
+ }
64
+
65
+ export function qaDeviationPresentation(acceptance, language) {
66
+ if (!acceptance?.eligible) return null;
67
+ const german = String(language).toLowerCase().startsWith('de');
68
+ const labels = (german ? interactionLocales.locales.de : interactionLocales.locales.en).decisionCard;
69
+ const { proposal } = acceptance;
70
+ const summary = [acceptance.accepted ? labels.confirmedWithDeviations : labels.deviationAcceptanceIntro,
71
+ `${german ? 'Geltungsbereich' : 'Usage scope'}: ${proposal.usage_scope}`,
72
+ ...proposal.deviations.map(row => `- ${row.finding_id} (${german ? { low: 'gering', medium: 'mittel' }[row.severity] : row.severity}): ${row.risk}\n ${german ? 'Folge' : 'Consequence'}: ${row.consequence}\n ${german ? 'Nacharbeit' : 'Follow-up'}: ${row.follow_up}\n ${german ? 'Verantwortlich' : 'Owner'}: ${row.owner}`),
73
+ acceptance.accepted ? (german
74
+ ? 'Diese Abweichungen wurden für die vorgelegte Fassung ausdrücklich akzeptiert. Der QA-Befund bleibt „Nachbessern“; fehlende Prüfungen und native Produktionsqualifikation sind nicht bestanden.'
75
+ : 'These deviations were explicitly accepted for the presented version. The QA result remains revise; missing tests and native production qualification are not marked passed.')
76
+ : (german ? 'Der QA-Befund bleibt „Nachbessern“. Mit deiner Freigabe akzeptierst du diese Abweichungen und deren Folgen; anschließend folgt UAT. Fehlende Prüfungen und native Produktionsqualifikation sind damit nicht bestanden.'
77
+ : 'The QA result remains revise. Your approval accepts these deviations and their consequences; UAT follows. Missing tests and native production qualification are not marked passed.')].join('\n\n');
78
+ return { kind: 'accepted_with_deviations', digest: acceptance.digest, summary,
79
+ approve_label: labels.approveWithDeviations, confirmed_label: labels.confirmedWithDeviations,
80
+ effect: german ? 'Du akzeptierst die aufgeführten Abweichungen. Als Nächstes folgt UAT.'
81
+ : 'You accept the listed deviations. UAT follows.' };
82
+ }
@@ -0,0 +1,29 @@
1
+ // Field contracts shared by the existing recording/revision owners and selected Inspect
2
+ // descriptors. These describe review input; they do not manufacture review findings.
3
+ export const REVIEWED_REQUEST_FIELDS = Object.freeze(['schema_version', 'target_id', 'run_id', 'expected_revision_id', 'destination', 'source', 'relationship', 'review', 'update_draft']);
4
+ export const REVIEW_PROOF_FIELDS = Object.freeze(['schema_version', 'target_id', 'run_id', 'relationship', 'destination', 'source', 'reviewer', 'reviewed']);
5
+ export const REVISION_PROPOSAL_FIELDS = Object.freeze(['schema_version', 'target_id', 'run_id', 'expected_revision_id', 'operation_id', 'source_gate', 'reason', 'intended_change', 'sources', 'impact_assessment']);
6
+ export const REVISION_IMPACT_FIELDS = Object.freeze(['reviewer', 'earliest_source', 'upstream', 'analyses', 'implementation_evidence', 'unresolved']);
7
+ export const REVISION_UPSTREAM_FIELDS = Object.freeze(['type', 'path', 'digest', 'rationale']);
8
+ export const REVISION_ANALYSIS_FIELDS = Object.freeze(['type', 'disposition', 'path', 'digest', 'reason']);
9
+ export const REVISION_PROPOSAL_V2_FIELDS = Object.freeze([...REVISION_PROPOSAL_FIELDS, 'policy_version', 'initiating_phase', 'changed_statements', 'quality_assessment']);
10
+ export const REVISION_STATEMENT_FIELDS = Object.freeze(['type', 'path', 'digest', 'statement', 'intended_change', 'reason']);
11
+ export const REVISION_QUALITY_FIELDS = Object.freeze(['record', 'record_digest', 'operation_id', 'source_set_digest', 'sources', 'association', 'disposition', 'reason']);
12
+
13
+ export const REVIEWED_REQUEST_FORMAT = Object.freeze({ schema_version: '1', fields: REVIEWED_REQUEST_FIELDS,
14
+ references: { destination: ['type', 'path', 'digest', 'status'], source: ['type', 'path', 'digest'], review: ['reviewer', 'path', 'digest'] },
15
+ relationship: 'Use the current gate relationship returned by this descriptor; source must be the current approved exact artefact.',
16
+ review_proof: { fields: REVIEW_PROOF_FIELDS, reviewed: true, equality: 'target/run/relationship/destination/source/reviewer must equal the reviewed request; hash the contained proof after canonical BOM removal and CRLF normalization' },
17
+ update_draft: 'false for first recording; true only for updating the same unapproved recorded draft with fresh reviewed mapping. Never update approved material.',
18
+ scope: 'All request, report and review proof paths belong to .agdf/control/artefacts/<run_id>/; each source is bounded to 131072 bytes.',
19
+ evidence: 'A real reviewed mapping is required. Authoring completeness alone does not prove derivation.' });
20
+ export const REVISION_PROPOSAL_FORMAT = Object.freeze({ schema_version: '1', fields: REVISION_PROPOSAL_FIELDS,
21
+ supported_versions: ['1', '2'], expanded: { schema_version: '2', policy_version: 2, fields: REVISION_PROPOSAL_V2_FIELDS,
22
+ changed_statements: REVISION_STATEMENT_FIELDS, quality_assessment: REVISION_QUALITY_FIELDS,
23
+ initiating_phase: 'Actual current PRD/SD/TP/CD+Tests/QA/pending UAT; choose the earliest approved changed source, never by phase alone.',
24
+ quality: 'Cover every current registered analysis/result and evidence row exactly; bind report, source set, original operation and record digest. Unknown associations require reassess. Use the inspected current facts; no invented dependency proof.' },
25
+ impact_assessment: { fields: REVISION_IMPACT_FIELDS, upstream: REVISION_UPSTREAM_FIELDS, analyses: REVISION_ANALYSIS_FIELDS,
26
+ dispositions: ['retain', 'reassess'], unresolved: [], earliest_source: 'Must match source_gate; unchanged upstream needs actual rationale. UR requires reassess for both applicable analyses.' },
27
+ sources: 'Use the exact current sources returned by the existing preview boundary, in UR/PRD/SD/TP order; the eligible boundary determines the subset.',
28
+ preview: 'Read-only preview returns actual impact, preview_digest and the exact confirmation_selector. Do not derive authorization from a preview.',
29
+ recovery: 'Keep the original UUID, proposal and inspected pending digest/current recovery revision; never submit a new intent to repair the original.' });
@@ -0,0 +1,81 @@
1
+ import { readOperationSource } from "./run-operation-proof.js";
2
+ import { randomUUID } from "node:crypto";
3
+ import { canonicalJson, exactObject, resolveControlCommandTarget } from "./approval-command-contract.js";
4
+ import { appendArtefactBinding, artefactBindingKey, readArtefactBindings, validArtefactBinding } from "./artefact-bindings.js";
5
+ import { exactApprovedArtefacts, readContainedJson, validateBindingProof } from "./artefact-binding-proof.js";
6
+ import { artefactFileDigest, computeRunSeals, runSealState } from "./run-seal.js";
7
+ import { appendTableRow, upsertTableRow } from "./run-state-edits.js";
8
+ import { relationshipForGate, sameRelationship } from "../control-evaluation/delivery-relationships.js";
9
+ import { readFileSync } from "node:fs";
10
+ import { containedRegularFile } from "./contained-file.js";
11
+ import { readSourceRevisions } from "./run-source-revisions.js";
12
+ import { REVIEWED_REQUEST_FIELDS } from './recording-formats.js';
13
+ import { readReportDecision } from '../control-evaluation/report-decision.js';
14
+
15
+ // Called by run-step with Run and Backlog locks already held. No approval or QA decision owner.
16
+ export function prepareArtefactRecording(root, run, input, control, before) {
17
+ const fail = reason => { throw new Error(reason); };
18
+ const expected = relationshipForGate(input.gate);
19
+ const qaRecording = input.gate === 'QA' && before.current_gate === 'QA'
20
+ && (before.status === 'open' || before.status === 'blocked' && control.artefacts.get('QA')?.status === 'block');
21
+ if (readSourceRevisions(run.content).present && !qaRecording && before.missing_approval !== `Approval: ${input.gate}` && before.next_operation?.type !== "revise_gate_material") fail("AGDF_ARTEFACT_RECORDING_GATE_INVALID");
22
+ if (!expected || input.gate === "UR" || before.current_gate !== input.gate || before.status !== "open" && !qaRecording
23
+ || control.approvals.get(input.gate)?.status === "approved") fail("AGDF_ARTEFACT_RECORDING_GATE_INVALID");
24
+ const sourceRequest = input.requestBinding ? readOperationSource(root, input.runId, input.requestBinding) : null;
25
+ const command = readContainedJson(root, input.evidence);
26
+ if (!exactObject(command, REVIEWED_REQUEST_FIELDS)
27
+ || command.schema_version !== "1" || command.target_id !== resolveControlCommandTarget(root).target_id
28
+ || command.run_id !== input.runId || command.expected_revision_id !== input.revisionId
29
+ || typeof command.update_draft !== "boolean" || !exactObject(command.relationship, ["from", "relationship", "to"])
30
+ || !sameRelationship(command.relationship, expected)) fail("AGDF_ARTEFACT_RECORDING_INPUT_INVALID");
31
+ const bindings = readArtefactBindings(run.content);
32
+ if (!bindings.valid) fail("AGDF_ARTEFACT_BINDINGS_INVALID");
33
+ const candidate = {
34
+ schema_version: input.operationId ? "2" : "1", binding_id: randomUUID(), target_id: command.target_id, run_id: input.runId,
35
+ relationship: command.relationship, destination: command.destination, source: command.source, review: command.review,
36
+ origin: "reviewed_mapping", operation: { id: input.operationId ?? randomUUID(), previous_revision_id: input.revisionId, resulting_revision_id: randomUUID(), revision: Number(run.meta.revision) + 1, ...(input.operationId ? { request_digest: input.requestDigest } : {}) }, supersedes: null,
37
+ };
38
+ const prior = bindings.latest.filter(item => artefactBindingKey(item) === artefactBindingKey(candidate));
39
+ if (prior.length > 1) fail("AGDF_ARTEFACT_BINDINGS_INVALID");
40
+ candidate.supersedes = prior[0]?.binding_id ?? null;
41
+ const source = control.artefacts.get(expected.to);
42
+ if (!validArtefactBinding(candidate) || !source || source.path !== command.source.path || source.status !== "approved"
43
+ || control.approvals.get(expected.to)?.status !== "approved" || !validateBindingProof(root, candidate)
44
+ || !exactApprovedArtefacts(root, control)) fail("AGDF_ARTEFACT_BINDING_PROOF_INVALID");
45
+ if (input.gate === "QA") {
46
+ const report = readFileSync(containedRegularFile(root, candidate.destination.path).path, "utf8");
47
+ if (readReportDecision(report) !== candidate.destination.status) fail("AGDF_ARTEFACT_RECORDING_INPUT_INVALID");
48
+ }
49
+ const old = control.artefacts.get(input.gate);
50
+ if (old?.path && old.path !== candidate.destination.path) fail("AGDF_ARTEFACT_RECORDING_INPUT_INVALID");
51
+ const seal = runSealState(root, run.content);
52
+ let draftChange = false;
53
+ if (seal.status === "content_changed" && command.update_draft && (old?.status === "draft"
54
+ || qaRecording && ['pass', 'revise', 'block'].includes(old?.status))
55
+ && prior.length === 1 && old.path === prior[0].destination.path && prior[0].destination.digest !== candidate.destination.digest) {
56
+ // Reconstruct the old aggregate seal using only the previously sealed draft digest.
57
+ // Every other bound file and the complete recorded body must still match that seal.
58
+ const restored = computeRunSeals(root, run.content, { artefactDigests: new Map([[old.path, prior[0].destination.digest]]) });
59
+ draftChange = restored.content_seal === seal.recorded.content_seal && restored.approval_seal === seal.recorded.approval_seal;
60
+ }
61
+ if (seal.status !== "valid" && !draftChange) fail("AGDF_RUN_SEAL_INVALID");
62
+ const rows = control.artefact_chain.filter(row => row.from === expected.from);
63
+ if (rows.length > 1 || rows.some(row => !sameRelationship(row, expected))) fail("AGDF_ARTEFACT_BINDING_PROOF_INVALID");
64
+ const evidence = `binding ${candidate.binding_id}; reviewed by ${candidate.review.reviewer}; ${candidate.review.path}`;
65
+ let text = upsertTableRow(run.content, "Artefacts", 0, input.gate, [input.gate, candidate.destination.path, candidate.destination.status, "Reviewed source binding recorded atomically"]);
66
+ text = text && upsertTableRow(text, "Artefact Chain", 0, expected.from, [expected.from, expected.relationship, expected.to, evidence]);
67
+ if (!text) fail("AGDF_ARTEFACT_RECORDING_INPUT_INVALID");
68
+ text = appendArtefactBinding(text, candidate);
69
+ // Proof files are seal-bound too; historical proofs may not be silently rewritten on update.
70
+ text = upsertTableRow(text, "Artefacts", 0, `Binding proof ${candidate.binding_id}`, [`Binding proof ${candidate.binding_id}`, candidate.review.path, "done", "Subordinate reviewed mapping evidence"]);
71
+ text = text && appendTableRow(text, "Evidence", ["Artefact source binding", candidate.review.path, `${expected.from} ${expected.relationship} ${expected.to}; binding ${candidate.binding_id}; operation ${candidate.operation.id}; ${input.revisionId} -> ${candidate.operation.resulting_revision_id}`, "reviewed cooperative mapping"]);
72
+ if (!text) fail("AGDF_ARTEFACT_RECORDING_INPUT_INVALID");
73
+ const snapshot = canonicalJson([candidate, command]);
74
+ return { text, receipt: candidate, nextRevisionId: candidate.operation.resulting_revision_id, allowContentChange: draftChange,
75
+ validateBeforeWrite: () => {
76
+ sourceRequest?.validate();
77
+ if (!validateBindingProof(root, candidate) || !exactApprovedArtefacts(root, control)
78
+ || canonicalJson([candidate, readContainedJson(root, input.evidence)]) !== snapshot
79
+ || artefactFileDigest(root, candidate.destination.path) !== candidate.destination.digest) fail("AGDF_ARTEFACT_BINDING_PROOF_INVALID");
80
+ } };
81
+ }
@@ -0,0 +1,80 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { join, relative, sep } from "node:path";
3
+ import { parseRunState } from "./run-state-parser.js";
4
+ import { runSealState } from "./run-seal.js";
5
+ import { atomicWrite, withOwnedFileLock, writeRunLocked } from "./run-state-writer.js";
6
+ import { commitRunStepLocked, recoverPendingRunStepLocked, readPendingRunStepJournal } from "./run-step-transaction.js";
7
+ import { pendingRunStepIds } from "./run-step-pending.js";
8
+ import { BACKLOG_RELATIVE_PATH, prepareRunBacklogOrSkip } from "./run-backlog.js";
9
+ import { containedRegularFile, hasSymlinkComponent } from "./contained-file.js";
10
+ import { randomUUID } from "node:crypto";
11
+ import { existsSync } from 'node:fs';
12
+ import { pendingRunStepPath } from './run-step-pending.js';
13
+ import { assertSummarySources } from "../control-evaluation/run-work-summary.js";
14
+
15
+ export function withRunBacklogLock(root, path, work, options = {}) {
16
+ const relativePath = relative(root, path).split(sep).join("/");
17
+ if (hasSymlinkComponent(root, relativePath) || containedRegularFile(root, relativePath).status !== "valid") throw Error("AGDF_RUN_PATH_INVALID");
18
+ // The Run path check covers the shared .agdf/control ancestors, so the sibling Backlog lock is
19
+ // contained. An unusable Backlog file itself is reported by the planner, not by the lock.
20
+ return withOwnedFileLock(path, () => {
21
+ return withOwnedFileLock(join(root, BACKLOG_RELATIVE_PATH), () => {
22
+ const run = parseRunState(readFileSync(path, "utf8"));
23
+ if (!run.valid) throw Error("AGDF_RUN_STATE_INVALID");
24
+ const other = pendingRunStepIds(root).find(id => id !== run.meta.run_id);
25
+ if (other) { const error = Error("AGDF_RUN_STEP_RECOVERY_REQUIRED"); error.pending_run_id = other; throw error; }
26
+ if (options.operationContext && existsSync(pendingRunStepPath(root, run.meta.run_id))) {
27
+ const pending = readPendingRunStepJournal(root, run.meta.run_id), expected = options.operationContext;
28
+ if (pending.schema_version !== 3 || pending.operation_id !== expected.operation_id || pending.kind !== expected.kind
29
+ || pending.target_id !== expected.target_id || pending.request_digest !== expected.request_digest) throw Error('AGDF_RUN_STEP_RECOVERY_REQUIRED');
30
+ }
31
+ recoverPendingRunStepLocked(root, run.meta.run_id);
32
+ return work();
33
+ });
34
+ }, options);
35
+ }
36
+
37
+ // Both locks are held by the caller. The existing journal keeps receipt, seal, revision
38
+ // and Backlog projection recoverable at the same Run commit point.
39
+ export function writeRunWithBacklogLocked(root, path, content, revisionId, options = {}) {
40
+ const old = readFileSync(path, "utf8"), run = parseRunState(old);
41
+ if (!run.valid) throw Error("AGDF_RUN_STATE_INVALID");
42
+ if (run.meta.revision_id !== revisionId || options.expectedContent !== undefined && old !== options.expectedContent) throw Error("AGDF_STALE_RUN_REVISION");
43
+ const nextRevisionId = options.nextRevisionId ?? randomUUID();
44
+ const plan = prepareRunBacklogOrSkip(root, run.meta.run_id, content, path, nextRevisionId);
45
+ const withBacklog = state => ({ ...state, backlog: plan.status, backlog_reason: plan.reason ?? null });
46
+ const guard = () => { if (plan.summary) assertSummarySources(root, plan.summary); };
47
+ if (!plan.update && !options.operationContext) return withBacklog(writeRunLocked(path, content, revisionId, { ...options, nextRevisionId,
48
+ validateBeforeWrite: () => { options.validateBeforeWrite?.(); guard(); } }));
49
+ // Full gate/presentation evaluation still sees the original sealed Run, under both
50
+ // locks. The journal then rechecks its captured source digests and envelope at commit.
51
+ options.validateBeforeWrite?.();
52
+ return withBacklog(commitRunStepLocked(root, { runId: run.meta.run_id, runPath: path, content,
53
+ revisionId, expectedContent: old, backlog: plan.update, or: null,
54
+ operationContext: options.operationContext,
55
+ nextRevisionId,
56
+ writeOptions: { ...options, validateBeforeWrite: () => { options.validateDuringTransaction?.(); guard(); } }, afterWrite: options.afterWrite }));
57
+ }
58
+
59
+ export function writeRunWithBacklog(root, path, content, revisionId, options = {}) {
60
+ return withRunBacklogLock(root, path, () => writeRunWithBacklogLocked(root, path, content, revisionId, options));
61
+ }
62
+
63
+ // Explicit repair of a valid sealed Run's stale pointer needs only one atomic file write;
64
+ // no fabricated Run revision, new approval or reader-side write is necessary.
65
+ export function synchronizeRunBacklog(root, path, revisionId) {
66
+ return withRunBacklogLock(root, path, () => {
67
+ const content = readFileSync(path, "utf8"), run = parseRunState(content);
68
+ if (!run.valid) throw Error("AGDF_RUN_STATE_INVALID");
69
+ if (run.meta.revision_id !== revisionId) throw Error("AGDF_STALE_RUN_REVISION");
70
+ if (runSealState(root, content).status !== "valid") throw Error("AGDF_RUN_SEAL_INVALID");
71
+ const plan = prepareRunBacklogOrSkip(root, run.meta.run_id, content, path, revisionId);
72
+ if (plan.update) {
73
+ assertSummarySources(root, plan.summary);
74
+ if (readFileSync(path, "utf8") !== content || runSealState(root, content).status !== "valid"
75
+ || readFileSync(join(root, BACKLOG_RELATIVE_PATH), "utf8") !== plan.update.old) throw Error("AGDF_STALE_RUN_REVISION");
76
+ atomicWrite(join(root, BACKLOG_RELATIVE_PATH), plan.update.next);
77
+ }
78
+ return { meta: run.meta, backlog: plan.status, backlog_reason: plan.reason ?? null };
79
+ });
80
+ }
@@ -0,0 +1,90 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { firstSection, tableCells, tableLine, tableLineIndexes } from "./run-state-edits.js";
4
+ import { containedRegularFile, hasSymlinkComponent } from "./contained-file.js";
5
+ import { policyForRunContent } from "../control-evaluation/run-step-policy.js";
6
+ import { runWorkSummary } from "../control-evaluation/run-work-summary.js";
7
+ import { recordBacklogSummary } from "./backlog-summary.js";
8
+ import { parseRunState } from "./run-state-parser.js";
9
+
10
+ export const BACKLOG_RELATIVE_PATH = ".agdf/control/MASTER_BACKLOG.md";
11
+ const compactHeaders = ["priority", "key", "work item", "status", "artefacts", "current spec", "next step"];
12
+ const legacyHeaders = ["prio", "key", "title", "status", "ur", "brownfield review", "prd", "sd", "tp", "qa", "or", "current spec", "notes"];
13
+ const clean = value => value.replaceAll("`", "").trim();
14
+ export const backlogTableLayout = headers => {
15
+ const normalized = headers.map(value => clean(value).toLowerCase()).join("\0");
16
+ return normalized === compactHeaders.join("\0") ? "compact" : normalized === legacyHeaders.join("\0") ? "legacy" : null;
17
+ };
18
+ const SKIPPABLE_BACKLOG_ERRORS = new Map([
19
+ ["AGDF_BACKLOG_PATH_INVALID", "backlog_path_invalid"],
20
+ ["AGDF_BACKLOG_LAYOUT_UNSUPPORTED", "backlog_layout_unsupported"],
21
+ ["AGDF_BACKLOG_IDENTITY_AMBIGUOUS", "backlog_identity_ambiguous"],
22
+ ]);
23
+
24
+ // A saved projection of the same policy used by the Run writer, never UR metadata or a
25
+ // reader-side claim of current readiness. Completion still belongs to explicit closeout.
26
+ export function backlogStatusForPolicy(after) {
27
+ if (after.status === "blocked") return "Blocked";
28
+ if (after.current_gate === "UR") return "Needs UR";
29
+ if (after.current_gate === "Brownfield Review") return "Awaiting Brownfield Review";
30
+ if (["PRD", "SD", "TP"].includes(after.current_gate)) return `Awaiting ${after.current_gate}`;
31
+ if (["QA", "UAT"].includes(after.current_gate) && after.missing_approval === `Approval: ${after.current_gate}`) return `Awaiting ${after.current_gate}`;
32
+ if (after.current_gate === "OR") return "Awaiting OR";
33
+ if (["Brownfield Analysis", "CD+Tests", "CR", "Quick Task Execution", "Verified Change Execution", "Mode/Slice Decision"].includes(after.current_gate)) return `${after.current_gate} work pending`;
34
+ return "In Progress";
35
+ }
36
+ export const backlogStatusForSummary = (summary, after) =>
37
+ ["work_pending", "approval_pending", "closeout_pending"].includes(summary.kind)
38
+ ? backlogStatusForPolicy(after) : summary.status_label;
39
+
40
+ export function assertBacklogPath(root) {
41
+ if (hasSymlinkComponent(root, BACKLOG_RELATIVE_PATH)
42
+ || existsSync(join(root, BACKLOG_RELATIVE_PATH)) && containedRegularFile(root, BACKLOG_RELATIVE_PATH).status !== "valid") {
43
+ throw Error("AGDF_BACKLOG_PATH_INVALID");
44
+ }
45
+ }
46
+
47
+ // Change only the addressed existing Active row. Keep title, links, order, other rows and
48
+ // archive/planning placement intact. Unsupported layouts and ambiguous identities fail closed.
49
+ export function prepareRunBacklog(root, runId, content, runPath, revisionId = parseRunState(content).meta.revision_id) {
50
+ assertBacklogPath(root);
51
+ const path = join(root, BACKLOG_RELATIVE_PATH);
52
+ if (!existsSync(path)) return { status: "missing", update: null };
53
+ const old = readFileSync(path, "utf8"), lines = old.split("\n");
54
+ if (Buffer.byteLength(old) > 2097152) throw Error("AGDF_BACKLOG_LAYOUT_UNSUPPORTED");
55
+ const section = firstSection(lines, "Active Backlog");
56
+ if (!section) throw Error("AGDF_BACKLOG_LAYOUT_UNSUPPORTED");
57
+ const indexes = tableLineIndexes(lines, section), layout = backlogTableLayout(tableCells(lines[indexes[0]] ?? ""));
58
+ const width = layout === "compact" ? compactHeaders.length : layout === "legacy" ? legacyHeaders.length : undefined;
59
+ if (!width || indexes.length < 2 || tableCells(lines[indexes[1]]).length !== width
60
+ || tableCells(lines[indexes[1]]).some(value => !/^:?-{3,}:?$/u.test(value))) throw Error("AGDF_BACKLOG_LAYOUT_UNSUPPORTED");
61
+ const matches = indexes.slice(2).filter(index => clean(tableCells(lines[index])[1] ?? "") === runId);
62
+ if (matches.length > 1) throw Error("AGDF_BACKLOG_IDENTITY_AMBIGUOUS");
63
+ if (!matches.length) return { status: "unlinked", update: null };
64
+ for (const [heading, column] of [["Planned / Parking Lot", 1], ["Completed / Superseded Pointers", 0]]) {
65
+ const other = firstSection(lines, heading);
66
+ if (other && tableLineIndexes(lines, other).slice(2).some(index => clean(tableCells(lines[index])[column] ?? "") === runId)) throw Error("AGDF_BACKLOG_IDENTITY_AMBIGUOUS");
67
+ }
68
+ const index = matches[0], cells = tableCells(lines[index]);
69
+ if (cells.length !== width) throw Error("AGDF_BACKLOG_LAYOUT_UNSUPPORTED");
70
+ const after = policyForRunContent(root, content, runPath);
71
+ const summary = runWorkSummary(root, content, runPath, after);
72
+ const status = backlogStatusForSummary(summary, after);
73
+ const next = summary.display_action;
74
+ cells[3] = status; cells[width - 1] = next;
75
+ lines[index] = tableLine(cells);
76
+ const updated = recordBacklogSummary(root, lines.join("\n"), runId, "Active Backlog", summary, revisionId);
77
+ return { status: old === updated ? "unchanged" : "updated", summary, update: old === updated ? null : { old, next: updated } };
78
+ }
79
+
80
+ // Approvals and run-update stay valid when the saved pointer cannot be synchronized. The
81
+ // pointer is left untouched and the result names why; the doctor reports the backlog itself.
82
+ export function prepareRunBacklogOrSkip(root, runId, content, runPath, revisionId) {
83
+ try { return prepareRunBacklog(root, runId, content, runPath, revisionId); }
84
+ catch (error) {
85
+ const reason = SKIPPABLE_BACKLOG_ERRORS.get(error?.message);
86
+ if (!reason) throw error;
87
+ return { status: "skipped", reason, update: null };
88
+ }
89
+ }
90
+ export const backlogSkip = plan => plan?.reason ? { backlog: plan.status, backlog_reason: plan.reason } : {};