@jtf19/vibecoding-kit 0.1.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/AGENTS.md +84 -0
- package/CHANGELOG.md +28 -0
- package/CLAUDE.md +137 -0
- package/CODE_OF_CONDUCT.md +30 -0
- package/CONTRIBUTING.md +69 -0
- package/LICENSE +67 -0
- package/README.md +162 -0
- package/SECURITY.md +34 -0
- package/adapters/claude/install.md +70 -0
- package/adapters/claude/plugin.json +38 -0
- package/adapters/claude/settings.example.json +15 -0
- package/adapters/codex/hooks.example.json +15 -0
- package/adapters/codex/install.md +72 -0
- package/adapters/codex/plugin.json +58 -0
- package/adapters/cursor/hooks.example.json +17 -0
- package/adapters/cursor/install.md +72 -0
- package/adapters/cursor/plugin.json +42 -0
- package/adapters/opencode/install.md +95 -0
- package/adapters/opencode/plugin.js +56 -0
- package/adapters/opencode/plugin.json +58 -0
- package/adapters/pi/extension.ts +56 -0
- package/adapters/pi/install.md +95 -0
- package/adapters/pi/plugin.json +58 -0
- package/bin/vibe-cli-usage.mjs +43 -0
- package/bin/vibe.mjs +120 -0
- package/docs/acceptance-checklist.md +1226 -0
- package/docs/architecture-debt-burndown.md +537 -0
- package/docs/architecture.md +77 -0
- package/docs/ci-evidence-onboarding.md +143 -0
- package/docs/development.md +71 -0
- package/docs/evidence-authoring.md +188 -0
- package/docs/golden-path.md +179 -0
- package/docs/install-acceptance-checklist.md +90 -0
- package/docs/install-claude.md +41 -0
- package/docs/install-codex.md +41 -0
- package/docs/install-cursor.md +41 -0
- package/docs/install-experience-roadmap.md +394 -0
- package/docs/install.md +119 -0
- package/docs/maintainer-guide.md +197 -0
- package/docs/phase-1-implementation.md +848 -0
- package/docs/phase-2-roadmap.md +142 -0
- package/docs/quick-recipes.md +115 -0
- package/docs/readiness-interpretation.md +105 -0
- package/docs/readiness-troubleshooting.md +209 -0
- package/docs/release-check-reference.md +63 -0
- package/docs/release-guide.md +481 -0
- package/docs/release-notes.md +75 -0
- package/docs/runtime-contract.md +1010 -0
- package/docs/runtime-maintainer-validation.md +212 -0
- package/docs/runtime-roadmap.md +2265 -0
- package/docs/skill-authoring-guide.md +150 -0
- package/docs/submodule-guide.md +131 -0
- package/docs/team-adoption.md +113 -0
- package/docs/user-guide.md +108 -0
- package/docs/vibecoding-fork-analysis.md +398 -0
- package/docs/workflow-chaining.md +539 -0
- package/examples/ci/README.md +61 -0
- package/examples/ci/ci-evidence-input.example.json +56 -0
- package/examples/ci/generate-diff-coverage.mjs +90 -0
- package/examples/ci/generate-test-evidence.mjs +82 -0
- package/examples/ci/github-actions-readiness.yml +108 -0
- package/examples/claude-project/README.md +57 -0
- package/examples/codex-project/README.md +57 -0
- package/examples/cursor-project/README.md +57 -0
- package/examples/full-chain/README.md +63 -0
- package/examples/full-chain/architecture-design.md +128 -0
- package/examples/full-chain/commit-readiness.json +31 -0
- package/examples/full-chain/delivery-traceability.yaml +32 -0
- package/examples/full-chain/diff-coverage.json +73 -0
- package/examples/full-chain/evidence.json +20 -0
- package/examples/full-chain/implementation-plan.md +54 -0
- package/examples/full-chain/product-acceptance.md +86 -0
- package/examples/full-chain/product-discovery.md +84 -0
- package/examples/full-chain/product-spec.md +88 -0
- package/examples/full-chain/scenario-acceptance.yaml +32 -0
- package/examples/full-chain/test-evidence.json +29 -0
- package/examples/full-chain/ui-design-contract.md +87 -0
- package/examples/golden-path/README.md +84 -0
- package/examples/golden-path/diff-coverage.json +66 -0
- package/examples/golden-path/implementation-plan.md +62 -0
- package/examples/golden-path/product-spec.md +96 -0
- package/examples/golden-path/test-evidence.json +29 -0
- package/examples/runtime-fixtures/architecture-design.md +128 -0
- package/examples/runtime-fixtures/commit-readiness.json +31 -0
- package/examples/runtime-fixtures/delivery-traceability.yaml +32 -0
- package/examples/runtime-fixtures/diff-coverage.json +73 -0
- package/examples/runtime-fixtures/evidence.json +20 -0
- package/examples/runtime-fixtures/implementation-plan.md +54 -0
- package/examples/runtime-fixtures/negative/commit-readiness-boundary-escalated.json +27 -0
- package/examples/runtime-fixtures/negative/delivery-traceability-bad-ref.yaml +32 -0
- package/examples/runtime-fixtures/negative/diff-coverage-changed-file-without-task-ref.json +40 -0
- package/examples/runtime-fixtures/negative/diff-coverage-operation-mismatch.json +38 -0
- package/examples/runtime-fixtures/negative/diff-coverage-required-task-missing.json +24 -0
- package/examples/runtime-fixtures/negative/diff-coverage-unexpected-file.json +20 -0
- package/examples/runtime-fixtures/negative/test-evidence-missing-output-digest.json +23 -0
- package/examples/runtime-fixtures/negative/test-evidence-risky-task-missing.json +29 -0
- package/examples/runtime-fixtures/product-acceptance.md +86 -0
- package/examples/runtime-fixtures/product-discovery.md +84 -0
- package/examples/runtime-fixtures/product-spec.md +88 -0
- package/examples/runtime-fixtures/scenario-acceptance.yaml +32 -0
- package/examples/runtime-fixtures/test-evidence.json +29 -0
- package/examples/runtime-fixtures/ui-design-contract.md +87 -0
- package/hooks/post-tool-compact/README.md +47 -0
- package/hooks/session-start/README.md +112 -0
- package/hooks/session-start/session-start-state-boundary-contract.mjs +161 -0
- package/hooks/session-start/session-start.md +29 -0
- package/hooks/session-start/session-start.mjs +49 -0
- package/hooks/workflow-handoff/README.md +44 -0
- package/hooks/workflow-handoff/workflow-handoff.md +11 -0
- package/package.json +72 -0
- package/skills/using-vibecoding/SKILL.md +396 -0
- package/skills/vibe-brainstorming/SKILL.md +98 -0
- package/skills/vibe-context-compact/SKILL.md +95 -0
- package/skills/vibe-debugging/SKILL.md +87 -0
- package/skills/vibe-dispatching-parallel-work/SKILL.md +144 -0
- package/skills/vibe-executing-plans/SKILL.md +114 -0
- package/skills/vibe-finishing-a-development-branch/SKILL.md +110 -0
- package/skills/vibe-implementation/SKILL.md +84 -0
- package/skills/vibe-planning/SKILL.md +102 -0
- package/skills/vibe-product-acceptance/SKILL.md +106 -0
- package/skills/vibe-product-discovery/SKILL.md +107 -0
- package/skills/vibe-product-spec/SKILL.md +105 -0
- package/skills/vibe-receiving-code-review/SKILL.md +110 -0
- package/skills/vibe-requesting-code-review/SKILL.md +106 -0
- package/skills/vibe-review/SKILL.md +106 -0
- package/skills/vibe-subagent-driven-development/SKILL.md +198 -0
- package/skills/vibe-systematic-debugging/SKILL.md +106 -0
- package/skills/vibe-test-driven-development/SKILL.md +112 -0
- package/skills/vibe-ui-design/SKILL.md +107 -0
- package/skills/vibe-verification/SKILL.md +84 -0
- package/skills/vibe-verification-before-completion/SKILL.md +170 -0
- package/skills/vibe-workspace-isolation/SKILL.md +158 -0
- package/skills/vibe-writing-plans/SKILL.md +137 -0
- package/skills/vibe-writing-skills/SKILL.md +118 -0
- package/templates/AGENTS.md +88 -0
- package/templates/CLAUDE.md +88 -0
- package/templates/VIBE-CODING.md +157 -0
- package/templates/architecture-design.md +139 -0
- package/templates/delivery-traceability.yaml +52 -0
- package/templates/evidence/README.md +117 -0
- package/templates/evidence/diff-coverage.json +34 -0
- package/templates/evidence/test-evidence.json +29 -0
- package/templates/implementation-plan.md +73 -0
- package/templates/product-acceptance.md +84 -0
- package/templates/product-discovery.md +81 -0
- package/templates/product-spec.md +84 -0
- package/templates/scenario-acceptance.yaml +37 -0
- package/templates/ui-design-contract.md +86 -0
- package/tools/vibe-architecture-check/README.md +66 -0
- package/tools/vibe-architecture-check/index.mjs +691 -0
- package/tools/vibe-compact/README.md +65 -0
- package/tools/vibe-compact/compact-contract.mjs +63 -0
- package/tools/vibe-compact/index.mjs +111 -0
- package/tools/vibe-doctor/README.md +200 -0
- package/tools/vibe-doctor/index.mjs +1721 -0
- package/tools/vibe-init/README.md +231 -0
- package/tools/vibe-init/index.mjs +369 -0
- package/tools/vibe-init/init-cli-args.mjs +100 -0
- package/tools/vibe-init/init-entry-merge-model.mjs +33 -0
- package/tools/vibe-init/init-install-manifest-model.mjs +137 -0
- package/tools/vibe-init/init-installed-agent-experience-contract.mjs +172 -0
- package/tools/vibe-init/init-platform-model.mjs +11 -0
- package/tools/vibe-init/init-presentation.mjs +149 -0
- package/tools/vibe-lifecycle/README.md +37 -0
- package/tools/vibe-lifecycle/index.mjs +365 -0
- package/tools/vibe-lifecycle/lifecycle-cli-args.mjs +104 -0
- package/tools/vibe-lifecycle/lifecycle-summary-model.mjs +67 -0
- package/tools/vibe-lifecycle/lifecycle-uninstall-plan-model.mjs +11 -0
- package/tools/vibe-plugin-pack/README.md +105 -0
- package/tools/vibe-plugin-pack/index.mjs +302 -0
- package/tools/vibe-plugin-pack/plugin-pack-cli.mjs +39 -0
- package/tools/vibe-plugin-pack/plugin-pack-manifest.mjs +37 -0
- package/tools/vibe-profile/index.mjs +212 -0
- package/tools/vibe-release-check/README.md +123 -0
- package/tools/vibe-release-check/command-manifest/release-check-base-commands.mjs +23 -0
- package/tools/vibe-release-check/command-manifest/release-check-closeout-commands.mjs +16 -0
- package/tools/vibe-release-check/command-manifest/release-check-command-metadata.mjs +32 -0
- package/tools/vibe-release-check/command-manifest/release-check-completion-commands.mjs +41 -0
- package/tools/vibe-release-check/command-manifest/release-check-full-chain-commands.mjs +12 -0
- package/tools/vibe-release-check/command-manifest/release-check-golden-path-commands.mjs +12 -0
- package/tools/vibe-release-check/command-manifest/release-check-install-commands.mjs +26 -0
- package/tools/vibe-release-check/command-manifest/release-check-learning-smoke-commands.mjs +21 -0
- package/tools/vibe-release-check/command-manifest/release-check-methodology-commands.mjs +27 -0
- package/tools/vibe-release-check/command-manifest/release-check-runtime-smoke-commands.mjs +116 -0
- package/tools/vibe-release-check/command-manifest/release-check-token-smoke-commands.mjs +21 -0
- package/tools/vibe-release-check/index.mjs +223 -0
- package/tools/vibe-release-check/release-check-behavior-smoke.mjs +177 -0
- package/tools/vibe-release-check/release-check-cli.mjs +37 -0
- package/tools/vibe-release-check/release-check-command-manifest.mjs +49 -0
- package/tools/vibe-release-check/release-check-completion-fixtures.mjs +151 -0
- package/tools/vibe-release-check/release-check-completion-suite.mjs +110 -0
- package/tools/vibe-release-check/release-check-dispatch.mjs +116 -0
- package/tools/vibe-release-check/release-check-full-chain-suite.mjs +55 -0
- package/tools/vibe-release-check/release-check-golden-path-suite.mjs +85 -0
- package/tools/vibe-release-check/release-check-install-marker-specs.mjs +133 -0
- package/tools/vibe-release-check/release-check-install-suite.mjs +112 -0
- package/tools/vibe-release-check/release-check-json-assertion-helpers.mjs +157 -0
- package/tools/vibe-release-check/release-check-json-markers.mjs +33 -0
- package/tools/vibe-release-check/release-check-learning-fixture-specs.mjs +199 -0
- package/tools/vibe-release-check/release-check-learning-suite.mjs +249 -0
- package/tools/vibe-release-check/release-check-live-behavior-smoke-fixture.mjs +406 -0
- package/tools/vibe-release-check/release-check-methodology-suite.mjs +108 -0
- package/tools/vibe-release-check/release-check-package-boundary-smoke.mjs +111 -0
- package/tools/vibe-release-check/release-check-platform-transcript-smoke-fixture.mjs +150 -0
- package/tools/vibe-release-check/release-check-readonly-marker-data.mjs +1 -0
- package/tools/vibe-release-check/release-check-readonly-marker-smoke-specs.mjs +170 -0
- package/tools/vibe-release-check/release-check-run-summary.mjs +67 -0
- package/tools/vibe-release-check/release-check-runtime-automation-fixtures.mjs +1 -0
- package/tools/vibe-release-check/release-check-runtime-automation-governance-reply-trace-smoke-helpers.mjs +224 -0
- package/tools/vibe-release-check/release-check-runtime-automation-governance-smoke-specs.mjs +215 -0
- package/tools/vibe-release-check/release-check-runtime-automation-governance-suite.mjs +5 -0
- package/tools/vibe-release-check/release-check-runtime-automation-methodology-smoke-specs.mjs +157 -0
- package/tools/vibe-release-check/release-check-runtime-automation-methodology-suite.mjs +130 -0
- package/tools/vibe-release-check/release-check-runtime-automation-platform-smoke-helpers.mjs +306 -0
- package/tools/vibe-release-check/release-check-runtime-automation-platform-suite.mjs +30 -0
- package/tools/vibe-release-check/release-check-runtime-automation-smoke-fixtures.mjs +53 -0
- package/tools/vibe-release-check/release-check-runtime-automation-source-candidate-smoke-helpers.mjs +506 -0
- package/tools/vibe-release-check/release-check-runtime-automation-source-suite.mjs +5 -0
- package/tools/vibe-release-check/release-check-runtime-automation-subagents-lifecycle-smoke-helpers.mjs +305 -0
- package/tools/vibe-release-check/release-check-runtime-automation-subagents-suite.mjs +25 -0
- package/tools/vibe-release-check/release-check-runtime-automation-suite.mjs +25 -0
- package/tools/vibe-release-check/release-check-runtime-daemon-bounded-run-smoke-helpers.mjs +243 -0
- package/tools/vibe-release-check/release-check-runtime-daemon-suite.mjs +5 -0
- package/tools/vibe-release-check/release-check-runtime-dispatch-fixtures.mjs +129 -0
- package/tools/vibe-release-check/release-check-runtime-dispatch-suite.mjs +5 -0
- package/tools/vibe-release-check/release-check-runtime-execution-approval-smoke-helpers.mjs +274 -0
- package/tools/vibe-release-check/release-check-runtime-execution-approval-suite.mjs +5 -0
- package/tools/vibe-release-check/release-check-runtime-execution-base-suite.mjs +388 -0
- package/tools/vibe-release-check/release-check-runtime-execution-recovery-suite.mjs +412 -0
- package/tools/vibe-release-check/release-check-runtime-execution-scheduler-suite.mjs +261 -0
- package/tools/vibe-release-check/release-check-runtime-execution-suite.mjs +11 -0
- package/tools/vibe-release-check/release-check-runtime-flow-smoke.mjs +347 -0
- package/tools/vibe-release-check/release-check-runtime-handoff-fixture-specs.mjs +211 -0
- package/tools/vibe-release-check/release-check-runtime-handoff-fixtures.mjs +11 -0
- package/tools/vibe-release-check/release-check-runtime-handoff-smoke-specs.mjs +86 -0
- package/tools/vibe-release-check/release-check-runtime-handoff-suite.mjs +316 -0
- package/tools/vibe-release-check/release-check-runtime-ledger-fixture-specs.mjs +9 -0
- package/tools/vibe-release-check/release-check-runtime-ledger-fixtures.mjs +51 -0
- package/tools/vibe-release-check/release-check-runtime-ledger-suite.mjs +24 -0
- package/tools/vibe-release-check/release-check-runtime-scheduler-fixture-specs.mjs +129 -0
- package/tools/vibe-release-check/release-check-runtime-scheduler-fixtures.mjs +10 -0
- package/tools/vibe-release-check/release-check-runtime-sdd-suite.mjs +535 -0
- package/tools/vibe-release-check/release-check-runtime-smoke-harness.mjs +140 -0
- package/tools/vibe-release-check/release-check-runtime-surface-expectations.mjs +106 -0
- package/tools/vibe-release-check/release-check-runtime-surface-smoke.mjs +112 -0
- package/tools/vibe-release-check/release-check-runtime-task-artifact-suite.mjs +105 -0
- package/tools/vibe-release-check/release-check-runtime-task-fixture-specs.mjs +270 -0
- package/tools/vibe-release-check/release-check-runtime-task-fixtures.mjs +19 -0
- package/tools/vibe-release-check/release-check-runtime.mjs +53 -0
- package/tools/vibe-release-check/release-check-stage103-118-fixtures.mjs +214 -0
- package/tools/vibe-release-check/release-check-stage103-118-smoke-specs.mjs +97 -0
- package/tools/vibe-release-check/release-check-stage103-118-smoke.mjs +861 -0
- package/tools/vibe-release-check/release-check-stage11-smoke.mjs +66 -0
- package/tools/vibe-release-check/release-check-stage119-120-fixture-specs.mjs +119 -0
- package/tools/vibe-release-check/release-check-stage119-120-smoke.mjs +325 -0
- package/tools/vibe-release-check/release-check-stage12-smoke.mjs +59 -0
- package/tools/vibe-release-check/release-check-stage121-136-fixture-specs.mjs +26 -0
- package/tools/vibe-release-check/release-check-stage121-136-fixtures.mjs +591 -0
- package/tools/vibe-release-check/release-check-stage121-136-smoke.mjs +917 -0
- package/tools/vibe-release-check/release-check-stage13-smoke.mjs +78 -0
- package/tools/vibe-release-check/release-check-stage137-140-smoke.mjs +534 -0
- package/tools/vibe-release-check/release-check-stage14-smoke.mjs +101 -0
- package/tools/vibe-release-check/release-check-stage141-148-smoke.mjs +1143 -0
- package/tools/vibe-release-check/release-check-stage15-smoke.mjs +132 -0
- package/tools/vibe-release-check/release-check-stage50-53-smoke.mjs +429 -0
- package/tools/vibe-release-check/release-check-subagent-adapter-bridge-smoke.mjs +162 -0
- package/tools/vibe-release-check/release-check-suite-plan-smoke.mjs +86 -0
- package/tools/vibe-release-check/release-check-suites.mjs +164 -0
- package/tools/vibe-release-check/release-check-test-run-smoke.mjs +59 -0
- package/tools/vibe-release-check/release-check-timing.mjs +98 -0
- package/tools/vibe-release-check/release-check-token-suite.mjs +260 -0
- package/tools/vibe-release-check/release-check-workflow-entry-suite.mjs +195 -0
- package/tools/vibe-release-check/release-check-workflow-governance-fixtures.mjs +138 -0
- package/tools/vibe-release-check/release-check-workflow-governance-smoke-suite.mjs +768 -0
- package/tools/vibe-release-check/release-check-workflow-ux-smoke.mjs +456 -0
- package/tools/vibe-runtime/README.md +2637 -0
- package/tools/vibe-runtime/index.mjs +3117 -0
- package/tools/vibe-runtime/runtime-adapter-bootstrap-matrix.mjs +264 -0
- package/tools/vibe-runtime/runtime-adapter-entry-acceptance.mjs +310 -0
- package/tools/vibe-runtime/runtime-adapter-packaging-consistency-command.mjs +131 -0
- package/tools/vibe-runtime/runtime-adapter-packaging-consistency.mjs +253 -0
- package/tools/vibe-runtime/runtime-advice-hub-model.mjs +175 -0
- package/tools/vibe-runtime/runtime-agent-session-start-contract.mjs +138 -0
- package/tools/vibe-runtime/runtime-artifact-ref-validation.mjs +281 -0
- package/tools/vibe-runtime/runtime-automatic-verification-gate-contract.mjs +134 -0
- package/tools/vibe-runtime/runtime-automation-boundary-text.mjs +7 -0
- package/tools/vibe-runtime/runtime-automation-command.mjs +367 -0
- package/tools/vibe-runtime/runtime-automation-plan-model.mjs +239 -0
- package/tools/vibe-runtime/runtime-automation-policy-model.mjs +175 -0
- package/tools/vibe-runtime/runtime-automation-readiness.mjs +347 -0
- package/tools/vibe-runtime/runtime-autopilot-lab-profile-contract.mjs +223 -0
- package/tools/vibe-runtime/runtime-behavioral-evaluation-contract.mjs +529 -0
- package/tools/vibe-runtime/runtime-behavioral-negative-gate-matrix.mjs +274 -0
- package/tools/vibe-runtime/runtime-bounded-attempt-policy-model.mjs +13 -0
- package/tools/vibe-runtime/runtime-bounded-foreground-command-executor-contract.mjs +288 -0
- package/tools/vibe-runtime/runtime-capability-registry.mjs +250 -0
- package/tools/vibe-runtime/runtime-cli-args.mjs +550 -0
- package/tools/vibe-runtime/runtime-cli-command-specs.mjs +63 -0
- package/tools/vibe-runtime/runtime-cli-dispatch.mjs +21 -0
- package/tools/vibe-runtime/runtime-cli-evidence-option-specs.mjs +193 -0
- package/tools/vibe-runtime/runtime-cli-evidence-options.mjs +28 -0
- package/tools/vibe-runtime/runtime-cli-from-options.mjs +222 -0
- package/tools/vibe-runtime/runtime-cli-low-risk-option-specs.mjs +128 -0
- package/tools/vibe-runtime/runtime-cli-main.mjs +32 -0
- package/tools/vibe-runtime/runtime-cli-option-default-families.mjs +454 -0
- package/tools/vibe-runtime/runtime-cli-option-defaults.mjs +33 -0
- package/tools/vibe-runtime/runtime-cli-option-handlers.mjs +82 -0
- package/tools/vibe-runtime/runtime-cli-usage.mjs +316 -0
- package/tools/vibe-runtime/runtime-cli-value-options.mjs +74 -0
- package/tools/vibe-runtime/runtime-close-loop-dashboard.mjs +283 -0
- package/tools/vibe-runtime/runtime-closeout-parity-contract.mjs +214 -0
- package/tools/vibe-runtime/runtime-command-container.mjs +26 -0
- package/tools/vibe-runtime/runtime-command-surface-registry.mjs +383 -0
- package/tools/vibe-runtime/runtime-command-wrapper-deps.mjs +13 -0
- package/tools/vibe-runtime/runtime-commit-readiness-envelope.mjs +281 -0
- package/tools/vibe-runtime/runtime-completion-boundary-text.mjs +7 -0
- package/tools/vibe-runtime/runtime-completion-bundle-contract.mjs +71 -0
- package/tools/vibe-runtime/runtime-completion-chain-assembly.mjs +48 -0
- package/tools/vibe-runtime/runtime-completion-command.mjs +50 -0
- package/tools/vibe-runtime/runtime-completion-evidence-bundle.mjs +269 -0
- package/tools/vibe-runtime/runtime-completion-evidence-descriptors.mjs +156 -0
- package/tools/vibe-runtime/runtime-completion-local-evidence-gates.mjs +164 -0
- package/tools/vibe-runtime/runtime-completion-presentation.mjs +71 -0
- package/tools/vibe-runtime/runtime-completion-readiness-summary.mjs +159 -0
- package/tools/vibe-runtime/runtime-confirmed-one-shot-plan.mjs +300 -0
- package/tools/vibe-runtime/runtime-context-budget-entry-defaults-command.mjs +77 -0
- package/tools/vibe-runtime/runtime-context-budget-entry-defaults.mjs +341 -0
- package/tools/vibe-runtime/runtime-contract-marker-registry.mjs +13 -0
- package/tools/vibe-runtime/runtime-contributor-guardrail-command.mjs +78 -0
- package/tools/vibe-runtime/runtime-contributor-guardrail-evidence.mjs +319 -0
- package/tools/vibe-runtime/runtime-control-plane-command.mjs +237 -0
- package/tools/vibe-runtime/runtime-control-plane-evals-artifacts.mjs +123 -0
- package/tools/vibe-runtime/runtime-control-plane-evals-boundary-model.mjs +75 -0
- package/tools/vibe-runtime/runtime-control-plane-evals-cases.mjs +547 -0
- package/tools/vibe-runtime/runtime-control-plane-evals-command.mjs +527 -0
- package/tools/vibe-runtime/runtime-control-plane-evals-report-validation.mjs +209 -0
- package/tools/vibe-runtime/runtime-control-plane-planner-artifacts.mjs +457 -0
- package/tools/vibe-runtime/runtime-control-plane-planning-command.mjs +563 -0
- package/tools/vibe-runtime/runtime-control-plane-planning-input.mjs +99 -0
- package/tools/vibe-runtime/runtime-control-plane-planning-listing.mjs +48 -0
- package/tools/vibe-runtime/runtime-control-plane-planning-presentation.mjs +246 -0
- package/tools/vibe-runtime/runtime-control-plane-planning-validation.mjs +529 -0
- package/tools/vibe-runtime/runtime-control-plane-readonly-command.mjs +537 -0
- package/tools/vibe-runtime/runtime-control-plane-readonly-deps.mjs +146 -0
- package/tools/vibe-runtime/runtime-control-plane-release-evidence.mjs +525 -0
- package/tools/vibe-runtime/runtime-control-plane-release-gates.mjs +369 -0
- package/tools/vibe-runtime/runtime-control-plane-router-planning-model.mjs +152 -0
- package/tools/vibe-runtime/runtime-control-plane-routing-artifacts.mjs +588 -0
- package/tools/vibe-runtime/runtime-controlled-change-delivery-contract.mjs +165 -0
- package/tools/vibe-runtime/runtime-controlled-execution-gate-contract.mjs +141 -0
- package/tools/vibe-runtime/runtime-controlled-long-running-automation-contract.mjs +184 -0
- package/tools/vibe-runtime/runtime-controlled-subagent-orchestration-contract.mjs +169 -0
- package/tools/vibe-runtime/runtime-daemon-command.mjs +166 -0
- package/tools/vibe-runtime/runtime-daemon-state-lifecycle-model.mjs +359 -0
- package/tools/vibe-runtime/runtime-delivery-methodology-command.mjs +17 -0
- package/tools/vibe-runtime/runtime-delivery-methodology-gates.mjs +277 -0
- package/tools/vibe-runtime/runtime-diff-coverage-envelope.mjs +301 -0
- package/tools/vibe-runtime/runtime-dispatch-command.mjs +484 -0
- package/tools/vibe-runtime/runtime-dispatch-readonly-artifacts.mjs +406 -0
- package/tools/vibe-runtime/runtime-dispatch-state-lifecycle-model.mjs +199 -0
- package/tools/vibe-runtime/runtime-durable-state-recovery-contract.mjs +172 -0
- package/tools/vibe-runtime/runtime-entry-advice-model.mjs +201 -0
- package/tools/vibe-runtime/runtime-entry-deps-builder.mjs +54 -0
- package/tools/vibe-runtime/runtime-entry-presentation.mjs +82 -0
- package/tools/vibe-runtime/runtime-entry-summary-model.mjs +343 -0
- package/tools/vibe-runtime/runtime-entry-trigger-discipline.mjs +341 -0
- package/tools/vibe-runtime/runtime-entry-trigger-tightening-command.mjs +79 -0
- package/tools/vibe-runtime/runtime-entry-trigger-tightening.mjs +357 -0
- package/tools/vibe-runtime/runtime-eval-catalog-model.mjs +101 -0
- package/tools/vibe-runtime/runtime-eval-transcript-fixtures.mjs +218 -0
- package/tools/vibe-runtime/runtime-evidence-intake-envelope.mjs +278 -0
- package/tools/vibe-runtime/runtime-evidence-repair-model.mjs +180 -0
- package/tools/vibe-runtime/runtime-executable-plan-contract.mjs +428 -0
- package/tools/vibe-runtime/runtime-execution-approval-lifecycle-models.mjs +278 -0
- package/tools/vibe-runtime/runtime-execution-candidate-approval-artifacts.mjs +227 -0
- package/tools/vibe-runtime/runtime-execution-command.mjs +544 -0
- package/tools/vibe-runtime/runtime-execution-enabled-bridge-model.mjs +113 -0
- package/tools/vibe-runtime/runtime-execution-enabled-closeout-boundary.mjs +89 -0
- package/tools/vibe-runtime/runtime-execution-enabled-preflight-model.mjs +185 -0
- package/tools/vibe-runtime/runtime-execution-enabled-profile-contract.mjs +127 -0
- package/tools/vibe-runtime/runtime-execution-enabled-run-envelope.mjs +153 -0
- package/tools/vibe-runtime/runtime-execution-evidence-binder.mjs +537 -0
- package/tools/vibe-runtime/runtime-execution-plan-artifacts.mjs +136 -0
- package/tools/vibe-runtime/runtime-execution-policy-artifacts.mjs +377 -0
- package/tools/vibe-runtime/runtime-execution-presentation.mjs +174 -0
- package/tools/vibe-runtime/runtime-execution-readonly-artifacts.mjs +228 -0
- package/tools/vibe-runtime/runtime-execution-run-preflight-artifacts.mjs +265 -0
- package/tools/vibe-runtime/runtime-execution-safety-artifacts.mjs +131 -0
- package/tools/vibe-runtime/runtime-execution-state-write-lifecycle-model.mjs +99 -0
- package/tools/vibe-runtime/runtime-experience-friction-matrix.mjs +395 -0
- package/tools/vibe-runtime/runtime-experience-learning-pattern.mjs +354 -0
- package/tools/vibe-runtime/runtime-experience-regression-dashboard.mjs +398 -0
- package/tools/vibe-runtime/runtime-experience-upgrade-command.mjs +92 -0
- package/tools/vibe-runtime/runtime-experience-upgrade-prioritizer.mjs +451 -0
- package/tools/vibe-runtime/runtime-foreground-worker-plan.mjs +275 -0
- package/tools/vibe-runtime/runtime-git-diff-read-model.mjs +322 -0
- package/tools/vibe-runtime/runtime-governance-attestation.mjs +304 -0
- package/tools/vibe-runtime/runtime-governance-command.mjs +609 -0
- package/tools/vibe-runtime/runtime-governance-convergence-reports.mjs +601 -0
- package/tools/vibe-runtime/runtime-governance-pr-models.mjs +551 -0
- package/tools/vibe-runtime/runtime-governance-presentation.mjs +67 -0
- package/tools/vibe-runtime/runtime-governance-route-model.mjs +194 -0
- package/tools/vibe-runtime/runtime-governance-surface-reports.mjs +495 -0
- package/tools/vibe-runtime/runtime-hooks-boundary-model.mjs +356 -0
- package/tools/vibe-runtime/runtime-hooks-command.mjs +286 -0
- package/tools/vibe-runtime/runtime-human-completion-evidence-model.mjs +220 -0
- package/tools/vibe-runtime/runtime-human-friendly-aliases.mjs +250 -0
- package/tools/vibe-runtime/runtime-implementation-methodology-command.mjs +17 -0
- package/tools/vibe-runtime/runtime-implementation-methodology-gates.mjs +164 -0
- package/tools/vibe-runtime/runtime-implementation-task-registry.mjs +334 -0
- package/tools/vibe-runtime/runtime-install-experience-command.mjs +120 -0
- package/tools/vibe-runtime/runtime-install-experience-score.mjs +334 -0
- package/tools/vibe-runtime/runtime-installed-multiround-ux-acceptance.mjs +149 -0
- package/tools/vibe-runtime/runtime-interaction-command-domain-registry.mjs +46 -0
- package/tools/vibe-runtime/runtime-interaction-command.mjs +648 -0
- package/tools/vibe-runtime/runtime-interaction-completion-command.mjs +220 -0
- package/tools/vibe-runtime/runtime-interaction-entry-command.mjs +130 -0
- package/tools/vibe-runtime/runtime-interaction-workflow-envelopes.mjs +412 -0
- package/tools/vibe-runtime/runtime-learning-advice-model.mjs +157 -0
- package/tools/vibe-runtime/runtime-learning-artifact-model.mjs +509 -0
- package/tools/vibe-runtime/runtime-learning-audit-model.mjs +106 -0
- package/tools/vibe-runtime/runtime-learning-interaction-command.mjs +220 -0
- package/tools/vibe-runtime/runtime-learning-observation-model.mjs +124 -0
- package/tools/vibe-runtime/runtime-learning-presentation.mjs +84 -0
- package/tools/vibe-runtime/runtime-learning-run-preview-model.mjs +184 -0
- package/tools/vibe-runtime/runtime-lease-command.mjs +95 -0
- package/tools/vibe-runtime/runtime-lease-state-lifecycle-model.mjs +247 -0
- package/tools/vibe-runtime/runtime-list-presentation.mjs +7 -0
- package/tools/vibe-runtime/runtime-live-behavior-transcript-model.mjs +164 -0
- package/tools/vibe-runtime/runtime-local-behavior-eval-contracts-command.mjs +76 -0
- package/tools/vibe-runtime/runtime-local-behavior-eval-contracts.mjs +382 -0
- package/tools/vibe-runtime/runtime-local-commit-automation-gate.mjs +254 -0
- package/tools/vibe-runtime/runtime-local-json-input.mjs +32 -0
- package/tools/vibe-runtime/runtime-methodology-coverage-map.mjs +398 -0
- package/tools/vibe-runtime/runtime-methodology-coverage-marker-specs.mjs +61 -0
- package/tools/vibe-runtime/runtime-methodology-coverage-presentation.mjs +26 -0
- package/tools/vibe-runtime/runtime-methodology-gate-model.mjs +154 -0
- package/tools/vibe-runtime/runtime-methodology-gate-output-envelope.mjs +4 -0
- package/tools/vibe-runtime/runtime-methodology-interaction-command.mjs +147 -0
- package/tools/vibe-runtime/runtime-methodology-presentation.mjs +76 -0
- package/tools/vibe-runtime/runtime-methodology-route-model.mjs +93 -0
- package/tools/vibe-runtime/runtime-next-action-console.mjs +388 -0
- package/tools/vibe-runtime/runtime-next-action-evidence-prompts-command.mjs +84 -0
- package/tools/vibe-runtime/runtime-next-action-evidence-prompts.mjs +327 -0
- package/tools/vibe-runtime/runtime-observability-command.mjs +96 -0
- package/tools/vibe-runtime/runtime-observability-presentation.mjs +30 -0
- package/tools/vibe-runtime/runtime-observability-readiness-model.mjs +204 -0
- package/tools/vibe-runtime/runtime-patch-queue-contract.mjs +151 -0
- package/tools/vibe-runtime/runtime-plan-action-manifest.mjs +334 -0
- package/tools/vibe-runtime/runtime-planner-route-model.mjs +75 -0
- package/tools/vibe-runtime/runtime-platform-acceptance-command.mjs +216 -0
- package/tools/vibe-runtime/runtime-platform-capability-artifacts.mjs +156 -0
- package/tools/vibe-runtime/runtime-platform-capability-model.mjs +105 -0
- package/tools/vibe-runtime/runtime-platform-command.mjs +329 -0
- package/tools/vibe-runtime/runtime-platform-presentation.mjs +78 -0
- package/tools/vibe-runtime/runtime-platform-session-artifacts.mjs +857 -0
- package/tools/vibe-runtime/runtime-platform-transcript-example-pack.mjs +293 -0
- package/tools/vibe-runtime/runtime-platform-transcript-intake-model.mjs +247 -0
- package/tools/vibe-runtime/runtime-platform-transcript-replay-model.mjs +371 -0
- package/tools/vibe-runtime/runtime-policy-catalog.mjs +54 -0
- package/tools/vibe-runtime/runtime-product-methodology-command.mjs +17 -0
- package/tools/vibe-runtime/runtime-product-methodology-gates.mjs +316 -0
- package/tools/vibe-runtime/runtime-progressive-entry-ux.mjs +237 -0
- package/tools/vibe-runtime/runtime-queue-command.mjs +98 -0
- package/tools/vibe-runtime/runtime-queue-state-lifecycle-model.mjs +318 -0
- package/tools/vibe-runtime/runtime-readiness-gate-split.mjs +196 -0
- package/tools/vibe-runtime/runtime-readonly-local-json-output-envelope.mjs +24 -0
- package/tools/vibe-runtime/runtime-recovery-classification-models.mjs +412 -0
- package/tools/vibe-runtime/runtime-recovery-command.mjs +107 -0
- package/tools/vibe-runtime/runtime-recovery-presentation.mjs +65 -0
- package/tools/vibe-runtime/runtime-recovery-state-lifecycle-model.mjs +419 -0
- package/tools/vibe-runtime/runtime-release-command-deps.mjs +4 -0
- package/tools/vibe-runtime/runtime-release-command.mjs +225 -0
- package/tools/vibe-runtime/runtime-release-state-lifecycle-model.mjs +48 -0
- package/tools/vibe-runtime/runtime-reply-artifact-lifecycle-model.mjs +84 -0
- package/tools/vibe-runtime/runtime-reply-command.mjs +488 -0
- package/tools/vibe-runtime/runtime-retry-command.mjs +223 -0
- package/tools/vibe-runtime/runtime-retry-run-gate-model.mjs +151 -0
- package/tools/vibe-runtime/runtime-review-envelope.mjs +449 -0
- package/tools/vibe-runtime/runtime-review-feedback-gate.mjs +160 -0
- package/tools/vibe-runtime/runtime-runbook-executor-preview-contract.mjs +361 -0
- package/tools/vibe-runtime/runtime-scheduler-command.mjs +8 -0
- package/tools/vibe-runtime/runtime-scheduler-risk-artifacts.mjs +775 -0
- package/tools/vibe-runtime/runtime-scheduler-state-lifecycle-model.mjs +53 -0
- package/tools/vibe-runtime/runtime-sdd-consumption-command.mjs +386 -0
- package/tools/vibe-runtime/runtime-sdd-evidence-chain-model.mjs +200 -0
- package/tools/vibe-runtime/runtime-sdd-handoff-chain-model.mjs +168 -0
- package/tools/vibe-runtime/runtime-sdd-implementer-artifact-model.mjs +90 -0
- package/tools/vibe-runtime/runtime-sdd-loop-command.mjs +659 -0
- package/tools/vibe-runtime/runtime-sdd-plan-preflight-model.mjs +121 -0
- package/tools/vibe-runtime/runtime-sdd-review-package-command.mjs +197 -0
- package/tools/vibe-runtime/runtime-sdd-review-package-model.mjs +183 -0
- package/tools/vibe-runtime/runtime-sdd-task-brief-model.mjs +144 -0
- package/tools/vibe-runtime/runtime-self-test-gate-profile.mjs +225 -0
- package/tools/vibe-runtime/runtime-sequential-stage-runbook.mjs +406 -0
- package/tools/vibe-runtime/runtime-session-checkpoint-model.mjs +217 -0
- package/tools/vibe-runtime/runtime-session-skill-command.mjs +241 -0
- package/tools/vibe-runtime/runtime-session-start-example-command.mjs +122 -0
- package/tools/vibe-runtime/runtime-session-start-example-pack.mjs +290 -0
- package/tools/vibe-runtime/runtime-session-start-shape-acceptance.mjs +344 -0
- package/tools/vibe-runtime/runtime-skill-contract-schema.mjs +221 -0
- package/tools/vibe-runtime/runtime-skill-route-registry.mjs +47 -0
- package/tools/vibe-runtime/runtime-skill-runtime-traceability-map.mjs +268 -0
- package/tools/vibe-runtime/runtime-source-merge-apply-boundary-model.mjs +130 -0
- package/tools/vibe-runtime/runtime-source-merge-artifacts.mjs +920 -0
- package/tools/vibe-runtime/runtime-source-merge-command.mjs +160 -0
- package/tools/vibe-runtime/runtime-source-merge-entry-command.mjs +153 -0
- package/tools/vibe-runtime/runtime-source-patch-plan-model.mjs +119 -0
- package/tools/vibe-runtime/runtime-stage-scriptlet.mjs +430 -0
- package/tools/vibe-runtime/runtime-staged-commit-readiness.mjs +469 -0
- package/tools/vibe-runtime/runtime-state-directory-model.mjs +7 -0
- package/tools/vibe-runtime/runtime-state-io.mjs +41 -0
- package/tools/vibe-runtime/runtime-state-paths.mjs +231 -0
- package/tools/vibe-runtime/runtime-state-presence-model.mjs +6 -0
- package/tools/vibe-runtime/runtime-state-risk-paths.mjs +70 -0
- package/tools/vibe-runtime/runtime-subagent-adapter-dispatch-command.mjs +266 -0
- package/tools/vibe-runtime/runtime-subagent-boundary-contracts.mjs +118 -0
- package/tools/vibe-runtime/runtime-subagent-permission-command.mjs +78 -0
- package/tools/vibe-runtime/runtime-subagent-permission-gate-model.mjs +131 -0
- package/tools/vibe-runtime/runtime-subagent-permission-visibility.mjs +294 -0
- package/tools/vibe-runtime/runtime-subagents-artifact-specs.mjs +257 -0
- package/tools/vibe-runtime/runtime-subagents-command.mjs +10 -0
- package/tools/vibe-runtime/runtime-subagents-eligibility-model.mjs +340 -0
- package/tools/vibe-runtime/runtime-subagents-platform-session-proxies.mjs +54 -0
- package/tools/vibe-runtime/runtime-subagents-presentation.mjs +91 -0
- package/tools/vibe-runtime/runtime-subagents-risk-artifacts.mjs +853 -0
- package/tools/vibe-runtime/runtime-subagents-stage-artifact-model.mjs +538 -0
- package/tools/vibe-runtime/runtime-subagents-tail-routing-model.mjs +48 -0
- package/tools/vibe-runtime/runtime-suite-plan-model.mjs +194 -0
- package/tools/vibe-runtime/runtime-superpowers-comparison-matrix.mjs +399 -0
- package/tools/vibe-runtime/runtime-superpowers-gap-matrix.mjs +307 -0
- package/tools/vibe-runtime/runtime-superpowers-parity-command.mjs +102 -0
- package/tools/vibe-runtime/runtime-superpowers-parity-profile-contract.mjs +183 -0
- package/tools/vibe-runtime/runtime-superpowers-parity-scorecard.mjs +460 -0
- package/tools/vibe-runtime/runtime-superpowers-regression-guard.mjs +270 -0
- package/tools/vibe-runtime/runtime-superpowers-style-eval-pack.mjs +367 -0
- package/tools/vibe-runtime/runtime-task-commit-gates.mjs +62 -0
- package/tools/vibe-runtime/runtime-task-commit-readiness.mjs +66 -0
- package/tools/vibe-runtime/runtime-task-commit-sidecar.mjs +65 -0
- package/tools/vibe-runtime/runtime-tdd-trace-contract.mjs +277 -0
- package/tools/vibe-runtime/runtime-test-evidence-model.mjs +196 -0
- package/tools/vibe-runtime/runtime-test-run-command-deps.mjs +7 -0
- package/tools/vibe-runtime/runtime-test-run-command.mjs +108 -0
- package/tools/vibe-runtime/runtime-token-economy-model.mjs +336 -0
- package/tools/vibe-runtime/runtime-token-interaction-command.mjs +381 -0
- package/tools/vibe-runtime/runtime-token-savior-budget.mjs +370 -0
- package/tools/vibe-runtime/runtime-tokens-command-deps.mjs +17 -0
- package/tools/vibe-runtime/runtime-tokens-command.mjs +117 -0
- package/tools/vibe-runtime/runtime-tokens-presentation.mjs +45 -0
- package/tools/vibe-runtime/runtime-trace-command.mjs +283 -0
- package/tools/vibe-runtime/runtime-trace-source-registry.mjs +132 -0
- package/tools/vibe-runtime/runtime-verification-gate-chain-model.mjs +131 -0
- package/tools/vibe-runtime/runtime-verification-repair-loop-plan.mjs +188 -0
- package/tools/vibe-runtime/runtime-workflow-alias-boundary-text.mjs +7 -0
- package/tools/vibe-runtime/runtime-workflow-alias-interaction-command.mjs +145 -0
- package/tools/vibe-runtime/runtime-workflow-command-deps.mjs +41 -0
- package/tools/vibe-runtime/runtime-workflow-command.mjs +191 -0
- package/tools/vibe-runtime/runtime-workflow-discipline-summary.mjs +164 -0
- package/tools/vibe-runtime/runtime-workflow-entry-envelopes.mjs +156 -0
- package/tools/vibe-runtime/runtime-workflow-ledger-command.mjs +239 -0
- package/tools/vibe-runtime/runtime-workflow-ledger-state-lifecycle-model.mjs +46 -0
- package/tools/vibe-runtime/runtime-workflow-loop-contract.mjs +259 -0
- package/tools/vibe-runtime/runtime-workflow-next-step-gate-model.mjs +106 -0
- package/tools/vibe-runtime/runtime-workflow-presentation.mjs +355 -0
- package/tools/vibe-runtime/runtime-workflow-readiness-model.mjs +176 -0
- package/tools/vibe-runtime/runtime-workflow-run-plan-model.mjs +207 -0
- package/tools/vibe-runtime/runtime-workflow-start-model.mjs +229 -0
- package/tools/vibe-runtime/runtime-workflow-state-artifacts.mjs +381 -0
- package/tools/vibe-runtime/runtime-workflow-state-helpers.mjs +456 -0
- package/tools/vibe-runtime/runtime-workflow-state-summary.mjs +65 -0
- package/tools/vibe-runtime/runtime-workflow-state-validation.mjs +104 -0
- package/tools/vibe-runtime/runtime-workflow-ux-model.mjs +205 -0
- package/tools/vibe-runtime/runtime-workspace-boundary-text.mjs +7 -0
- package/tools/vibe-runtime/runtime-workspace-isolation-command.mjs +295 -0
- package/tools/vibe-runtime/state-core-paths.mjs +113 -0
- package/tools/vibe-runtime/state-extension-paths.mjs +198 -0
- package/tools/vibe-runtime/state-safe-paths.mjs +2 -0
- package/tools/vibe-runtime-check/README.md +110 -0
- package/tools/vibe-runtime-check/architecture-tool-contracts.mjs +150 -0
- package/tools/vibe-runtime-check/index.mjs +186 -0
- package/tools/vibe-runtime-check/install-summary-adoption-contracts.mjs +115 -0
- package/tools/vibe-runtime-check/marker-contract-core.mjs +20 -0
- package/tools/vibe-runtime-check/product-artifact-contracts.mjs +24 -0
- package/tools/vibe-runtime-check/release-check-install-placement-contracts.mjs +166 -0
- package/tools/vibe-runtime-check/release-runtime-suite-layer-contracts.mjs +137 -0
- package/tools/vibe-runtime-check/runtime-architecture-manifest-drift-contracts.mjs +128 -0
- package/tools/vibe-runtime-check/runtime-automation-readiness-contracts.mjs +404 -0
- package/tools/vibe-runtime-check/runtime-capability-registry-contracts.mjs +299 -0
- package/tools/vibe-runtime-check/runtime-check-diagnostics-presentation.mjs +71 -0
- package/tools/vibe-runtime-check/runtime-cli-surface-contracts.mjs +156 -0
- package/tools/vibe-runtime-check/runtime-close-loop-contracts.mjs +163 -0
- package/tools/vibe-runtime-check/runtime-contract-delivery-registry.mjs +19 -0
- package/tools/vibe-runtime-check/runtime-contract-implementation-registry.mjs +23 -0
- package/tools/vibe-runtime-check/runtime-contract-local-evidence-registry.mjs +43 -0
- package/tools/vibe-runtime-check/runtime-contract-product-registry.mjs +83 -0
- package/tools/vibe-runtime-check/runtime-contract-registry.mjs +19 -0
- package/tools/vibe-runtime-check/runtime-control-plane-contracts.mjs +14 -0
- package/tools/vibe-runtime-check/runtime-doc-contract-marker-specs.mjs +349 -0
- package/tools/vibe-runtime-check/runtime-doc-contracts.mjs +24 -0
- package/tools/vibe-runtime-check/runtime-doc-marker-contracts.mjs +25 -0
- package/tools/vibe-runtime-check/runtime-entry-size-contracts.mjs +477 -0
- package/tools/vibe-runtime-check/runtime-experience-cli-contract-specs.mjs +98 -0
- package/tools/vibe-runtime-check/runtime-experience-cli-contracts.mjs +12 -0
- package/tools/vibe-runtime-check/runtime-experience-contracts.mjs +187 -0
- package/tools/vibe-runtime-check/runtime-governance-learning-token-contract-specs.mjs +92 -0
- package/tools/vibe-runtime-check/runtime-governance-learning-token-contracts.mjs +12 -0
- package/tools/vibe-runtime-check/runtime-high-risk-boundary-contracts.mjs +35 -0
- package/tools/vibe-runtime-check/runtime-high-risk-boundary-matrix.mjs +75 -0
- package/tools/vibe-runtime-check/runtime-index-import-boundary-contracts.mjs +192 -0
- package/tools/vibe-runtime-check/runtime-optimization-boundary-contracts.mjs +49 -0
- package/tools/vibe-runtime-check/runtime-pure-model-boundary-contracts.mjs +176 -0
- package/tools/vibe-runtime-check/runtime-release-closeout-contracts.mjs +25 -0
- package/tools/vibe-runtime-check/runtime-roadmap-marker-specs.mjs +559 -0
- package/tools/vibe-runtime-check/runtime-source-bundle.mjs +119 -0
- package/tools/vibe-runtime-check/runtime-tool-readme-contracts.mjs +93 -0
- package/tools/vibe-runtime-check/runtime-tool-readme-marker-specs.mjs +952 -0
- package/tools/vibe-runtime-check/workflow-skill-contracts.mjs +129 -0
- package/tools/vibe-runtime-check/workflow-skill-route-registry-contracts.mjs +106 -0
- package/tools/vibe-runtime-check/workflow-ux-contracts.mjs +46 -0
|
@@ -0,0 +1,1010 @@
|
|
|
1
|
+
# Runtime Contract
|
|
2
|
+
|
|
3
|
+
本文档定义未来 Vibecoding runtime 能读取的最小 contract,以及当前阶段禁止自动执行的边界。
|
|
4
|
+
|
|
5
|
+
## Contract 目标
|
|
6
|
+
|
|
7
|
+
- 让 workflow skill 的 `Workflow Handoff` 可被检查。
|
|
8
|
+
- 让未来 runtime 能判断当前阶段、下一步、停止条件和风险。
|
|
9
|
+
- 保持显式 handoff 和用户确认,不把 workflow 写成隐式自动链路。
|
|
10
|
+
|
|
11
|
+
## Implementation Owner Boundaries
|
|
12
|
+
|
|
13
|
+
当前实现按 owner module 保持职责收敛:`tools/vibe-runtime/index.mjs` 是 CLI entry 和 dispatcher glue;`runtime-command-container.mjs` 拥有 handler 装配;`runtime-state-paths.mjs` / `runtime-state-io.mjs` 拥有 state path 与本地 artifact IO;`runtime-completion-evidence-bundle.mjs` 只协调 completion evidence bundle envelope;descriptor、chain assembly、readiness summary 和 bundle invariant 分别由具名 `runtime-completion-*` 模块拥有。`tools/vibe-runtime-check/index.mjs` 是只读 runner,marker governance 由 `tools/vibe-runtime-check/*-contracts.mjs` 拥有;`tools/vibe-release-check/release-check-command-manifest.mjs` 只聚合 `command-manifest/*.mjs` domain smoke。
|
|
14
|
+
|
|
15
|
+
该边界不改变 runtime contract:core 不反向依赖 CLI / doctor / runtime-check / release-check;runtime 不自动运行测试、不读取 git diff、不提交、不调用平台 API、不调用 subagent/MCP。
|
|
16
|
+
|
|
17
|
+
## Skill Contract
|
|
18
|
+
|
|
19
|
+
每个可编排 workflow skill 必须具备:
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
skill_contract:
|
|
23
|
+
name: vibe-writing-plans
|
|
24
|
+
required_sections:
|
|
25
|
+
- 目标
|
|
26
|
+
- 下一步调用
|
|
27
|
+
- Workflow Handoff
|
|
28
|
+
required_outputs:
|
|
29
|
+
- current_skill
|
|
30
|
+
- next_skill
|
|
31
|
+
- reason
|
|
32
|
+
- handoff
|
|
33
|
+
- stop_condition
|
|
34
|
+
allowed_next_skills:
|
|
35
|
+
- vibe-test-driven-development
|
|
36
|
+
- vibe-workspace-isolation
|
|
37
|
+
- vibe-dispatching-parallel-work
|
|
38
|
+
- vibe-planning
|
|
39
|
+
- none
|
|
40
|
+
forbidden_actions:
|
|
41
|
+
- automatic_next_skill_execution
|
|
42
|
+
- git_write
|
|
43
|
+
- worktree_write
|
|
44
|
+
- subagent_dispatch_without_user_confirm
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
当前阶段不要求每个 skill 都写入 YAML contract 块;`vibe-runtime-check` 先从现有章节和 marker 做只读检查。
|
|
48
|
+
|
|
49
|
+
## Handoff Contract
|
|
50
|
+
|
|
51
|
+
Stage 3 推荐 `JSON handoff` 作为 runtime 互操作格式。`vibe-runtime record-handoff` 采用 `JSON-first` 解析策略:优先读取 fenced JSON block 或纯 JSON 文件,失败后使用 `legacy fallback` 读取旧 YAML-like handoff。
|
|
52
|
+
|
|
53
|
+
这仍然是显式 state ledger,不是 orchestrator;必须保持 `no automatic next_skill execution`。
|
|
54
|
+
|
|
55
|
+
推荐 JSON handoff:
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"current_skill": "vibe-writing-plans",
|
|
60
|
+
"next_skill": "vibe-test-driven-development",
|
|
61
|
+
"reason": "计划已拆解,可以定义验证策略。",
|
|
62
|
+
"handoff": {
|
|
63
|
+
"goal": "目标描述",
|
|
64
|
+
"scope": ["范围项"],
|
|
65
|
+
"key_decisions": ["关键决策"],
|
|
66
|
+
"files": ["相关文件"],
|
|
67
|
+
"risks": ["风险"],
|
|
68
|
+
"acceptance": ["验收标准"],
|
|
69
|
+
"evidence": ["证据"],
|
|
70
|
+
"tasks": [
|
|
71
|
+
{
|
|
72
|
+
"id": "task-1",
|
|
73
|
+
"title": "任务标题",
|
|
74
|
+
"status": "pending",
|
|
75
|
+
"review_status": "not_started",
|
|
76
|
+
"review_notes": [],
|
|
77
|
+
"review_evidence": [],
|
|
78
|
+
"review_risks": [],
|
|
79
|
+
"review_waiver": "",
|
|
80
|
+
"files": ["相关文件"],
|
|
81
|
+
"depends_on": [],
|
|
82
|
+
"acceptance": ["任务验收"],
|
|
83
|
+
"evidence": [],
|
|
84
|
+
"risks": ["任务风险"],
|
|
85
|
+
"notes": ["任务范围说明"],
|
|
86
|
+
"stop_condition": "none"
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"stop_condition": "none"
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
写入 `.vibecoding-state/workflow.json` 时会归一化为现有 ledger 状态结构,并可选保留 `goal` 与 `key_decisions` 供本地 artifacts 展示:
|
|
95
|
+
|
|
96
|
+
```json
|
|
97
|
+
{
|
|
98
|
+
"current_skill": "vibe-writing-plans",
|
|
99
|
+
"next_skill": "vibe-test-driven-development",
|
|
100
|
+
"reason": "计划已拆解,可以定义验证策略。",
|
|
101
|
+
"status": "handoff-recorded",
|
|
102
|
+
"goal": "目标描述",
|
|
103
|
+
"key_decisions": ["关键决策"],
|
|
104
|
+
"scope": ["范围项"],
|
|
105
|
+
"risks": ["风险"],
|
|
106
|
+
"acceptance": ["验收标准"],
|
|
107
|
+
"files": ["相关文件"],
|
|
108
|
+
"evidence": ["证据"],
|
|
109
|
+
"tasks": [
|
|
110
|
+
{
|
|
111
|
+
"id": "task-1",
|
|
112
|
+
"title": "任务标题",
|
|
113
|
+
"status": "pending",
|
|
114
|
+
"files": ["相关文件"],
|
|
115
|
+
"depends_on": [],
|
|
116
|
+
"acceptance": ["任务验收"],
|
|
117
|
+
"evidence": [],
|
|
118
|
+
"risks": ["任务风险"],
|
|
119
|
+
"notes": ["任务范围说明"],
|
|
120
|
+
"stop_condition": "none"
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"stop_condition": "none",
|
|
124
|
+
"updated_at": ""
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
旧格式仍作为兼容输入:
|
|
129
|
+
|
|
130
|
+
```yaml
|
|
131
|
+
current_skill:
|
|
132
|
+
next_skill:
|
|
133
|
+
reason:
|
|
134
|
+
handoff:
|
|
135
|
+
goal:
|
|
136
|
+
scope:
|
|
137
|
+
key_decisions:
|
|
138
|
+
files:
|
|
139
|
+
risks:
|
|
140
|
+
acceptance:
|
|
141
|
+
evidence:
|
|
142
|
+
stop_condition:
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
字段含义:
|
|
146
|
+
|
|
147
|
+
- `current_skill`:当前完成的 workflow skill。
|
|
148
|
+
- `next_skill`:建议进入的下一个 skill;无下一步时必须是 `none`。
|
|
149
|
+
- `reason`:为什么建议进入该下一步。
|
|
150
|
+
- `handoff.goal`:当前目标。
|
|
151
|
+
- `handoff.scope`:范围和不做范围。
|
|
152
|
+
- `handoff.key_decisions`:已确认的关键决策。
|
|
153
|
+
- `handoff.files`:相关文件或目录。
|
|
154
|
+
- `handoff.risks`:风险和未验证点。
|
|
155
|
+
- `handoff.acceptance`:验收标准。
|
|
156
|
+
- `handoff.tasks`:可选任务列表,用于任务级 artifacts;缺失时旧 ledger 仍有效。
|
|
157
|
+
- `handoff.tasks[].id`:任务 id,只允许英文字母、数字、`.`、`_`、`-`;不得使用空值、`.`、`..`、路径分隔符、盘符、绝对路径、路径穿越片段、Windows 保留设备名(含带扩展名形式,如 `CON.txt`)或尾随 `.` / 空格。
|
|
158
|
+
- `handoff.tasks[].depends_on`:可选依赖 task id 列表;每个依赖 id 必须通过同一 task id 安全校验,必须引用同一 workflow handoff 中存在的 task,不能引用自己,task dependency graph 不能有环。
|
|
159
|
+
- `handoff.tasks[].status`:任务状态,允许 `pending`、`in_progress`、`completed`、`blocked`。
|
|
160
|
+
- `handoff.tasks[].review_status`:任务 review 状态,允许 `not_started`、`requested`、`clean`、`needs_fix`、`waived`;只用于状态摘要和 artifacts,不触发执行。
|
|
161
|
+
- `handoff.tasks[].review_waiver`:当 `review_status` 为 `waived` 时必须记录用户确认或风险说明。
|
|
162
|
+
- `stop_condition`:停止条件或等待用户补充的信息。
|
|
163
|
+
|
|
164
|
+
## Execution Policy
|
|
165
|
+
|
|
166
|
+
默认策略:
|
|
167
|
+
|
|
168
|
+
```yaml
|
|
169
|
+
execution_policy:
|
|
170
|
+
dry_run_default: true
|
|
171
|
+
read_only_check_default: true
|
|
172
|
+
require_user_confirm_for:
|
|
173
|
+
- git_write
|
|
174
|
+
- worktree_create
|
|
175
|
+
- subagent_dispatch
|
|
176
|
+
- dependency_install
|
|
177
|
+
- file_cleanup
|
|
178
|
+
- adapter_runtime_bridge
|
|
179
|
+
forbidden_in_current_batch:
|
|
180
|
+
- automatic_next_skill_execution
|
|
181
|
+
- daemon
|
|
182
|
+
- mcp_runtime
|
|
183
|
+
- agent_graph
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Stage 2 允许 `vibe-runtime record-handoff` 在用户显式运行时写入 `.vibecoding-state/workflow.json`。这不是默认安装行为,也不是自动执行 runtime。
|
|
187
|
+
|
|
188
|
+
Stage 17 approval lifecycle 只允许写本地 sidecar:`.vibecoding-state/approval-lifecycle/*.approval-lifecycle.json`。sidecar 记录 approval file、approval digest、state、audit trail、candidate digest、policy digest、action catalog digest 和 lifecycle digest;不得修改原 approval artifact。`approvals --transition` 默认 preview no-write,只有 `--confirm` 写 sidecar。`rejected`、`expired`、`revoked`、`consumed` 都是 controlled auto-run 的阻断状态。
|
|
189
|
+
|
|
190
|
+
Stage 18 runtime action catalog 只来自 builtin data,不加载插件、不读取远程配置、不动态执行代码。catalog 必须包含 `catalog_digest`、`default_allow_unknown=false`、action id、capability、risk、required inputs、writes、idempotency、recovery 和 policy profile。candidate、approval、policy evaluation、queue scan 和 controlled auto-run 都必须绑定并校验 catalog digest;unknown runtime action 默认拒绝。
|
|
191
|
+
|
|
192
|
+
Stage 21 scheduler plan 只把 queue scan 的 ready / blocked / promotion preview 收敛为可验证计划。`scheduler --plan` 默认只读,不写 plan、不执行 auto-run;`scheduler --plan --confirm` 只写 `.vibecoding-state/scheduler-plans/*.scheduler-plan.json`。plan 必须绑定 queue digest、scheduler policy digest、runtime budget digest、execution policy digest 和 action catalog digest;旧 plan 在任一 digest 漂移后不得被 Stage 23 执行。
|
|
193
|
+
|
|
194
|
+
Stage 22 scheduler policy / runtime budget 只来自 builtin data,不读取远程配置、不动态 eval、不执行外部脚本。scheduler profile 固定为 `scheduler-dry-run`、`single-local-auto-run`、`recovery-only`,默认 `default_enabled=false`。runtime budget 默认每次最多一个 item、`retry_allowed=false`、`recovery_apply_allowed=false`、kill switch off。policy/budget 是 hard gate,不是执行器。
|
|
195
|
+
|
|
196
|
+
Stage 23 single-shot scheduler 只在显式 `scheduler --once --confirm` 下运行一次。它必须重新验证 candidate、approval、approval lifecycle、execution policy digest、scheduler policy digest、budget digest、runtime action catalog digest、active auto-run lock、active scheduler lease 和 idempotency key,然后复用既有 controlled auto-run gate。Stage 23 写 scheduler lease 和 scheduler run audit,但不实现 loop/daemon、不自动恢复、不自动 retry、不自动回复、不接 Claude / Codex / Cursor API、不调用 subagent / MCP、不触碰 git/worktree。
|
|
197
|
+
|
|
198
|
+
Stage 24 recovery classifier 只把本地 runtime 状态分类为 findings。`recovery --classify` 默认只读;`recovery --classify --confirm` 只写 `.vibecoding-state/recovery-classifications/*.recovery-classification.json`。classification 必须绑定 source digest、recovery policy digest、recovery action catalog digest、scheduler policy digest 和 runtime budget digest;verify 必须拒绝 path traversal、corrupted artifact、source digest drift 和 policy/catalog drift。Stage 24 不执行恢复、不释放 lock、不删除 execution、不 retry。
|
|
199
|
+
|
|
200
|
+
Stage 25 confirmed recovery 只在显式 `recovery --apply <classification-file> --confirm` 下处理一个 eligible finding。recovery policy / action catalog 只来自 builtin data,unknown action 默认拒绝;允许动作限于记录 recovery decision、标记过期 scheduler lease 的失败审计、生成 retry package。Stage 25 只写 `.vibecoding-state/recovery-runs/*.recovery-run.json`,必要时写 `.vibecoding-state/retry-packages/*.retry-package.json`;不修改业务源码、不删除或覆盖原 artifact、不执行 controlled auto-run、不自动 retry。
|
|
201
|
+
|
|
202
|
+
Stage 26 scheduler recovery integration 只让 scheduler plan 展示 recovery hints,并在显式 `scheduler --once --recover --confirm` 下复用 Stage 25 confirmed recovery path。该模式和 normal `scheduler --once --confirm` 互斥,同一次 invocation 最多处理一个 queue item 或一个 recovery finding,不能混合。Stage 26 仍不实现 loop/daemon/watcher、不自动清理、不自动 retry、不接平台 API、不调用 subagent / MCP、不触碰 git/worktree。
|
|
203
|
+
|
|
204
|
+
Stage 27 bounded auto retry 只从已生成的 `.vibecoding-state/retry-packages/*.retry-package.json` 进入。`retry --run <retry-package-file>` 默认 preview no-write;只有 `--confirm` 才写 `.vibecoding-state/retry-runs/*.retry-run.json`。retry 必须绑定 source execution digest、candidate digest、approval digest、execution policy digest、retry policy digest、retry budget digest 和 runtime action catalog digest;source execution 必须仍是 `failed` 或 `timed_out`,approval lifecycle 不能是 rejected/expired/revoked/consumed,active scheduler lease、active auto-run lock、重复 retry、source digest drift、policy/catalog/budget drift 都必须阻断。Stage 27 不创建新 approval、不修改原 execution/candidate/approval、不执行 workflow skill、不接平台 API、不调用 subagent/MCP、不触碰 git/worktree/业务源码。
|
|
205
|
+
|
|
206
|
+
Stage 28 foreground bounded loop 只提供有限轮次前台 run envelope。`daemon --loop --dry-run` 只输出 loop plan;`daemon --loop --confirm --max-iterations <n>` 最多按内置 ceiling 写 loop audit 和 heartbeat evidence;`daemon --stop --confirm --reason <text>` 只写 stop file;`daemon --loops --list/show/verify` 只读审计 loop runs。Stage 28 不启动后台 worker、不注册 watcher、不 fork、不长驻,命令退出即结束。
|
|
207
|
+
|
|
208
|
+
Stage 29 unified runtime trace ledger 只把本地 runtime artifact 串成 digest-bound ledger。`traces --build --dry-run` 只预览 source manifest;`traces --build --confirm` 只写 `.vibecoding-state/runtime-traces/*.runtime-trace.json`;`traces --list/show/verify` 只读审计。trace source 包括 scheduler plan/run、recovery classification/run、retry package/run、daemon loop/heartbeat、reply draft/approval/outbox/send-run 和 observability snapshot。Stage 29 不修改源 artifact、不执行 scheduler/retry/reply、不启动 loop、不接平台 API。
|
|
209
|
+
|
|
210
|
+
Stage 30 readiness / observability expansion 只扩展健康视图。`observability --summary` / `readiness --score` 新增 `retry_health`、`loop_health`、`reply_health` 和 `trace_health`,用于发现 retry verification failure、重复 retry、foreground loop stop file、reply send gate 异常和 trace digest drift。默认只读;`--confirm` 仍只写 `.vibecoding-state/observability/*.observability.json`。Stage 30 不改变 gate、不提升 queue item、不触发 retry/loop/reply。
|
|
211
|
+
|
|
212
|
+
Reply A-D automatic reply pipeline 是独立本地流水线:`reply --draft` 生成本地 draft,`reply --approve <draft-file>` 写 approval sidecar,`reply --outbox <approval-file>` 写 local outbox,`reply --send <outbox-file>` 只写 adapter send gate audit。第一批固定 `send_allowed=false`、`external_delivery=false`、`sent=false`,不调用 Slack/GitHub/Linear/邮箱/IDE API,不自动回复用户。
|
|
213
|
+
|
|
214
|
+
Reply E source-bound local reply draft 只增强本地 draft 的依据绑定。`reply --draft --source-bound` 在 draft 中写入 source manifest,绑定 workflow、latest execution、latest scheduler/recovery/retry run、latest observability snapshot 和 latest runtime trace 的文件名与 digest。`reply --verify` 与 `reply --approve` 必须拒绝 source manifest drift。Reply E 仍固定 `model_invocation=false`、`external_delivery=false`、`send_allowed=false`,不调用模型、不发送消息、不把 draft 当作发送结果。
|
|
215
|
+
|
|
216
|
+
Reply F source-bound reply review gate 只新增本地 review sidecar。`reply --review <draft-file>` 默认 preview no-write;`reply --review <draft-file> --confirm` 只写 `.vibecoding-state/reply-reviews/*.reply-review.json`。review 必须绑定 draft file/digest、source manifest digest、latest trace/observability digest 和 boundary assertions;source-bound draft 缺少 approved review sidecar 时,`reply --approve` 必须失败。approval、outbox、send-run 的 verify 必须递归追溯 review -> draft -> source manifest,任一 digest drift 都必须阻断。Reply F 不生成新回复内容、不调用模型、不发送消息。
|
|
217
|
+
|
|
218
|
+
Stage 31 governance attestation / boundary audit 只做本地证明。`governance --attest --dry-run` 只预览治理断言;`governance --attest --confirm` 只写 `.vibecoding-state/governance/*.governance-attestation.json`;`governance --list/show/verify` 保持只读。attestation 绑定 runtime trace、observability snapshot 和 reply review files 的 digest,并固定 `platform_api=false`、`external_delivery=false`、`model_invocation=false`、`git=false`、`worktree=false`、`subagent=false`、`mcp=false`、`business_source_write=false`、`runtime_action=false`、`auto_execution=false`。Stage 31 不触发 scheduler/retry/loop/reply,不修复 artifact,不修改 queue/approval/execution 状态。
|
|
219
|
+
|
|
220
|
+
Stage 32 methodology gate ledger 只把 workflow 方法论纪律转为本地证明。`methodology --catalog` 只读展示 builtin gate catalog;`methodology --gate --kind <spec|plan|tdd|debug|review|completion>` 默认 preview no-write;`methodology --gate --kind <kind> --confirm` 只写 `.vibecoding-state/methodology-gates/*.methodology-gate.json`;`methodology --list/show/verify` 保持只读。gate 必须绑定 workflow digest、methodology catalog digest、criteria、blocked_reasons 和 boundary assertions,并固定 `platform_api=false`、`external_delivery=false`、`model_invocation=false`、`git=false`、`worktree=false`、`subagent=false`、`mcp=false`、`business_source_write=false`、`runtime_action=false`、`auto_execution=false`。Stage 32 不自动调用 external reference、不执行 workflow skill、不派发 subagent、不创建 commit/branch/PR、不调用平台 API。
|
|
221
|
+
|
|
222
|
+
Stage 60 workflow methodology route UX 只把 intent 映射成 workflow 建议。`methodology --route --intent <feature|refactor|architecture|plan|parallel|workspace|subagent|debug|implementation|review|review-feedback|skill|context|completion> [--json]` 输出 `methodology_route`,包含 `stage='Stage 60'`、`route_kind='workflow-methodology-route'`、`selected_workflow`、`first_skill`、`gate_kinds`、`trigger_discipline`、`catalog_digest` 与 `route_digest`。route 固定 `writes=false`、`state_directory_created=false`,不创建 `.vibecoding-state/`,不写 route sidecar,不执行 workflow skill,不制造“已使用 skill”的证据。未知 intent 必须退回 `using-vibecoding -> vibe-brainstorming`,并要求补齐目标、范围、约束或验收。Stage 60 继续允许 `methodology --gate --kind <kind> --confirm` 写 Stage 32 methodology gate sidecar,但 gate 只证明流程条件,不自动进入下一步、不调用 subagent、不触发 planner/router/scheduler、不修改源码。Stage 60 固定 `platform_api=false`、`external_delivery=false`、`model_invocation=false`、`git=false`、`worktree=false`、`subagent=false`、`mcp=false`、`business_source_write=false`、`runtime_action=false`、`auto_execution=false`、`skill_execution=false`、`daemon=false`。
|
|
223
|
+
|
|
224
|
+
Stage 61 local learning observation ledger 只从本地 session evidence file 生成学习 observation sidecar。`learning --observe --from-file <session-evidence-file> --preview` 只读预览,`learning --observe --from-file <session-evidence-file> --confirm` 只写 `.vibecoding-state/learning/*.learning-observation.json`,`learning --list/show/verify` 只读审计。sidecar 必须包含 `mode='learning-observation'`、`stage='Stage 61'`、`artifact_kind='learning-observation'`、`source_file`、`source_digest`、`project_id`、`scope='project'|'global-candidate'`、`domain='workflow'|'debugging'|'testing'|'code-style'|'governance'|'token-economy'`、`confidence_delta`、`evidence_excerpt_digest`、`signals_digest`、`signal_count`、`candidate_only=true`、`promotion_required=true` 与 `learning_observation_digest`。verify 必须拒绝 source digest drift、evidence excerpt digest drift、signals digest drift、unsafe source path、非法 scope/domain、confidence 越界、不可信 schema 和 scope 越权。Stage 61 固定 `optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`、`skill_mutation=false`、`prompt_mutation=false`、`hook_registration=false`、`shell_interception=false`、`external_network=false`、`model_invocation=false`、`platform_api=false`、`git=false`、`worktree=false`、`runtime_action=false`、`subagent=false`,不自动写入正式 `skills/`、`AGENTS.md`、`CLAUDE.md` 或 hook 配置。
|
|
225
|
+
|
|
226
|
+
Stage 62 candidate instinct and promotion gate 只把已验证 observation 聚合为候选 instinct,再把候选 instinct 转成显式人工 promotion gate。`learning --instincts --from-observations <learning-observation-file...> --preview` 只读预览,`learning --instincts --from-observations <learning-observation-file...> --confirm` 只写 `.vibecoding-state/learning/*.candidate-instinct.json`;`learning --promote --instinct <candidate-instinct-file> --preview` 只读预览,`learning --promote --instinct <candidate-instinct-file> --confirm` 只写 `.vibecoding-state/learning/*.learning-promotion.json`。Candidate sidecar 必须包含 `mode='candidate-instinct'`、`stage='Stage 62'`、`artifact_kind='candidate-instinct'`、`atomic=true`、`one_trigger=true`、`one_action=true`、`trigger`、`action`、`confidence`、`evidence_backed=true`、`evidence_observations[]`、`observation_digests`、`evidence_digest`、`candidate_instinct_digest`、`promotion_required=true`、`formal_skill_mutation=false`、`cross_project_share=false`。Promotion sidecar 必须包含 `mode='learning-promotion'`、`stage='Stage 62'`、`artifact_kind='learning-promotion'`、`instinct_file`、`instinct_file_digest`、`candidate_instinct_digest`、`promotion_target='manual-skill-authoring'`、`human_approval_required=true`、`automatic_promotion=false`、`writes_formal_skills=false`、`writes_agents_md=false`、`writes_claude_md=false`、`required_workflow` 包含 `vibe-writing-skills` 与 `learning_promotion_digest`。verify 必须拒绝 observation digest drift、candidate digest drift、promotion digest drift、路径穿越、非 atomic candidate、confidence 越界、不可信 schema、跨项目共享越权,以及任何 `skill_mutation=true` / `prompt_mutation=true` / `hook_registration=true` / `shell_interception=true` / `external_network=true` / `model_invocation=true` / `platform_api=true` / `git=true` / `worktree=true` / `runtime_action=true` / `subagent=true` 边界扩权。Stage 62 仍固定 `optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`,不自动写入正式 `skills/`、`AGENTS.md`、`CLAUDE.md` 或 hook 配置;真正 promotion 必须显式进入 `vibe-writing-skills` 并经过计划、测试、review。
|
|
227
|
+
|
|
228
|
+
## Stage 151 Product/UI Methodology Artifact Gate
|
|
229
|
+
|
|
230
|
+
Stage 151 把产品发现、产品规格、UI contract、产品验收和场景验收 DSL 从自由文本收敛为可复查 artifact gate。命令只读取 root 内本地文件,不写 sidecar、不创建 `.vibecoding-state/`:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
node tools/vibe-runtime/index.mjs methodology --gate --kind product-discovery --from-file <local-product-discovery-md> --json
|
|
234
|
+
node tools/vibe-runtime/index.mjs methodology --gate --kind product-spec --from-file <local-product-spec-md> --json
|
|
235
|
+
node tools/vibe-runtime/index.mjs methodology --gate --kind ui-design --from-file <local-ui-design-contract-md> --json
|
|
236
|
+
node tools/vibe-runtime/index.mjs methodology --gate --kind product-acceptance --from-file <local-product-acceptance-md> --json
|
|
237
|
+
node tools/vibe-runtime/index.mjs methodology --gate --kind scenario-acceptance --from-file <local-scenario-acceptance-yaml> --json
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
输出 `product_methodology_gate`,包含 `stage='Stage 151'`、`gate_kind`、`artifact_kind`、`source_bindings.artifact_digest`、`source_bindings.declared_source_skill`、`source_bindings.declared_next_skill`、`checks[]`、`blocked_reasons`、`invariants`、`boundary_assertions` 和 `gate_digest`。
|
|
241
|
+
|
|
242
|
+
Stage 151 固定 `writes=false`、`state_directory_created=false`、`methodology_gate_artifact=false`、`command_execution=false`、`check_execution=false`、`test_execution=false`、`browser_execution=false`、`skill_execution=false`、`workflow_execution=false`、`runtime_action=false`、`git=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`subagent=false`、`mcp=false`、`business_source_write=false`。
|
|
243
|
+
|
|
244
|
+
## Stage 152 Product Completion Evidence Bundle
|
|
245
|
+
|
|
246
|
+
Stage 152 在 `vibe-product-acceptance` 与 `vibe-verification-before-completion` 之间增加只读证据汇总层。它组合 Stage 151 gate 结果和用户提供的工程证据文件,不执行测试、不运行浏览器、不提交代码:
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
node tools/vibe-runtime/index.mjs completion --evidence-bundle --from-product-discovery <local-product-discovery-md> --from-product-spec <local-product-spec-md> --from-ui-design <local-ui-design-contract-md> --from-scenarios <local-scenario-acceptance-yaml> --from-product-acceptance <local-product-acceptance-md> --from-evidence <local-engineering-evidence-file> --json
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
输出 `completion_evidence_bundle`,包含 `stage='Stage 152'`、`bundle_kind='product-completion-evidence-bundle'`、`requirements_chain`、`product_readiness`、`ui_readiness`、`engineering_readiness`、`source_bindings`、`evidence_gaps`、`blocked_reasons`、`next_manual_action`、`boundary_assertions`、`invariants` 和 `bundle_digest`。
|
|
253
|
+
|
|
254
|
+
Stage 152 固定 `writes=false`、`state_directory_created=false`、`completion_evidence_bundle_artifact=false`、`engineering_evidence_write=false`、`verification_execution=false`、`command_execution=false`、`check_execution=false`、`test_execution=false`、`browser_execution=false`、`skill_execution=false`、`workflow_execution=false`、`runtime_action=false`、`git=false`、`git_write=false`、`commit=false`、`pr=false`、`push=false`、`merge=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`subagent=false`、`mcp=false`、`business_source_write=false`。
|
|
255
|
+
|
|
256
|
+
## Stage 153 Architecture Design Artifact Gate
|
|
257
|
+
|
|
258
|
+
Stage 153 在产品/UI 与编码计划之间增加 `architecture-design` artifact gate。它只读取本地 `architecture-design.md`,检查 frontmatter、`Architecture Decision Frame`、`Module Ownership`、`Layer And Dependency Direction`、`Data Flow`、`State Lifecycle`、`Contract Sync`、`Blast Radius`、`Verification Strategy`、`Evidence`、`Boundary` 和 `Handoff`:
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
node tools/vibe-runtime/index.mjs methodology --gate --kind architecture-design --from-file <local-architecture-design-md> --json
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
输出 `delivery-methodology-gate` / `delivery_methodology_gate`,包含 `stage='Stage 153'`、`gate_kind='architecture-design'`、`artifact_kind='architecture-design'`、`source_bindings.artifact_digest`、`checks[]`、`blocked_reasons`、`summary`、`boundary_assertions` 和 `gate_digest`。Stage 153 固定 `writes=false`、`state_directory_created=false`、`command_execution=false`、`test_execution=false`、`skill_execution=false`、`git=false`、`git_write=false`、`commit=false`、`subagent=false`、`mcp=false`。
|
|
265
|
+
|
|
266
|
+
## Stage 154 Delivery Traceability Artifact Gate
|
|
267
|
+
|
|
268
|
+
Stage 154 增加 `delivery-traceability` YAML gate,用一张本地 traceability matrix 绑定需求、产品故事、UI flow、架构决策、实现任务、测试证据、场景验收、产品验收和提交 readiness:
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
node tools/vibe-runtime/index.mjs methodology --gate --kind delivery-traceability --from-file <local-delivery-traceability-yaml> --json
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
输出同样使用 `delivery-methodology-gate` / `delivery_methodology_gate`,包含 `stage='Stage 154'`、`gate_kind='delivery-traceability'`、`summary.link_count`、`summary.statuses`、`source_bindings.artifact_digest`、`blocked_reasons`、`boundary_assertions` 和 `gate_digest`。Stage 154 只接受 `verified`、`not_verified`、`blocked`、`not_applicable` 状态,并固定 `writes=false`、`state_directory_created=false`、`command_execution=false`、`test_execution=false`、`git=false`、`git_write=false`、`commit=false`、`subagent=false`、`mcp=false`。
|
|
275
|
+
|
|
276
|
+
## Stage 155 Full-chain Product Completion Evidence Bundle
|
|
277
|
+
|
|
278
|
+
Stage 155 是 Stage 152 的向后兼容扩展:只有提供 `--from-architecture`、`--from-traceability`、`--from-plan`、`--from-test-evidence`、`--from-diff-coverage` 或 `--from-commit-readiness` 等 full-chain 输入时才启用完整交付链校验。
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
node tools/vibe-runtime/index.mjs completion --evidence-bundle --from-product-discovery <local-product-discovery-md> --from-product-spec <local-product-spec-md> --from-ui-design <local-ui-design-contract-md> --from-architecture <local-architecture-design-md> --from-traceability <local-delivery-traceability-yaml> --from-plan <local-plan-file> --from-scenarios <local-scenario-acceptance-yaml> --from-product-acceptance <local-product-acceptance-md> --from-test-evidence <local-test-evidence-json> --from-diff-coverage <local-diff-coverage-json> --from-commit-readiness <local-commit-readiness-json> --from-evidence <local-engineering-evidence-file> --json
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
输出 `completion_evidence_bundle` 继续保持 `bundle_kind='product-completion-evidence-bundle'`,并新增 `expanded_delivery_chain`、`architecture_chain`、`traceability_chain`、`implementation_chain`、`release_readiness_chain`、`architecture_readiness`、`traceability_readiness`、`test_evidence_digest`、`diff_coverage_digest`、`commit_readiness_digest`、`evidence_gaps`、`blocked_reasons`、`forbidden_actions` 和 `bundle_digest`。Stage 155 固定 `commit_execution_authorized=false`、`git=false`、`git_write=false`、`commit=false`、`push=false`、`pr=false`、`merge=false`、`verification_execution=false`、`command_execution=false`、`test_execution=false`、`subagent=false`、`mcp=false`,所以 readiness pass 也不等于提交授权。
|
|
285
|
+
|
|
286
|
+
## Stage 156 Implementation Task Completion Alignment
|
|
287
|
+
|
|
288
|
+
Stage 156 把 `implementation-plan.md` 从自然语言计划升级为可索引 task contract。`methodology --gate --kind implementation-plan --from-file <local-implementation-plan-md> --json` 只读校验 `Implementation Task Registry`,要求每个 task 声明 `task_id`、`required`、`status`、`source_refs`、`expected_files` 或 `allowed_paths`、`expected_operations`、`required_scenario_refs`、`test_required`、`risk` 和 `rollback`。
|
|
289
|
+
|
|
290
|
+
Stage 155 full-chain bundle 会复用 Stage 156 结果并输出 `implementation_plan_gate`、`implementation_alignment_gate` 和 `implementation_alignment_readiness`。`diff-coverage.json` 的 `task_coverage[].task_ref` 必须引用真实 task,`changed_files[].path` 必须落在 task 的 `expected_files` 或 `allowed_paths` 内,`operation` 必须匹配 `expected_operations`;top-level `changed_files[]` 中的每个文件都必须能追溯到 task coverage。`test-evidence.json` 的 `runs[].task_refs[]` 必须引用真实 task,且 `test_required=true` 或 `risk=high` 的 task 必须有 `exit_code=0/status=pass` 的本地证据;如果 task 声明 `required_scenario_refs`,对应 run 也必须覆盖这些 scenario refs。
|
|
291
|
+
|
|
292
|
+
Stage 156 仍然固定 `writes=false`、`state_directory_created=false`、`command_execution=false`、`test_execution=false`、`git=false`、`git_write=false`、`commit=false`、`push=false`、`pr=false`、`merge=false`、`subagent=false`、`mcp=false`。它只验证用户或 CI 提供的 plan/diff/test evidence envelope,不读 git diff、不执行测试、不修改源码、不创建状态。
|
|
293
|
+
|
|
294
|
+
## 可观测状态
|
|
295
|
+
|
|
296
|
+
未来 runtime 可以记录状态,但必须由用户显式启用。
|
|
297
|
+
|
|
298
|
+
建议状态:
|
|
299
|
+
|
|
300
|
+
```yaml
|
|
301
|
+
workflow_state:
|
|
302
|
+
current_skill:
|
|
303
|
+
next_skill:
|
|
304
|
+
reason:
|
|
305
|
+
status:
|
|
306
|
+
goal:
|
|
307
|
+
key_decisions:
|
|
308
|
+
scope:
|
|
309
|
+
risks:
|
|
310
|
+
acceptance:
|
|
311
|
+
files:
|
|
312
|
+
evidence:
|
|
313
|
+
tasks:
|
|
314
|
+
stop_condition:
|
|
315
|
+
updated_at:
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
`tasks` 是可选任务级状态列表;缺失时 runtime 仍按旧 workflow ledger 处理。任务状态和 `review_status` 只用于可观测摘要和任务级 artifacts,不触发执行。`task.id` 必须通过路径安全校验,并且同一 workflow handoff 内必须唯一(unique within a workflow handoff);重复 id 必须在 `validate-handoff` / `record-handoff` 入口失败,避免 `tasks --task` 多选或 artifact 覆盖。`depends_on` 只表达同一 handoff 内的任务依赖,依赖 id 必须存在、不能自依赖、不能形成 cyclic task dependency;失败时作为 contract validation error 处理,且不写 workflow state。`Task readiness` 是只读摘要,按 `ready` / `waiting` / `blocked` / `completed` 统计,用于人工判断依赖阻塞,不自动选择或执行 task。`needs_fix` 只提示显式处理 review feedback,`waived` 必须记录 waiver 说明。
|
|
319
|
+
|
|
320
|
+
`goal` 和 `key_decisions` 是可选上下文字段;缺失时不得阻止记录 handoff。状态目录建议为 `.vibecoding-state/`,不属于默认 installed layout。
|
|
321
|
+
|
|
322
|
+
Stage 2/3/4/4.7 命令边界:
|
|
323
|
+
|
|
324
|
+
```text
|
|
325
|
+
status 只读展示状态和 ledger 摘要,不创建文件
|
|
326
|
+
status --json 只读输出 JSON envelope;无 ledger 时 state_present=false,不创建 .vibecoding-state/
|
|
327
|
+
validate-handoff --from-file 只校验 handoff 并输出摘要和质量提示,不创建 .vibecoding-state/ 或写 workflow.json
|
|
328
|
+
validate-handoff --json 只读输出 normalized handoff JSON summary、tasks 和 quality hints,不写 workflow state
|
|
329
|
+
record-handoff --from-file 只写 .vibecoding-state/workflow.json,并在成功后输出质量提示
|
|
330
|
+
next --dry-run 只输出下一步建议,不执行下一步,可展示任务状态和 review_status 摘要
|
|
331
|
+
next --dry-run --json 只读输出建议状态、manual_action、task_readiness 和 review summary,不执行下一步
|
|
332
|
+
tasks --dry-run 只预览任务级 brief、report、review gate 和 evidence,不写文件;可用 --task <task-id> 只选择一个已记录 task
|
|
333
|
+
tasks --dry-run --json 只读输出 task selection、summary.selected_count、readiness、blocked_by、review_status 和 artifact_paths,不输出 artifact 正文,不写文件
|
|
334
|
+
tasks --write 只写 .vibecoding-state/tasks/<task-id>/*.md 产物,不写业务源码或执行任务;task id 必须通过路径安全校验;可用 --task <task-id> 只写一个已记录 task
|
|
335
|
+
artifacts --dry-run 只预览 task brief、review gate 和 evidence skeleton,不写文件
|
|
336
|
+
artifacts --write 只写 .vibecoding-state/*.md 产物,不写业务源码或执行下一步
|
|
337
|
+
reset --confirm 只删除 .vibecoding-state/
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
`--json` 只支持只读命令。写入类或破坏类命令遇到 `--json` 必须明确失败,包括 `record-handoff --json`、`artifacts --json`、`tasks --write --json` 和 `reset --json`。
|
|
341
|
+
|
|
342
|
+
Stage 4.7 JSON envelope 固定为:
|
|
343
|
+
|
|
344
|
+
```json
|
|
345
|
+
{
|
|
346
|
+
"schema_version": 1,
|
|
347
|
+
"command": "status",
|
|
348
|
+
"mode": "read-only",
|
|
349
|
+
"ok": true,
|
|
350
|
+
"state_present": true,
|
|
351
|
+
"summary": {},
|
|
352
|
+
"tasks": [],
|
|
353
|
+
"quality": [],
|
|
354
|
+
"action": "status is read-only. No workflow state was changed."
|
|
355
|
+
}
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
`status --json`、`validate-handoff --json`、`next --dry-run --json` 和 `tasks --dry-run --json` 必须可被 JSON parser 直接解析。JSON 输出只表达状态、建议、task selection、readiness、blocked_by、review_status、artifact_paths 和 quality hints,不输出 artifact 正文,不自动选择 ready task,不执行 `next_skill`,不调用 subagent,不触碰 git / worktree / branch / stash。
|
|
359
|
+
|
|
360
|
+
`tasks --dry-run --task <task-id> --json` 只过滤 JSON 输出中的 `tasks` 列表,`summary.selected_count` 必须为 `1`;但该任务的 `readiness` 和 `blocked_by` 必须按完整 workflow ledger 的 dependency graph 计算,不能因为依赖任务未被选中而误判为 waiting。
|
|
361
|
+
|
|
362
|
+
写入类或破坏类命令遇到 `--json` 是 contract error,release smoke 必须覆盖 `record-handoff --json`、`artifacts --json`、`tasks --write --json` 和 `reset --json` 的显式失败,避免只读 JSON 输出和写入动作边界混淆。
|
|
363
|
+
|
|
364
|
+
Stage 5.x adapter bridge readiness 新增只读 `dispatch intent` 预览:
|
|
365
|
+
|
|
366
|
+
```text
|
|
367
|
+
next --dry-run --dispatch-intent 只读输出 adapter-ready 下一步意图,不执行 skill,不写 dispatch_event
|
|
368
|
+
next --dry-run --dispatch-intent --json 输出可解析 JSON envelope,包含 intent、gates、runtimeBridge、platform_hints 和 safety
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
`next --dry-run --dispatch-intent` 与 Stage 4.7 的 `next --dry-run --json` 分离:前者面向未来 adapter bridge,后者只输出当前状态摘要。Stage 5.x 不提供 `next --confirm --dispatch`,不写 `.vibecoding-state/dispatches/`,不调用 subagent / MCP / daemon,不触碰 git / worktree。adapter metadata 必须声明 `runtimeBridge`:`mode` 为 `manual`,`canReadDispatchIntent: true`,`canAutoExecuteSkill: false`,`canCallSubagent: false`,`canTouchGit: false`。`gates` 只做 preview,覆盖 transition、stop_condition、review 和 task readiness;gate blocked 只影响 `adapter_ready` / `dispatchable`,不写文件。
|
|
372
|
+
|
|
373
|
+
Stage 6.x runtime dispatch gate 新增显式 `confirm-dispatch`:
|
|
374
|
+
|
|
375
|
+
```text
|
|
376
|
+
next --confirm --dispatch 在所有 gate 通过后写入 adapter-readable dispatch envelope
|
|
377
|
+
next --confirm --dispatch --json 输出可解析 confirm-dispatch envelope,并写入同一 dispatch event
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
Stage 6.x 只允许 `next --confirm --dispatch` 写 `.vibecoding-state/dispatches/<timestamp>.json`。该 event 是 adapter-readable artifact,不是平台自动执行;runtime 仍不调用 Claude / Codex / Cursor API,不调用 subagent / MCP / daemon,不触碰 git / worktree / branch / stash,不写业务源码。`confirm-dispatch` gate 必须覆盖 allowed transition、stop_condition、review gate 和 task readiness gate;任一 gate 失败必须返回非零且不创建 `.vibecoding-state/dispatches/`。`--json` 在 confirm-dispatch 下是执行结果 envelope,不属于 Stage 4/5 read-only JSON。
|
|
381
|
+
|
|
382
|
+
成功 envelope 必须包含 `mode: confirm-dispatch`、`dispatch`、`adapter_ready: true`、`safety.confirmed: true`、`safety.dispatch_event: true`、`forbidden_actions` 和 `No git, worktree, subagent, daemon, MCP, or business source file was modified.`。
|
|
383
|
+
|
|
384
|
+
Stage 6.5 read-only dispatch audit 新增只读审计入口:
|
|
385
|
+
|
|
386
|
+
```text
|
|
387
|
+
dispatches --list 只读列出 .vibecoding-state/dispatches/ 中已有 confirm-dispatch event
|
|
388
|
+
dispatches --list --json 输出可解析 read-only dispatch audit JSON envelope
|
|
389
|
+
dispatches --show <event-file> 只读展示单个 dispatch event 摘要和 verification 结果
|
|
390
|
+
dispatches --verify <event-file> 只读校验单个 dispatch event,失败返回非零
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
`dispatches --list` 在缺少 `.vibecoding-state/`、缺少 `workflow.json` 或缺少 `dispatches/` 时必须返回空列表,不创建目录、不写 event。`dispatches --show` 和 `dispatches --verify` 只能读取 `.vibecoding-state/dispatches/` 下的相对 `.json` 文件名;绝对路径、路径分隔符、路径穿越和非 `.json` 文件名必须失败。`confirm-dispatch event verification` 必须检查 `schema_version`、`command`、`mode`、`ok`、`state_present`、`dispatch.type`、`dispatch.adapter_ready`、`safety.confirmed`、`safety.dispatch_event`、`safety.auto_execution=false`、`safety.git=false`、`safety.worktree=false`、`safety.subagent=false`、`safety.mcp=false`、`safety.daemon=false` 和 `forbidden_actions`。Stage 6.5 不改变 event schema,不标记 consumed,不执行 skill,不调用平台 API / subagent / MCP / daemon,不触碰 git / worktree,不写业务源码。
|
|
394
|
+
|
|
395
|
+
Stage 7 Dispatch Claim / Ack Gate 新增显式处理状态:
|
|
396
|
+
|
|
397
|
+
```text
|
|
398
|
+
dispatches --claim <event-file> --actor <id> 显式领取一个已通过 verification 的 dispatch event
|
|
399
|
+
dispatches --ack <event-file> --actor <id> --status <picked|skipped|failed> [--reason <text>] 确认人工 pickup 结果
|
|
400
|
+
dispatches --claims 列出 dispatch claim state
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
Stage 7 只写 `.vibecoding-state/dispatch-claims/<event-file>.claim.json`,不得修改 `.vibecoding-state/dispatches/<event-file>` 原始 event。`--claim` 必须先通过 confirm-dispatch event verification;损坏 event、非法 event、路径越界、缺 actor 或非法 actor 都必须失败且不创建 claim 目录。actor 只允许英文字母、数字、`.`、`_`、`-`,并拒绝空值、`.`、`..`、路径分隔符、盘符、绝对路径、路径穿越、Windows 保留设备名和尾随 `.` / 空格。同一个 event 已存在 active `claimed` 状态时,重复 claim 必须失败且不覆盖原 claim。`--ack` 只能由 claim 中同一个 actor 执行,合法状态仅为 `picked`、`skipped`、`failed`;ack 只更新 claim file,不执行 skill、不调用平台 API / subagent / MCP / daemon、不触碰 git / worktree、不写业务源码。不使用 `consumed` 状态,避免暗示自动执行完成。
|
|
404
|
+
|
|
405
|
+
Stage 7.1 claim input hardening:`dispatches --claim` 的输入边界固定为 verified dispatch event、safe actor id 和单一 active claim;缺 actor、非法 actor、损坏 event、路径越界和重复 active claim 都必须失败且不写越界文件。Stage 7.2 ack lifecycle hardening:`dispatches --ack` 只能由原 actor 更新 claim,状态只允许 `picked`、`skipped`、`failed`,并稳定保留 `ack.reason`。Stage 7.3 claims audit hardening:`dispatches --claims` 只读列出 claim 摘要,缺少 claim 目录时返回空列表且不创建目录,输出必须能区分 `claimed`、`picked`、`skipped`、`failed`,不得把损坏 claim 静默当成正常可执行状态。Stage 7.5 stale claim audit:`dispatches --claims` 必须输出 claim age、stale 判定、event digest match 结果和 stale recovery warning。Stage 7.6 claim recovery policy preview:claim recovery 只允许 preview,`reassign_allowed=false`、`retry_allowed=false`,不得自动 reassign、不得修改 dispatch event 或 claim state。Stage 7.9 ack reason contract:`skipped` / `failed` 必须显式传入 non-empty `--reason`;`picked` 可以保留可选 reason。Stage 7.10 claim event digest enforcement:`dispatches --ack` 必须确认 claim 中记录的 `event_sha256` 与当前 dispatch event digest 一致;digest mismatch 必须失败并要求人工审查,不得更新 claim。
|
|
406
|
+
|
|
407
|
+
Stage 8 Adapter Pickup Package Gate 新增只读 pickup package:
|
|
408
|
+
|
|
409
|
+
```text
|
|
410
|
+
dispatches --pickup <event-file> [--platform <claude|cursor|codex>] 只读输出 adapter / human 可复制的 pickup package
|
|
411
|
+
dispatches --pickup <event-file> --platform <platform> --json 输出可解析 pickup package JSON envelope
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
Stage 8 只读取 `.vibecoding-state/dispatches/<event-file>`、event verification 结果和可选 `.vibecoding-state/dispatch-claims/<event-file>.claim.json`。输出必须包含 target workflow skill、source workflow skill、platform、entry file、manual instruction、workflow state path、dispatch event path、claim state path、claim 摘要、event digest 和 safety boundary。默认 platform 为 `cursor`;`--platform` 只允许 `claude`、`cursor`、`codex`,其中 Claude 使用 `CLAUDE.md`,Cursor / Codex 使用 `AGENTS.md`。event 未 claim 时只输出 warning,不自动 claim。
|
|
415
|
+
|
|
416
|
+
Stage 8 是只读 pickup package,不自动 claim、不写 claim state、不修改原始 dispatch event、不接 Claude / Codex / Cursor API、不创建会话、不执行 skill、不调用 subagent / MCP / daemon、不触碰 git / worktree、不写业务源码。`auto claim` 必须保持关闭,`session` 创建必须保持禁止。
|
|
417
|
+
|
|
418
|
+
Stage 8.1 pickup package manifest:pickup package 必须稳定输出 platform、entry file、source skill、target workflow skill、workflow state path、dispatch event path、claim state path、event digest、manual instruction 和 safety boundary。Stage 8.2 pickup readiness gates:event verification 结果必须可见;未 claim 时只给 warning;claim 非 `picked` 时不得暗示可以进入 execution。Stage 8.3 pickup read-only audit:`--json` 必须输出可解析 envelope;非法 platform、event 路径越界、损坏 event 必须失败且不写文件;pickup 过程不得创建 session、不得 auto claim、不得改 dispatch/claim。Stage 8.4 pickup readiness audit:pickup JSON/text 必须输出 `ready_for_adapter`、`event_valid`、`claim_picked`、`target_skill_present` 和 `entry_file_present`,并保持不创建 session、不调用 platform API。Stage 8.7 pickup package verification:`dispatches --pickup-verify` 必须独立输出 pickup verification result、failures 和 digest set,且保持 no-write。Stage 8.8 platform capability matrix:pickup envelope 必须输出 `platform_capability`,固定 Claude 使用 `CLAUDE.md`,Cursor / Codex 使用 `AGENTS.md`,三者均为 manual/no-session/no-API/no-stdin automation。Stage 8.9 no-session adapter dry-run:`dispatches --pickup-dry-run` 只模拟 adapter 会读取的 entry、dispatch、claim 和 digest,不创建 session、不调用平台 API、不写状态。Stage 8.10 pickup handoff digest / Stage 8.6 digest-bound package:pickup package 必须绑定 `event_sha256`、`claim_sha256`、`workflow_sha256` 和 `handoff_sha256`,供未来 adapter 拒绝过期输入。
|
|
419
|
+
|
|
420
|
+
Stage 9 是 Supervised Executor Gate,只允许 `execute --from-dispatch <event-file> --dry-run` 预览 execution plan,或 `execute --from-dispatch <event-file> --confirm --actor <id>` 在人工确认后写入 `.vibecoding-state/executions/<timestamp>-<dispatch-hash>.execution.json` execution envelope。confirm 前必须校验 confirm-dispatch event、读取 claim、确认 actor 匹配且 claim status 为 `picked`;未 claim、actor mismatch、claim 未 picked 或非法 event 都必须失败且不创建 executions 目录。
|
|
421
|
+
|
|
422
|
+
Stage 9 第一批不执行目标 workflow skill,不接 Claude / Codex / Cursor API,不调用 subagent / MCP / daemon,不触碰 git / worktree,不写业务源码,不修改原始 dispatch event,也不修改 claim state。execution envelope 必须保留 `skill_execution: false`、`auto_execution: false`、`platform_api: false`、`git: false` 和 `worktree: false`。
|
|
423
|
+
|
|
424
|
+
Stage 9.1 dry-run execution plan:`execute --from-dispatch <event-file> --dry-run` 只预览 execution plan,不写 `.vibecoding-state/executions/`,不执行 workflow skill,不调用平台 API、subagent、MCP 或 daemon。Stage 9.2 confirm planned envelope:`execute --from-dispatch <event-file> --confirm --actor <id>` 只写 planned execution envelope,明确 `skill_execution=false`、`auto_execution=false`、`runtime_action=false`。Stage 9.3 claim picked gate:dry-run、preflight、confirm 和后续 run gate 都必须检查 claim exists、actor match 和 claim status `picked`;claim 缺失、actor mismatch 或 claim 未 picked 必须失败且不写 execution。Stage 9.4 no execution boundary:Stage 9 永远不执行目标 workflow skill,不创建平台 session,不调用 Claude / Codex / Cursor API,不触碰 git / worktree,不写业务源码。Stage 9.5 execution envelope safety:planned envelope 必须固定记录 `platform_api=false`、`subagent=false`、`mcp=false`、`daemon=false`、`git=false`、`worktree=false`、`business_source_write=false`、`skill_execution=false`、`auto_execution=false` 和 `runtime_action=false`。Stage 9.6 immutability:成功或失败都不得修改原始 dispatch event 或 claim state;任何 gate 失败不得创建 execution file;execution audit 文件输入必须拒绝路径越界和非法扩展名。Stage 9.7 execution preflight audit:`execute --from-dispatch <event-file> --preflight` / `--preflight --json` 是独立只读 audit 输出,必须展示 dispatch verification、claim exists、actor match、claim picked、target allowlist、stop condition、task readiness、review gate 和 expected write boundary,且不写 `.vibecoding-state/executions/`。Stage 9.8 planned envelope verify:`executions --verify <execution-file>` 必须校验 planned envelope safety;corrupted planned envelope 中 `runtime_action=true`、`skill_execution=true` 或 `auto_execution=true` 必须 verify 失败。Stage 9.9 idempotency key:planned envelope 必须包含基于 event digest、actor 和 target skill 的 stable `idempotency_key`。Stage 9.10 execution policy snapshot:preflight 和 planned envelope 必须包含 execution policy name/version、allowlisted skills snapshot 和 forbidden actions。Stage 9.11 write boundary preview:preflight 必须输出 `write_boundary.expected_writes`、forbidden actions 和 `business_source_write=false` / `git=false` / `worktree=false`;planned envelope 必须记录 expected writes,作为 Stage 9 的 write boundary preview,而不是实际运行时沙箱证明。
|
|
425
|
+
|
|
426
|
+
Stage 9.1 execution preflight gates、Stage 9.2 execution preflight audit / planned execution envelope、Stage 9.3 immutability guarantees 和 Stage 9.5 idempotency / policy snapshot 仍作为兼容 marker:`execute --from-dispatch` 必须先验证 confirm-dispatch event、claim exists、actor match、claim status `picked`,并保持 target skill allowlist、stop condition、review gate 和 task readiness gate 的输出可审计;`execute --from-dispatch <event-file> --preflight` 只读输出 dispatch、claim、target allowlist、stop condition、task readiness、review gate 和 write boundary,不写 `.vibecoding-state/executions/`;`--dry-run` 只预览不写 `.vibecoding-state/executions/`;`--confirm --actor` 只写 planned envelope;planned envelope 必须包含 stable `idempotency_key`、execution policy name/version、allowlisted skills snapshot 和 expected write boundary,方便后续审计复现为什么当时允许。
|
|
427
|
+
|
|
428
|
+
Stage 10 是 Optional Daemon / Watcher Gate,默认关闭。第一批只允许 `daemon --dry-run` 预览 once-run gate,或 `daemon --once --confirm` 在人工确认后写入 `.vibecoding-state/daemon-runs/<timestamp>.daemon-run.json` daemon run envelope。`daemon` 默认无参数必须失败;`--once` 缺少 `--confirm` 必须失败;`--dry-run` 不得写 daemon-runs 目录。
|
|
429
|
+
|
|
430
|
+
Stage 10 第一批不启动长驻后台 worker,不启动 watcher,不自动扫描并执行所有 dispatches,不 pickup claim,不调用 `execute`,不执行目标 workflow skill,不接 Claude / Codex / Cursor API,不调用 subagent / MCP,不触碰 git / worktree,不写业务源码,不修改 dispatch event、claim 或 execution envelope。daemon run envelope 必须保留 `default_enabled: false`、`long_running: false`、`watcher: false`、`dispatch_scan_execution: false`、`auto_execution: false`、`platform_api: false`、`git: false` 和 `worktree: false`。
|
|
431
|
+
|
|
432
|
+
Stage 10.1 daemon command gate:`daemon` 无参数必须失败,`daemon --once` 缺 `--confirm` 必须失败,`daemon --dry-run` 必须保持 no-write。Stage 10.2 once-run envelope:`daemon --once --confirm` 只写 daemon run envelope,并固定记录 `default_enabled=false`、`long_running=false`、`watcher=false`、`dispatch_scan_execution=false`。Stage 10.3 scheduler scan dry-run / failure isolation:`daemon --scan --dry-run` 只读扫描 dispatches、claims 和 executions,输出 candidates、blocked、stale claims、stale running executions 和 retry preview,但不扫描执行队列、不调用 `execute`、不 pickup claim、不修改 dispatch/claim/execution。Stage 10.4 scheduler policy dry-run:scheduler 只能给出 `ready_for_execution` / blocked reasons,不自动执行。Stage 10.5 stale claim / stale running audit:scan 必须识别 stale claim、digest mismatch 和 running execution。Stage 10.6 retry policy preview:failed/timed_out execution 只输出 `retry_allowed=false`,不得自动 retry。Stage 10.8 once scan no-op envelope:`daemon --once --confirm` 写入的 envelope 也必须记录 `scan_noop=true` 和 `scheduler_policy_dry_run=true`,不得把 scan 结果作为执行输入。Stage 10.11 concurrency lock contract:daemon dry-run、scan dry-run 和 once envelope 都必须记录 `lock_required=true`、`lock_acquired=false`。Stage 10.12 watcher disabled contract:watcher contract 必须显式 `enabled=false`。Stage 10.13 daemon lease / heartbeat model:daemon contract 必须记录 `lease_required=true`、`heartbeat_required=true`、`heartbeat_started=false`;文本和 JSON 输出必须明确 queue / worker / watcher 未启用,并固定 lock / lease contract。
|
|
433
|
+
|
|
434
|
+
Stage 11 是 Supervised Real Executor v1,只允许 `execute --from-dispatch <event-file> --confirm --actor <id> --run`(即 `execute --confirm --run`)在人工显式确认后执行 allowlist 内本地受监管 runtime action,并写入 `.vibecoding-state/executions/<timestamp>-<dispatch-hash>.execution.json` lifecycle record。Stage 11 不调用 Claude / Codex / Cursor API,不创建 IDE session,不调用 subagent / MCP / daemon,不触碰 git / worktree,不写业务源码,不修改原始 dispatch event,也不修改 claim state。
|
|
435
|
+
|
|
436
|
+
Stage 11 allowlist 第一批只包含 `vibe-verification-before-completion`、`vibe-review`、`vibe-requesting-code-review`、`vibe-receiving-code-review`、`vibe-systematic-debugging`、`vibe-test-driven-development` 和 `vibe-executing-plans`。`vibe-subagent-driven-development`、`vibe-dispatching-parallel-work` 和 `vibe-finishing-a-development-branch` 禁止自动 run。
|
|
437
|
+
|
|
438
|
+
Stage 11 execution lifecycle 状态仅包含 `planned`、`running`、`succeeded`、`failed`、`timed_out` 和 `cancelled`。`--confirm` 不带 `--run` 仍保持 Stage 9 `planned` envelope 语义;`--confirm --run` 必须通过 dispatch event verification、claim exists、actor match、claim status `picked`、target skill allowlist、stop condition、task readiness、review gate 和 write boundary gate。任一 gate 失败必须非零退出,且不创建新的 execution lifecycle record。`supervised-run` envelope 必须显式记录 `runtime_action`,并保持 `skill_execution: false`、`auto_execution: false`、`platform_api: false`、`git: false` 和 `worktree: false`。
|
|
439
|
+
|
|
440
|
+
Stage 11.1 是 Execution Audit Hardening。`execute --confirm --run` 必须先在同一个 `.execution.json` 文件中持久化 `status: running` 和 `lifecycle[0].status: running`,再把同一 execution file 原子更新为 terminal status;不得为同一次 run 生成 running/final 两个 unrelated 文件。进入 run 前的 gate 失败不得创建 execution file;进入 run 后若进程 crash,已落盘的 running record 必须作为 stale/in-progress 审计证据可见。
|
|
441
|
+
|
|
442
|
+
Stage 11.1 `supervised-run` verification 必须强校验 lifecycle、terminal status、timestamp 单调性、`execution.allowlisted=true`、`execution.runtime_action=generate-supervised-handoff-package`、`evidence.stdout_excerpt`、`safety.supervised_execution=true`、`safety.runtime_action=true`、`safety.skill_execution=false`,并继续强制 `platform_api=false`、`subagent=false`、`mcp=false`、`daemon=false`、`git=false`、`worktree=false` 和 `business_source_write=false`。文本输出和 JSON safety 必须一致:dry-run / confirm 为 `runtime_action=false`,supervised run 为 `runtime_action=true`。
|
|
443
|
+
|
|
444
|
+
Stage 11.2-11.10 把 Supervised Real Executor v1 拆成可审计小阶段:Stage 11.2 `Run Preflight Parity` 要求 `supervised-run` record 保存与 `--preflight` 一致的 gates、policy 和 write boundary;Stage 11.3 `Runtime Action Contract` 固定 `generate-supervised-handoff-package` 为唯一 runtime action,并记录 action contract、input summary、output summary;Stage 11.4 `Terminal Failure Lifecycle` 支持 `failed` terminal status 和 error evidence;Stage 11.5 `Timeout Lifecycle Boundary` 支持 `timed_out` terminal status 和 timeout evidence;Stage 11.6 `Cancellation Lifecycle Boundary` 支持 `cancelled` terminal status,无法更新时保留 stale `running` record;Stage 11.7 `Execution Stale / Active Audit` 要求 `executions --list/show/verify` 输出 active、terminal、age_ms 和 stale;Stage 11.8 `Run Idempotency Guard` 要求同一 event digest、actor 和 target skill 的 active `running` run 不得重复启动;Stage 11.9 `Run Policy Snapshot Hardening` 要求 verify 强校验 policy name/version、allowlist snapshot、forbidden actions 和 runtime action contract;Stage 11.10 `Release / Docs / Smoke Sync` 要求 roadmap、contract、README、acceptance checklist、runtime-check 和 release smoke 同步覆盖。
|
|
445
|
+
|
|
446
|
+
Stage 11 新增 `executions --list`、`executions --show <execution-file>` 和 `executions --verify <execution-file>` 只读 execution audit。它们只能读取 `.vibecoding-state/executions/` 下的相对 `.execution.json` 文件;绝对路径、路径分隔符、路径穿越和非 `.execution.json` 文件名必须失败。execution verification 必须检查 `schema_version`、`command=execute`、`mode`、`status`、`execution.event_file`、`execution.target_skill` 以及 safety 中 `platform_api=false`、`subagent=false`、`mcp=false`、`daemon=false`、`git=false`、`worktree=false`、`business_source_write=false`。
|
|
447
|
+
|
|
448
|
+
Stage 12 是 Executor Candidate Planning,只允许 `execute --from-dispatch <event-file> --candidate [--actor <id>]` 生成 execution candidate preview,或 `execute --from-dispatch <event-file> --candidate --confirm [--actor <id>]` 写入 `.vibecoding-state/execution-candidates/<timestamp>-<dispatch-hash>.candidate.json`。Stage 12.1 Candidate Source Model 绑定 dispatch event、claim、workflow state 和 execution history;Stage 12.2 Candidate Readiness Gates 输出 event valid、claim picked、actor match、target allowlisted、stop clear、review clean 和 task ready;Stage 12.3 Candidate Policy Intent 记录 policy name/version、allowlist snapshot 和 forbidden actions;Stage 12.4 Candidate Risk Profile 固定 `runtime_action=false`、`auto_execution=false`、`business_source_write=false`;Stage 12.5 Candidate Idempotency Preview 生成 stable candidate key;Stage 12.6 Candidate History Awareness 读取 active/terminal history,active running 时 blocked;Stage 12.7 Candidate Audit Commands 通过 `executions --show/verify <candidate-file>` 只读审计;Stage 12.8 Candidate Persistence Boundary 只写 candidate artifact,不写 executions;Stage 12.9 Candidate Verification 拒绝 corrupted digest、policy 或 safety;Stage 12.10 同步 docs/check/smoke。Stage 12 不执行 runtime action,不修改 dispatch/claim。
|
|
449
|
+
|
|
450
|
+
Stage 13 是 Dry-run Simulation / Approval Package,只允许 `execute --approval-package --approval <candidate-file> --confirm` 读取 Stage 12 candidate 并写入 `.vibecoding-state/execution-approvals/<timestamp>-<candidate-hash>.approval.json`。Stage 13.1 Simulation Input Contract 绑定 candidate digest;Stage 13.2 Simulated Action Plan 只模拟 `generate-supervised-handoff-package`、expected input、expected output 和 expected writes;Stage 13.3 Approval Package Manifest 输出 approval text、policy、risk、expected writes 和 forbidden writes;Stage 13.4 Recovery Plan Preview 固定 `automatic_retry=false` / `retry_allowed=false`;Stage 13.5 Evidence Completeness Preview 只阻塞审批,不执行 action;Stage 13.6 Simulation Policy Verification 校验 policy 和 runtime action contract;Stage 13.7 Approval State Boundary 明确 approval 不是 execution;Stage 13.8 Replayable Dry-run Output 保持 JSON 可解析;Stage 13.9 Simulation Audit Commands 通过 `executions --show/verify <approval-file>` 只读审计;Stage 13.10 同步 docs/check/smoke。Stage 13 不执行 runtime action,不修改 dispatch/claim/execution。
|
|
451
|
+
|
|
452
|
+
Stage 14 是 Controlled Automatic Execution,只允许 `execute --from-dispatch <event-file> --confirm --actor <id> --run --auto-run --approval <approval-file>` 在显式 approval、policy snapshot、local lock 和 allowlist 全部通过后执行唯一受控 runtime action。Stage 14.1 Auto-run Explicit Enable Gate 要求 `--confirm --actor --run --auto-run --approval` 同时存在;Stage 14.2 Auto-run Policy Contract 记录 allowlisted target skills、allowlisted runtime action、max active run/lock 和 forbidden actions;Stage 14.3 Approval Binding Gate 校验 approval digest、candidate digest 和 idempotency key;Stage 14.4 Active Lock / Lease Gate 写入 `.vibecoding-state/auto-run-locks/<idempotency-hash>.lock.json` 并拒绝 active lock 重入;Stage 14.5 Controlled Runtime Action Execution 仅调用 Stage 11 的 `generate-supervised-handoff-package`;Stage 14.6 Auto-run Lifecycle Record 写入 `mode=controlled-auto-run`、`auto_controlled=true`、approval digest、lock digest 和 policy snapshot;Stage 14.7 Compensation / Recovery Evidence 固定 automatic retry disabled 和 manual recovery instruction;Stage 14.8 Auto-run Audit Commands 通过 `executions --list/show/verify` 区分 manual supervised run 与 controlled auto-run;Stage 14.9 Auto-run Negative Policy Smoke 覆盖未审批、审批过期、digest mismatch、非 allowlist、active lock 和 bad safety;Stage 14.10 同步 release/docs/smoke。Stage 14 仍不执行 workflow skill、不接 Claude/Codex/Cursor API、不调用 subagent/MCP/daemon、不触碰 git/worktree、不写业务源码、不修改 dispatch event 或 claim state。
|
|
453
|
+
|
|
454
|
+
Stage 15 是 Auto-run Policy DSL,只允许内置 data-only policy profile:`strict`、`controlled-local-runtime`、`review-only`。`policies --list` 与 `policies --show <profile>` 是只读 audit;profile snapshot 必须包含 `name`、`version`、`stage=Stage 15`、`profile`、`mode`、`default_enabled=false`、`allowed_target_skills`、`allowed_runtime_actions`、`forbidden_actions`、`expected_writes`、`risk_ceiling`、`approval.required=true`、`limits.max_active_runs`、`source=builtin-data-only`、`dynamic_code=false`、`remote_config=false` 和 `policy_digest`。Stage 15.1 Policy Profile Model 固定三类 profile;Stage 15.2 Policy DSL Schema 校验关键字段和类型;Stage 15.3 Policy Source Boundary 禁止动态 eval、外部 JS、远程 policy 和任意配置执行;Stage 15.4 Policy Evaluation Envelope 输出 `allowed`、`matched_rules`、`blocked_reasons` 和 `policy_digest`;Stage 15.5 Risk Gate Contract 阻断 business source write、git、worktree、platform API、subagent、MCP、daemon 和 skill execution;Stage 15.6 Approval Requirement Contract 要求 approval 绑定和 freshness;Stage 15.7 Policy Snapshot Binding 要求 candidate、approval、controlled auto-run 绑定同一 policy digest;Stage 15.8 Policy Audit Commands 保持 no-write;Stage 15.9 Policy Negative Smoke 覆盖 unknown profile、forbidden action、non-allowlisted skill 和 policy digest mismatch;Stage 15.10 同步 docs/check/smoke。Stage 15 不执行 runtime action、不扩大 Stage 14 allowlist。
|
|
455
|
+
|
|
456
|
+
Stage 16 是 Candidate Queue / Scheduler Scan,只允许 `queue --scan` 只读扫描 candidate / approval artifacts,或 `queue --scan --confirm` 显式写 `.vibecoding-state/execution-queue/<timestamp>.queue.json` queue snapshot。Queue item 必须包含 candidate file、event file、target skill、actor、idempotency key、policy digest、approval file/digest、status、priority、stale、locked、active/terminal history 和 blocked reasons。Stage 16.1 Queue Source Model 读取 candidates、approvals、execution history 和 auto-run locks;Stage 16.2 Queue Item Envelope 固定 item 字段;Stage 16.3 Queue Readiness Gates 覆盖 candidate ready、policy allowed、approval valid、active lock clear、no active run、not stale;Stage 16.4 Queue Priority Model 使用 ready first、older/stable tie-breaker;Stage 16.5 Scheduler Scan Contract 使用 `queue --scan`,默认 no-write;Stage 16.6 Optional Queue Persistence Boundary 只允许 `--confirm` 写 queue snapshot;Stage 16.7 Queue Audit Commands 提供 `queue --list/show/verify`;Stage 16.8 Scheduler Promotion Preview 只输出建议,不调用 `execute --auto-run`;Stage 16.9 Queue Negative Smoke 覆盖 missing approval、bad policy digest、active lock、active running、corrupted queue item 和 path traversal;Stage 16.10 同步 docs/check/smoke。Stage 16 不执行 runtime action、不启动 daemon/worker/watcher、不修改 dispatch/claim/execution。
|
|
457
|
+
|
|
458
|
+
Stage 19 是 Lease / Recovery / Retry Package,只允许 `leases --list/show/verify` 只读审计本地 lease,或 `recovery --preview [--confirm]` 生成恢复包预览 / 显式写 `.vibecoding-state/recovery-packages/<timestamp>.recovery.json`。Stage 19.1 Lease Source Model 读取 auto-run locks、running executions、queue items、approval/candidate binding;Stage 19.2 Lease Envelope Schema 固定 lease id、idempotency key、lock file、execution file、candidate file、approval file、created_at、age_ms、stale、expired、heartbeat_required、heartbeat_present;Stage 19.3 Lease Audit Command 默认只读且损坏 lock 隔离;Stage 19.4 Recovery Package Model 只描述人工 inspect、manual cleanup、recreate candidate、request approval 和 retry preview;Stage 19.5 Recovery Package Persistence Boundary 只允许 `--confirm` 写 recovery artifact;Stage 19.6 Retry Eligibility Model 默认 `retry_allowed=false`;Stage 19.7 Retry Package Contract 记录 execution/candidate/approval/policy digest 和 manual steps;Stage 19.8 Recovery / Retry Audit Commands 提供 show/verify;Stage 19.9 Negative Smoke 覆盖 active lock、stale running、missing approval、bad digest、corrupt recovery package 和 path traversal;Stage 19.10 同步 docs/check/smoke。Stage 19 不自动 retry、不释放 lock、不删除 execution、不重放 auto-run、不修改 dispatch/claim/candidate/approval/execution。
|
|
459
|
+
|
|
460
|
+
Stage 20 是 Observability and Readiness Scoring,只允许 `observability --summary` 或 `readiness --score` 只读输出 deterministic readiness score,或显式 `--confirm` 写 `.vibecoding-state/observability/<timestamp>.observability.json` snapshot。Stage 20.1 Observability Source Model 读取 workflow、dispatch/claim、candidate、approval、queue、execution、lock/lease、policy 和 recovery package;Stage 20.2 Readiness Score Schema 固定 overall score、dimension scores、grade、blocked reasons、warnings 和 evidence completeness;Stage 20.3 Scoring Dimensions 覆盖 candidate readiness、approval validity、policy allowed、queue status、lease health、execution history、recovery availability 和 observability completeness;Stage 20.4 Deterministic Scoring Rules 使用固定权重和稳定排序;Stage 20.5 Readiness Gate Mapping 只解释 gate,不替代 gate;Stage 20.6 Observability Command 默认只读;Stage 20.7 Optional Snapshot Boundary 只允许 confirm 写 snapshot;Stage 20.8 Report / Text Output 面向人工;Stage 20.9 Negative Smoke 覆盖 missing state、corrupt artifacts、bad queue item、invalid lease、stale approval 和 active lock;Stage 20.10 同步 docs/check/smoke。Stage 30 在此基础上扩展 retry_health、loop_health、reply_health 和 trace_health;仍不改变 gate、不触发执行、不提升 queue item。
|
|
461
|
+
|
|
462
|
+
Stage 5 transition table 必须覆盖现有 workflow skill 的 `next_skill` 候选;禁止只维护 release smoke 中出现的少量路径。典型合法 transition 包括 `vibe-planning -> vibe-implementation`、`vibe-test-driven-development -> vibe-executing-plans`、`vibe-test-driven-development -> vibe-implementation`、`vibe-executing-plans -> vibe-verification-before-completion`、`vibe-executing-plans -> vibe-systematic-debugging`、`vibe-executing-plans -> vibe-writing-plans`、`vibe-executing-plans -> vibe-planning`、`vibe-verification-before-completion -> vibe-finishing-a-development-branch`、`vibe-verification-before-completion -> vibe-verification`、`vibe-verification-before-completion -> vibe-systematic-debugging`、`vibe-verification-before-completion -> vibe-implementation`、`vibe-review -> vibe-receiving-code-review`、`vibe-review -> vibe-test-driven-development`、`vibe-review -> vibe-verification-before-completion`、`vibe-review -> vibe-planning`、`vibe-receiving-code-review -> vibe-test-driven-development`、`vibe-receiving-code-review -> vibe-implementation`、`vibe-receiving-code-review -> vibe-systematic-debugging`、`vibe-receiving-code-review -> vibe-planning`、`vibe-workspace-isolation -> vibe-subagent-driven-development`、`vibe-workspace-isolation -> vibe-dispatching-parallel-work`、`vibe-workspace-isolation -> vibe-executing-plans`、`vibe-dispatching-parallel-work -> vibe-workspace-isolation`、`vibe-dispatching-parallel-work -> vibe-subagent-driven-development`、`vibe-dispatching-parallel-work -> vibe-executing-plans`、`vibe-subagent-driven-development -> vibe-verification-before-completion`、`vibe-subagent-driven-development -> vibe-executing-plans`、`vibe-subagent-driven-development -> vibe-receiving-code-review` 和 terminal `next_skill: none`。release smoke 必须包含至少一个 clean dispatch intent 正向路径,断言 `adapter_ready: true`、`gates.dispatchable: true` 和 `intent.target_skill` 保留真实目标。
|
|
463
|
+
|
|
464
|
+
Stage 5 transition table 同时覆盖非主线但仍在 skill contract 中声明的候选,包括 `vibe-brainstorming -> vibe-implementation`、`vibe-writing-skills -> vibe-test-driven-development`、`vibe-writing-skills -> vibe-planning`、`vibe-debugging -> vibe-implementation`、`vibe-debugging -> vibe-planning`、`vibe-verification -> vibe-debugging`、`vibe-verification -> vibe-implementation`、`vibe-verification -> vibe-planning`、`vibe-requesting-code-review -> vibe-verification-before-completion`、`vibe-requesting-code-review -> vibe-planning`、`vibe-context-compact -> vibe-planning`、`vibe-context-compact -> vibe-debugging`、`vibe-context-compact -> vibe-implementation` 和 `vibe-context-compact -> vibe-verification`。
|
|
465
|
+
|
|
466
|
+
`status` 可展示 `scope`、`risks`、`acceptance`、`files` 和 `evidence` 的非空摘要,但不得修改 workflow state,必须保留只读语义。
|
|
467
|
+
|
|
468
|
+
`record-handoff` 成功后可输出 `Handoff quality:` 文本提示,用 `[ok]` / `[warn]` 提醒 `scope`、`risks`、`acceptance`、`files`、`evidence`、`stop_condition` 和 `next_skill: none` 的表达质量。质量提示不扩展必填字段,不拒绝写入,不自动修复 handoff,不改变 `.vibecoding-state/workflow.json` 结构,也不执行 `next_skill`。
|
|
469
|
+
|
|
470
|
+
Stage 3 `next --dry-run` 建议状态:
|
|
471
|
+
|
|
472
|
+
```text
|
|
473
|
+
idle 尚未记录 workflow state
|
|
474
|
+
ready next_skill 有具体值,且 stop_condition 为空或 none
|
|
475
|
+
blocked stop_condition 有实际内容,必须先处理停止条件
|
|
476
|
+
stopped next_skill 为空或 none,且没有阻塞型 stop_condition
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
建议输出只面向用户阅读,不承诺机器可读稳定格式。它可以展示当前 skill、下一 skill、原因、风险、验收摘要和手动动作提示,但必须保留 `Action: no skill was executed.` 语义。
|
|
480
|
+
|
|
481
|
+
Stage 4 第一批 `artifacts` 文件化产物:
|
|
482
|
+
|
|
483
|
+
```text
|
|
484
|
+
artifacts --dry-run 默认预览 task brief、review gate 和 evidence skeleton,不写文件
|
|
485
|
+
artifacts --write 只写 .vibecoding-state/task-brief.md、review-gate.md、evidence.md
|
|
486
|
+
tasks --dry-run 默认预览任务级 brief、report、review gate 和 evidence skeleton,不写文件
|
|
487
|
+
tasks --write 只写 .vibecoding-state/tasks/<task-id>/brief.md、report.md、review-gate.md、evidence.md
|
|
488
|
+
```
|
|
489
|
+
|
|
490
|
+
`artifacts` 只能从现有 `.vibecoding-state/workflow.json` 生成 workflow 级产物。`tasks` 只能从同一 ledger 的可选 `tasks` 字段生成任务级产物。缺失 root 或缺失 ledger 时必须失败,不创建 root、不创建产物。`--dry-run` 和 `--write` 互斥。产物只来自 ledger 字段,不读取 skill 文件推断 workflow;`goal`、`key_decisions` 和 `tasks` 只作为可选上下文展示。
|
|
491
|
+
|
|
492
|
+
`task.id` 进入本地路径前必须通过路径安全校验,只允许英文字母、数字、`.`、`_`、`-`,并拒绝 `.`、`..`、路径分隔符、盘符、绝对路径或路径穿越。非法 task id 必须让 `record-handoff` 失败,不得写入不可安全消费的 ledger。
|
|
493
|
+
|
|
494
|
+
三个 workflow 级产物职责固定为:`task-brief.md` 聚焦任务交接,`review-gate.md` 聚焦 review 风险和完成门禁,`evidence.md` 聚焦已有证据和待补验证。任务级产物职责固定为:`brief.md` 聚焦单任务交接,`report.md` 聚焦执行报告骨架,`review-gate.md` 聚焦任务级规格、review_status、review evidence、review risks 与质量门禁,`evidence.md` 聚焦任务级证据缺口。缺失字段显示为 `not recorded` / `- not recorded`,只表示 ledger 未记录,不表示已经验证为无风险或无缺口。不执行 `next_skill`,不调用 subagent,不执行 git、worktree、branch 或 stash。
|
|
495
|
+
|
|
496
|
+
状态枚举:
|
|
497
|
+
|
|
498
|
+
```text
|
|
499
|
+
idle
|
|
500
|
+
handoff-recorded
|
|
501
|
+
waiting-confirmation
|
|
502
|
+
next-suggested
|
|
503
|
+
stopped
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
## Stage 33 Hook Intent Contract
|
|
507
|
+
|
|
508
|
+
Stage 33 只建立 hook intent 输入契约,不启用 hook 执行器。
|
|
509
|
+
|
|
510
|
+
```text
|
|
511
|
+
hooks --catalog 只读展示 builtin hook intent catalog
|
|
512
|
+
hooks --preview [--json] 只读预览 hook intent,不写文件
|
|
513
|
+
hooks --preview --confirm [--json] 只写 .vibecoding-state/hook-intents/*.hook-intent.json
|
|
514
|
+
hooks --list [--json] 只读列出 hook intent artifacts
|
|
515
|
+
hooks --show <hook-intent-file> [--json] 只读展示单个 hook intent
|
|
516
|
+
hooks --verify <hook-intent-file> [--json] 只读校验 digest / source / safety
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
Stage 33 hook intent artifact 绑定 allowed hook sources、`scheduler-plan-only` followup、workflow digest、source digest 和 builtin hook catalog digest。默认 `hook_enabled=false`、`default_enabled=false`,`hooks --preview` 不创建 `.vibecoding-state/`,`--confirm` 只写 `.vibecoding-state/hook-intents/`。该阶段不触发 scheduler、不派发 subagent、不创建平台 session、不调用 Claude / Codex / Cursor API、不调用 MCP、不触碰 git / worktree、不写业务源码。损坏 JSON、路径穿越、catalog digest drift、workflow digest drift、`scheduler_execution=true`、`subagent_dispatch=true`、`platform_api=true` 或 bad safety 必须 verify 失败。
|
|
520
|
+
|
|
521
|
+
## Stage 34 Scheduler Plan from Hook
|
|
522
|
+
|
|
523
|
+
Stage 34 把 Stage 33 hook intent 连接到 scheduler 计划层,但不运行 scheduler,也不派发 subagent。
|
|
524
|
+
|
|
525
|
+
```text
|
|
526
|
+
scheduler --from-hook <hook-intent-file> --plan [--json] 只读预览 hook-derived scheduler plan
|
|
527
|
+
scheduler --from-hook <hook-intent-file> --plan --confirm [--json] 只写 .vibecoding-state/scheduler-hook-plans/*.scheduler-hook-plan.json
|
|
528
|
+
scheduler --show <scheduler-hook-plan-file> [--json] 只读展示 hook-derived scheduler plan
|
|
529
|
+
scheduler --verify <scheduler-hook-plan-file> [--json] 只读校验 hook-derived scheduler plan
|
|
530
|
+
scheduler --list [--json] 只读列出普通 scheduler plan 与 hook-derived scheduler plan
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
Stage 34 plan 必须引用已验证的 hook intent,并绑定 hook intent digest、queue summary、scheduler dry-run plan digest、budget、lease requirement 和 required approvals。`--from-hook --plan` 默认 no-write;`--confirm` 只写 `.vibecoding-state/scheduler-hook-plans/`。该阶段固定 `scheduler_profile=scheduler-dry-run`、`runtime_action_allowed=false`、`subagent_dispatch_allowed=false`、`session_create=false`、`platform_api=false`、`scheduler_run=false`,不创建 scheduler lease、不执行 queue item、不创建 subagent session、不写业务源码。hook intent drift、bad plan digest、bad safety、`subagent_dispatch_allowed=true`、`runtime_action_allowed=true` 或路径穿越必须 verify 失败。
|
|
534
|
+
|
|
535
|
+
## Stage 35 Subagent Dispatch Eligibility Gate
|
|
536
|
+
|
|
537
|
+
Stage 35 把 `vibe-subagent-driven-development` 的人工 gate 机器化为本地 eligibility artifact,但仍不派发 subagent。
|
|
538
|
+
|
|
539
|
+
```text
|
|
540
|
+
subagents --eligibility --task <task-id> [--json] 只读评估 task 是否满足 subagent 派发前置 gate
|
|
541
|
+
subagents --eligibility --task <task-id> --confirm [--json] 只写 .vibecoding-state/subagent-eligibility/*.subagent-eligibility.json
|
|
542
|
+
subagents --list [--json] 只读列出 subagent eligibility artifacts
|
|
543
|
+
subagents --show <eligibility-file> [--json] 只读展示单个 eligibility artifact
|
|
544
|
+
subagents --verify <eligibility-file> [--json] 只读校验 digest / task evidence / safety
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
Stage 35 eligibility artifact 绑定 workflow digest、task digest、gate catalog 和 `skills/vibe-subagent-driven-development/SKILL.md` 语义来源。必须机器化检查 `user_consent_present`、`task_brief_complete`、`file_scope_isolated`、`shared_state_conflict_absent`、`task_review_gate_defined`、`final_review_gate_defined`、`fallback_path_defined` 和 `platform_capability_supported`。证据来自当前 workflow task evidence / notes / review evidence;缺证据时只能输出 blocked,不得猜测通过。该阶段固定 `allowed_followup=dispatch-artifact-only`、`subagent_dispatch=false`、`session_create=false`、`platform_api=false`、`scheduler_run=false`、`git=false`、`worktree=false`,不创建 subagent dispatch、不调用平台 API、不启动 session、不执行 scheduler run、不写业务源码。task drift、workflow drift、gate evidence drift、bad digest、`subagent_dispatch=true` 或路径穿越必须 verify 失败。
|
|
548
|
+
|
|
549
|
+
## Stage 36 Approved Subagent Dispatch Artifact
|
|
550
|
+
|
|
551
|
+
Stage 36 首次允许写 approved subagent dispatch order,但仍不启动真实 subagent。
|
|
552
|
+
|
|
553
|
+
```text
|
|
554
|
+
subagents --dispatch --from-plan <scheduler-hook-plan-file> --eligibility <eligibility-file> --confirm [--json]
|
|
555
|
+
subagents --show <subagent-dispatch-file> [--json]
|
|
556
|
+
subagents --verify <subagent-dispatch-file> [--json]
|
|
557
|
+
subagents --list [--json]
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
Stage 36 dispatch artifact 必须绑定已验证的 Stage 34 scheduler hook plan 和 Stage 35 eligibility artifact,并记录 `task_brief_digest`、`workflow_digest`、`methodology_gate_digest`、`scheduler_plan_digest`、`approval_policy_digest` 和 `capability_matrix_digest`。该阶段固定 `dispatch_status=approved-dispatch-artifact-only`、`allowed_followup=claim-artifact-only`、`lease_required=true`、`review_required=true`、`no_session_create=true`、`no_platform_api=true`、`no_subagent_run=true`、`no_scheduler_run=true`、`git=false`、`worktree=false`。只写 `.vibecoding-state/subagent-dispatches/*.subagent-dispatch.json`,不创建 claim、lease、session,不调用平台 API,不运行 scheduler,不派发 subagent。plan drift、eligibility drift、task digest drift、bad digest、`no_session_create=false` 或 `subagent_dispatch=true` 必须 verify 失败。
|
|
561
|
+
|
|
562
|
+
## Stage 37 Single-shot Agent Scheduler Run
|
|
563
|
+
|
|
564
|
+
Stage 37 允许 scheduler 消费一个 approved dispatch,但当前实现仍是本地、前台、单次审计链路,不创建真实平台 session。
|
|
565
|
+
|
|
566
|
+
```text
|
|
567
|
+
subagents --run --from-dispatch <subagent-dispatch-file> --confirm [--json]
|
|
568
|
+
subagents --show <subagent-scheduler-run-file|subagent-lease-file|subagent-run-result-file> [--json]
|
|
569
|
+
subagents --verify <subagent-scheduler-run-file|subagent-lease-file|subagent-run-result-file> [--json]
|
|
570
|
+
subagents --list [--json]
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
Stage 37 run 必须引用已验证的 Stage 36 dispatch artifact,并一次性写入 `.vibecoding-state/scheduler-runs/*.subagent-scheduler-run.json`、`.vibecoding-state/subagent-run-leases/*.subagent-lease.json` 和 `.vibecoding-state/subagent-run-results/*.subagent-run-result.json`。产物固定 `foreground_only=true`、`single_shot=true`、`scheduler_selected=true`、`lease_acquired=true`、`budget_consumed=true`、`approval_required=true`、`allowed_followup=result-review-gate-only`。它明确记录 `session_created=false`、`platform_api=false`、`actual_subagent_session=false`、`model_invocation=false`、`external_delivery=false`、`business_source_write=false`、`git=false`、`worktree=false`。re-signed semantic drift、dispatch digest drift、policy drift、`session_created=true`、`platform_api=true`、`business_source_write=true`、`watcher=true` 或路径穿越必须 verify 失败。
|
|
574
|
+
|
|
575
|
+
## 当前只读检查边界
|
|
576
|
+
|
|
577
|
+
`vibe-runtime-check` 可以检查:
|
|
578
|
+
|
|
579
|
+
- runtime 文档是否存在。
|
|
580
|
+
- workflow skill 是否包含 `下一步调用`。
|
|
581
|
+
- workflow skill 是否包含 `Workflow Handoff`。
|
|
582
|
+
- handoff 是否包含 `current_skill`、`next_skill`、`handoff`、`stop_condition`。
|
|
583
|
+
- `docs/workflow-chaining.md` 是否覆盖现有 workflow skill marker。
|
|
584
|
+
|
|
585
|
+
`vibe-runtime-check` 不能做:
|
|
586
|
+
|
|
587
|
+
- 写入状态文件。
|
|
588
|
+
- 修改 skill、docs、入口文件或业务项目文件。
|
|
589
|
+
- 自动选择下一步。
|
|
590
|
+
- 自动进入下一 skill。
|
|
591
|
+
- 调用 subagent。
|
|
592
|
+
- 执行 git、worktree、依赖安装或清理动作。
|
|
593
|
+
|
|
594
|
+
## Stage 38 Subagent Result Ingestion / Review Gate
|
|
595
|
+
|
|
596
|
+
Stage 38 将 Stage 37 的本地结果 sidecar 摄取为 review gate 输入:
|
|
597
|
+
|
|
598
|
+
- `subagents --ingest-result <subagent-run-result-file> [--confirm] [--json]`。
|
|
599
|
+
- `subagents --review-gate <subagent-result-file> [--confirm] [--json]`。
|
|
600
|
+
- 写入 `.vibecoding-state/subagent-results/*.subagent-result.json`。
|
|
601
|
+
- 写入 `.vibecoding-state/subagent-reviews/*.subagent-review.json`。
|
|
602
|
+
- `allowed_followup` 只能是 `subagent-review-gate-only` 或 `manual-review-or-fallback-only`。
|
|
603
|
+
- fallback 固定为 `vibe-receiving-code-review` / `vibe-systematic-debugging` / `vibe-writing-plans`。
|
|
604
|
+
- 不自动 merge,不写业务源码,不调用平台 API,不创建 session,不执行 git/worktree。
|
|
605
|
+
|
|
606
|
+
Stage 38 verify 必须拒绝重签后的语义漂移:`source_merge=true`、`business_source_write=true`、`review_completed=true`、扩大 followup、修改 fallback 或源 Stage 37 result digest 都必须失败。
|
|
607
|
+
|
|
608
|
+
## Stage 39 Hook-driven Bounded Loop
|
|
609
|
+
|
|
610
|
+
Stage 39 只允许显式、本地、前台、有界的 hook loop 审计:
|
|
611
|
+
|
|
612
|
+
- `hooks --hook-run --max-iterations <n> --confirm [--json]`。
|
|
613
|
+
- 写入 `.vibecoding-state/hook-runs/*.hook-run.json`。
|
|
614
|
+
- 写入 `.vibecoding-state/hook-heartbeats/*.hook-heartbeat.json`。
|
|
615
|
+
- `allowed_followup` 固定为 `trace-governance-attestation-only`。
|
|
616
|
+
- `long_running=false`、`hidden_worker=false`、`watcher=false`、`daemon=false`。
|
|
617
|
+
- 允许的 hook source 仍只包含 `session_start`。
|
|
618
|
+
- 不启动 scheduler run,不派发 subagent,不创建 session,不调用平台 API,不写业务源码,不执行 git/worktree。
|
|
619
|
+
|
|
620
|
+
Stage 39 verify 必须拒绝重签后的 loop 扩权:扩大 hook source、扩大 followup、`long_running=true`、`daemon=true`、`subagent_dispatch_allowed=true` 或 `session_create=true` 都必须失败。
|
|
621
|
+
|
|
622
|
+
## Stage 40 Trace / Governance / Methodology Automation Expansion
|
|
623
|
+
|
|
624
|
+
Stage 40 将自动化 sidecar 纳入最终证明链,但仍不执行自动化:
|
|
625
|
+
|
|
626
|
+
- trace source types 扩展为包含 `hook_runs`、`hook_heartbeats`、`subagent_dispatches`、`subagent_run_results`、`subagent_results`、`subagent_reviews`。
|
|
627
|
+
- governance attestation 增加 `automation_artifacts` 和 `automation_policy`。
|
|
628
|
+
- `automation_policy` 必须证明 `approved_dispatch_required=true`、`traced_required=true`、`reviewed_required=true`、`hook_bounded_required=true`。
|
|
629
|
+
- `automation_policy.runtime_subagent_session=false`、`platform_api=false`、`source_merge=false`。
|
|
630
|
+
- methodology 支持 `methodology --gate --kind automation`,用本地 artifact 证明 automation readiness。
|
|
631
|
+
|
|
632
|
+
Stage 40 的语义是:只有 approved + traced + reviewed + bounded 的自动化 sidecar 可以进入证明链;证明链本身不触发执行、不修复、不 merge、不调用外部平台。
|
|
633
|
+
|
|
634
|
+
## Stage 41 Platform Adapter Capability Contract
|
|
635
|
+
|
|
636
|
+
Stage 41 只定义平台适配能力契约,不创建真实 session:
|
|
637
|
+
|
|
638
|
+
- `platforms --catalog` 只读展示 builtin adapter catalog。
|
|
639
|
+
- `platforms --probe <claude|cursor|codex>` 默认只从 builtin contract data 生成 preview,不写文件。
|
|
640
|
+
- `platforms --probe <platform> --confirm` 只写 `.vibecoding-state/platform-capabilities/*.platform-capability.json`。
|
|
641
|
+
- `platforms --list/show/verify` 只读审计 capability artifact。
|
|
642
|
+
- capability 绑定 `adapter_digest`、`catalog_digest`、runtime stage、platform allowlist 和当前 artifact file identity。
|
|
643
|
+
- `allowed_followup` 必须精确等于 `platform-session-approval-only`。
|
|
644
|
+
- 描述 adapter 能力字段:`supports_session_create=true`、`supports_result_capture=true`、`supports_patch_output=true`、`supports_cancel=false`、`supports_timeout=true`;这些是后续 gate 可用能力,不代表 Stage 41 创建 session。
|
|
645
|
+
- `session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`subagent_dispatch=false`、`business_source_write=false`、`source_merge=false`、`git=false`、`worktree=false`。
|
|
646
|
+
|
|
647
|
+
Stage 41 的语义是:把“平台可能具备什么能力”沉淀为可验证 sidecar;不调用平台 API、不读取凭据、不创建 session、不调用模型、不写业务源码。任何 capability drift、catalog drift、adapter digest drift、file alias drift 或 followup 扩权都必须 verify 失败。
|
|
648
|
+
|
|
649
|
+
## Stage 42 Real Subagent Session Approval
|
|
650
|
+
|
|
651
|
+
Stage 42 将“允许真实平台 session”从 dispatch 中拆出为独立审批 gate,但本阶段仍不创建 session:
|
|
652
|
+
|
|
653
|
+
- `subagents --session-approval --from-dispatch <subagent-dispatch-file> --capability <platform-capability-file>` 默认 preview no-write。
|
|
654
|
+
- `subagents --session-approval --from-dispatch <subagent-dispatch-file> --capability <platform-capability-file> --confirm` 只写 `.vibecoding-state/platform-session-approvals/*.platform-session-approval.json`。
|
|
655
|
+
- `subagents --verify <platform-session-approval-file>` 只读校验 approval artifact。
|
|
656
|
+
- approval 必须绑定 Stage 36 dispatch file digest、dispatch artifact digest、eligibility digest、scheduler hook plan digest、workflow digest、task brief digest、Stage 41 capability file digest、platform capability digest、adapter digest 与 catalog digest。
|
|
657
|
+
- approval 必须记录 `user_consent_present=true`、`budget.max_sessions=1`、`budget.timeout_ms=600000`、允许结果格式和 `allowed_followup=['platform-session-create-only']`。
|
|
658
|
+
- `session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`business_source_write=false`、`source_merge=false`、`git=false`、`worktree=false`。
|
|
659
|
+
|
|
660
|
+
Stage 42 的语义是:只批准“下一阶段可尝试创建 session”的前置条件;不调用 adapter、不创建平台 session、不读取 token、不写源码。dispatch drift、capability drift、policy drift、file alias drift、followup 扩权或任何 source merge / platform API 扩权都必须 verify 失败。
|
|
661
|
+
|
|
662
|
+
## Stage 43 Real Platform Subagent Session
|
|
663
|
+
|
|
664
|
+
Stage 43 第一次允许 session artifact 记录真实平台 session 语义,但结果仍只能进入 sidecar:
|
|
665
|
+
|
|
666
|
+
- `subagents --create-session --from-approval <platform-session-approval-file> --confirm` 写 `.vibecoding-state/platform-sessions/*.platform-session.json`、`.vibecoding-state/platform-session-leases/*.platform-session-lease.json` 与 `.vibecoding-state/platform-session-results/*.platform-session-result.json`。
|
|
667
|
+
- `subagents --cancel-session <platform-session-file> --confirm` 写 `.vibecoding-state/platform-session-cancellations/*.platform-session-cancel.json`,只做终端 session 的取消审计,不写业务源码。
|
|
668
|
+
- session 必须绑定 Stage 42 approval digest、dispatch digest、capability digest、prompt digest、transcript digest、adapter operation digest 与 result digest。
|
|
669
|
+
- `session_create=true`、`platform_api=true`、`model_invocation=true` 只允许出现在 Stage 43 session artifact 中。
|
|
670
|
+
- `business_source_write=false`、`source_merge=false`、`git=false`、`worktree=false` 必须保持 false。
|
|
671
|
+
- session 输出 `allowed_followup=['platform-session-result-ingest-only']`,session result 输出 `allowed_followup=['platform-session-result-review-only']`,必须进入 Stage 44 ingestion/review,不得直接进入源码。
|
|
672
|
+
|
|
673
|
+
Stage 43 的语义是:创建和捕获真实平台 session 结果,但不让平台返回直接落盘。approval drift、重复 active lease、prompt/transcript/result digest drift、source write / git / worktree 扩权都必须 verify 失败。
|
|
674
|
+
|
|
675
|
+
## Stage 44 Real Session Result Ingestion / Review
|
|
676
|
+
|
|
677
|
+
Stage 44 将 Stage 43 的真实 session result 接入独立 intake / review gate,但仍不写业务源码:
|
|
678
|
+
|
|
679
|
+
- `subagents --ingest-session-result <platform-session-result-file> [--confirm]` 写 `.vibecoding-state/platform-session-intake/*.platform-session-intake.json`。
|
|
680
|
+
- `subagents --review-session-result <platform-session-intake-file> [--confirm]` 写 `.vibecoding-state/platform-session-reviews/*.platform-session-review.json`。
|
|
681
|
+
- intake 必须绑定 Stage 43 result digest、session digest、approval digest、prompt digest、transcript digest、result payload digest、patch digest 与 files touched。
|
|
682
|
+
- review 通过后只输出 `allowed_followup=['source-change-candidate-only']`,只能进入 Stage 45 source candidate。
|
|
683
|
+
- `business_source_write=false`、`source_merge=false`、`git=false`、`worktree=false` 必须保持 false。
|
|
684
|
+
- result 如果声明已经写源码、patch 不可解析、files_touched 越界、payload digest 漂移或 review followup 扩权,必须 verify 失败。
|
|
685
|
+
|
|
686
|
+
Stage 44 的语义是:真实平台结果可被摄取和审查,但审查通过不等于 merge,也不等于源码落盘。
|
|
687
|
+
|
|
688
|
+
## Stage 45 Source Change Candidate / Patch Sandbox
|
|
689
|
+
|
|
690
|
+
Stage 45 让真实代码变更第一次进入系统,但仍只进入候选区和 sandbox sidecar,不写主工作区:
|
|
691
|
+
|
|
692
|
+
- `source --candidate --from-session-review <platform-session-review-file> [--confirm]` 写 `.vibecoding-state/source-change-candidates/*.source-change-candidate.json`。
|
|
693
|
+
- `source --apply-sandbox <source-change-candidate-file> --confirm` 写 `.vibecoding-state/source-sandbox-runs/*.source-sandbox-run.json`。
|
|
694
|
+
- candidate 必须绑定 Stage 44 review digest、source result digest、session digest、base sha、patch digest、diff digest、allowed files 与 forbidden files。
|
|
695
|
+
- sandbox run 必须绑定 candidate digest、base sha、actual touched files 与 diff digest。
|
|
696
|
+
- candidate 输出 `allowed_followup=['source-sandbox-apply-only']`,sandbox 输出 `allowed_followup=['source-verification-only']`。
|
|
697
|
+
- `business_source_write=false`、`source_merge=false`、`git=false`、`worktree=false` 必须保持 false;主工作区默认不写。
|
|
698
|
+
|
|
699
|
+
Stage 45 的语义是:构建可审计的 patch candidate 和 sandbox apply 证据,但不进行 controlled merge。
|
|
700
|
+
|
|
701
|
+
## Stage 46 Verification Evidence Gate
|
|
702
|
+
|
|
703
|
+
Stage 46 把 Stage 45 sandbox diff 进入独立验证证据 gate,只写 verification sidecar,不执行主工作区写入:
|
|
704
|
+
|
|
705
|
+
- `source --verify-change <source-sandbox-run-file> [--confirm]` 写 `.vibecoding-state/source-verifications/*.source-verification.json`。
|
|
706
|
+
- verification artifact 必须绑定 sandbox run digest、candidate digest、base sha、diff digest、files touched 与 evidence policy digest。
|
|
707
|
+
- evidence 必须来自 allowlist,并记录 `id`、`command`、`status`、`exit_code` 与摘要;缺失、失败或未列入 allowlist 的证据必须阻断。
|
|
708
|
+
- 通过后输出 `verification_status='verification-passed-merge-readiness-required'` 与 `allowed_followup=['merge-readiness-only']`。
|
|
709
|
+
- `business_source_write=false`、`source_merge=false`、`git=false`、`worktree=false` 必须保持 false;真实 merge readiness 留到 Stage 47。`command_execution=true` 只表示 Stage 46 前台执行 allowlisted verification commands,不表示 source write 或 merge。
|
|
710
|
+
|
|
711
|
+
Stage 46 的语义是:证明 sandbox change 已有可审计验证证据,但不批准 merge、不写源码。
|
|
712
|
+
|
|
713
|
+
## Stage 47 Merge Readiness / Auto Merge Approval
|
|
714
|
+
|
|
715
|
+
Stage 47 是 auto merge 前的最终批准 gate,只写 readiness / approval sidecar,不执行 apply:
|
|
716
|
+
|
|
717
|
+
- `merge --readiness --from-verification <source-verification-file> [--confirm]` 写 `.vibecoding-state/merge-readiness/*.merge-readiness.json`。
|
|
718
|
+
- `merge --approve <merge-readiness-file> --confirm` 写 `.vibecoding-state/merge-approvals/*.merge-approval.json`。
|
|
719
|
+
- readiness 必须绑定 Stage 46 verification digest、sandbox digest、candidate digest、base sha、diff digest、files touched、trace digest、governance digest 与 methodology digest。
|
|
720
|
+
- readiness policy 必须声明 `governance_required=true`、`trace_required=true`、`methodology_required=true`、`no_source_merge_before_stage48=true`、`no_git_before_stage48=true` 与 `no_auto_apply_before_stage48=true`。
|
|
721
|
+
- readiness 只允许 `allowed_followup=['merge-approval-only']`;approval 只允许 `allowed_followup=['controlled-merge-apply-only']`。
|
|
722
|
+
- `business_source_write=false`、`source_merge=false`、`git=false`、`worktree=false`、`auto_apply=false` 必须保持 false;真正 controlled apply 留到 Stage 48。
|
|
723
|
+
- verification digest drift、trace/governance/methodology digest drift、base sha drift、followup 扩权或任何 Stage 47 写入语义扩权都必须 verify 失败。
|
|
724
|
+
|
|
725
|
+
Stage 47 的语义是:证明完整链路满足 merge readiness 并生成可验证 merge approval,但仍不合并、不写主工作区、不执行 git。
|
|
726
|
+
|
|
727
|
+
## Stage 48 Controlled Auto Merge Apply
|
|
728
|
+
|
|
729
|
+
Stage 48 是唯一允许 controlled apply 的阶段。它接受 Stage 47 merge approval,并写入一个 allowlisted 本地 marker 与 merge apply sidecar:
|
|
730
|
+
|
|
731
|
+
- `merge --apply <merge-approval-file> --confirm` 写 `.vibecoding-state/merge-applies/*.merge-apply.json`,并只更新 `docs/runtime-auto-merge-ledger.md` 这个 allowlisted 文件。
|
|
732
|
+
- apply artifact 必须绑定 approval digest、readiness digest、verification digest、base sha、before/after sha、applied files、before/after file digests 与 marker digest。
|
|
733
|
+
- apply 成功状态为 `controlled-merge-apply-completed`,模式为 `controlled-local-marker-apply`。
|
|
734
|
+
- Stage 48 中 `business_source_write=true`、`source_merge=true`、`worktree=true` 只表示受控本地 marker apply;`git=false`、`commit=false`、`push=false`、`pr=false`、`force=false` 必须保持 false。
|
|
735
|
+
- Stage 48 no commit、no push、no PR、no force、no daemon、no watcher;base sha drift、approval digest drift、applied file digest drift 或越界写入必须 verify 失败。
|
|
736
|
+
|
|
737
|
+
Stage 48 的语义是:最后一步进行可审计、allowlisted、可验证的 controlled apply,但仍不提交、不推送、不发 PR。
|
|
738
|
+
|
|
739
|
+
## Stage 49 Planner Engine / Workflow Route / Task Graph
|
|
740
|
+
|
|
741
|
+
Stage 49 在现有执行链之前增加可审计 planning control-plane。它只生成 route / plan / briefs sidecar,不 dispatch、不 create-session、不调用平台 API、不写业务源码:
|
|
742
|
+
|
|
743
|
+
- `planner --route --from-file <path> [--confirm]` 或 `planner --route --from-hook <hook-intent-file> [--confirm]` 生成 `.vibecoding-state/planner-routes/*.planner-route.json`。
|
|
744
|
+
- `planner --decompose --from-route <planner-route-file> [--confirm]` 生成 `.vibecoding-state/planner-plans/*.planner-plan.json`。
|
|
745
|
+
- `planner --briefs --from-plan <planner-plan-file> [--confirm]` 生成 `.vibecoding-state/planner-briefs/*.planner-briefs.json`。
|
|
746
|
+
- `planner --list` / `planner --show <planner-artifact-file>` / `planner --verify <planner-artifact-file>` 只做本地审计。
|
|
747
|
+
- planner route 必须绑定 `intent_type`、`selected_workflow`、`workflow_candidates`、`risk_level`、`risk_score`、`blocked_reasons`、`evidence_refs` 与 `allowed_followup=['planner-decompose-only']`。
|
|
748
|
+
- planner plan 必须绑定 route file/digest、`task_graph`、`dependency_edges`、`conflict_groups`、`subagent_candidates`、`verification_strategy`、`required_gates` 与 `allowed_followup=['planner-briefs-only','scheduler-plan-only']`。
|
|
749
|
+
- planner briefs 必须绑定 plan file/digest、`brief_kind`、`brief_items`、`required_capabilities`、`suggested_platforms`、`token_budget_policy` 与 `allowed_followup=['router-plan-only']`。
|
|
750
|
+
- Stage 49 必须保持 `dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`business_source_write=false`、`source_merge=false`、`subagent_dispatch=false`、`git=false`、`worktree=false`;任一 route/plan/briefs digest drift 或 followup 扩权都必须 verify 失败。
|
|
751
|
+
|
|
752
|
+
Stage 49 的语义是:把需求理解、workflow 选择、任务图、冲突组和 brief skeleton 收敛成 deterministic、digest-bound sidecar,并接入 trace 证明链,但不越过 Stage 35-48 的既有 gate。
|
|
753
|
+
|
|
754
|
+
## Stage 50 Router / Orchestrator Plan / Controlled Dispatch Strategy
|
|
755
|
+
|
|
756
|
+
Stage 50 把 Stage 49 briefs 映射为 deterministic 平台排序、agent profile、lane / mutex / escalation 计划,但仍然只生成上游控制 sidecar,不 dispatch、不 create-session、不调用平台 API:
|
|
757
|
+
|
|
758
|
+
- `router --plan --from-briefs <planner-briefs-file> [--confirm]` 生成 `.vibecoding-state/router-plans/*.router-plan.json`。
|
|
759
|
+
- `router --approve <router-plan-file> [--confirm]` 生成 `.vibecoding-state/router-approvals/*.router-approval.json`。
|
|
760
|
+
- `router --list` / `router --show <router-artifact-file>` / `router --verify <router-artifact-file>` 只做本地审计。
|
|
761
|
+
- `orchestrator --plan --from-router <router-approval-file> [--confirm]` 生成 `.vibecoding-state/orchestrator-plans/*.orchestrator-plan.json`。
|
|
762
|
+
- `orchestrator --dispatch-plan <orchestrator-plan-file> [--confirm]` 生成 `.vibecoding-state/orchestrator-dispatch-plans/*.orchestrator-dispatch-plan.json`。
|
|
763
|
+
- `orchestrator --list` / `orchestrator --show <orchestrator-artifact-file>` / `orchestrator --verify <orchestrator-artifact-file>` 只做本地审计。
|
|
764
|
+
- router plan 必须绑定 briefs file/digest、`brief_routes`、`platform_rankings`、`agent_profiles`、`fallback_routes`、`concurrency_budget`、`blocked_reasons` 与 `allowed_followup=['router-approval-only']`。
|
|
765
|
+
- router approval 必须绑定 router plan file/digest、brief route digest、catalog digest、`approval_status='router-approved-orchestrator-plan-required'` 与 `allowed_followup=['orchestrator-plan-only']`。
|
|
766
|
+
- orchestrator plan 必须绑定 router approval / router plan digest、`lanes`、`dispatch_order`、`mutex_groups`、`escalation_rules`、`retry_policy_refs`、`session_strategy` 与 `allowed_followup=['orchestrator-dispatch-plan-only']`。
|
|
767
|
+
- orchestrator dispatch plan 必须绑定 orchestrator plan digest、router approval/router plan digest、`dispatch_targets`、`dispatch_order`、`mutex_groups`、`session_strategy` 与 `allowed_followup=['scheduler-dispatch-plan-only','session-approval-only']`。
|
|
768
|
+
- Stage 50 必须保持 `dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`business_source_write=false`、`source_merge=false`、`subagent_dispatch=false`、`git=false`、`worktree=false`;任一 router/orchestrator digest drift、catalog drift 或 followup 扩权都必须 verify 失败。
|
|
769
|
+
|
|
770
|
+
Stage 50 的语义是:在不替代 Stage 35-48 的前提下,为 eligibility / dispatch / session approval 提供可复现、可验证的 dispatch strategy 控制层。
|
|
771
|
+
|
|
772
|
+
## Stage 50 → Stage 35/36 Bridge
|
|
773
|
+
|
|
774
|
+
Stage 50 bridge 让 orchestrator dispatch plan 被既有 Stage 35/36 消费,而不是绕过旧 gate 或直接进入 Stage 42:
|
|
775
|
+
|
|
776
|
+
- `subagents --eligibility --from-orchestrator <orchestrator-dispatch-plan-file> --task <task-id> [--confirm]` 生成 `.vibecoding-state/subagent-eligibility/*.subagent-eligibility.json`。
|
|
777
|
+
- bridge eligibility 的 gate source 必须是 `stage-50-orchestrator-dispatch-plan`,并绑定 `source.kind='orchestrator-dispatch-plan'`、source file/digest、orchestrator plan digest、router plan digest、`next_gate` 与 `strategy`。
|
|
778
|
+
- `subagents --dispatch --from-orchestrator <orchestrator-dispatch-plan-file> --eligibility <subagent-eligibility-file> --confirm` 生成既有 `.vibecoding-state/subagent-dispatches/*.subagent-dispatch.json`。
|
|
779
|
+
- bridge dispatch 必须保留 Stage 36 `approved-dispatch-artifact-only` 语义,并额外绑定 `orchestrator_dispatch_plan_file`、`orchestrator_dispatch_plan_digest` 与 `orchestrator_dispatch_plan_artifact_digest`。
|
|
780
|
+
- bridge 只允许从 orchestrator dispatch target 进入 Stage 35 eligibility,再进入 Stage 36 dispatch;Stage 42 仍只消费 `.subagent-dispatch.json`,不直接消费 `.orchestrator-dispatch-plan.json`。
|
|
781
|
+
- Stage 50 bridge 必须保持 `subagent_dispatch=false`、`session_create=false`、`platform_api=false`、`business_source_write=false`、`source_merge=false`、`git=false`、`worktree=false`;任何 source digest drift、target mismatch、followup 扩权或直接绕过 Stage 35/36 的路径都必须失败。
|
|
782
|
+
|
|
783
|
+
Stage 50 bridge 的语义是:把 router/orchestrator 的上游策略变成旧链可验证输入,同时保留 Stage 35/36/42 的原有 digest 与 approval 边界。
|
|
784
|
+
|
|
785
|
+
## Stage 51 Behavioral Eval Harness / Scenario / Adversarial Session Eval
|
|
786
|
+
|
|
787
|
+
Stage 51 在 Stage 49/50 控制平面之上增加 behavioral eval sidecar,只验证本地 deterministic 行为,不 dispatch、不 create-session、不调用平台 API、不写业务源码:
|
|
788
|
+
|
|
789
|
+
- `evals --catalog` 只读输出 builtin suite catalog,不创建 `.vibecoding-state/`。
|
|
790
|
+
- `evals --run-contract <suite> [--confirm]` 生成 `.vibecoding-state/eval-suites/*.eval-suite.json`、`.vibecoding-state/eval-runs/*.eval-run.json` 与 `.vibecoding-state/eval-reports/*.eval-report.json`。
|
|
791
|
+
- `evals --run-scenario <suite> [--confirm]`、`evals --run-behavior <suite> [--confirm]`、`evals --run-adversarial <suite> [--confirm]` 复用同一套 suite/run/report sidecar,只切换 judge 维度。
|
|
792
|
+
- `evals --verify <eval-artifact-file>` 只做本地审计,必须递归校验 suite/run/report digest 与上游 followup 边界。
|
|
793
|
+
- eval suite 必须绑定 `suite_id`、`eval_kind`、`cases`、`references`、`catalog_digest`、`fixture_policy` 与 `allowed_followup=['eval-run-only']`。
|
|
794
|
+
- eval run 必须绑定 suite file/digest、`run_status`、`deterministic_judge=true`、`isolated_root_required=true`、`case_results`、`summary`、`planner_feedback`、`router_feedback`、`gate_failures` 与 `allowed_followup=['eval-report-only']`。
|
|
795
|
+
- transcript behavioral judge 必须把 `user request`、`expected_workflow_order`、`required_markers`、`forbidden_markers`、`expected_blocked_reasons` 与 `stop_condition` 固化到 `case_results[].fixture`,并用 `transcript-behavioral-judge` 输出缺失 marker、禁用 marker、blocked reason 与 workflow order 证据。
|
|
796
|
+
- sandbox replay judge 必须在隔离 root 内本地复放 `transcript-fixture -> planner-route -> planner-decompose -> planner-briefs -> router-plan -> orchestrator-plan -> orchestrator-dispatch-plan -> stage-35-eligibility-bridge`,每一步都要有 digest,且 `writes=false`、`external_network=false`、`model_invocation=false`;judge type 固定为 `sandbox-replay-judge`。
|
|
797
|
+
- `artifact_contract_pass_does_not_imply_behavior_pass=true` 是 Stage 51 的固定边界:contract suite 通过只能证明 artifact 合法,不能替代 transcript/sandbox replay 行为通过。
|
|
798
|
+
- eval report 必须绑定 run file/digest、`report_status='behavioral-eval-completed'`、`outcome`、`failing_case_ids`、`planner_feedback`、`router_feedback`、`gate_failures` 与 `allowed_followup=[]`。
|
|
799
|
+
- Stage 51 suite catalog 必须稳定包含 `contract-core`、`scenario-routing`、`behavior-workflow` 与 `adversarial-guardrails`。
|
|
800
|
+
- Stage 51 必须保持 `dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`runtime_action=false`、`business_source_write=false`、`source_merge=false`、`subagent_dispatch=false`、`git=false`、`worktree=false`;suite/run/report digest drift、catalog drift、followup 扩权或任何执行语义扩权都必须 verify 失败。
|
|
801
|
+
|
|
802
|
+
Stage 51 的语义是:证明系统不仅能生成合法 artifact,还能稳定发现“合约正确但行为错误”的 planner/router/gate 偏差,并把反馈收敛成新的 blocked reasons 与 fallback 线索。
|
|
803
|
+
|
|
804
|
+
## Stage 52 Runtime Release Gate / Eval-backed Promotion
|
|
805
|
+
|
|
806
|
+
Stage 52 在 Stage 51 eval report 之上增加 release gate sidecar,只把完整 eval evidence 提升为本地发布前置证明,不 commit、不 push、不 PR、不 merge、不 create session:
|
|
807
|
+
|
|
808
|
+
- `release --gate --from-evals <eval-report-file>... [--confirm]` 聚合 `contract-core`、`scenario-routing`、`behavior-workflow`、`adversarial-guardrails` 四类 `.eval-report.json`。
|
|
809
|
+
- preview 模式只读,不创建 `.vibecoding-state/`;confirm 模式只写 `.vibecoding-state/release-gates/*.release-gate.json`。
|
|
810
|
+
- `release --verify-gate <release-gate-file>` 只读校验 release gate artifact,并重新读取源 eval report / eval run,拒绝 digest drift、suite 缺失、suite 重复、followup 扩权和安全扩权。
|
|
811
|
+
- release gate 必须绑定 `required_suites`、`covered_suites`、`sources`、`eval_catalog_digest`、`required_suites_digest`、`sources_digest` 与 `gate_digest`。
|
|
812
|
+
- `scenario-routing` 与 `adversarial-guardrails` 必须保留 `transcript-behavioral-judge` evidence;`behavior-workflow` 必须保留 `sandbox-replay-judge` evidence;`contract-core` 只能证明 artifact contract,不能替代 behavior suite。
|
|
813
|
+
- `artifact_contract_pass_does_not_imply_behavior_pass=true` 继续作为 Stage 52 promotion gate 的固定边界。
|
|
814
|
+
- Stage 52 必须保持 `dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`runtime_action=false`、`business_source_write=false`、`source_merge=false`、`pr=false`、`push=false`、`merge=false`、`git=false`、`worktree=false`。
|
|
815
|
+
- `traces --build --confirm` 会把 `release_gates` 纳入 source types,使 eval-backed promotion 进入统一 proof chain。
|
|
816
|
+
|
|
817
|
+
Stage 52 的语义是:release gate 只证明发布前证据齐全且仍可验证,不代表自动发布,也不授权任何 git / PR / merge / 平台行为。
|
|
818
|
+
|
|
819
|
+
## Stage 53 Runtime Observability / Feedback Ledger
|
|
820
|
+
|
|
821
|
+
Stage 53 在 planner/router/orchestrator/eval/release 产物之上增加 feedback ledger sidecar,只把 blocked reasons、required gates、fallback 与 concurrency budget 聚合成可解释的本地账本,不自动修改策略、不重跑 planner/router/eval:
|
|
822
|
+
|
|
823
|
+
- `feedback --ledger [--from-planner <planner-artifact>...] [--from-router <router-artifact>...] [--from-orchestrator <orchestrator-artifact>...] [--from-evals <eval-report-file>...] [--from-release-gate <release-gate-file>...] [--confirm]` 聚合既有控制面 artifact。
|
|
824
|
+
- preview 模式只读,不创建 `.vibecoding-state/`;confirm 模式只写 `.vibecoding-state/feedback-ledgers/*.feedback-ledger.json`。
|
|
825
|
+
- `feedback --verify-ledger <feedback-ledger-file>` 只读校验 feedback ledger,并重新读取所有来源,拒绝 source digest drift、entry drift、coverage drift 与安全扩权。
|
|
826
|
+
- feedback ledger 必须绑定 `sources`、`entries`、`coverage`、`sources_digest`、`entries_digest`、`coverage_digest` 与 `ledger_digest`。
|
|
827
|
+
- entries 会归一化 `blocked_reasons`、`required_gates`、`allowed_followup`、router/orchestrator `fallback`、`concurrency budget`、`planner_feedback`、`router_feedback`、`gate_failures` 与 failing eval cases。
|
|
828
|
+
- Stage 53 必须保持 `dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`runtime_action=false`、`business_source_write=false`、`source_merge=false`、`pr=false`、`push=false`、`merge=false`、`git=false`、`worktree=false`。
|
|
829
|
+
- `traces --build --confirm` 会把 `feedback_ledgers` 纳入 source types,使观测账本进入统一 proof chain。
|
|
830
|
+
|
|
831
|
+
Stage 53 的语义是:把“为什么阻断 / 为什么需要 gate / 为什么 fallback / 为什么不能并发”变成稳定可复验的解释层,但不授权任何自动修复、自动重规划或执行行为。
|
|
832
|
+
|
|
833
|
+
## Stage 54 Runtime Policy Catalog / Guardrail Versioning
|
|
834
|
+
|
|
835
|
+
Stage 54 增加只读 policy catalog,把控制面规则版本化,不引入远程策略或动态策略:
|
|
836
|
+
|
|
837
|
+
- `policies --catalog` 只读输出 builtin Stage 54 catalog,不创建 `.vibecoding-state/`。
|
|
838
|
+
- `policies --summary` 只读输出当前 runtime policy catalog 摘要,包含 `catalog_digest`、policy 数量、policy id、覆盖 stage / covers 以及 `writes_state=false` / `runtime_action=false` 边界,不创建 `.vibecoding-state/`。
|
|
839
|
+
- policy catalog 覆盖 `workflow-route-policy`、`platform-ranking-policy`、`mutex-fallback-policy`、`eval-judge-policy` 与 `safety-boundary-policy`。
|
|
840
|
+
- catalog 固定 `source='builtin-data-only'`、`dynamic_code=false`、`remote_config=false`、`default_allow_unknown=false`。
|
|
841
|
+
- Stage 49/50/51/52/53 新产物必须绑定 `policy_catalog_digest`;任一 verify 遇到 policy drift 必须失败。
|
|
842
|
+
- Stage 54 继续保持 `dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`runtime_action=false`、`business_source_write=false`、`source_merge=false`、`git=false`、`worktree=false`。
|
|
843
|
+
|
|
844
|
+
Stage 54 的语义是:把策略解释基础收敛成稳定只读 catalog,让控制面 sidecar 能证明自己基于哪一版规则,但不引入远程配置、动态代码或自动执行。
|
|
845
|
+
|
|
846
|
+
## Stage 55 Installed Runtime Opt-in / Manifest Boundary
|
|
847
|
+
|
|
848
|
+
Stage 55 把 installed project 的 runtime 接入定义为 manifest boundary,而不是把业务项目变成完整 runtime 分发体:
|
|
849
|
+
|
|
850
|
+
- `vibe-init --with-runtime` 只允许写 `<project-root>/.vibecoding/runtime-installed.json`。
|
|
851
|
+
- manifest 必须固定 `manifest_kind='installed-runtime-opt-in'`、`opt_in=true`、`default_enabled=false`、`root_layout='installed-project'` 与 `kit_directory='.vibecoding'`。
|
|
852
|
+
- manifest 必须声明 `installed_project_entrypoints.runtime_cli_present=false` 与 `installed_project_entrypoints.doctor_cli_present=false`。
|
|
853
|
+
- manifest 必须声明 `runtime_invocation.mode='external-kit-repo-or-package'`、`runtime_invocation.project_argument='\<project-root\>'`、`runtime_invocation.local_project_tool_entrypoints=false`。
|
|
854
|
+
- `recommended_commands` 只能示例 external kit repo / package 的调用方式,不能声称 installed project 本地存在 `tools/vibe-runtime/index.mjs` 或 `tools/vibe-doctor/index.mjs`。
|
|
855
|
+
- `vibe-doctor` 在 installed layout 下如果发现 `.vibecoding/runtime-installed.json`,必须拒绝 legacy direct entrypoint 字段、错误推荐命令或任何把 hooks、daemon、MCP、state 自动创建、runtime action 默认打开的扩权描述。
|
|
856
|
+
- Stage 55 必须继续保持 `creates_state_directory_by_default=false`、`auto_runtime_enabled=false`、`hook_registration=false`、`daemon=false`、`watcher=false`、`mcp=false`、`platform_api=false`、`session_create=false`、`runtime_action=false`、`business_source_write=false`、`source_merge=false`、`git=false`、`worktree=false`、`external_network=false`。
|
|
857
|
+
|
|
858
|
+
Stage 55 的语义是:业务项目只保存 opt-in 声明和边界元数据,真正的 runtime / doctor 执行入口仍来自 Vibecoding kit 源仓库或打包 CLI,而不是业务项目自身。
|
|
859
|
+
|
|
860
|
+
## Stage 56 Runtime Compatibility / Migration Check
|
|
861
|
+
|
|
862
|
+
Stage 56 把 compatibility / migration 收敛为 read-only report,不做自动迁移:
|
|
863
|
+
|
|
864
|
+
- `governance --compatibility --report` 与 `governance --compatibility --report --json` 只读输出 runtime compatibility report。
|
|
865
|
+
- report 必须基于当前 runtime 的真实内建基线:`policy_catalog_digest`、`eval_catalog_digest`、`known_trace_source_types`,以及历史 sidecar 的 `stage`、`version`、`command`、`mode`。
|
|
866
|
+
- artifact 结果只允许三类:`compatible`、`manual-migration-required`、`untrusted`。
|
|
867
|
+
- Stage 56 必须保持只读边界:不自动迁移旧 artifact、不重签旧 digest、不静默放宽验证规则、不创建 `.vibecoding-state/`、不修改旧状态文件。
|
|
868
|
+
- Stage 56 继续保持 `runtime_action=false`、`dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`business_source_write=false`、`source_merge=false`、`git=false`、`worktree=false`。
|
|
869
|
+
|
|
870
|
+
Stage 56 的语义是:只报告 compatibility 现状与 migration 风险,不替历史产物做修复、漂移容忍或重新签名。
|
|
871
|
+
|
|
872
|
+
## Stage 57 Optional PR Readiness Governance Sidecar
|
|
873
|
+
|
|
874
|
+
Stage 57 只证明本地证据是否足以进入人工 PR 提交流程,不触发 PR 平台动作:
|
|
875
|
+
|
|
876
|
+
- `governance --pr-readiness --preview` 与 `governance --pr-readiness --preview --json` 只读预览,不创建 `.vibecoding-state/`。
|
|
877
|
+
- `governance --pr-readiness --confirm` 与 `governance --pr-readiness --confirm --json` 只写 `.vibecoding-state/governance/*.pr-readiness-governance.json`。
|
|
878
|
+
- `governance --show <pr-readiness-file>`、`governance --verify <pr-readiness-file>` 与 `governance --list` 继续复用治理审计入口,只读识别 `pr-readiness-governance`。
|
|
879
|
+
- artifact 必须固定 `stage='Stage 57'`、`artifact_kind='pr-readiness-governance'`、`mode='governance-pr-readiness'`、`optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`。
|
|
880
|
+
- 最小 schema 必须包含 `target_scope`、`target_branch`、`pr_template_path`、`evidence_files[]`、`readiness_checks.template_read`、`readiness_checks.required_sections_mapped`、`readiness_checks.tests_recorded`、`readiness_checks.single_problem_scope`、`readiness_checks.human_review_required`、`readiness_checks.human_approval_status`、`existing_pr_search.status`、`agent_attribution`、`actions_not_taken`、`allowed_followup` 与 `boundary_assertions`。
|
|
881
|
+
- `existing_pr_search.status='not_performed_offline_boundary'` 是合法状态;联网 duplicate PR search、远端 PR 状态、CI、review API 都只能作为人工补充,不能成为 Stage 57 默认 hard gate。
|
|
882
|
+
- `actions_not_taken.created_pr=false`、`actions_not_taken.pushed=false`、`actions_not_taken.merged=false`、`actions_not_taken.tagged=false`、`actions_not_taken.released=false` 必须可验证。
|
|
883
|
+
- `allowed_followup` 只能是 `manual_review` 与 `human_submit_pr`。
|
|
884
|
+
- Stage 57 可记录 `status='blocked'` 的侧车,表示还缺测试记录、人工审批或联网 duplicate PR search;blocked sidecar 仍可 verify,只不能被解释为已经自动获准提交。
|
|
885
|
+
- Stage 57 必须继续保持 `pr=false`、`push=false`、`merge=false`、`platform_api=false`、`external_network=false`、`git=false`、`worktree=false`、`runtime_action=false`、`auto_execution=false`、`business_source_write=false`、`source_merge=false`。
|
|
886
|
+
- Stage 57 不接入 Stage 47/48 merge readiness/apply 主链,不改变 Stage 52 release gate required suites,也不要求默认 release-check 必须存在 Stage 57 sidecar。
|
|
887
|
+
|
|
888
|
+
Stage 57 的语义是:把人工发 PR 前的本地证据、缺口和边界断言落成 governance sidecar;它不是 PR 创建器、不是 merge gate、不是 release promotion 条件。
|
|
889
|
+
|
|
890
|
+
## Stage 58 PR Review / CI Evidence Intake Governance Sidecar
|
|
891
|
+
|
|
892
|
+
Stage 58 只把人工提交 PR 后获得的本地证据回流为 governance sidecar,不联网拉取 PR / review / CI 状态:
|
|
893
|
+
|
|
894
|
+
- `governance --pr-review-intake --from-file <local-evidence-file> --preview` 与 `--preview --json` 只读预览,不创建 `.vibecoding-state/`。
|
|
895
|
+
- `governance --pr-review-intake --from-file <local-evidence-file> --from-readiness <pr-readiness-file> --confirm` 与 `--confirm --json` 只写 `.vibecoding-state/governance/*.pr-review-intake-governance.json`。
|
|
896
|
+
- `governance --show <pr-review-intake-file>`、`governance --verify <pr-review-intake-file>` 与 `governance --list` 继续复用治理审计入口,只读识别 `pr-review-intake-governance`。
|
|
897
|
+
- artifact 必须固定 `stage='Stage 58'`、`artifact_kind='pr-review-intake-governance'`、`mode='governance-pr-review-intake'`、`optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`。
|
|
898
|
+
- 最小 schema 必须包含 `input_evidence_file`、`input_evidence_digest`、可选 `pr_readiness_file` / `pr_readiness_digest`、`policy_catalog_digest`、`pr_evidence.pr_url_or_id`、`pr_evidence.human_submitted`、`pr_evidence.existing_pr_search.status`、`review_evidence.review_status`、`review_evidence.feedback_items`、`review_evidence.feedback_digest`、`ci_evidence.ci_status`、`ci_evidence.failed_jobs`、`ci_evidence.checks`、`blocked_reasons`、`allowed_followup`、`actions_not_taken` 与 `boundary_assertions`。
|
|
899
|
+
- `input_evidence_file` 与 `pr_evidence.existing_pr_search.evidence_file` 必须是安全 root-relative path;绝对路径、`..`、空 path 段、反斜杠或 root escape 必须 verify 失败。
|
|
900
|
+
- verify 必须拒绝 input evidence digest drift、`policy_catalog_digest` drift、可选 Stage 57 readiness digest drift,以及 `review_evidence.feedback_digest` drift。
|
|
901
|
+
- `allowed_followup` 只能给建议,不自动派发:`vibe-receiving-code-review`、`vibe-systematic-debugging`、`vibe-test-driven-development`、`vibe-verification-before-completion`、`vibe-finishing-a-development-branch`、`manual_review`、`release_gate_review`、`rerun_checks`、`implementation_followup`。
|
|
902
|
+
- `actions_not_taken.created_pr=false`、`actions_not_taken.pushed=false`、`actions_not_taken.merged=false`、`actions_not_taken.tagged=false`、`actions_not_taken.released=false` 必须可验证。
|
|
903
|
+
- Stage 58 必须继续保持 `platform_api=false`、`external_network=false`、`git=false`、`worktree=false`、`runtime_action=false`、`auto_execution=false`、`business_source_write=false`、`source_merge=false`。
|
|
904
|
+
- Stage 58 不创建 PR、不更新 review、不重跑 CI、不修复代码、不触发平台 action、不接入 Stage 52 required suites,也不改变 Stage 57 `human_submit_pr` 语义。
|
|
905
|
+
|
|
906
|
+
Stage 58 的语义是:把人工/外部系统已经给出的 PR、review、CI 证据转成可验证本地侧车,并输出下一步 workflow 建议;它不是 PR bot、CI client、auto-fix agent 或 merge gate。
|
|
907
|
+
|
|
908
|
+
## Stage 59 Capability Convergence Contract / Gap Matrix
|
|
909
|
+
|
|
910
|
+
Stage 59 只冻结能力收敛契约和差距矩阵,不实现 Stage 60-65 的后续能力:
|
|
911
|
+
|
|
912
|
+
- `governance --convergence --report` 与 `governance --convergence --report --json` 只读输出 capability convergence gap report。
|
|
913
|
+
- report 必须包含 `convergence_target`、`dimensions[]`、`stage_sequence[]`、`policy_catalog_digest`、`eval_catalog_digest`、`summary`、`boundary_assertions` 与 `convergence_digest`。
|
|
914
|
+
- `dimensions[]` 必须覆盖 `workflow-experience`、`learning-model`、`deterministic-token-economy`、`stream-distillation` 与 `runtime-governance`。
|
|
915
|
+
- `workflow-experience` 记录 Legacy Workflow Discipline:workflow bootstrap、strong trigger discipline、skill selection、handoff consistency,并指向 Stage 60。
|
|
916
|
+
- `learning-model` 记录 ECC parity:local observation、candidate instinct、confidence、project scope、promotion gate,并指向 Stage 61-62。
|
|
917
|
+
- `deterministic-token-economy` 记录 Token Savior parity:pure command compactor、profile、metrics、full-output digest,并指向 Stage 63-64。
|
|
918
|
+
- `stream-distillation` 记录 Distill parity 的边界:LLM streaming distillation 只能作为 deferred optional adapter,默认 runtime 必须保持 deterministic / verify-first。
|
|
919
|
+
- `runtime-governance` 记录 Vibecoding 自有优势:sidecar-only、verify-first、policy catalog、release gate、feedback ledger、PR readiness、PR review intake,并指向 Stage 65。
|
|
920
|
+
- Stage 59 必须保持 `writes=false`、`state_directory_created=false`、`skill_mutation=false`、`hook_registration=false`、`shell_interception=false`、`external_network=false`、`model_invocation=false`、`platform_api=false`、`runtime_action=false`、`auto_execution=false`、`business_source_write=false`、`source_merge=false`、`subagent=false`、`mcp=false`、`daemon=false`、`git=false`、`worktree=false`。
|
|
921
|
+
|
|
922
|
+
Stage 59 的语义是:先让后续收敛路线可审计、可比较、可验证;它不是 workflow router、learning observer、token compactor、hook installer 或 governance sidecar writer。
|
|
923
|
+
|
|
924
|
+
- catalog 必须包含 `workflow-route-policy`、`platform-ranking-policy`、`mutex-fallback-policy`、`eval-judge-policy` 与 `safety-boundary-policy`。
|
|
925
|
+
- catalog 必须固定 `source=builtin-data-only`、`dynamic_code=false`、`remote_config=false`、`default_allow_unknown=false`。
|
|
926
|
+
- Stage 49/50/51/52/53 artifact 必须绑定 `policy_catalog_digest`。
|
|
927
|
+
- planner/router/orchestrator/eval/release/feedback 的 verify 必须拒绝 `policy_catalog_digest` drift。
|
|
928
|
+
- Stage 54 不写状态文件、不修改旧 artifact、不放宽旧 gate、不授权 dispatch/session/platform/model/source/git/PR 行为。
|
|
929
|
+
|
|
930
|
+
Stage 54 的语义是:让 runtime 产物能说明“由哪一版 guardrail 解释”,但不让策略本身成为新的执行入口。
|
|
931
|
+
|
|
932
|
+
## Stage 63 Deterministic Token Output Compactor
|
|
933
|
+
|
|
934
|
+
Stage 63 deterministic token output compactor 只读取显式本地 output evidence file,把命令输出压缩成可验证 token compaction sidecar;它不是 shell interceptor、command runner、LLM distiller 或自动 rewrite 层。
|
|
935
|
+
|
|
936
|
+
- `tokens --catalog --json` 只读输出 `token-compactor-catalog`,覆盖 `git status`、`git diff --stat`、`git log --oneline`、`node --check`、`vibe-runtime-check`、`vibe-release-check` 与常见 `test/lint` compactors。
|
|
937
|
+
- `tokens --compact-output --command <cmd-name> --from-file <output-file> --preview --json` 只读预览,不创建 `.vibecoding-state/`。
|
|
938
|
+
- `tokens --compact-output --command <cmd-name> --from-file <output-file> --confirm --json` 只写 `.vibecoding-state/token-economy/*.token-compaction.json`。
|
|
939
|
+
- `tokens --verify <token-compaction-file> --json` 只读验证一个 token compaction sidecar。
|
|
940
|
+
- `--from-file` 必须是 root-relative forward-slash 本地输出文件;verify 必须拒绝 unsafe source path、source digest drift、compacted text drift、metrics drift、dropped categories drift 与 token compaction digest mismatch。
|
|
941
|
+
- sidecar 必须包含 `mode='token-compaction'`、`stage='Stage 63'`、`artifact_kind='token-compaction'`、`source_file`、`source_digest`、`full_output_digest`、`compacted_text`、`compacted_digest`、`dropped_categories`、`metrics.estimated_input_tokens`、`metrics.estimated_output_tokens`、`metrics.estimated_tokens_saved`、`metrics.savings_ratio` 与 `token_compaction_digest`。
|
|
942
|
+
- Stage 63 必须保持 `optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`、`deterministic=true`、`pure_function=true`、`original_output_retained_by_digest=true`、`shell_interception=false`、`command_execution=false`、`output_mutation=false`、`original_output_hidden=false`、`external_network=false`、`model_invocation=false`、`platform_api=false`、`git=false`、`worktree=false`、`runtime_action=false`、`auto_execution=false`、`subagent=false`、`mcp=false`、`daemon=false`。
|
|
943
|
+
|
|
944
|
+
Stage 63 的语义是:把 noisy stdout/stderr 转换成可复现的 compacted evidence,同时用 digest 保留原始输出可追溯性;它不执行命令、不隐藏原始输出、不修改用户命令、不调用模型、不自动修复、不写业务源码。
|
|
945
|
+
|
|
946
|
+
## Stage 64 Token Metrics / Profiles / Safe Rewrite Preview
|
|
947
|
+
|
|
948
|
+
Stage 64 token economy 只在 `tokens` 域内增加只读 profile、可选 metrics sidecar 和 safe rewrite preview。它不拦截真实 shell、不执行命令、不自动改写命令、不隐藏原始输出。
|
|
949
|
+
|
|
950
|
+
- `tokens --profile --name minimal|balanced|full --json` 只读输出 builtin profile,包含 `profile_kind='token-profile'`、`stage='Stage 64'`、`output_budget`、`preserve`、`prefer_compactors`、`recommended_rewrites` 与 `profile_digest`,不创建 `.vibecoding-state/`。
|
|
951
|
+
- `tokens --metrics --from-compactions <token-compaction-file...> --preview --json` 只读聚合已验证 token compaction sidecar,不创建新的 sidecar。
|
|
952
|
+
- `tokens --metrics --from-compactions <token-compaction-file...> --confirm --json` 只写 `.vibecoding-state/token-economy/*.token-metrics.json`。
|
|
953
|
+
- `tokens --rewrite-preview --command <cmd> --json` 只输出建议命令与 rewrite reason,固定 `execute=false`、`shell_interception=false`、`command_mutation=false`。
|
|
954
|
+
- `tokens --verify <token-metrics-file> --json` 只读验证 token metrics sidecar。
|
|
955
|
+
- metrics sidecar 必须包含 `mode='token-metrics'`、`stage='Stage 64'`、`artifact_kind='token-metrics'`、`source_compactions[]`、`file_digest`、`token_compaction_digest`、`totals.estimated_input_tokens`、`totals.estimated_output_tokens`、`totals.estimated_tokens_saved`、`totals.savings_ratio`、`command_families[]` 与 `token_metrics_digest`。
|
|
956
|
+
- Stage 64 verify 必须拒绝 compaction digest drift、metrics totals drift、command families drift、token metrics digest mismatch,以及 `shell_interception=true`、`command_execution=true`、`output_mutation=true`、`original_output_hidden=true`、`external_network=true`、`model_invocation=true`、`platform_api=true`、`git=true`、`worktree=true`、`runtime_action=true`、`auto_execution=true`、`subagent=true`、`mcp=true`、`daemon=true` 等边界扩权。
|
|
957
|
+
- Stage 64 必须保持 `optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`、`deterministic=true`、`pure_function=true`、`original_output_retained_by_digest=true`。
|
|
958
|
+
|
|
959
|
+
Stage 64 的语义是:让人能选择 token profile、汇总已生成的 compaction 指标、预览更省流的命令形式;但真实命令执行、输出采集和是否采用建议仍由用户或上层 workflow 显式决定。
|
|
960
|
+
|
|
961
|
+
## Stage 151-155 Product/UI Delivery Evidence Hardening
|
|
962
|
+
|
|
963
|
+
Stage 151-155 的 `product-completion-evidence-bundle` 不只聚合文件 digest,还在 full-chain 输入存在时执行 deterministic cross-artifact ref validation。`delivery-traceability.yaml` 的 requirement/product story/UI flow/architecture decision/scenario/product acceptance refs 必须能在上游 artifact 的 `Reference Registry`、`scenarios[].id` 或 product acceptance registry 中找到;缺失时输出 `cross_artifact_ref_validation_ok=false`、`traceability_ref_missing` 和 `ok=false`。
|
|
964
|
+
|
|
965
|
+
`test-evidence.json` 是本地 evidence intake envelope,不授权 runtime 运行测试。它必须包含 `runs[].command`、`runs[].exit_code`、`runs[].timestamp`、`runs[].output_digest` 和 `runs[].scenario_refs[]`,并保持 `command_execution=false`、`test_execution=false`。`diff-coverage.json` 只读取用户或 CI 提供的 `planned_files`、`changed_files`、`unexpected_files`、`missing_files`,不调用 git;`unexpected_files[]` 或 `missing_files[]` 非空会 block。`commit-readiness.json` 优先兼容 runtime commit readiness envelope,也兼容 legacy `commit-readiness-evidence`,但 `commit_execution_authorized=true`、`runtime_git_execution_authorized=true`、`git_write=true`、`commit=true`、`push=true`、`pr=true`、`merge=true`、`tag=true` 或 `history_rewrite=true` 都必须 block。
|
|
966
|
+
|
|
967
|
+
Release fast smoke 同时包含 positive full-chain 和 negative fixtures:缺 architecture、traceability ref 不存在、test evidence 缺 `output_digest`、diff coverage 出现 `unexpected_files`、commit boundary 扩权都必须稳定输出 `ok=false`。Stage 156 implementation alignment 进一步要求 `Implementation Task Registry`、`task_coverage[]` 和 `task_refs[]` 在 completion bundle 中形成 `implementation_alignment_gate`;正向 full-chain 必须输出 `implementation_alignment_ok=true`,计划任务未被 diff 覆盖、changed file 无 task 归属、operation 不匹配或风险任务缺测试证据时必须输出 `ok=false`。这些负例只证明 gate 会阻断错误证据,不执行 workflow skill、不运行测试、不读取 git diff、不提交、不推送、不创建 PR。
|
|
968
|
+
|
|
969
|
+
## Stage 65 Governance Convergence Gate
|
|
970
|
+
|
|
971
|
+
Stage 65 把 Stage 59-64 的能力统一接入发布前治理收口,但保持 convergence evidence 可选、显式、本地、确定性:
|
|
972
|
+
|
|
973
|
+
- `release --gate --from-evals <eval-report-file...> --with-convergence --json` 只读预览带 convergence evidence 的 release gate,不创建 `.vibecoding-state/`。
|
|
974
|
+
- `release --gate --from-evals <eval-report-file...> --with-convergence --confirm --json` 仍只写 `.vibecoding-state/release-gates/*.release-gate.json`,不会写新的 governance sidecar。
|
|
975
|
+
- `release --verify-gate <release-gate-file> --json` 只读验证 release gate;`--verify-gate --with-convergence` 必须失败,因为 verify 根据 artifact 自身声明重建 evidence。
|
|
976
|
+
- `--with-convergence` 只绑定当前 `governance --convergence --report` 的 deterministic 摘要,不改变 Stage 52 `contract-core`、`scenario-routing`、`behavior-workflow`、`adversarial-guardrails` required suites。
|
|
977
|
+
- release gate 中的 convergence evidence 必须包含 `evidence_kind='governance-convergence-report'`、`stage='Stage 65'`、`report_kind='capability-convergence-gap-report'`、`optional=true`、`release_chain_required=false`、`writes=false`、`state_directory_created=false`、`convergence_digest`、`summary`、`dimensions[]`、`boundary_assertions_digest` 与 `evidence_digest`。
|
|
978
|
+
- `release_gate.evidence.convergence_evidence_bound=true` 只能由显式 `--with-convergence` 产生;未启用时必须保持可验证的 Stage 52 release gate 行为。
|
|
979
|
+
- verify 必须拒绝 convergence report digest drift、convergence evidence digest drift、evidence digest mismatch、错误 evidence kind、错误 stage、`optional=false`、`release_chain_required=true`、`writes=true`、`state_directory_created=true`。
|
|
980
|
+
- Stage 65 的 release-check 必须同时证明 Stage 60 workflow route 只读、Stage 61 learning preview/confirm 边界、Stage 62 instinct promotion 不修改正式 skill、Stage 63/64 token deterministic 和 digest drift 负例、Stage 59 convergence report 只读,以及 release gate optional convergence binding。
|
|
981
|
+
- Stage 65 必须保持 `sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`、`dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`runtime_action=false`、`business_source_write=false`、`source_merge=false`、`pr=false`、`push=false`、`merge=false`、`git=false`、`worktree=false`、`subagent=false`、`mcp=false`、`daemon=false`。
|
|
982
|
+
|
|
983
|
+
Stage 65 的语义是:让 workflow、learning、token 和 governance 收敛证据能被 release gate 可选绑定和验证;它不是新的自动发布 gate,也不授权 PR、push、merge、平台 API、模型调用或 subagent 调度。
|
|
984
|
+
|
|
985
|
+
## Stage 68 Release Notes Evidence / Commit Hygiene Sidecar
|
|
986
|
+
|
|
987
|
+
Stage 68 把 Stage 67 的人工 release audit 升级为本地可验证 release notes evidence sidecar,但仍保持 optional、sidecar-only,不重写历史、不改变 release gate required chain:
|
|
988
|
+
|
|
989
|
+
- `release --notes --from-file <local-evidence-file> --preview` / `--preview --json` 只从本地 evidence file 生成预览,不创建 `.vibecoding-state/`。
|
|
990
|
+
- `release --notes --from-file <local-evidence-file> --confirm` / `--confirm --json` 只写 `.vibecoding-state/release-notes/*.release-notes.json`。
|
|
991
|
+
- `release --verify-notes <release-notes-file> --json` 只读验证 release notes sidecar,重建 source evidence 摘要并拒绝 drift。
|
|
992
|
+
- sidecar 固定 `mode='release-notes'`、`stage='Stage 68'`、`artifact_kind='release-notes'`、`optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`。
|
|
993
|
+
- payload 必须绑定 `source_file`、`source_digest`、`range_hint`、`commit_count`、`stage_coverage`、`normalized_notes`、`commit_hygiene_findings` 与 `release_notes_digest`。
|
|
994
|
+
- commit hygiene 只做 deterministic 文本规则:例如 `markdown-fence-prefix`、`markdown-fence-token`、`subject-too-long`、`non-conventional-subject`;它记录风险,不做主观质量评审,也不修改 commit message。
|
|
995
|
+
- verify 必须拒绝 unsafe source path、source digest drift、schema drift、release notes digest mismatch,以及 `history_rewrite=true`、`tag=true`、`push=true`、`pr=true`、`platform_api=true`、`external_network=true`、`model_invocation=true`、`release_chain_required=true` 等边界扩权。
|
|
996
|
+
- Stage 68 必须保持 `history_rewrite=false`、`tag=false`、`push=false`、`pr=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`runtime_action=false`、`business_source_write=false`、`source_merge=false`、`release_chain_required=false`。
|
|
997
|
+
|
|
998
|
+
Stage 68 的语义是:让 release notes 和 commit hygiene 风险有 digest-bound 本地证据;它不是 git history rewrite 工具,不 amend、不 rebase、不 reset、不 force push、不 tag、不创建 PR,也不把 notes 变成 Stage 52 release gate required 输入。
|
|
999
|
+
|
|
1000
|
+
## Failure Semantics
|
|
1001
|
+
|
|
1002
|
+
检查结果分为:
|
|
1003
|
+
|
|
1004
|
+
```text
|
|
1005
|
+
ok contract 可被读取
|
|
1006
|
+
warn contract 可读但存在未来 runtime 风险
|
|
1007
|
+
fail 缺少当前只读检查要求的必要结构
|
|
1008
|
+
```
|
|
1009
|
+
|
|
1010
|
+
存在 `fail` 时返回非零退出码。`warn` 不阻塞发布,但需要在输出中说明风险。
|