create-agdf 0.20.2 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +148 -191
- package/generated/.agdf/control/README.md +31 -110
- package/generated/.agdf/control/planned-urs.md +95 -0
- package/generated/.agdf/control/templates/RUN_STATE.md +15 -64
- package/generated/.agdf/control/templates/artefacts/UR.md +1 -1
- package/generated/.agents/plugins/marketplace.json +12 -0
- package/generated/.opencode/agdf-agent-router.md +3 -3
- package/generated/.opencode/agdf-interaction-locales.json +2668 -2682
- package/generated/.opencode/contracts/closeout.md +1 -1
- package/generated/.opencode/contracts/control-scaffold.md +63 -46
- package/generated/.opencode/contracts/gate-artifact-preparation.md +58 -48
- package/generated/.opencode/contracts/gate-transition.md +5 -6
- package/generated/.opencode/contracts/interaction.md +43 -126
- package/generated/.opencode/contracts/modes.md +4 -3
- package/generated/.opencode/contracts/prd-definition.md +6 -6
- package/generated/.opencode/contracts/quality.md +10 -2
- package/generated/.opencode/contracts/request-activation.md +9 -8
- package/generated/.opencode/contracts/sd-definition.md +3 -3
- package/generated/.opencode/contracts/task-target-resolution.md +24 -0
- package/generated/.opencode/contracts/tp-definition.md +1 -1
- package/generated/.opencode/contracts/ur-definition.md +41 -7
- package/generated/.opencode/skills/agdf-brownfield-analysis/SKILL.md +8 -5
- package/generated/.opencode/skills/agdf-clean-implementation-review/SKILL.md +3 -2
- package/generated/.opencode/skills/agdf-code-review/SKILL.md +5 -3
- package/generated/.opencode/skills/agdf-delivery-closeout/SKILL.md +3 -2
- package/generated/.opencode/skills/agdf-delivery-path-search/SKILL.md +3 -2
- package/generated/.opencode/skills/agdf-gate-check/SKILL.md +35 -31
- package/generated/.opencode/skills/agdf-prd-definition/SKILL.md +3 -2
- package/generated/.opencode/skills/agdf-qa-gate/SKILL.md +3 -2
- package/generated/.opencode/skills/agdf-release-or/SKILL.md +8 -5
- package/generated/.opencode/skills/agdf-sd-definition/SKILL.md +3 -2
- package/generated/.opencode/skills/agdf-task-plan-review/SKILL.md +3 -2
- package/generated/.opencode/skills/agdf-tp-definition/SKILL.md +3 -2
- package/generated/.opencode/skills/agdf-ur-definition/SKILL.md +12 -4
- package/generated/.opencode/skills/agdf-ux-intent-definition/SKILL.md +5 -4
- package/generated/plugins/agdf/.claude-plugin/plugin.json +3 -2
- package/generated/plugins/agdf/.codex-plugin/plugin.json +1 -1
- package/generated/plugins/agdf/companion/assignment.mjs +65 -0
- package/generated/plugins/agdf/companion/companion.json +4 -0
- package/generated/plugins/agdf/companion/core.mjs +16 -0
- package/generated/plugins/agdf/companion/figure.mjs +137 -0
- package/generated/plugins/agdf/companion/gate-bar.mjs +54 -0
- package/generated/plugins/agdf/companion/hooks.json +3 -0
- package/generated/plugins/agdf/companion/locales.json +200 -0
- package/generated/plugins/agdf/companion/localization.mjs +89 -0
- package/generated/plugins/agdf/companion/notice.mjs +90 -0
- package/generated/plugins/agdf/companion/persistence.mjs +36 -0
- package/generated/plugins/agdf/companion/register.mjs +444 -0
- package/generated/plugins/agdf/companion/run-state.mjs +110 -0
- package/generated/plugins/agdf/companion/state.mjs +48 -0
- package/generated/plugins/agdf/companion/view.mjs +84 -0
- package/generated/plugins/agdf/control/README.md +31 -110
- package/generated/plugins/agdf/control/planned-urs.md +95 -0
- package/generated/plugins/agdf/control/templates/RUN_STATE.md +15 -64
- package/generated/plugins/agdf/control/templates/artefacts/UR.md +1 -1
- package/generated/plugins/agdf/mcp/server/README.md +119 -7
- package/generated/plugins/agdf/mcp/server/package.json +12 -7
- package/generated/plugins/agdf/mcp/server/src/generation-entry.js +3 -85
- package/generated/plugins/agdf/mcp/server/src/generation-protocol.js +2 -44
- package/generated/plugins/agdf/mcp/server/src/generation-runtime.js +94 -0
- package/generated/plugins/agdf/mcp/server/src/generation-thread-entry.js +8 -0
- package/generated/plugins/agdf/mcp/server/src/generation.js +64 -20
- package/generated/plugins/agdf/mcp/server/src/main.js +42 -10
- package/generated/plugins/agdf/mcp/server/src/server.js +24 -15
- package/generated/plugins/agdf/mcp/server/src/stdio-output.js +42 -0
- package/generated/plugins/agdf/mcp/server/src/worker-entry.js +2 -2
- package/generated/plugins/agdf/mcp/server/src/worker.js +53 -7
- package/generated/plugins/agdf/mcp/server/ui/cockpit.html +31 -31
- package/generated/plugins/agdf/mcp/server/ui/decision-manifest.json +3 -3
- package/generated/plugins/agdf/mcp/server/ui/decision.html +36 -36
- package/generated/plugins/agdf/mcp/server/ui/manifest.json +4 -4
- package/generated/plugins/agdf/meta/agdf-agent-router.md +3 -3
- package/generated/plugins/agdf/meta/agdf-defaults.json +9 -0
- package/generated/plugins/agdf/meta/agdf-defaults.schema.json +20 -0
- package/generated/plugins/agdf/meta/agdf-interaction-locales.json +2668 -2682
- package/generated/plugins/agdf/meta/agdf-mcp-capability.json +1 -1
- package/generated/plugins/agdf/meta/agdf-plugin.definition.json +8 -3
- package/generated/plugins/agdf/meta/contracts/closeout.md +1 -1
- package/generated/plugins/agdf/meta/contracts/control-scaffold.md +63 -46
- package/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +58 -48
- package/generated/plugins/agdf/meta/contracts/gate-transition.md +5 -6
- package/generated/plugins/agdf/meta/contracts/interaction.md +43 -126
- package/generated/plugins/agdf/meta/contracts/modes.md +4 -3
- package/generated/plugins/agdf/meta/contracts/prd-definition.md +6 -6
- package/generated/plugins/agdf/meta/contracts/quality.md +10 -2
- package/generated/plugins/agdf/meta/contracts/request-activation.md +9 -8
- package/generated/plugins/agdf/meta/contracts/sd-definition.md +3 -3
- package/generated/plugins/agdf/meta/contracts/task-target-resolution.md +24 -0
- package/generated/plugins/agdf/meta/contracts/tp-definition.md +1 -1
- package/generated/plugins/agdf/meta/contracts/ur-definition.md +41 -7
- package/generated/plugins/agdf/meta/copilot-payload-baseline.json +3 -3
- package/generated/plugins/agdf/meta/distribution-profile-history.json +7 -0
- package/generated/plugins/agdf/runtime/agdf-session-check.js +25 -21
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.json +9 -0
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.schema.json +20 -0
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-interaction-locales.json +2668 -2682
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-plugin.definition.json +8 -3
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/closeout.md +1 -1
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/control-scaffold.md +63 -46
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +58 -48
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-transition.md +5 -6
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/interaction.md +43 -126
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/modes.md +4 -3
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/prd-definition.md +6 -6
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/quality.md +10 -2
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/request-activation.md +9 -8
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/sd-definition.md +3 -3
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/task-target-resolution.md +24 -0
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/tp-definition.md +1 -1
- package/generated/plugins/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/ur-definition.md +41 -7
- package/generated/plugins/agdf/runtime/create-agdf/lib/cli/codex-document-command.js +195 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/cli/command-registry.js +82 -148
- package/generated/plugins/agdf/runtime/create-agdf/lib/cli/control-maintenance-command.js +8 -37
- package/generated/plugins/agdf/runtime/create-agdf/lib/cli/parse-args.js +98 -16
- package/generated/plugins/agdf/runtime/create-agdf/lib/cli/planned-command.js +55 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/cli/project-read-command.js +35 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/cli/run-command-aliases.js +116 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/cli/runtime-context.js +1 -59
- package/generated/plugins/agdf/runtime/create-agdf/lib/cli/validation-handlers.js +33 -103
- package/generated/plugins/agdf/runtime/create-agdf/lib/control-evaluation/git-observation.js +7 -5
- package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/startup.js +2 -2
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-decision-protocol.js +40 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-dispatch-runtime.js +71 -306
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-entry.js +3 -24
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-owner-entry.js +31 -15
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-runtime.js +29 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-thread-entry.js +11 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/owner-client.js +79 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/package.js +14 -80
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/plugin-runtime.js +29 -9
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-lifecycle/thread-owner.js +164 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-owner-protocol.js +1 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-protocol-runtime.js +308 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/mcp-worker-runtime.js +152 -0
- package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/control-command-service.js +22 -7
- package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/control-context.js +8 -1
- package/generated/plugins/agdf/runtime/create-agdf/lib/runtime/validator-application.js +2 -2
- package/generated/plugins/agdf/runtime/create-agdf/package.json +5 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/closeout-readiness.js +10 -2
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-placeholder.js +9 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-readiness.js +2 -7
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/definition-sources.js +3 -2
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/delivery-map.js +2 -12
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/doctor.js +162 -172
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-check.js +10 -9
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-inputs.js +11 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-pure.js +446 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy.js +3 -434
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/next-action.js +2 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/parent-reconciliation.js +2 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/qa-follow-up.js +2 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/required-files.js +9 -7
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state-policy.js +1 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state.js +15 -9
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-step-policy.js +2 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-work-summary.js +6 -4
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared-value.js +7 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared.js +5 -254
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/tp-planning.js +3 -2
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/ur-readiness.js +7 -2
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/verified-change.js +11 -9
- package/{runtime/core/lib/control-evaluation/backlog-vocabulary.js → generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/work-vocabulary.js} +2 -2
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/artifact-readiness.js +5 -3
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/authoring-inputs.js +110 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-archive.js +53 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-context.js +2 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-contract.js +11 -4
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-list.d.ts +10 -6
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-list.js +32 -41
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-session.js +8 -8
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-work.js +33 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit.js +75 -44
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/contract.js +124 -32
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/decision-session.js +53 -11
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/doctor-observation.js +91 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-operation-call.js +5 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-state.js +48 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/result.js +61 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/selection.js +9 -3
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/service.js +119 -67
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/compatibility.js +42 -132
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/contract.js +5 -5
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/presentation.js +27 -119
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/service.js +9 -37
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/cockpit-pool.js +25 -9
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/cockpit-worker.js +4 -3
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-reader.js +92 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-worker.js +11 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/fs.js +18 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-read/snapshot.js +68 -17
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/aggregate.js +3 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-command.js +13 -10
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-operations.js +10 -7
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-binding-proof.js +12 -20
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-bindings.js +10 -7
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/canonical-initialization.js +761 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/control-layout.js +183 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-action-contract.js +10 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-action-service.js +24 -3
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-material-contract.js +2 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/evidence-bindings.js +7 -7
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/git-identity.js +86 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/index.js +0 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/input-resolution.js +99 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-entry.js +273 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-handoff.js +174 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-inventory.js +90 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin-reader.js +48 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin.js +40 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-decision.js +12 -7
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-delivery.js +90 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-render.js +5 -2
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-review.js +3 -2
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-snapshot.js +9 -6
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/recording-formats.js +12 -16
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-artefact-recording.js +54 -66
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-closure.js +343 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-contract.js +33 -250
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-schema.js +508 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-service.js +198 -34
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-create-command.js +60 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.d.ts +14 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.js +40 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-input-resolution.js +72 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory-reader.js +31 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory.js +179 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-material.js +211 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-mutation.js +51 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-identity.js +2 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-proof.js +7 -4
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-status.js +20 -4
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operations.js +70 -13
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-owned-outputs.js +21 -9
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-envelope.js +25 -33
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-render.js +8 -7
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation.js +45 -21
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recording.js +10 -179
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-boundary.js +7 -21
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-history.js +23 -16
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision.js +84 -161
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal-compute.js +19 -44
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal.js +6 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-source-revisions.js +19 -18
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-document.js +110 -42
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-edits.js +13 -5
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-parser.js +14 -6
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-reader.js +27 -18
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-repository.js +112 -48
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-resolver.js +12 -15
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-writer.js +21 -377
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-pending.js +2 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-transaction.js +125 -114
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-steps.js +136 -248
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-store-inspection.js +14 -2
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-verified-change.js +81 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-work-summary-shape.d.ts +1 -0
- package/{runtime/core/lib/control-state/backlog-summary-shape.js → generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-work-summary-shape.js} +7 -19
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/delivery-continuation/service.js +5 -66
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/persistence.js +26 -8
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/state-adapter.js +1 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/index.js +14 -6
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog.js +3 -3
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/interaction-presentation.js +29 -11
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-hints.js +46 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-resolution.js +98 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-schema.js +15 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-resource-contract.js +1 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/mcp-tool-errors.js +31 -15
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/owned-file-lock.js +266 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/owner-placement.js +50 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/canonical-init-plan.js +34 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/configuration.js +92 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/context.js +7 -11
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/language-preference.js +59 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/runtime/mcp-owner-protocol.js +102 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/runtime/plugin-provenance.js +173 -18
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/compact-continuation.js +3 -3
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/contract.js +28 -9
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-intake.js +11 -5
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +6 -10
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/mcp-continuation.js +64 -0
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/prd-definition.js +14 -5
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/sd-definition.js +2 -1
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/service.js +49 -14
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/tp-definition.js +2 -1
- package/generated/plugins/agdf/runtime/runtime-manifest.json +2 -2
- package/generated/plugins/agdf/scripts/check-runtime-integrity.mjs +60 -42
- package/generated/plugins/agdf/scripts/instruction-footprint.mjs +5 -5
- package/generated/plugins/agdf/skills/brownfield-analysis/SKILL.md +8 -5
- package/generated/plugins/agdf/skills/clean-implementation-review/SKILL.md +3 -2
- package/generated/plugins/agdf/skills/code-review/SKILL.md +5 -3
- package/generated/plugins/agdf/skills/delivery-closeout/SKILL.md +3 -2
- package/generated/plugins/agdf/skills/delivery-path-search/SKILL.md +3 -2
- package/generated/plugins/agdf/skills/gate-check/SKILL.md +35 -31
- package/generated/plugins/agdf/skills/prd-definition/SKILL.md +3 -2
- package/generated/plugins/agdf/skills/qa-gate/SKILL.md +3 -2
- package/generated/plugins/agdf/skills/release-or/SKILL.md +8 -5
- package/generated/plugins/agdf/skills/sd-definition/SKILL.md +3 -2
- package/generated/plugins/agdf/skills/task-plan-review/SKILL.md +3 -2
- package/generated/plugins/agdf/skills/tp-definition/SKILL.md +3 -2
- package/generated/plugins/agdf/skills/ur-definition/SKILL.md +12 -4
- package/generated/plugins/agdf/skills/ux-intent-definition/SKILL.md +5 -4
- package/generated/plugins/agdf/submission/openai/availability.md +1 -1
- package/generated/plugins/agdf/submission/openai/capability-matrix.json +1 -1
- package/generated/plugins/agdf/submission/openai/release-notes.md +9 -1
- package/generated/plugins/agdf/submission/openai/reviewer-cases.json +1 -1
- package/generated/plugins/agdf-planning/.codex-plugin/plugin.json +40 -0
- package/generated/plugins/agdf-planning/README.md +21 -0
- package/generated/plugins/agdf-planning/assets/agdf-icon.svg +16 -0
- package/generated/plugins/agdf-planning/assets/agdf-logo.svg +16 -0
- package/generated/plugins/agdf-planning/meta/agdf-planning.definition.json +9 -0
- package/generated/plugins/agdf-planning/plugin.json +45 -0
- package/generated/plugins/agdf-planning/skills/planning/SKILL.md +56 -0
- package/generated/plugins/copilot/agdf/.agdf-payload-inventory.json +878 -475
- package/generated/plugins/copilot/agdf/control/README.md +31 -110
- package/generated/plugins/copilot/agdf/control/planned-urs.md +95 -0
- package/generated/plugins/copilot/agdf/control/templates/RUN_STATE.md +15 -64
- package/generated/plugins/copilot/agdf/control/templates/artefacts/UR.md +1 -1
- package/generated/plugins/copilot/agdf/mcp/server/README.md +119 -7
- package/generated/plugins/copilot/agdf/mcp/server/package.json +12 -7
- package/generated/plugins/copilot/agdf/mcp/server/src/generation-entry.js +3 -85
- package/generated/plugins/copilot/agdf/mcp/server/src/generation-protocol.js +2 -44
- package/generated/plugins/copilot/agdf/mcp/server/src/generation-runtime.js +94 -0
- package/generated/plugins/copilot/agdf/mcp/server/src/generation-thread-entry.js +8 -0
- package/generated/plugins/copilot/agdf/mcp/server/src/generation.js +64 -20
- package/generated/plugins/copilot/agdf/mcp/server/src/main.js +42 -10
- package/generated/plugins/copilot/agdf/mcp/server/src/server.js +24 -15
- package/generated/plugins/copilot/agdf/mcp/server/src/stdio-output.js +42 -0
- package/generated/plugins/copilot/agdf/mcp/server/src/worker-entry.js +2 -2
- package/generated/plugins/copilot/agdf/mcp/server/src/worker.js +53 -7
- package/generated/plugins/copilot/agdf/meta/agdf-agent-router.md +3 -3
- package/generated/plugins/copilot/agdf/meta/agdf-plugin.definition.json +8 -3
- package/generated/plugins/copilot/agdf/meta/distribution-profile-history.json +7 -0
- package/generated/plugins/copilot/agdf/plugin.json +1 -1
- package/generated/plugins/copilot/agdf/runtime/agdf-session-check.js +25 -21
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.json +9 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-defaults.schema.json +20 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-interaction-locales.json +2668 -2682
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/agdf-plugin.definition.json +8 -3
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/closeout.md +1 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/control-scaffold.md +63 -46
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-artifact-preparation.md +58 -48
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/gate-transition.md +5 -6
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/interaction.md +43 -126
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/modes.md +4 -3
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/prd-definition.md +6 -6
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/quality.md +10 -2
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/request-activation.md +9 -8
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/sd-definition.md +3 -3
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/task-target-resolution.md +24 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/tp-definition.md +1 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/generated/plugins/agdf/meta/contracts/ur-definition.md +41 -7
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/codex-document-command.js +195 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/command-registry.js +82 -148
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/control-maintenance-command.js +8 -37
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/parse-args.js +98 -16
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/planned-command.js +55 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/project-read-command.js +35 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/run-command-aliases.js +116 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/runtime-context.js +1 -59
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/cli/validation-handlers.js +33 -103
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-evaluation/git-observation.js +7 -5
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/startup.js +2 -2
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-decision-protocol.js +40 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-dispatch-runtime.js +71 -306
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-entry.js +3 -24
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-owner-entry.js +31 -15
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-runtime.js +29 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/facade-thread-entry.js +11 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/owner-client.js +79 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/package.js +14 -80
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/plugin-runtime.js +29 -9
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-lifecycle/thread-owner.js +164 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-owner-protocol.js +1 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-protocol-runtime.js +308 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/mcp-worker-runtime.js +152 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/control-command-service.js +22 -7
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/control-context.js +8 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/runtime/validator-application.js +2 -2
- package/generated/plugins/copilot/agdf/runtime/create-agdf/package.json +5 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/closeout-readiness.js +10 -2
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-placeholder.js +9 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/decision-content-readiness.js +2 -7
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/definition-sources.js +3 -2
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/delivery-map.js +2 -12
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/doctor.js +162 -172
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-check.js +10 -9
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-inputs.js +11 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy-pure.js +446 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/gate-policy.js +3 -434
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/next-action.js +2 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/parent-reconciliation.js +2 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/qa-follow-up.js +2 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/required-files.js +9 -7
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state-policy.js +1 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-state.js +15 -9
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-step-policy.js +2 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/run-work-summary.js +6 -4
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared-value.js +7 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/shared.js +5 -254
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/tp-planning.js +3 -2
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/ur-readiness.js +7 -2
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/verified-change.js +11 -9
- package/generated/plugins/{agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/backlog-vocabulary.js → copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/work-vocabulary.js} +2 -2
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/artifact-readiness.js +5 -3
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/authoring-inputs.js +110 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-archive.js +53 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/contract.js +124 -32
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/doctor-observation.js +91 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-operation-call.js +5 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/project-state.js +48 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/result.js +61 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/selection.js +9 -3
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/service.js +119 -67
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/compatibility.js +42 -132
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/contract.js +5 -5
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/presentation.js +27 -119
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/service.js +9 -37
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/cockpit-pool.js +121 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-reader.js +92 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/doctor-worker.js +11 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/fs.js +18 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-read/snapshot.js +68 -17
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/aggregate.js +3 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-command.js +13 -10
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/approval-operations.js +10 -7
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-binding-proof.js +12 -20
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/artefact-bindings.js +10 -7
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/canonical-initialization.js +761 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/control-layout.js +183 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/decision-material-contract.js +2 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/evidence-bindings.js +7 -7
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/git-identity.js +86 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/index.js +0 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/input-resolution.js +99 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-entry.js +273 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-handoff.js +174 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-inventory.js +90 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin-reader.js +48 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/planned-origin.js +40 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-decision.js +12 -7
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/presentation-delivery.js +90 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-render.js +5 -2
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-review.js +3 -2
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/preview-snapshot.js +9 -6
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/recording-formats.js +12 -16
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-artefact-recording.js +54 -66
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-closure.js +343 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-contract.js +33 -250
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-schema.js +508 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-command-service.js +198 -34
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-create-command.js +60 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.d.ts +14 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-identity.js +40 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-input-resolution.js +72 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory-reader.js +31 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-inventory.js +179 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-material.js +211 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-mutation.js +51 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-identity.js +2 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-proof.js +7 -4
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operation-status.js +20 -4
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-operations.js +70 -13
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-owned-outputs.js +21 -9
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-envelope.js +25 -33
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation-render.js +8 -7
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-presentation.js +45 -21
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recording.js +10 -179
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-boundary.js +7 -21
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision-history.js +23 -16
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-revision.js +84 -161
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal-compute.js +19 -44
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-seal.js +6 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-source-revisions.js +19 -18
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-document.js +110 -42
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-edits.js +13 -5
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-parser.js +14 -6
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-reader.js +27 -18
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-repository.js +112 -48
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-resolver.js +12 -15
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-state-writer.js +21 -377
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-pending.js +2 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-step-transaction.js +125 -114
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-steps.js +136 -248
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-store-inspection.js +14 -2
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-verified-change.js +81 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-work-summary-shape.d.ts +1 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/{backlog-summary-shape.js → run-work-summary-shape.js} +7 -19
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/delivery-continuation/service.js +5 -66
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/persistence.js +26 -8
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/delivery-path-search/state-adapter.js +1 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/index.js +14 -6
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/interaction-catalog.js +3 -3
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/interaction-presentation.js +29 -11
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-hints.js +46 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-resolution.js +98 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-input-schema.js +15 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-resource-contract.js +1 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/mcp-tool-errors.js +31 -15
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/owned-file-lock.js +266 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/owner-placement.js +50 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/canonical-init-plan.js +34 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/configuration.js +92 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/context.js +7 -11
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/resources/language-preference.js +59 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/runtime/mcp-owner-protocol.js +102 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/runtime/plugin-provenance.js +173 -18
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/compact-continuation.js +3 -3
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/contract.js +28 -9
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-intake.js +11 -5
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +6 -10
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/mcp-continuation.js +64 -0
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/prd-definition.js +14 -5
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/sd-definition.js +2 -1
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/service.js +49 -14
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/tp-definition.js +2 -1
- package/generated/plugins/copilot/agdf/runtime/runtime-manifest.json +2 -2
- package/generated/plugins/copilot/agdf/skills/agdf-brownfield-analysis/SKILL.md +8 -5
- package/generated/plugins/copilot/agdf/skills/agdf-clean-implementation-review/SKILL.md +3 -2
- package/generated/plugins/copilot/agdf/skills/agdf-code-review/SKILL.md +5 -3
- package/generated/plugins/copilot/agdf/skills/agdf-delivery-closeout/SKILL.md +3 -2
- package/generated/plugins/copilot/agdf/skills/agdf-delivery-path-search/SKILL.md +3 -2
- package/generated/plugins/copilot/agdf/skills/agdf-gate-check/SKILL.md +35 -31
- package/generated/plugins/copilot/agdf/skills/agdf-interaction-locales.json +1 -1
- package/generated/plugins/copilot/agdf/skills/agdf-prd-definition/SKILL.md +3 -2
- package/generated/plugins/copilot/agdf/skills/agdf-qa-gate/SKILL.md +3 -2
- package/generated/plugins/copilot/agdf/skills/agdf-release-or/SKILL.md +8 -5
- package/generated/plugins/copilot/agdf/skills/agdf-sd-definition/SKILL.md +3 -2
- package/generated/plugins/copilot/agdf/skills/agdf-task-plan-review/SKILL.md +3 -2
- package/generated/plugins/copilot/agdf/skills/agdf-tp-definition/SKILL.md +3 -2
- package/generated/plugins/copilot/agdf/skills/agdf-ur-definition/SKILL.md +12 -4
- package/generated/plugins/copilot/agdf/skills/agdf-ux-intent-definition/SKILL.md +5 -4
- package/generated/plugins/copilot/agdf/skills/contracts/closeout.md +1 -1
- package/generated/plugins/copilot/agdf/skills/contracts/control-scaffold.md +63 -46
- package/generated/plugins/copilot/agdf/skills/contracts/gate-artifact-preparation.md +58 -48
- package/generated/plugins/copilot/agdf/skills/contracts/gate-transition.md +5 -6
- package/generated/plugins/copilot/agdf/skills/contracts/interaction.md +43 -126
- package/generated/plugins/copilot/agdf/skills/contracts/modes.md +4 -3
- package/generated/plugins/copilot/agdf/skills/contracts/prd-definition.md +6 -6
- package/generated/plugins/copilot/agdf/skills/contracts/quality.md +10 -2
- package/generated/plugins/copilot/agdf/skills/contracts/request-activation.md +9 -8
- package/generated/plugins/copilot/agdf/skills/contracts/sd-definition.md +3 -3
- package/generated/plugins/copilot/agdf/skills/contracts/task-target-resolution.md +24 -0
- package/generated/plugins/copilot/agdf/skills/contracts/tp-definition.md +1 -1
- package/generated/plugins/copilot/agdf/skills/contracts/ur-definition.md +41 -7
- package/generated/submissions/openai/agdf/.codex-plugin/plugin.json +1 -1
- package/generated/submissions/openai/agdf/meta/agdf-agent-router.md +3 -3
- package/generated/submissions/openai/agdf/meta/agdf-defaults.json +9 -0
- package/generated/submissions/openai/agdf/meta/agdf-defaults.schema.json +20 -0
- package/generated/submissions/openai/agdf/meta/agdf-interaction-locales.json +2668 -2682
- package/generated/submissions/openai/agdf/meta/agdf-plugin.definition.json +8 -3
- package/generated/submissions/openai/agdf/meta/contracts/closeout.md +1 -1
- package/generated/submissions/openai/agdf/meta/contracts/control-scaffold.md +63 -46
- package/generated/submissions/openai/agdf/meta/contracts/gate-artifact-preparation.md +58 -48
- package/generated/submissions/openai/agdf/meta/contracts/gate-transition.md +5 -6
- package/generated/submissions/openai/agdf/meta/contracts/interaction.md +43 -126
- package/generated/submissions/openai/agdf/meta/contracts/modes.md +4 -3
- package/generated/submissions/openai/agdf/meta/contracts/prd-definition.md +6 -6
- package/generated/submissions/openai/agdf/meta/contracts/quality.md +10 -2
- package/generated/submissions/openai/agdf/meta/contracts/request-activation.md +9 -8
- package/generated/submissions/openai/agdf/meta/contracts/sd-definition.md +3 -3
- package/generated/submissions/openai/agdf/meta/contracts/task-target-resolution.md +24 -0
- package/generated/submissions/openai/agdf/meta/contracts/tp-definition.md +1 -1
- package/generated/submissions/openai/agdf/meta/contracts/ur-definition.md +41 -7
- package/generated/submissions/openai/agdf/meta/copilot-payload-baseline.json +3 -3
- package/generated/submissions/openai/agdf/meta/distribution-profile-history.json +7 -0
- package/generated/submissions/openai/agdf/plugin.json +1 -1
- package/generated/submissions/openai/agdf/skills/brownfield-analysis/SKILL.md +8 -5
- package/generated/submissions/openai/agdf/skills/clean-implementation-review/SKILL.md +3 -2
- package/generated/submissions/openai/agdf/skills/code-review/SKILL.md +5 -3
- package/generated/submissions/openai/agdf/skills/delivery-closeout/SKILL.md +3 -2
- package/generated/submissions/openai/agdf/skills/delivery-path-search/SKILL.md +3 -2
- package/generated/submissions/openai/agdf/skills/gate-check/SKILL.md +35 -31
- package/generated/submissions/openai/agdf/skills/prd-definition/SKILL.md +3 -2
- package/generated/submissions/openai/agdf/skills/qa-gate/SKILL.md +3 -2
- package/generated/submissions/openai/agdf/skills/release-or/SKILL.md +8 -5
- package/generated/submissions/openai/agdf/skills/sd-definition/SKILL.md +3 -2
- package/generated/submissions/openai/agdf/skills/task-plan-review/SKILL.md +3 -2
- package/generated/submissions/openai/agdf/skills/tp-definition/SKILL.md +3 -2
- package/generated/submissions/openai/agdf/skills/ur-definition/SKILL.md +12 -4
- package/generated/submissions/openai/agdf/skills/ux-intent-definition/SKILL.md +5 -4
- package/generated/submissions/openai/agdf/submission/openai/availability.md +1 -1
- package/generated/submissions/openai/agdf/submission/openai/capability-matrix.json +1 -1
- package/generated/submissions/openai/agdf/submission/openai/inventory.json +49 -41
- package/generated/submissions/openai/agdf/submission/openai/listing.json +1 -1
- package/generated/submissions/openai/agdf/submission/openai/readiness.json +2 -2
- package/generated/submissions/openai/agdf/submission/openai/readiness.md +2 -2
- package/generated/submissions/openai/agdf/submission/openai/release-notes.md +9 -1
- package/generated/submissions/openai/agdf/submission/openai/reviewer-cases.json +1 -1
- package/lib/cli/application.js +31 -43
- package/lib/cli/codex-document-command.js +195 -0
- package/lib/cli/command-registry.js +82 -148
- package/lib/cli/control-maintenance-command.js +8 -37
- package/lib/cli/parse-args.js +98 -16
- package/lib/cli/planned-command.js +55 -0
- package/lib/cli/project-init-command.js +21 -0
- package/lib/cli/project-read-command.js +35 -0
- package/lib/cli/run-command-aliases.js +116 -0
- package/lib/cli/runtime-context.js +1 -59
- package/lib/cli/validation-handlers.js +33 -103
- package/lib/control-evaluation/git-observation.js +7 -5
- package/lib/control-maintenance/startup.js +2 -2
- package/lib/host-adapters/codex/plugin.js +48 -1
- package/lib/install-setup/contract.js +4 -4
- package/lib/install-setup/{control-migration.js → control-compatibility.js} +1 -2
- package/lib/install-setup/interaction.js +0 -1
- package/lib/install-setup/presentation.js +3 -4
- package/lib/install-setup/service.js +5 -18
- package/lib/installers/local-marketplace.js +262 -8
- package/lib/lifecycle/codex-startup-status.js +29 -0
- package/lib/lifecycle/presentation.js +6 -0
- package/lib/mcp-decision-protocol.js +40 -0
- package/lib/mcp-dispatch-runtime.js +71 -306
- package/lib/mcp-lifecycle/adapters/codex-origin-probe.js +28 -4
- package/lib/mcp-lifecycle/evidence.js +2 -1
- package/lib/mcp-lifecycle/facade-entry.js +3 -24
- package/lib/mcp-lifecycle/facade-owner-entry.js +31 -15
- package/lib/mcp-lifecycle/facade-runtime.js +29 -0
- package/lib/mcp-lifecycle/facade-thread-entry.js +11 -0
- package/lib/mcp-lifecycle/owner-client.js +79 -0
- package/lib/mcp-lifecycle/package.js +14 -80
- package/lib/mcp-lifecycle/plugin-runtime.js +29 -9
- package/lib/mcp-lifecycle/service.js +5 -4
- package/lib/mcp-lifecycle/thread-owner.js +164 -0
- package/lib/mcp-owner-protocol.js +1 -0
- package/lib/mcp-protocol-runtime.js +308 -0
- package/lib/mcp-worker-runtime.js +152 -0
- package/lib/runtime/control-command-service.js +22 -7
- package/lib/runtime/control-context.js +8 -1
- package/lib/runtime/validator-application.js +2 -2
- package/lib/scaffold/canonical-init.js +2 -691
- package/lib/scaffold/plan.js +9 -32
- package/lib/scaffold/presentation.js +2 -2
- package/lib/scaffold/write.js +6 -1
- package/package.json +6 -2
- package/runtime/core/lib/control-evaluation/closeout-readiness.js +10 -2
- package/runtime/core/lib/control-evaluation/decision-content-placeholder.js +9 -0
- package/runtime/core/lib/control-evaluation/decision-content-readiness.js +2 -7
- package/runtime/core/lib/control-evaluation/definition-sources.js +3 -2
- package/runtime/core/lib/control-evaluation/delivery-map.js +2 -12
- package/runtime/core/lib/control-evaluation/doctor.js +162 -172
- package/runtime/core/lib/control-evaluation/gate-check.js +10 -9
- package/runtime/core/lib/control-evaluation/gate-policy-inputs.js +11 -0
- package/runtime/core/lib/control-evaluation/gate-policy-pure.js +446 -0
- package/runtime/core/lib/control-evaluation/gate-policy.js +3 -434
- package/runtime/core/lib/control-evaluation/next-action.js +2 -0
- package/runtime/core/lib/control-evaluation/parent-reconciliation.js +2 -1
- package/runtime/core/lib/control-evaluation/qa-follow-up.js +2 -1
- package/runtime/core/lib/control-evaluation/required-files.js +9 -7
- package/runtime/core/lib/control-evaluation/run-state-policy.js +1 -1
- package/runtime/core/lib/control-evaluation/run-state.js +15 -9
- package/runtime/core/lib/control-evaluation/run-step-policy.js +2 -1
- package/runtime/core/lib/control-evaluation/run-work-summary.js +6 -4
- package/runtime/core/lib/control-evaluation/shared-value.js +7 -0
- package/runtime/core/lib/control-evaluation/shared.js +5 -254
- package/runtime/core/lib/control-evaluation/tp-planning.js +3 -2
- package/runtime/core/lib/control-evaluation/ur-readiness.js +7 -2
- package/runtime/core/lib/control-evaluation/verified-change.js +11 -9
- package/{generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-evaluation/backlog-vocabulary.js → runtime/core/lib/control-evaluation/work-vocabulary.js} +2 -2
- package/runtime/core/lib/control-inspect/artifact-readiness.js +5 -3
- package/runtime/core/lib/control-inspect/authoring-inputs.js +110 -0
- package/runtime/core/lib/control-inspect/cockpit-archive.js +53 -0
- package/runtime/core/lib/control-inspect/cockpit-context.js +2 -1
- package/runtime/core/lib/control-inspect/cockpit-contract.js +11 -4
- package/runtime/core/lib/control-inspect/cockpit-list.d.ts +10 -6
- package/runtime/core/lib/control-inspect/cockpit-list.js +32 -41
- package/runtime/core/lib/control-inspect/cockpit-session.js +8 -8
- package/runtime/core/lib/control-inspect/cockpit-work.js +33 -0
- package/runtime/core/lib/control-inspect/cockpit.js +75 -44
- package/runtime/core/lib/control-inspect/contract.js +124 -32
- package/runtime/core/lib/control-inspect/decision-session.js +53 -11
- package/runtime/core/lib/control-inspect/doctor-observation.js +91 -0
- package/runtime/core/lib/control-inspect/project-operation-call.js +5 -0
- package/runtime/core/lib/control-inspect/project-state.js +48 -0
- package/runtime/core/lib/control-inspect/result.js +61 -0
- package/runtime/core/lib/control-inspect/selection.js +9 -3
- package/runtime/core/lib/control-inspect/service.js +119 -67
- package/runtime/core/lib/control-maintenance/compatibility.js +42 -132
- package/runtime/core/lib/control-maintenance/contract.js +5 -5
- package/runtime/core/lib/control-maintenance/presentation.js +27 -119
- package/runtime/core/lib/control-maintenance/service.js +9 -37
- package/runtime/core/lib/control-read/cockpit-pool.js +25 -9
- package/runtime/core/lib/control-read/cockpit-worker.js +4 -3
- package/runtime/core/lib/control-read/doctor-reader.js +92 -0
- package/runtime/core/lib/control-read/doctor-worker.js +11 -0
- package/runtime/core/lib/control-read/fs.js +18 -0
- package/runtime/core/lib/control-read/snapshot.js +68 -17
- package/runtime/core/lib/control-state/aggregate.js +3 -1
- package/runtime/core/lib/control-state/approval-command.js +13 -10
- package/runtime/core/lib/control-state/approval-operations.js +10 -7
- package/runtime/core/lib/control-state/artefact-binding-proof.js +12 -20
- package/runtime/core/lib/control-state/artefact-bindings.js +10 -7
- package/runtime/core/lib/control-state/canonical-initialization.js +761 -0
- package/runtime/core/lib/control-state/control-layout.js +183 -0
- package/runtime/core/lib/control-state/decision-action-contract.js +10 -1
- package/runtime/core/lib/control-state/decision-action-service.js +24 -3
- package/runtime/core/lib/control-state/decision-material-contract.js +2 -1
- package/runtime/core/lib/control-state/evidence-bindings.js +7 -7
- package/runtime/core/lib/control-state/git-identity.js +86 -0
- package/runtime/core/lib/control-state/index.js +0 -1
- package/runtime/core/lib/control-state/input-resolution.js +99 -0
- package/runtime/core/lib/control-state/planned-entry.js +273 -0
- package/runtime/core/lib/control-state/planned-handoff.js +174 -0
- package/runtime/core/lib/control-state/planned-inventory.js +90 -0
- package/runtime/core/lib/control-state/planned-origin-reader.js +48 -0
- package/runtime/core/lib/control-state/planned-origin.js +40 -0
- package/runtime/core/lib/control-state/presentation-decision.js +12 -7
- package/runtime/core/lib/control-state/presentation-delivery.js +90 -0
- package/runtime/core/lib/control-state/preview-render.js +5 -2
- package/runtime/core/lib/control-state/preview-review.js +3 -2
- package/runtime/core/lib/control-state/preview-snapshot.js +9 -6
- package/runtime/core/lib/control-state/recording-formats.js +12 -16
- package/runtime/core/lib/control-state/run-artefact-recording.js +54 -66
- package/runtime/core/lib/control-state/run-closure.js +343 -0
- package/runtime/core/lib/control-state/run-command-contract.js +33 -250
- package/runtime/core/lib/control-state/run-command-schema.js +508 -0
- package/runtime/core/lib/control-state/run-command-service.js +198 -34
- package/runtime/core/lib/control-state/run-create-command.js +60 -0
- package/runtime/core/lib/control-state/run-identity.d.ts +14 -0
- package/runtime/core/lib/control-state/run-identity.js +40 -0
- package/runtime/core/lib/control-state/run-input-resolution.js +72 -0
- package/runtime/core/lib/control-state/run-inventory-reader.js +31 -0
- package/runtime/core/lib/control-state/run-inventory.js +179 -0
- package/runtime/core/lib/control-state/run-material.js +211 -0
- package/runtime/core/lib/control-state/run-mutation.js +51 -0
- package/runtime/core/lib/control-state/run-operation-identity.js +2 -1
- package/runtime/core/lib/control-state/run-operation-proof.js +7 -4
- package/runtime/core/lib/control-state/run-operation-status.js +20 -4
- package/runtime/core/lib/control-state/run-operations.js +70 -13
- package/runtime/core/lib/control-state/run-owned-outputs.js +21 -9
- package/runtime/core/lib/control-state/run-presentation-envelope.js +25 -33
- package/runtime/core/lib/control-state/run-presentation-render.js +8 -7
- package/runtime/core/lib/control-state/run-presentation.js +45 -21
- package/runtime/core/lib/control-state/run-recording.js +10 -179
- package/runtime/core/lib/control-state/run-revision-boundary.js +7 -21
- package/runtime/core/lib/control-state/run-revision-history.js +23 -16
- package/runtime/core/lib/control-state/run-revision.js +84 -161
- package/runtime/core/lib/control-state/run-seal-compute.js +19 -44
- package/runtime/core/lib/control-state/run-seal.js +6 -1
- package/runtime/core/lib/control-state/run-source-revisions.js +19 -18
- package/runtime/core/lib/control-state/run-state-document.js +110 -42
- package/runtime/core/lib/control-state/run-state-edits.js +13 -5
- package/runtime/core/lib/control-state/run-state-parser.js +14 -6
- package/runtime/core/lib/control-state/run-state-reader.js +27 -18
- package/runtime/core/lib/control-state/run-state-repository.js +112 -48
- package/runtime/core/lib/control-state/run-state-resolver.js +12 -15
- package/runtime/core/lib/control-state/run-state-writer.js +21 -377
- package/runtime/core/lib/control-state/run-step-pending.js +2 -1
- package/runtime/core/lib/control-state/run-step-transaction.js +125 -114
- package/runtime/core/lib/control-state/run-steps.js +136 -248
- package/runtime/core/lib/control-state/run-store-inspection.js +14 -2
- package/runtime/core/lib/control-state/run-verified-change.js +81 -0
- package/runtime/core/lib/control-state/run-work-summary-shape.d.ts +1 -0
- package/{generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.js → runtime/core/lib/control-state/run-work-summary-shape.js} +7 -19
- package/runtime/core/lib/delivery-continuation/service.js +5 -66
- package/runtime/core/lib/delivery-path-search/persistence.js +26 -8
- package/runtime/core/lib/delivery-path-search/state-adapter.js +1 -1
- package/runtime/core/lib/index.js +14 -6
- package/runtime/core/lib/interaction-catalog.js +3 -3
- package/runtime/core/lib/interaction-presentation.js +29 -11
- package/runtime/core/lib/mcp-input-hints.js +46 -0
- package/runtime/core/lib/mcp-input-resolution.js +98 -0
- package/runtime/core/lib/mcp-input-schema.js +15 -0
- package/runtime/core/lib/mcp-resource-contract.js +1 -1
- package/runtime/core/lib/mcp-tool-errors.js +31 -15
- package/runtime/core/lib/owned-file-lock.js +266 -0
- package/runtime/core/lib/owner-placement.js +50 -0
- package/runtime/core/lib/resources/canonical-init-plan.js +34 -0
- package/runtime/core/lib/resources/configuration.js +92 -0
- package/runtime/core/lib/resources/context.js +7 -11
- package/runtime/core/lib/resources/language-preference.js +59 -0
- package/runtime/core/lib/runtime/mcp-owner-protocol.js +102 -0
- package/runtime/core/lib/runtime/plugin-provenance.js +173 -18
- package/runtime/core/lib/skill-dispatch/compact-continuation.js +3 -3
- package/runtime/core/lib/skill-dispatch/contract.js +28 -9
- package/runtime/core/lib/skill-dispatch/delivery-intake.js +11 -5
- package/runtime/core/lib/skill-dispatch/delivery-run-assignment.js +6 -10
- package/runtime/core/lib/skill-dispatch/mcp-continuation.js +64 -0
- package/runtime/core/lib/skill-dispatch/prd-definition.js +14 -5
- package/runtime/core/lib/skill-dispatch/sd-definition.js +2 -1
- package/runtime/core/lib/skill-dispatch/service.js +49 -14
- package/runtime/core/lib/skill-dispatch/tp-definition.js +2 -1
- package/generated/.agdf/control/templates/AGDF_RUN.md +0 -139
- package/generated/.agdf/control/templates/MASTER_BACKLOG.md +0 -39
- package/generated/plugins/agdf/control/templates/AGDF_RUN.md +0 -139
- package/generated/plugins/agdf/control/templates/MASTER_BACKLOG.md +0 -39
- package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/interaction.js +0 -28
- package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/repair.js +0 -4
- package/generated/plugins/agdf/runtime/create-agdf/lib/control-maintenance/service.js +0 -3
- package/generated/plugins/agdf/runtime/create-agdf/lib/control-state/run-recovery.js +0 -5
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-inspect/cockpit-backlog.js +0 -135
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/interaction.js +0 -57
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/migration.js +0 -85
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/repair.js +0 -226
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.d.ts +0 -4
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary.js +0 -67
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-migration.js +0 -69
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-projection-reader.js +0 -38
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog-writer.js +0 -80
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog.js +0 -90
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recovery.js +0 -296
- package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-relationship-correction.js +0 -74
- package/generated/plugins/copilot/agdf/control/templates/AGDF_RUN.md +0 -139
- package/generated/plugins/copilot/agdf/control/templates/MASTER_BACKLOG.md +0 -39
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/interaction.js +0 -28
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/repair.js +0 -4
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-maintenance/service.js +0 -3
- package/generated/plugins/copilot/agdf/runtime/create-agdf/lib/control-state/run-recovery.js +0 -5
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/interaction.js +0 -57
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/migration.js +0 -85
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-maintenance/repair.js +0 -226
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary-shape.d.ts +0 -4
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/backlog-summary.js +0 -67
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-migration.js +0 -69
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/legacy-projection-reader.js +0 -38
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog-writer.js +0 -80
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-backlog.js +0 -90
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-recovery.js +0 -296
- package/generated/plugins/copilot/agdf/runtime/create-agdf/runtime/core/lib/control-state/run-relationship-correction.js +0 -74
- package/lib/control-maintenance/interaction.js +0 -28
- package/lib/control-maintenance/repair.js +0 -4
- package/lib/control-maintenance/service.js +0 -3
- package/lib/control-state/run-recovery.js +0 -5
- package/lib/install-setup/control-repair.js +0 -1
- package/runtime/core/lib/control-inspect/cockpit-backlog.js +0 -135
- package/runtime/core/lib/control-maintenance/interaction.js +0 -57
- package/runtime/core/lib/control-maintenance/migration.js +0 -85
- package/runtime/core/lib/control-maintenance/repair.js +0 -226
- package/runtime/core/lib/control-state/backlog-summary-shape.d.ts +0 -4
- package/runtime/core/lib/control-state/backlog-summary.js +0 -67
- package/runtime/core/lib/control-state/legacy-migration.js +0 -69
- package/runtime/core/lib/control-state/legacy-projection-reader.js +0 -38
- package/runtime/core/lib/control-state/run-backlog-writer.js +0 -80
- package/runtime/core/lib/control-state/run-backlog.js +0 -90
- package/runtime/core/lib/control-state/run-recovery.js +0 -296
- package/runtime/core/lib/control-state/run-relationship-correction.js +0 -74
package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/resources/language-preference.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { CURRENT_LAYOUT } from '../control-state/run-identity.js';
|
|
2
|
+
import process from "node:process";
|
|
3
|
+
import { canonicalizeLanguageTag } from "../interaction-presentation.js";
|
|
4
|
+
import { configuredLanguage, resources } from "./context.js";
|
|
5
|
+
|
|
6
|
+
export function canonicalizeDetectedSystemLocale(value) {
|
|
7
|
+
if (typeof value !== "string") return "";
|
|
8
|
+
const candidate = value.trim().split(":", 1)[0];
|
|
9
|
+
if (!candidate || /^(?:C|POSIX)(?:\.|$)/iu.test(candidate)) return "";
|
|
10
|
+
const withoutModifier = candidate.split("@", 1)[0];
|
|
11
|
+
const withoutEncoding = withoutModifier.split(".", 1)[0];
|
|
12
|
+
return canonicalizeLanguageTag(withoutEncoding.replaceAll("_", "-"));
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function detectSystemLocale(env = process.env) {
|
|
16
|
+
const envLocale = env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE || "";
|
|
17
|
+
if (envLocale) return envLocale;
|
|
18
|
+
try {
|
|
19
|
+
return Intl.DateTimeFormat().resolvedOptions().locale || "";
|
|
20
|
+
} catch {
|
|
21
|
+
return "";
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function resolveLanguagePreference(explicitLanguage, env = process.env, context = resources) {
|
|
26
|
+
const explicit = configuredLanguage(explicitLanguage, context);
|
|
27
|
+
if (explicit) {
|
|
28
|
+
return {
|
|
29
|
+
artifact_language: explicit,
|
|
30
|
+
chat_language: explicit,
|
|
31
|
+
runtime_language: "en",
|
|
32
|
+
source: "parameter",
|
|
33
|
+
detected_locale: detectSystemLocale(env) || "unknown",
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const detectedLocale = detectSystemLocale(env);
|
|
38
|
+
const detectedTag = canonicalizeDetectedSystemLocale(detectedLocale);
|
|
39
|
+
const detected = configuredLanguage(detectedTag, context);
|
|
40
|
+
return {
|
|
41
|
+
artifact_language: detected || context.defaults.document.preferences.artifact_language,
|
|
42
|
+
chat_language: detected || context.defaults.document.preferences.chat_language,
|
|
43
|
+
runtime_language: "en",
|
|
44
|
+
source: detectedLocale ? "system_locale" : "default",
|
|
45
|
+
detected_locale: detectedLocale || "unknown",
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function languageConfigContent(languagePreference, existing = { control_layout: CURRENT_LAYOUT }) {
|
|
50
|
+
return `${JSON.stringify({
|
|
51
|
+
...existing,
|
|
52
|
+
...languagePreference,
|
|
53
|
+
artifact_language: languagePreference.artifact_language,
|
|
54
|
+
chat_language: languagePreference.chat_language,
|
|
55
|
+
runtime_language: languagePreference.runtime_language,
|
|
56
|
+
source: languagePreference.source,
|
|
57
|
+
detected_locale: languagePreference.detected_locale,
|
|
58
|
+
}, null, 2)}\n`;
|
|
59
|
+
}
|
package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/runtime/mcp-owner-protocol.js
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
export const GENERATION_LIMITS = Object.freeze({ slots: 3, input: 65536, result: 1048576, qualify: 30000, close: 10000, receipts: 256, routes: 4096 });
|
|
3
|
+
const uuid = value => typeof value === 'string' && /^[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}$/u.test(value);
|
|
4
|
+
const fields = ['schema_version', 'owner_epoch', 'generation_id', 'request_id', 'kind', 'original_operation_id', 'payload', 'context'];
|
|
5
|
+
export function validGenerationMessage(value, { epoch, generation, reply = false } = {}) {
|
|
6
|
+
if (!finiteJson(value) || !value || typeof value !== 'object' || Array.isArray(value) || Object.keys(value).sort().join() !== [...fields].sort().join()
|
|
7
|
+
|| value.schema_version !== '1' || value.owner_epoch !== epoch || value.generation_id !== generation
|
|
8
|
+
|| !uuid(value.request_id) || !(value.original_operation_id === null || uuid(value.original_operation_id))
|
|
9
|
+
|| !Number.isSafeInteger(value.generation_id) || value.generation_id < 1
|
|
10
|
+
|| !(reply ? ['qualified', 'result', 'status', 'closed', 'failure'] : ['qualify', 'invoke', 'session_inspect', 'shutdown']).includes(value.kind)
|
|
11
|
+
|| !value.context || typeof value.context !== 'object' || Array.isArray(value.context)) return false;
|
|
12
|
+
if (['status', 'closed'].includes(value.kind) && (!value.payload || !['views', 'inflight', 'executor', 'uncertain'].every(key =>
|
|
13
|
+
Number.isSafeInteger(value.payload[key]) && value.payload[key] >= 0) || typeof value.payload.closing !== 'boolean' || value.kind === 'closed' && value.payload.closing !== true)) return false;
|
|
14
|
+
try { return Buffer.byteLength(JSON.stringify(value)) <= (reply ? GENERATION_LIMITS.result : GENERATION_LIMITS.input); } catch { return false; }
|
|
15
|
+
}
|
|
16
|
+
export function generationMessage(epoch, generation, kind, payload, context = {}, original = null, requestId) {
|
|
17
|
+
return JSON.parse(JSON.stringify({ schema_version: '1', owner_epoch: epoch, generation_id: generation, request_id: requestId,
|
|
18
|
+
kind, original_operation_id: original, payload, context }));
|
|
19
|
+
}
|
|
20
|
+
export function generationManifest(runtime, uiDigest, sdkDigest) {
|
|
21
|
+
if (typeof runtime.toolErrorContract !== 'string' || !runtime.toolErrorContract
|
|
22
|
+
|| typeof runtime.projectToolResult !== 'function' || typeof runtime.consumeToolResult !== 'function'
|
|
23
|
+
|| typeof runtime.normalizeFailure !== 'function') throw Error('generation_manifest_incompatible');
|
|
24
|
+
// Stable transport shape, never business eligibility or a human-origin proof.
|
|
25
|
+
return { schema_version: '1', mode: runtime.mode ?? 'headless', sdk_digest: sdkDigest,
|
|
26
|
+
protocol: 'mcp-sdk/2:stdio-legacy-and-modern', tool_error_contract: runtime.toolErrorContract,
|
|
27
|
+
tools: runtime.tools.map(tool => ({ name: tool.name, definition: tool.definition })),
|
|
28
|
+
resource: runtime.ui ? { uri: runtime.ui.uri, mimeType: runtime.ui.mimeType, digest: uiDigest } : null,
|
|
29
|
+
command_groups: [...(runtime.trustedContext.commandGroups ?? [])] };
|
|
30
|
+
}
|
|
31
|
+
export const manifestDigest = manifest => createHash('sha256').update(JSON.stringify(manifest)).digest('hex');
|
|
32
|
+
|
|
33
|
+
const FAILURE_REASONS = new Set([
|
|
34
|
+
'generation_unavailable', 'generation_input_limit', 'generation_response_unknown', 'generation_connection_lost',
|
|
35
|
+
'generation_capacity_protected', 'generation_manifest_incompatible', 'generation_result_limit',
|
|
36
|
+
'generation_request_capacity', 'generation_already_initialized', 'generation_work_protected',
|
|
37
|
+
'generation_cleanup_unconfirmed', 'resource_denied', 'runtime_provenance_invalid', 'runtime_version_mismatch',
|
|
38
|
+
'dispatch_busy', 'dispatch_cancelled', 'dispatch_timeout', 'dispatch_worker_failed', 'dispatch_worker_termination_unconfirmed',
|
|
39
|
+
'runtime_publication_unowned', 'runtime_candidate_manifest_invalid', 'runtime_candidate_unowned', 'runtime_candidate_digest_mismatch',
|
|
40
|
+
'AGDF_MCP_EXECUTABLE_CLAIM_INVALID', 'AGDF_MCP_EXECUTABLE_CLAIM_CONTENDED',
|
|
41
|
+
'AGDF_MCP_EXECUTABLE_CLAIM_LOCK_UNCONFIRMED', 'AGDF_MCP_PUBLICATION_DEADLINE_EXCEEDED',
|
|
42
|
+
]);
|
|
43
|
+
export function generationFailureReason(error) {
|
|
44
|
+
const reason = error?.code ?? error?.message;
|
|
45
|
+
return FAILURE_REASONS.has(reason) ? reason : 'generation_runtime_failed';
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Private owner transport. JSON strings deliberately preserve the old fork wire
|
|
49
|
+
// semantics instead of accepting Worker structured-clone capabilities.
|
|
50
|
+
export const OWNER_EXECUTION_MODEL = 'owner_threads_v1';
|
|
51
|
+
// The fixed owner header is separate from the unchanged generation wire
|
|
52
|
+
// budgets. Wrapping a previously legal 64 KiB/1 MiB packet must not reject it.
|
|
53
|
+
export const OWNER_LIMITS = Object.freeze({ frames: 64, bytes: 3 * GENERATION_LIMITS.result, history: 8192,
|
|
54
|
+
header: 512, inputFrame: GENERATION_LIMITS.input + 512, resultFrame: GENERATION_LIMITS.result + 512 });
|
|
55
|
+
const ownerFields = ['schema_version', 'token', 'connection_epoch', 'request_id', 'kind', 'generation_epoch', 'generation_id', 'publication_id', 'payload'];
|
|
56
|
+
const ownerKinds = new Set(['open', 'opened', 'send', 'message', 'exit', 'failure', 'stop', 'closed']);
|
|
57
|
+
export function finiteJson(value, depth = 0, seen = new Set()) {
|
|
58
|
+
if (depth > 64) return false;
|
|
59
|
+
if (value === null || typeof value === 'string' || typeof value === 'boolean') return true;
|
|
60
|
+
if (typeof value === 'number') return Number.isFinite(value);
|
|
61
|
+
if (!value || typeof value !== 'object' || seen.has(value)) return false;
|
|
62
|
+
const array = Array.isArray(value);
|
|
63
|
+
if (Object.getPrototypeOf(value) !== (array ? Array.prototype : Object.prototype)) return false;
|
|
64
|
+
const descriptors = Object.getOwnPropertyDescriptors(value), keys = Object.keys(descriptors);
|
|
65
|
+
if (Reflect.ownKeys(value).length !== keys.length) return false;
|
|
66
|
+
if (array && (keys.length !== value.length + 1 || keys.some(key => key !== 'length' && !/^(?:0|[1-9][0-9]*)$/u.test(key)))) return false;
|
|
67
|
+
seen.add(value);
|
|
68
|
+
for (const key of keys) {
|
|
69
|
+
if (array && key === 'length') continue;
|
|
70
|
+
const d = descriptors[key];
|
|
71
|
+
if (!d.enumerable || !Object.hasOwn(d, 'value') || !finiteJson(d.value, depth + 1, seen)) { seen.delete(value); return false; }
|
|
72
|
+
}
|
|
73
|
+
seen.delete(value); return true;
|
|
74
|
+
}
|
|
75
|
+
export function ownerFrame(binding, kind, payload, requestId, generation = {}) {
|
|
76
|
+
return { schema_version: '1', token: binding.token, connection_epoch: binding.connection_epoch,
|
|
77
|
+
request_id: requestId, kind, generation_epoch: generation.epoch ?? null,
|
|
78
|
+
generation_id: generation.generation ?? null, publication_id: generation.publication_id ?? binding.publication_id, payload };
|
|
79
|
+
}
|
|
80
|
+
export function encodeOwnerFrame(value, binding, { reply = false } = {}) {
|
|
81
|
+
if (!finiteJson(value) || Object.keys(value).sort().join() !== [...ownerFields].sort().join()
|
|
82
|
+
|| value.schema_version !== '1' || value.token !== binding.token || value.connection_epoch !== binding.connection_epoch
|
|
83
|
+
|| !uuid(value.token) || !uuid(value.connection_epoch) || !uuid(value.request_id) || !ownerKinds.has(value.kind)
|
|
84
|
+
|| !(reply ? ['opened', 'message', 'exit', 'failure', 'stop'] : ['open', 'send', 'closed']).includes(value.kind)
|
|
85
|
+
|| !/^[0-9a-f]{64}$/u.test(value.publication_id ?? '')
|
|
86
|
+
|| !(value.generation_epoch === null && value.generation_id === null
|
|
87
|
+
|| uuid(value.generation_epoch) && Number.isSafeInteger(value.generation_id) && value.generation_id > 0)) throw Error('generation_input_limit');
|
|
88
|
+
if (Buffer.byteLength(JSON.stringify(value.payload)) > (reply ? GENERATION_LIMITS.result : GENERATION_LIMITS.input)) throw Error('generation_input_limit');
|
|
89
|
+
if (['send', 'message'].includes(value.kind) && (!validGenerationMessage(value.payload, { epoch: value.generation_epoch, generation: value.generation_id, reply: value.kind === 'message' })
|
|
90
|
+
|| value.payload.request_id !== value.request_id)) throw Error('generation_input_limit');
|
|
91
|
+
const wire = JSON.stringify(value);
|
|
92
|
+
if (Buffer.byteLength(wire) > (reply ? OWNER_LIMITS.resultFrame : OWNER_LIMITS.inputFrame)) throw Error('generation_input_limit');
|
|
93
|
+
return wire;
|
|
94
|
+
}
|
|
95
|
+
export function decodeOwnerFrame(wire, binding, options) {
|
|
96
|
+
if (typeof wire !== 'string' || Buffer.byteLength(wire) > (options?.reply ? OWNER_LIMITS.resultFrame : OWNER_LIMITS.inputFrame)) throw Error('generation_input_limit');
|
|
97
|
+
const value = JSON.parse(wire); encodeOwnerFrame(value, binding, options); return value;
|
|
98
|
+
}
|
|
99
|
+
export function publicationSelector(runtime) {
|
|
100
|
+
return { schema_version: '1', publication_id: runtime.publication_id, version: runtime.version,
|
|
101
|
+
server_digest: runtime.digest, dispatcher_digest: runtime.dispatcherDigest, sdk_digest: runtime.sdkDigest };
|
|
102
|
+
}
|
package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/runtime/plugin-provenance.js
CHANGED
|
@@ -2,6 +2,9 @@ import { createHash } from "node:crypto";
|
|
|
2
2
|
import { existsSync, readFileSync, readdirSync, statSync, lstatSync } from "node:fs";
|
|
3
3
|
import { isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
4
4
|
|
|
5
|
+
export const MCP_RUNTIME_OWNER = "create-agdf:mcp-runtime";
|
|
6
|
+
export const MCP_RUNTIME_MARKER = ".agdf-mcp-owned.json";
|
|
7
|
+
|
|
5
8
|
export const INSTALLATION_PROVENANCE_FILE = ".agdf-installation.json";
|
|
6
9
|
export const LEGACY_LOCAL_INSTALL_FILE = ".agdf-local-install.json";
|
|
7
10
|
export const COPILOT_PAYLOAD_INVENTORY_FILE = ".agdf-payload-inventory.json";
|
|
@@ -132,17 +135,22 @@ function readJson(path) {
|
|
|
132
135
|
}
|
|
133
136
|
}
|
|
134
137
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
138
|
+
// Every invocation reads the live directory entries and every regular file's
|
|
139
|
+
// bytes. Dirent types avoid redundant per-file stat calls; links/unknown types
|
|
140
|
+
// retain the original stat-following predicate. No digest or trust cache exists.
|
|
141
|
+
function* directoryFiles(directory) {
|
|
142
|
+
const entries = readdirSync(directory, { withFileTypes: true })
|
|
143
|
+
.sort((a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0);
|
|
144
|
+
for (const entry of entries) {
|
|
145
|
+
const path = join(directory, entry.name);
|
|
146
|
+
const type = entry.isDirectory() || entry.isFile() ? entry : statSync(path);
|
|
147
|
+
if (type.isDirectory()) yield* directoryFiles(path);
|
|
148
|
+
else if (type.isFile()) yield path;
|
|
144
149
|
}
|
|
145
|
-
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export function digestDirectory(root) {
|
|
153
|
+
const files = [...directoryFiles(root)];
|
|
146
154
|
const hash = createHash("sha256");
|
|
147
155
|
for (const path of files) {
|
|
148
156
|
hash.update(relative(root, path).replaceAll("\\", "/"));
|
|
@@ -178,11 +186,55 @@ const CORE_MCP_DISPATCHER_RUNTIME_ENTRIES = Object.freeze([
|
|
|
178
186
|
"package.json", "lib/mcp-dispatch-runtime.js", "lib/cli/runtime-context.js", "lib/runtime/control-context.js", "lib/cli/contract-command.js", "lib/runtime/plugin-provenance.js", "runtime/core",
|
|
179
187
|
"generated/plugins/agdf/meta/agdf-plugin.definition.json", "generated/plugins/agdf/meta/agdf-interaction-locales.json", "generated/plugins/agdf/meta/contracts",
|
|
180
188
|
]);
|
|
181
|
-
|
|
189
|
+
const FACADE_MCP_DISPATCHER_RUNTIME_ENTRIES = Object.freeze([...CORE_MCP_DISPATCHER_RUNTIME_ENTRIES,
|
|
182
190
|
'lib/mcp-lifecycle/package.js', 'lib/mcp-lifecycle/facade-entry.js', 'lib/npm-invocation.js', 'lib/host-command.js']);
|
|
183
|
-
const
|
|
184
|
-
|
|
191
|
+
const PRE_PROTOCOL_MCP_DISPATCHER_RUNTIME_ENTRIES = Object.freeze([...FACADE_MCP_DISPATCHER_RUNTIME_ENTRIES,
|
|
192
|
+
'lib/control-evaluation/git-observation.js']);
|
|
193
|
+
const PROTOCOL_MCP_DISPATCHER_RUNTIME_ENTRIES = Object.freeze([...PRE_PROTOCOL_MCP_DISPATCHER_RUNTIME_ENTRIES, 'lib/mcp-protocol-runtime.js', 'lib/mcp-decision-protocol.js']);
|
|
194
|
+
const WORKER_MCP_DISPATCHER_RUNTIME_ENTRIES = Object.freeze([...PROTOCOL_MCP_DISPATCHER_RUNTIME_ENTRIES, 'lib/mcp-worker-runtime.js']);
|
|
195
|
+
const OWNER_MCP_DISPATCHER_RUNTIME_ENTRIES = Object.freeze([...WORKER_MCP_DISPATCHER_RUNTIME_ENTRIES,
|
|
196
|
+
'lib/mcp-owner-protocol.js', 'lib/mcp-lifecycle/facade-runtime.js', 'lib/mcp-lifecycle/facade-thread-entry.js',
|
|
197
|
+
'lib/mcp-lifecycle/owner-client.js', 'lib/mcp-lifecycle/thread-owner.js']);
|
|
198
|
+
const DEFAULT_RESOURCE_ENTRIES = Object.freeze(['generated/plugins/agdf/meta/agdf-defaults.json', 'generated/plugins/agdf/meta/agdf-defaults.schema.json']);
|
|
199
|
+
export const MCP_DISPATCHER_RUNTIME_ENTRIES = Object.freeze([...OWNER_MCP_DISPATCHER_RUNTIME_ENTRIES, ...DEFAULT_RESOURCE_ENTRIES]);
|
|
200
|
+
function declaresOwnerEntry(root) {
|
|
201
|
+
const entry = readJson(join(root, 'package.json'))?.exports?.['./mcp-owner-protocol'];
|
|
202
|
+
if (entry !== undefined && entry !== './lib/mcp-owner-protocol.js') throw Error('AGDF_MCP_OWNER_EXPORT_INVALID');
|
|
203
|
+
return entry !== undefined;
|
|
204
|
+
}
|
|
205
|
+
function declaresWorkerEntry(root) {
|
|
206
|
+
const entry = readJson(join(root, 'package.json'))?.exports?.['./mcp-worker-runtime'];
|
|
207
|
+
if (entry !== undefined && entry !== './lib/mcp-worker-runtime.js') throw Error('AGDF_MCP_WORKER_EXPORT_INVALID');
|
|
208
|
+
return entry !== undefined;
|
|
209
|
+
}
|
|
210
|
+
// Preserve historical owned digests for dispatchers that never import this
|
|
211
|
+
// provider. The selecting dispatcher bytes are themselves always digested.
|
|
212
|
+
const facadeEntries = root => {
|
|
213
|
+
const source = readFileSync(join(root, 'lib/mcp-dispatch-runtime.js'), 'utf8');
|
|
214
|
+
return source.includes('./mcp-protocol-runtime.js') ? declaresWorkerEntry(root) ? declaresOwnerEntry(root) ? OWNER_MCP_DISPATCHER_RUNTIME_ENTRIES : WORKER_MCP_DISPATCHER_RUNTIME_ENTRIES : PROTOCOL_MCP_DISPATCHER_RUNTIME_ENTRIES
|
|
215
|
+
: source.includes('./control-evaluation/git-observation.js') ? PRE_PROTOCOL_MCP_DISPATCHER_RUNTIME_ENTRIES : FACADE_MCP_DISPATCHER_RUNTIME_ENTRIES;
|
|
216
|
+
};
|
|
217
|
+
const legacyDispatcherEntries = root => existsSync(join(root, "runtime", "core"))
|
|
218
|
+
? existsSync(join(root, 'lib/mcp-lifecycle/facade-entry.js')) ? facadeEntries(root) : CORE_MCP_DISPATCHER_RUNTIME_ENTRIES
|
|
185
219
|
: LEGACY_MCP_DISPATCHER_RUNTIME_ENTRIES;
|
|
220
|
+
// Selection follows digested consumer bytes, so deleting a required resource
|
|
221
|
+
// cannot silently downgrade a new dispatcher to a historical image inventory.
|
|
222
|
+
const dispatcherEntries = root => {
|
|
223
|
+
const entries = legacyDispatcherEntries(root);
|
|
224
|
+
const protocol = join(root, 'lib/mcp-protocol-runtime.js');
|
|
225
|
+
return entries.includes('lib/mcp-protocol-runtime.js') && readFileSync(protocol, 'utf8').includes('resolveMcpInput')
|
|
226
|
+
? [...entries, ...DEFAULT_RESOURCE_ENTRIES] : entries;
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
// Projection and digesting select the same actual declared image. Old packages
|
|
230
|
+
// retain their original entry set; a new declaration cannot omit its worker.
|
|
231
|
+
export const mcpDispatcherRuntimeEntries = root => dispatcherEntries(root);
|
|
232
|
+
export function mcpDispatcherPackageExports(root) {
|
|
233
|
+
return { './mcp-dispatch-runtime': './lib/mcp-dispatch-runtime.js',
|
|
234
|
+
...(dispatcherEntries(root).includes('lib/mcp-protocol-runtime.js') ? { './mcp-protocol-runtime': './lib/mcp-protocol-runtime.js' } : {}),
|
|
235
|
+
...(declaresWorkerEntry(root) ? { './mcp-worker-runtime': './lib/mcp-worker-runtime.js' } : {}),
|
|
236
|
+
...(declaresOwnerEntry(root) ? { './mcp-owner-protocol': './lib/mcp-owner-protocol.js' } : {}) };
|
|
237
|
+
}
|
|
186
238
|
|
|
187
239
|
export const MCP_SDK_RUNTIME_ENTRIES = Object.freeze([
|
|
188
240
|
"node_modules/@modelcontextprotocol/server",
|
|
@@ -195,8 +247,8 @@ function digestSelectedEntries(root, entries, syntheticEntries = []) {
|
|
|
195
247
|
function visit(path) {
|
|
196
248
|
const stats = statSync(path);
|
|
197
249
|
if (stats.isDirectory()) {
|
|
198
|
-
for (const
|
|
199
|
-
} else if (stats.isFile()) files.push({ path
|
|
250
|
+
for (const file of directoryFiles(path)) files.push({ path: file });
|
|
251
|
+
} else if (stats.isFile()) files.push({ path });
|
|
200
252
|
}
|
|
201
253
|
for (const entry of entries) visit(join(root, entry));
|
|
202
254
|
for (const entry of syntheticEntries) files.push({ path: join(root, entry.path), content: Buffer.from(entry.content) });
|
|
@@ -204,7 +256,10 @@ function digestSelectedEntries(root, entries, syntheticEntries = []) {
|
|
|
204
256
|
for (const file of files.sort((left, right) => left.path < right.path ? -1 : left.path > right.path ? 1 : 0)) {
|
|
205
257
|
hash.update(relative(root, file.path).replaceAll("\\", "/"));
|
|
206
258
|
hash.update("\0");
|
|
207
|
-
|
|
259
|
+
// Sort paths first, then consume each current file immediately. Retaining
|
|
260
|
+
// every SDK buffer until sorting only adds allocation/GC pressure; it does
|
|
261
|
+
// not provide an atomic snapshot. Preserve the exact selected wire order.
|
|
262
|
+
hash.update(file.content ?? readFileSync(file.path));
|
|
208
263
|
hash.update("\0");
|
|
209
264
|
}
|
|
210
265
|
return hash.digest("hex");
|
|
@@ -220,7 +275,7 @@ export function digestPluginMcpDispatcherSource(root, version) {
|
|
|
220
275
|
version,
|
|
221
276
|
private: true,
|
|
222
277
|
type: "module",
|
|
223
|
-
exports:
|
|
278
|
+
exports: mcpDispatcherPackageExports(root),
|
|
224
279
|
...(existsSync(join(root, "runtime", "core")) ? { imports: { "#agdf-core": "./runtime/core/lib/index.js", "#agdf-core/*": "./runtime/core/lib/*" } } : {}),
|
|
225
280
|
}, null, 2)}\n`;
|
|
226
281
|
return digestSelectedEntries(
|
|
@@ -353,7 +408,15 @@ export function inspectGeneratedRepositoryMarketplace(targetDir) {
|
|
|
353
408
|
const marketplacePath = join(targetDir, ".agents", "plugins", "marketplace.json");
|
|
354
409
|
if (!existsSync(marketplacePath)) return { status: "absent", marketplacePath };
|
|
355
410
|
const marketplace = readJson(marketplacePath);
|
|
356
|
-
const
|
|
411
|
+
const entries = marketplace?.plugins;
|
|
412
|
+
// Generated catalogs may expose the optional skill-only Planning package.
|
|
413
|
+
// Keep the closed local identities and unique Core binding; never select an
|
|
414
|
+
// arbitrary first entry or accept foreign paths as generated provenance.
|
|
415
|
+
const validEntries = Array.isArray(entries) && entries.length >= 1 && entries.length <= 2
|
|
416
|
+
&& new Set(entries.map(entry => entry?.name)).size === entries.length
|
|
417
|
+
&& entries.every(entry => ['agdf', 'agdf-planning'].includes(entry?.name)
|
|
418
|
+
&& entry.source?.source === 'local' && entry.source.path === `./plugins/${entry.name}`);
|
|
419
|
+
const plugin = validEntries ? entries.find(entry => entry.name === 'agdf') : null;
|
|
357
420
|
const pluginPath = plugin?.source?.source === "local" ? plugin.source.path : null;
|
|
358
421
|
if (marketplace?.name !== "agdf-repo" || plugin?.name !== "agdf" || pluginPath !== "./plugins/agdf") {
|
|
359
422
|
return { status: "invalid", reason: "repository_marketplace_invalid", marketplacePath };
|
|
@@ -494,3 +557,95 @@ export function inspectInstallationProvenance(pluginRoot, {
|
|
|
494
557
|
export const distributionProfileContract = Object.freeze({
|
|
495
558
|
expectedProfiles: EXPECTED_PROFILES,
|
|
496
559
|
});
|
|
560
|
+
|
|
561
|
+
// Shared read-only package qualification. Publication/claim writers consume
|
|
562
|
+
// this same predicate; the transport adds no competing provenance policy.
|
|
563
|
+
export function inspectOwnedMcpRuntimeRoot(root, expectedVersion) {
|
|
564
|
+
const OWNER = MCP_RUNTIME_OWNER, MARKER = MCP_RUNTIME_MARKER;
|
|
565
|
+
// Parsing failures remain inside the original mismatch boundary.
|
|
566
|
+
const readJson = path => JSON.parse(readFileSync(path, "utf8"));
|
|
567
|
+
const markerPath = join(root, MARKER);
|
|
568
|
+
if (!existsSync(root)) return Object.freeze({ status: "absent", root, entrypoint: null, digest: null });
|
|
569
|
+
if (!lstatSync(root).isDirectory() || lstatSync(root).isSymbolicLink() || !existsSync(markerPath)) {
|
|
570
|
+
return Object.freeze({ status: "foreign", root, entrypoint: null, digest: null });
|
|
571
|
+
}
|
|
572
|
+
try {
|
|
573
|
+
const marker = readJson(markerPath, "AGDF_MCP_RUNTIME_MARKER_INVALID");
|
|
574
|
+
const packageRoot = join(root, "node_modules", "@agdf", "mcp-server");
|
|
575
|
+
const dispatcherRoot = join(root, "node_modules", "create-agdf");
|
|
576
|
+
const sdkServerRoot = join(root, "node_modules", "@modelcontextprotocol", "server");
|
|
577
|
+
const sdkCoreRoot = join(root, "node_modules", "@modelcontextprotocol", "core");
|
|
578
|
+
const sdkClientRoot = join(root, "node_modules", "@modelcontextprotocol", "client");
|
|
579
|
+
const sdkV1Root = join(root, "node_modules", "@modelcontextprotocol", "sdk");
|
|
580
|
+
const manifestPath = join(packageRoot, "package.json");
|
|
581
|
+
const dispatcherManifestPath = join(dispatcherRoot, "package.json");
|
|
582
|
+
if (marker.owner !== OWNER || marker.version !== expectedVersion
|
|
583
|
+
|| !existsSync(manifestPath) || !existsSync(dispatcherManifestPath)) {
|
|
584
|
+
return Object.freeze({ status: "mismatch", root, entrypoint: null, digest: null });
|
|
585
|
+
}
|
|
586
|
+
for (const ownedRoot of [packageRoot, dispatcherRoot, sdkServerRoot, sdkCoreRoot]) {
|
|
587
|
+
if (!existsSync(ownedRoot) || !lstatSync(ownedRoot).isDirectory() || lstatSync(ownedRoot).isSymbolicLink()) {
|
|
588
|
+
return Object.freeze({ status: "mismatch", root, entrypoint: null, digest: null });
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
const manifest = readJson(manifestPath, "AGDF_MCP_SERVER_MANIFEST_INVALID");
|
|
592
|
+
const dispatcherManifest = readJson(dispatcherManifestPath, "AGDF_MCP_DISPATCHER_MANIFEST_INVALID");
|
|
593
|
+
const sdkServerManifest = readJson(join(sdkServerRoot, "package.json"), "AGDF_MCP_SDK_MANIFEST_INVALID");
|
|
594
|
+
const sdkCoreManifest = readJson(join(sdkCoreRoot, "package.json"), "AGDF_MCP_SDK_MANIFEST_INVALID");
|
|
595
|
+
const entrypoint = join(packageRoot, "bin", "agdf-mcp.js");
|
|
596
|
+
const serverDigest = digestDirectory(packageRoot);
|
|
597
|
+
const dispatcherDigest = digestMcpDispatcherPackage(dispatcherRoot);
|
|
598
|
+
const sdkDigest = digestMcpSdkRuntime(root);
|
|
599
|
+
const valid = [1, 2].includes(marker.schema_version)
|
|
600
|
+
&& typeof marker.node_executable === "string"
|
|
601
|
+
&& isAbsolute(marker.node_executable)
|
|
602
|
+
&& manifest.name === "@agdf/mcp-server"
|
|
603
|
+
&& manifest.version === expectedVersion
|
|
604
|
+
&& manifest.dependencies?.["create-agdf"] === expectedVersion
|
|
605
|
+
&& manifest.dependencies?.["@modelcontextprotocol/server"] === "2.0.0"
|
|
606
|
+
&& manifest.engines?.node === ">=22"
|
|
607
|
+
&& dispatcherManifest.name === "create-agdf"
|
|
608
|
+
&& dispatcherManifest.version === expectedVersion
|
|
609
|
+
// The actual server import map declares its worker interface. Historical
|
|
610
|
+
// servers have no such entry; new servers must reject an older same-version
|
|
611
|
+
// dispatcher before public admission, rather than failing on the first call.
|
|
612
|
+
&& (manifest.imports?.['#agdf-dispatch-worker'] === undefined
|
|
613
|
+
|| manifest.imports['#agdf-dispatch-worker'] === 'create-agdf/mcp-worker-runtime' && declaresWorkerEntry(dispatcherRoot))
|
|
614
|
+
&& (manifest.imports?.['#agdf-owner-protocol'] === undefined
|
|
615
|
+
|| manifest.imports['#agdf-owner-protocol'] === 'create-agdf/mcp-owner-protocol' && declaresOwnerEntry(dispatcherRoot))
|
|
616
|
+
&& (manifest.agdfExecutionModel === undefined || manifest.agdfExecutionModel === 'owner_threads_v1'
|
|
617
|
+
&& manifest.imports?.['#agdf-owner-protocol'] === 'create-agdf/mcp-owner-protocol'
|
|
618
|
+
&& declaresOwnerEntry(dispatcherRoot) && declaresWorkerEntry(dispatcherRoot))
|
|
619
|
+
&& sdkServerManifest.name === "@modelcontextprotocol/server"
|
|
620
|
+
&& sdkServerManifest.version === "2.0.0"
|
|
621
|
+
&& sdkCoreManifest.name === "@modelcontextprotocol/core"
|
|
622
|
+
&& sdkCoreManifest.version === "2.0.0"
|
|
623
|
+
&& !existsSync(sdkClientRoot)
|
|
624
|
+
&& !existsSync(sdkV1Root)
|
|
625
|
+
&& existsSync(entrypoint)
|
|
626
|
+
&& lstatSync(entrypoint).isFile()
|
|
627
|
+
&& !lstatSync(entrypoint).isSymbolicLink()
|
|
628
|
+
&& marker.server_digest === serverDigest
|
|
629
|
+
&& marker.dispatcher_digest === dispatcherDigest
|
|
630
|
+
&& marker.sdk_digest === sdkDigest;
|
|
631
|
+
return Object.freeze({
|
|
632
|
+
status: valid ? "matched" : "mismatch",
|
|
633
|
+
version: expectedVersion,
|
|
634
|
+
root,
|
|
635
|
+
packageRoot,
|
|
636
|
+
dispatcherRoot,
|
|
637
|
+
markerPath,
|
|
638
|
+
entrypoint: valid ? entrypoint : null,
|
|
639
|
+
digest: serverDigest,
|
|
640
|
+
dispatcherDigest,
|
|
641
|
+
sdkDigest,
|
|
642
|
+
executionModel: manifest.agdfExecutionModel ?? 'process_v1',
|
|
643
|
+
nodeExecutable: typeof marker.node_executable === "string" ? marker.node_executable : null,
|
|
644
|
+
references: Object.freeze(Array.isArray(marker.references) ? marker.references : []),
|
|
645
|
+
markerSchemaVersion: marker.schema_version,
|
|
646
|
+
sdkVerification: typeof marker.sdk_verification === "string" ? marker.sdk_verification : null,
|
|
647
|
+
});
|
|
648
|
+
} catch {
|
|
649
|
+
return Object.freeze({ status: "mismatch", root, entrypoint: null, digest: null });
|
|
650
|
+
}
|
|
651
|
+
}
|
|
@@ -67,10 +67,10 @@ export function compactContinuation(root, report, input) {
|
|
|
67
67
|
source_artifacts: sources, ...(record ? { verified_change: record } : {}),
|
|
68
68
|
instruction: implementation
|
|
69
69
|
? `Inspect current execution and review evidence first; perform only unfinished work within the approved UR and Brownfield scope. ${mode === 'verified_change'
|
|
70
|
-
? 'Use only the evaluated record paths; run its declared propagation and validation commands, record exact changed paths and passing evidence through
|
|
70
|
+
? 'Use only the evaluated record paths; run its declared propagation and validation commands, record exact changed paths and passing evidence through verified_change.record phase execution. Escalate through the existing declared structured path if eligibility is lost.'
|
|
71
71
|
: 'Run relevant checks, record actual evidence and mandatory Code Review through the existing run-step owners before OR-lite.'} After recorded changes redispatch gate-check for this same target/run with continue_delivery and its fresh revision. Stop at any decision or concrete blocker. Never infer QA, UAT, VCS or release authority.`
|
|
72
72
|
: `Close only this already reviewed/executed compact scope through release-or. ${mode === 'verified_change'
|
|
73
|
-
? 'Complete the linked Verified Change Mini-Closeout and publish lifecycle-consistent role links through the
|
|
74
|
-
: '
|
|
73
|
+
? 'Complete the linked Verified Change Mini-Closeout and publish lifecycle-consistent role links through the current typed closeout.record owner with its exact confirmation. Revalidate with Git-aware CLI evaluation.'
|
|
74
|
+
: 'Read the bound OR template and closeout authoring format; persist OR-lite with the exact Run and Report mode declared once, plus Result, Evidence, Risk and Next Step through the existing closeout owner.'} Do not repeat implementation or perform VCS/release actions. Redispatch gate-check for this same target/run after recording; completed state stops.`,
|
|
75
75
|
};
|
|
76
76
|
}
|
package/generated/plugins/agdf/runtime/create-agdf/runtime/core/lib/skill-dispatch/contract.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { projectMcpInputSchema } from '../mcp-input-schema.js';
|
|
1
2
|
import { isAbsolute } from "node:path";
|
|
2
3
|
import { REVISION_ID_PATTERN, RUN_ID_PATTERN } from "../control-state/run-identity.js";
|
|
4
|
+
import { PLANNING_SCOPE_SCHEMA, schemaDiagnostics } from '../control-state/run-command-schema.js';
|
|
3
5
|
import {
|
|
4
6
|
PRESENTATION_LANGUAGE_TAG_PATTERN_SOURCE,
|
|
5
7
|
canonicalizeLanguageTag,
|
|
@@ -25,25 +27,33 @@ function deepFreeze(value) {
|
|
|
25
27
|
return Object.freeze(value);
|
|
26
28
|
}
|
|
27
29
|
|
|
28
|
-
export const SKILL_DISPATCH_PRESENTATION_LANGUAGE_DESCRIPTION = "
|
|
30
|
+
export const SKILL_DISPATCH_PRESENTATION_LANGUAGE_DESCRIPTION = "MCP reply-language override (BCP 47). Omit for a matching configured preference; otherwise supply the current request's language (explicit instruction, then dominant language, en if ambiguous). Invalid explicit tags fail; valid unsupported tags use the complete English pack. Core input remains complete.";
|
|
31
|
+
const COMPLETE_DISPATCH_REQUIRED = Object.freeze(['skill_id', 'presentation_language', 'working_directory']);
|
|
29
32
|
export const SKILL_DISPATCH_PRESENTATION_LANGUAGE_RECOVERY = "Provide one well-formed BCP 47 presentation_language tag and retry once.";
|
|
30
33
|
export const SKILL_DISPATCH_TERMINAL_RESPONSE_DESCRIPTION = "For a result with `terminal: true`, the entire assistant response must consist only of host_action.text, copied verbatim. Add no question, explanation, heading, citation, link or other surrounding text; do not translate or reformat it; invoke no later tool and stop.";
|
|
31
34
|
export const SKILL_DISPATCH_INTAKE_DESCRIPTION = "Set true only with skill_id gate-check when the governed delivery intake (catalog delivery.start) is the active route; delivery wins mixed intent, so a gate-check invocation that asks for a change also sets it. Omit it for status, approval or next-step questions. It never grants approval or delivery authority.";
|
|
32
35
|
export const SKILL_DISPATCH_INTAKE_CONTINUATION_DESCRIPTION = "For intake_continuation phase resolve_delivery_run, match the request to supplied UR scope evidence; resume one same-scope run with its expected_revision_id, or start a clear new scope. Ask only about genuinely ambiguous work, never for technical Run IDs. Other phases execute continuation.steps in order; presentation_required shows run-present text and waits for a NEW deliberate response. Preparation approves no gate.";
|
|
33
36
|
export const SKILL_DISPATCH_QA_CANDIDATES_DESCRIPTION = "For a qa-gate skill_continuation, control.candidate_runs is the complete canonical active-run inventory when run selection is unresolved, otherwise an empty array. Use its run_id, objective, normalized current_gate, decision and revision_id fields as data; filter by current_gate: QA and do not rescan run files, invent candidates or omit returned QA candidates.";
|
|
34
37
|
|
|
38
|
+
// skill_id is required, so these constraints still run for every valid request.
|
|
39
|
+
// Keep root properties visible to hosts that project root allOf as intersections.
|
|
40
|
+
function visibleDispatchInput(schema) {
|
|
41
|
+
const { allOf, ...input } = schema;
|
|
42
|
+
return { ...input, dependentSchemas: { ...input.dependentSchemas, skill_id: { allOf } } };
|
|
43
|
+
}
|
|
44
|
+
|
|
35
45
|
export const SKILL_DISPATCH_FUNCTION_DEFINITION = deepFreeze({
|
|
36
46
|
name: "agdf_dispatch",
|
|
37
|
-
description: `
|
|
47
|
+
description: `For version-matched AGDF preflight only; explicit presented-gate replies use agdf_approve. Read-only Run status uses agdf_inspect operation=gate-check; documents/contracts also use agdf_inspect. ALWAYS supply primary_target + target_source when the target is known; working_directory alone never selects it. It resolves target and control state but never grants approval or delivery authority. Only authorized bound continue_delivery may record one previously sealed relationship correction through the Core continuation service before fresh routing; status stays read-only. ${SKILL_DISPATCH_TERMINAL_RESPONSE_DESCRIPTION} For skill_continuation, follow its continuation instruction using only the returned target and control. ${SKILL_DISPATCH_INTAKE_CONTINUATION_DESCRIPTION}`,
|
|
38
48
|
annotations: {
|
|
39
49
|
readOnlyHint: false,
|
|
40
50
|
destructiveHint: false,
|
|
41
51
|
idempotentHint: true,
|
|
42
52
|
openWorldHint: false,
|
|
43
53
|
},
|
|
44
|
-
inputSchema: {
|
|
54
|
+
inputSchema: projectMcpInputSchema(visibleDispatchInput({
|
|
45
55
|
type: "object", additionalProperties: false,
|
|
46
|
-
required:
|
|
56
|
+
required: COMPLETE_DISPATCH_REQUIRED,
|
|
47
57
|
properties: {
|
|
48
58
|
skill_id: { type: "string", minLength: 1, maxLength: 240, description: "Canonical AGDF skill slug or exact catalog-registered skill name for the calling host; normalized internally to the stable canonical ID." },
|
|
49
59
|
presentation_language: {
|
|
@@ -58,6 +68,7 @@ export const SKILL_DISPATCH_FUNCTION_DEFINITION = deepFreeze({
|
|
|
58
68
|
},
|
|
59
69
|
primary_target: { type: "string", minLength: 1, maxLength: 4096, description: "Absolute governance-target path paired with target_source. Never derive it from working_directory alone." },
|
|
60
70
|
run_id: { type: "string", pattern: RUN_ID_PATTERN.source, description: "Canonical run identifier. Select an existing run from an explicit request, confirmed continuation or unequivocal same-scope assignment after resolve_delivery_run. Scope assignment must use expected_revision_id. For intake_mode new, choose an unused id for the authorized change; never reuse an existing run." },
|
|
71
|
+
planning: { ...PLANNING_SCOPE_SCHEMA, description: 'Explicit ur-definition planning mode before any Run. Use one selected plan and source digest (null for capture); no delivery intake or gate approval.' },
|
|
61
72
|
expected_revision_id: { type: "string", pattern: REVISION_ID_PATTERN.source, description: "Revision from the resolve_delivery_run candidate used for scope matching. Requires intake true, intake_mode resume and run_id. Changed or unavailable binding returns fresh assignment evidence before gate evaluation; it never adopts another run automatically." },
|
|
62
73
|
intake: { type: "boolean", description: SKILL_DISPATCH_INTAKE_DESCRIPTION },
|
|
63
74
|
intake_mode: { type: "string", enum: ["new", "resume"], description: "With intake true: new prepares the explicitly authorized new scope at an unused run_id; resume continues the bound run. Requires run_id. Never infer new from ambiguous continuation." },
|
|
@@ -69,6 +80,8 @@ export const SKILL_DISPATCH_FUNCTION_DEFINITION = deepFreeze({
|
|
|
69
80
|
},
|
|
70
81
|
dependentRequired: { target_source: ["primary_target"], primary_target: ["target_source"] },
|
|
71
82
|
dependentSchemas: {
|
|
83
|
+
planning: { required: ['primary_target', 'target_source'], properties: { skill_id: { enum: ['ur-definition', 'agdf:ur-definition', 'agdf-ur-definition', 'agdf-global-ur-definition'] } },
|
|
84
|
+
not: { anyOf: ['run_id', 'expected_revision_id', 'intake', 'intake_mode', 'continue_delivery', 'ur_action', 'prd_action', 'sd_action', 'tp_action'].map(key => ({ required: [key] })) } },
|
|
72
85
|
ur_action: { required: ["skill_id", "intake", "intake_mode", "run_id", "expected_revision_id"], properties: { skill_id: { enum: ["gate-check", "agdf:gate-check", "agdf-gate-check", "agdf-global-gate-check"] }, intake: { const: true }, intake_mode: { const: "resume" } } },
|
|
73
86
|
prd_action: { required: ["skill_id", "intake", "intake_mode", "run_id", "expected_revision_id"], properties: { skill_id: { enum: ["gate-check", "agdf:gate-check", "agdf-gate-check", "agdf-global-gate-check"] }, intake: { const: true }, intake_mode: { const: "resume" } } },
|
|
74
87
|
sd_action: { required: ["skill_id", "intake", "intake_mode", "run_id", "expected_revision_id"], properties: { skill_id: { enum: ["gate-check", "agdf:gate-check", "agdf-gate-check", "agdf-global-gate-check"] }, intake: { const: true }, intake_mode: { const: "resume" } } },
|
|
@@ -82,7 +95,7 @@ export const SKILL_DISPATCH_FUNCTION_DEFINITION = deepFreeze({
|
|
|
82
95
|
if: { required: ["continue_delivery"], properties: { continue_delivery: { const: true } } },
|
|
83
96
|
then: { required: ["run_id"], properties: { intake: { const: false } }, not: { required: ["intake_mode"] } },
|
|
84
97
|
}],
|
|
85
|
-
},
|
|
98
|
+
})),
|
|
86
99
|
outputSchema: {
|
|
87
100
|
type: "object",
|
|
88
101
|
additionalProperties: false,
|
|
@@ -149,7 +162,7 @@ export function renderSkillDispatchSemanticProjection() {
|
|
|
149
162
|
|
|
150
163
|
export function renderSkillDispatchLanguageProjection() {
|
|
151
164
|
const description = SKILL_DISPATCH_FUNCTION_DEFINITION.inputSchema.properties.presentation_language.description;
|
|
152
|
-
return `
|
|
165
|
+
return `MCP: ${description}\nFor \`--language\`: Required; apply the same current-request selection and locale validation.`;
|
|
153
166
|
}
|
|
154
167
|
|
|
155
168
|
export function renderSkillDispatchTerminalProjection() {
|
|
@@ -235,6 +248,9 @@ export function normalizeSkillDispatchInput(input, registry, pluginDefinition) {
|
|
|
235
248
|
if (primaryTarget && (!isAbsolute(primaryTarget) || primaryTarget.length > 4096)) throw new SkillDispatchInputError("primary_target", "primary_target must be an absolute bounded path");
|
|
236
249
|
const targetSource = rawTargetSource ? normalizeTaskTargetSource(rawTargetSource, { allowEmpty: false }) : null;
|
|
237
250
|
const runId = input.runId || null;
|
|
251
|
+
if (input.planning !== undefined && (skillId !== 'ur-definition' || !primaryTarget || schemaDiagnostics(input.planning, PLANNING_SCOPE_SCHEMA).length
|
|
252
|
+
|| ['runId', 'expectedRevisionId', 'intake', 'intakeMode', 'continueDelivery', 'urAction', 'prdAction', 'sdAction', 'tpAction'].some(key => input[key] !== undefined)))
|
|
253
|
+
throw new SkillDispatchInputError('planning', 'Planning is an explicit pre-Run ur-definition scope; delivery and gate selectors are forbidden');
|
|
238
254
|
if (runId && !RUN_ID_PATTERN.test(runId)) throw new SkillDispatchInputError("run_id", "run_id is invalid");
|
|
239
255
|
if (input.intake !== undefined && (typeof input.intake !== "boolean" || (input.intake && skill.dispatch_mode !== "deterministic_control"))) {
|
|
240
256
|
throw new SkillDispatchInputError("intake", "intake is invalid");
|
|
@@ -278,6 +294,7 @@ export function normalizeSkillDispatchInput(input, registry, pluginDefinition) {
|
|
|
278
294
|
target_source: targetSource,
|
|
279
295
|
primary_target: primaryTarget,
|
|
280
296
|
run_id: runId,
|
|
297
|
+
planning: input.planning,
|
|
281
298
|
intake: input.intake === true,
|
|
282
299
|
intake_mode: input.intakeMode,
|
|
283
300
|
expected_revision_id: input.expectedRevisionId,
|
|
@@ -299,7 +316,7 @@ export function parseSkillDispatchFunctionArguments(argumentsValue, trustedConte
|
|
|
299
316
|
const allowed = new Set(Object.keys(schema.properties));
|
|
300
317
|
const unknown = Object.keys(argumentsValue).find((key) => !allowed.has(key));
|
|
301
318
|
if (unknown) throw new SkillDispatchInputError(unknown, "unsupported argument");
|
|
302
|
-
const missing =
|
|
319
|
+
const missing = COMPLETE_DISPATCH_REQUIRED.find((key) => !Object.hasOwn(argumentsValue, key));
|
|
303
320
|
if (missing) throw new SkillDispatchInputError(missing, "required argument is missing");
|
|
304
321
|
if (!trustedContext || typeof trustedContext !== "object") {
|
|
305
322
|
throw new SkillDispatchInputError("trusted_context", "trusted context is required");
|
|
@@ -314,6 +331,7 @@ export function parseSkillDispatchFunctionArguments(argumentsValue, trustedConte
|
|
|
314
331
|
targetSource: argumentsValue.target_source,
|
|
315
332
|
primaryTarget: argumentsValue.primary_target,
|
|
316
333
|
runId: argumentsValue.run_id,
|
|
334
|
+
...(argumentsValue.planning !== undefined ? { planning: argumentsValue.planning } : {}),
|
|
317
335
|
...(argumentsValue.intake !== undefined ? { intake: argumentsValue.intake } : {}),
|
|
318
336
|
...(argumentsValue.intake_mode !== undefined ? { intakeMode: argumentsValue.intake_mode } : {}),
|
|
319
337
|
...(argumentsValue.expected_revision_id !== undefined ? { expectedRevisionId: argumentsValue.expected_revision_id } : {}),
|
|
@@ -334,8 +352,9 @@ export function emptySkillDispatchTiming() {
|
|
|
334
352
|
return { wrapper_ms: 0, input_ms: 0, target_ms: 0, control_ms: 0, render_ms: 0, total_ms: 0 };
|
|
335
353
|
}
|
|
336
354
|
|
|
337
|
-
|
|
338
|
-
|
|
355
|
+
// space 0 is the compact transport form; the CLI keeps its indented output.
|
|
356
|
+
export function serializeSkillDispatchResult(result, { outputTooLargeRecovery = "Repair the installed locale registry and retry once.", space = 2 } = {}) {
|
|
357
|
+
const output = JSON.stringify(result, null, space);
|
|
339
358
|
if (Buffer.byteLength(output, "utf8") <= SKILL_DISPATCH_MAX_OUTPUT_BYTES) return output;
|
|
340
359
|
const recoveryAction = typeof outputTooLargeRecovery === "string"
|
|
341
360
|
&& outputTooLargeRecovery.trim()
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { REVISION_ID_PATTERN } from '../control-state/run-identity.js';
|
|
2
|
+
import { runDocumentPath } from '../control-state/run-identity.js';
|
|
1
3
|
import { lstatSync } from "node:fs";
|
|
2
4
|
import { dirname } from "node:path";
|
|
3
5
|
import { assertCanonicalRunStore } from "../control-state/run-store-inspection.js";
|
|
@@ -18,12 +20,14 @@ export function deliveryIntakePhase(targetDir, control, input = {}) {
|
|
|
18
20
|
const blockers = (control?.doctor_report?.findings ?? []).filter((finding) => finding.severity === "block");
|
|
19
21
|
if (input.intake_mode === "new") {
|
|
20
22
|
// The not-yet-created run is expected to be unselectable; any other blocker keeps the result terminal.
|
|
21
|
-
if (blockers.some((finding) => !["AGDF_RUN_NOT_SELECTABLE", "AGDF_ACTIVE_RUN_MISSING"].includes(finding.code)
|
|
23
|
+
if (blockers.some((finding) => !["AGDF_RUN_NOT_SELECTABLE", "AGDF_ACTIVE_RUN_MISSING"].includes(finding.code)
|
|
24
|
+
&& !(finding.code === 'AGDF_RUN_PATH_INVALID' && finding.path === runPath(targetDir, input.run_id)))) return null;
|
|
22
25
|
assertCanonicalRunStore(targetDir);
|
|
23
26
|
let exists = true;
|
|
24
27
|
try { lstatSync(dirname(runPath(targetDir, input.run_id))); }
|
|
25
28
|
catch (error) { if (error.code !== "ENOENT") throw error; exists = false; }
|
|
26
29
|
if (exists) throw new Error("AGDF_RUN_COLLISION");
|
|
30
|
+
if (!input.run_id?.startsWith('run-') || !REVISION_ID_PATTERN.test(input.run_id.slice(4))) throw Error('AGDF_NEW_RUN_OPERATION_REQUIRED');
|
|
27
31
|
return Object.freeze({ phase: "run_missing", run_id: input.run_id, revision_id: null });
|
|
28
32
|
}
|
|
29
33
|
|
|
@@ -35,12 +39,14 @@ export function deliveryIntakeSteps(governanceTarget, intake) {
|
|
|
35
39
|
if (!runId) throw new Error("AGDF_INTAKE_RUN_BINDING_REQUIRED");
|
|
36
40
|
const dir = `--dir ${quoteDispatchArgument(governanceTarget)}`;
|
|
37
41
|
if (intake.phase === "run_missing") {
|
|
42
|
+
const operation = runId.startsWith('run-') ? runId.slice(4) : '';
|
|
43
|
+
if (!REVISION_ID_PATTERN.test(operation)) throw Error('AGDF_NEW_RUN_OPERATION_REQUIRED');
|
|
38
44
|
return Object.freeze([
|
|
39
45
|
Object.freeze({
|
|
40
46
|
id: "create_run",
|
|
41
|
-
command: `run-create ${dir} --
|
|
42
|
-
argv: ["run-create", "--dir", governanceTarget, "--
|
|
43
|
-
rule: "
|
|
47
|
+
command: `run-create ${dir} --title ${quoteDispatchArgument(runId)} --operation ${operation}`,
|
|
48
|
+
argv: ["run-create", "--dir", governanceTarget, "--title", runId, "--operation", operation],
|
|
49
|
+
rule: "The original operation UUID determines this exact Run ID. Record the actual requirement title with UR content; use the returned Run/revision for resume dispatch.",
|
|
44
50
|
}),
|
|
45
51
|
Object.freeze({
|
|
46
52
|
id: "dispatch_again",
|
|
@@ -62,7 +68,7 @@ export function urDefinitionPhase(targetDir, control, input) {
|
|
|
62
68
|
const revisionId = extractField(runState.content ?? "", "revision_id");
|
|
63
69
|
if (!revisionId) return null;
|
|
64
70
|
const registered = isDurableApprovalArtefactPresent(targetDir, runState, "UR");
|
|
65
|
-
const canonicalPath =
|
|
71
|
+
const canonicalPath = `${runDocumentPath(input.run_id, '')}/UR.md`;
|
|
66
72
|
// Never substitute an existing noncanonical draft path.
|
|
67
73
|
if (registered && String(runState.artefacts.get("UR")?.path ?? "").replaceAll("`", "") !== canonicalPath) return null;
|
|
68
74
|
if (input.skill_id !== "ur-definition" && !(input.intake || input.continue_delivery)) return null;
|