@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,601 @@
|
|
|
1
|
+
export function createRuntimeGovernanceConvergenceReports(deps) {
|
|
2
|
+
const {
|
|
3
|
+
fs,
|
|
4
|
+
path,
|
|
5
|
+
crypto,
|
|
6
|
+
jsonSchemaVersion,
|
|
7
|
+
ensureRoot,
|
|
8
|
+
stateDir,
|
|
9
|
+
stateDirName,
|
|
10
|
+
backgroundProcessBoundaryKey,
|
|
11
|
+
listStateFiles,
|
|
12
|
+
digestObject,
|
|
13
|
+
printList,
|
|
14
|
+
runtimeTraceGroups,
|
|
15
|
+
runtimePolicyCatalogDigest,
|
|
16
|
+
runtimePolicyCatalogSnapshot,
|
|
17
|
+
evalCatalogDefinition,
|
|
18
|
+
runtimeCapabilityRegistry,
|
|
19
|
+
runtimeAutomationReadinessMatrix,
|
|
20
|
+
runtimeSkillRuntimeTraceabilityMap,
|
|
21
|
+
runtimeSuperpowersGapMatrix,
|
|
22
|
+
runtimeSuperpowersGapDigestPayload,
|
|
23
|
+
digestSuperpowersGapMatrix,
|
|
24
|
+
runtimeSuperpowersComparisonMatrix,
|
|
25
|
+
runtimeSuperpowersComparisonDigestPayload,
|
|
26
|
+
digestSuperpowersComparison,
|
|
27
|
+
runtimeSuperpowersRegressionGuard,
|
|
28
|
+
} = deps;
|
|
29
|
+
function runtimeCompatibilityKnownSourceTypes() {
|
|
30
|
+
return runtimeTraceGroups().map(([type, , extension, label]) => ({ type, extension, label }));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function runtimeCompatibilityStateFamilies(root) {
|
|
34
|
+
return runtimeTraceGroups().map(([type, directory, extension, label]) => {
|
|
35
|
+
const files = listStateFiles(root, directory, extension);
|
|
36
|
+
return {
|
|
37
|
+
type,
|
|
38
|
+
directory: `${stateDirName}/${path.basename(directory(root))}`.replace(/\\/g, '/'),
|
|
39
|
+
extension,
|
|
40
|
+
label,
|
|
41
|
+
file_count: files.length,
|
|
42
|
+
latest_file: files.length > 0 ? files[files.length - 1] : '',
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function runtimeCompatibilityClassifyArtifact(root, family, fileName) {
|
|
48
|
+
const file = path.join(root, family.directory, fileName);
|
|
49
|
+
const result = {
|
|
50
|
+
type: family.type,
|
|
51
|
+
file: fileName,
|
|
52
|
+
stage: '',
|
|
53
|
+
version: '',
|
|
54
|
+
command: '',
|
|
55
|
+
mode: '',
|
|
56
|
+
compatibility_status: 'compatible',
|
|
57
|
+
reasons: [],
|
|
58
|
+
};
|
|
59
|
+
try {
|
|
60
|
+
const artifact = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
61
|
+
result.command = artifact.command || '';
|
|
62
|
+
result.mode = artifact.mode || '';
|
|
63
|
+
const payload = artifact[family.type.slice(0, -1)] || artifact[artifact.mode?.replace(/-/g, '_')] || {};
|
|
64
|
+
result.stage = payload.stage || artifact.safety?.stage || '';
|
|
65
|
+
result.version = payload.version ?? '';
|
|
66
|
+
|
|
67
|
+
if (artifact.schema_version !== jsonSchemaVersion) {
|
|
68
|
+
result.compatibility_status = 'manual-migration-required';
|
|
69
|
+
result.reasons.push(`schema_version=${artifact.schema_version ?? 'missing'} expected=${jsonSchemaVersion}`);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (family.type === 'eval_suites' || family.type === 'eval_runs' || family.type === 'eval_reports') {
|
|
73
|
+
const policyDigest = payload.policy_catalog_digest || '';
|
|
74
|
+
const catalogDigest = family.type === 'eval_suites' ? payload.catalog_digest || '' : '';
|
|
75
|
+
if (policyDigest && policyDigest !== runtimePolicyCatalogDigest()) {
|
|
76
|
+
result.compatibility_status = 'manual-migration-required';
|
|
77
|
+
result.reasons.push('policy_catalog_digest drift');
|
|
78
|
+
}
|
|
79
|
+
if (catalogDigest && catalogDigest !== evalCatalogDefinition().catalog_digest) {
|
|
80
|
+
result.compatibility_status = 'manual-migration-required';
|
|
81
|
+
result.reasons.push('eval catalog digest drift');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (['planner_routes', 'planner_plans', 'planner_briefs', 'router_plans', 'router_approvals', 'orchestrator_plans', 'orchestrator_dispatch_plans', 'release_gates', 'feedback_ledgers'].includes(family.type)) {
|
|
86
|
+
const policyDigest = payload.policy_catalog_digest || '';
|
|
87
|
+
if (policyDigest && policyDigest !== runtimePolicyCatalogDigest()) {
|
|
88
|
+
result.compatibility_status = 'manual-migration-required';
|
|
89
|
+
result.reasons.push('policy_catalog_digest drift');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (family.type === 'runtime_traces') {
|
|
94
|
+
const sources = Array.isArray(artifact.runtime_trace?.sources) ? artifact.runtime_trace.sources : [];
|
|
95
|
+
const knownTypes = new Set(runtimeCompatibilityKnownSourceTypes().map((entry) => entry.type));
|
|
96
|
+
const unknownSourceTypes = [...new Set(sources.map((source) => source.type).filter((type) => !knownTypes.has(type)))];
|
|
97
|
+
if (unknownSourceTypes.length > 0) {
|
|
98
|
+
result.compatibility_status = 'untrusted';
|
|
99
|
+
result.reasons.push(`unknown trace source types: ${unknownSourceTypes.join(', ')}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (!result.stage) {
|
|
104
|
+
result.compatibility_status = result.compatibility_status === 'untrusted' ? 'untrusted' : 'manual-migration-required';
|
|
105
|
+
result.reasons.push('stage missing');
|
|
106
|
+
}
|
|
107
|
+
} catch (error) {
|
|
108
|
+
result.compatibility_status = 'untrusted';
|
|
109
|
+
result.reasons.push(error.message);
|
|
110
|
+
}
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function governanceCompatibilityEnvelope(root) {
|
|
115
|
+
ensureRoot(root);
|
|
116
|
+
const statePresent = fs.existsSync(stateDir(root));
|
|
117
|
+
const policyCatalog = runtimePolicyCatalogSnapshot();
|
|
118
|
+
const evalCatalog = evalCatalogDefinition();
|
|
119
|
+
const knownSourceTypes = runtimeCompatibilityKnownSourceTypes();
|
|
120
|
+
const families = runtimeCompatibilityStateFamilies(root);
|
|
121
|
+
const artifactResults = statePresent
|
|
122
|
+
? families.flatMap((family) => {
|
|
123
|
+
const directoryPath = path.join(root, family.directory);
|
|
124
|
+
if (!fs.existsSync(directoryPath)) return [];
|
|
125
|
+
return fs.readdirSync(directoryPath, { withFileTypes: true })
|
|
126
|
+
.filter((entry) => entry.isFile() && entry.name.endsWith(family.extension))
|
|
127
|
+
.map((entry) => runtimeCompatibilityClassifyArtifact(root, family, entry.name));
|
|
128
|
+
})
|
|
129
|
+
: [];
|
|
130
|
+
const grouped = {
|
|
131
|
+
compatible: artifactResults.filter((item) => item.compatibility_status === 'compatible').length,
|
|
132
|
+
manual_migration_required: artifactResults.filter((item) => item.compatibility_status === 'manual-migration-required').length,
|
|
133
|
+
untrusted: artifactResults.filter((item) => item.compatibility_status === 'untrusted').length,
|
|
134
|
+
};
|
|
135
|
+
return {
|
|
136
|
+
mode: 'governance-compatibility-report',
|
|
137
|
+
ok: grouped.untrusted === 0,
|
|
138
|
+
state_present: statePresent,
|
|
139
|
+
compatibility: {
|
|
140
|
+
stage: 'Stage 56',
|
|
141
|
+
report_kind: 'runtime-compatibility-migration-check',
|
|
142
|
+
writes: false,
|
|
143
|
+
migration_applied: false,
|
|
144
|
+
state_directory_created: false,
|
|
145
|
+
policy_catalog_digest: policyCatalog.catalog_digest,
|
|
146
|
+
eval_catalog_digest: evalCatalog.catalog_digest,
|
|
147
|
+
known_trace_source_types: knownSourceTypes,
|
|
148
|
+
state_families: families,
|
|
149
|
+
artifact_results: artifactResults,
|
|
150
|
+
summary: {
|
|
151
|
+
total_artifacts: artifactResults.length,
|
|
152
|
+
compatible: grouped.compatible,
|
|
153
|
+
manual_migration_required: grouped.manual_migration_required,
|
|
154
|
+
untrusted: grouped.untrusted,
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
safety: {
|
|
158
|
+
stage: 'Stage 56',
|
|
159
|
+
writes: false,
|
|
160
|
+
compatibility_report: false,
|
|
161
|
+
migration_applied: false,
|
|
162
|
+
state_directory_created: false,
|
|
163
|
+
runtime_action: false,
|
|
164
|
+
auto_execution: false,
|
|
165
|
+
platform_api: false,
|
|
166
|
+
skill_execution: false,
|
|
167
|
+
business_source_write: false,
|
|
168
|
+
source_merge: false,
|
|
169
|
+
subagent: false,
|
|
170
|
+
mcp: false,
|
|
171
|
+
[backgroundProcessBoundaryKey]: false,
|
|
172
|
+
git: false,
|
|
173
|
+
worktree: false,
|
|
174
|
+
dispatch_event_modified: false,
|
|
175
|
+
claim_modified: false,
|
|
176
|
+
},
|
|
177
|
+
quality: artifactResults.filter((item) => item.compatibility_status !== 'compatible').flatMap((item) => item.reasons.map((reason) => `${item.file}: ${reason}`)),
|
|
178
|
+
action: statePresent
|
|
179
|
+
? 'runtime compatibility report was computed read-only. No artifact was migrated, re-signed, or rewritten, and no state directory was created.'
|
|
180
|
+
: 'runtime compatibility report found no local state directory and remained read-only. No files were created.',
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
function printGovernanceCompatibility(envelope) {
|
|
185
|
+
console.log('Vibecoding Runtime Compatibility Report');
|
|
186
|
+
console.log('Mode: report');
|
|
187
|
+
console.log(`State present: ${envelope.state_present ? 'yes' : 'no'}`);
|
|
188
|
+
console.log(`Policy catalog digest: ${envelope.compatibility.policy_catalog_digest}`);
|
|
189
|
+
console.log(`Eval catalog digest: ${envelope.compatibility.eval_catalog_digest}`);
|
|
190
|
+
console.log(`Artifacts: ${envelope.compatibility.summary.total_artifacts}; Compatible: ${envelope.compatibility.summary.compatible}; Manual migration: ${envelope.compatibility.summary.manual_migration_required}; Untrusted: ${envelope.compatibility.summary.untrusted}`);
|
|
191
|
+
if (envelope.quality.length > 0) printList('Compatibility findings', envelope.quality);
|
|
192
|
+
console.log(`Action: ${envelope.action}`);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function governanceConvergenceDimensions() {
|
|
196
|
+
return [
|
|
197
|
+
{
|
|
198
|
+
id: 'workflow-experience',
|
|
199
|
+
source: 'Superpowers',
|
|
200
|
+
target_capability: 'agent-facing workflow bootstrap, strong trigger discipline, skill selection, and handoff consistency',
|
|
201
|
+
current_vibecoding_strength: 'explicit using-vibecoding entry, workflow handoff contract, methodology gate ledger, and governance sidecars',
|
|
202
|
+
current_gap: 'closed by Stage 60 methodology route and trigger discipline documentation; runtime keeps route suggestions read-only',
|
|
203
|
+
target_stage: 'Stage 60',
|
|
204
|
+
status: 'implemented',
|
|
205
|
+
acceptance: ['methodology route suggestion exists', 'using-vibecoding trigger discipline is documented', 'no automatic workflow execution is implied'],
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
id: 'learning-model',
|
|
209
|
+
source: 'ECC continuous-learning-v2',
|
|
210
|
+
target_capability: 'project-scoped observation ledger, candidate instincts, confidence scoring, evidence-backed promotion gate',
|
|
211
|
+
current_vibecoding_strength: 'digest-bound local sidecars and strict verify boundaries are already established',
|
|
212
|
+
current_gap: 'closed by Stage 61-62 learning observation, candidate instinct, and promotion sidecars; formal skill mutation remains explicitly gated',
|
|
213
|
+
target_stage: 'Stage 61-62',
|
|
214
|
+
status: 'implemented',
|
|
215
|
+
acceptance: ['learning observations come from local evidence files', 'candidate instincts are project-scoped by default', 'promotion never mutates skills automatically'],
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
id: 'deterministic-token-economy',
|
|
219
|
+
source: 'Token Savior',
|
|
220
|
+
target_capability: 'pure command output compactors, token-saving profiles, metrics, and full-output digest binding',
|
|
221
|
+
current_vibecoding_strength: 'vibe-compact exists and release/runtime checks already produce structured local output',
|
|
222
|
+
current_gap: 'closed by Stage 63-64 token compaction, profile, metrics, and rewrite-preview sidecars; LLM distillation remains optional and deferred',
|
|
223
|
+
target_stage: 'Stage 63-64',
|
|
224
|
+
status: 'implemented',
|
|
225
|
+
acceptance: ['compactors are pure functions', 'original output is digest-bound', 'rewrite behavior is preview-only'],
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
id: 'stream-distillation',
|
|
229
|
+
source: 'Distill',
|
|
230
|
+
target_capability: 'large stdout/stderr noise reduction while preserving task-relevant signal',
|
|
231
|
+
current_vibecoding_strength: 'local deterministic boundary can host a rule-based distillation layer safely',
|
|
232
|
+
current_gap: 'LLM-based streaming distillation is intentionally out of default scope because it is not deterministic or verify-first',
|
|
233
|
+
target_stage: 'post-Stage 64 optional adapter',
|
|
234
|
+
status: 'deferred',
|
|
235
|
+
acceptance: ['default path remains deterministic', 'LLM distill can only be optional and explicitly enabled', 'raw-output digest remains available'],
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
id: 'runtime-governance',
|
|
239
|
+
source: 'Vibecoding',
|
|
240
|
+
target_capability: 'sidecar-only governance, compatibility reports, release gates, feedback ledgers, policy catalog, PR readiness and PR review intake',
|
|
241
|
+
current_vibecoding_strength: 'Stage 31 and Stage 52-58 already provide the strongest local audit spine among compared projects',
|
|
242
|
+
current_gap: 'closed by Stage 65 optional release gate convergence binding plus runtime-check and release-check smoke coverage',
|
|
243
|
+
target_stage: 'Stage 65',
|
|
244
|
+
status: 'implemented',
|
|
245
|
+
acceptance: ['runtime-check covers Stage 59-64 markers', 'release-check smoke proves read-only/write boundaries', 'release gate can bind convergence evidence optionally'],
|
|
246
|
+
},
|
|
247
|
+
];
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
function sourceDescriptor(root, baseDirectory, relativeFile, markers) {
|
|
251
|
+
const file = path.join(baseDirectory, ...relativeFile.split('/'));
|
|
252
|
+
const display = path.relative(root, file).replace(/\\/g, '/');
|
|
253
|
+
if (!fs.existsSync(file) || !fs.statSync(file).isFile()) {
|
|
254
|
+
return { file: display, present: false, digest: '', marker_hits: [] };
|
|
255
|
+
}
|
|
256
|
+
const text = fs.readFileSync(file, 'utf8');
|
|
257
|
+
return {
|
|
258
|
+
file: display,
|
|
259
|
+
present: true,
|
|
260
|
+
digest: crypto.createHash('sha256').update(text).digest('hex'),
|
|
261
|
+
marker_hits: markers.filter((marker) => text.includes(marker)),
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
function localDirectoryWithinRoot(root, input, label) {
|
|
266
|
+
const raw = String(input || '').trim();
|
|
267
|
+
if (!raw) throw new Error(`${label} requires a local directory path`);
|
|
268
|
+
if (raw.includes('\\')) throw new Error(`${label} must use forward-slash local paths`);
|
|
269
|
+
const resolved = path.isAbsolute(raw) ? path.resolve(raw) : path.resolve(root, raw);
|
|
270
|
+
const relative = path.relative(root, resolved);
|
|
271
|
+
if (relative.startsWith('..') || path.isAbsolute(relative)) throw new Error(`${label} must stay within --root`);
|
|
272
|
+
if (!fs.existsSync(resolved) || !fs.statSync(resolved).isDirectory()) throw new Error(`${label} directory not found: ${raw}`);
|
|
273
|
+
return resolved;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
function superpowersGapSourceBundle(root, superpowersDirectoryInput) {
|
|
277
|
+
const superpowersDirectory = localDirectoryWithinRoot(root, superpowersDirectoryInput, 'governance --superpowers-gap --from-superpowers');
|
|
278
|
+
const allMarkers = [
|
|
279
|
+
'session-start', 'You have superpowers', 'using-superpowers', '1% chance', 'ABSOLUTELY MUST', 'Invoke relevant or requested skills BEFORE', 'Red Flags',
|
|
280
|
+
'Exact file paths', 'No Placeholders', 'Task Structure', 'Expected:', 'NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST', 'RED', 'GREEN', 'REFACTOR',
|
|
281
|
+
'fresh subagent per task', 'Continuous execution', 'progress ledger', 'review package', 'task reviewer', 'spec compliance', 'code quality', 'final whole-branch review',
|
|
282
|
+
'Evidence before claims', 'NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE', 'RUN', 'READ', 'finishing-a-development-branch', 'Verify Tests', 'Present Options', 'git commit',
|
|
283
|
+
'Quickstart', 'plugin marketplace', 'session-start hook', 'additionalContext', 'workflow', 'skill', 'review', 'verification',
|
|
284
|
+
'workflow --start', 'using-vibecoding', 'entry contract', '受控 agent 沙盒', '轻量入口', 'hooks/', 'session-start bootstrap', '轻量分流', '不要声称已使用某个 skill', 'workflow --receipt',
|
|
285
|
+
'planner --action-manifest', 'planner --lint', 'docs_expectations', 'code_expectations', 'verification --tdd-trace', 'TDD trace', 'RED-GREEN-REFACTOR', 'test_execution=false',
|
|
286
|
+
'automation --one-shot-plan', 'workflow --close-loop', 'execution_authorized=false', 'automation readiness', 'review --intake', 'review --resolution', 'review_intake_digest', 'review_resolution_digest',
|
|
287
|
+
'verification --evidence-intake', 'completion --readiness', 'freshness_findings', 'gate_coverage', 'release --commit-readiness', 'release --commit-guard', 'commit_execution_authorized=false',
|
|
288
|
+
'node bin/vibe.mjs', 'managed block', 'injectsFullSkill=false', 'runtime-capability-registry', 'boundary_assertions', 'registry_version', 'digest',
|
|
289
|
+
];
|
|
290
|
+
const superpowersFiles = [
|
|
291
|
+
'README.md',
|
|
292
|
+
'skills/using-superpowers/SKILL.md',
|
|
293
|
+
'skills/writing-plans/SKILL.md',
|
|
294
|
+
'skills/executing-plans/SKILL.md',
|
|
295
|
+
'skills/subagent-driven-development/SKILL.md',
|
|
296
|
+
'skills/test-driven-development/SKILL.md',
|
|
297
|
+
'skills/verification-before-completion/SKILL.md',
|
|
298
|
+
'skills/finishing-a-development-branch/SKILL.md',
|
|
299
|
+
'hooks/session-start',
|
|
300
|
+
'.cursor-plugin/plugin.json',
|
|
301
|
+
];
|
|
302
|
+
const vibecodingFiles = [
|
|
303
|
+
'README.md',
|
|
304
|
+
'tools/vibe-runtime/README.md',
|
|
305
|
+
'skills/using-vibecoding/SKILL.md',
|
|
306
|
+
'tools/vibe-runtime/runtime-capability-registry.mjs',
|
|
307
|
+
'tools/vibe-runtime/runtime-automation-readiness.mjs',
|
|
308
|
+
'adapters/cursor/plugin.json',
|
|
309
|
+
];
|
|
310
|
+
return {
|
|
311
|
+
superpowers_sources: superpowersFiles.map((file) => sourceDescriptor(root, superpowersDirectory, file, allMarkers)),
|
|
312
|
+
vibecoding_sources: vibecodingFiles.map((file) => sourceDescriptor(root, root, file, allMarkers)),
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
function superpowersComparisonSourceBundle(root, superpowersDirectoryInput) {
|
|
317
|
+
const superpowersDirectory = localDirectoryWithinRoot(root, superpowersDirectoryInput, 'governance --superpowers-comparison --from-superpowers-root');
|
|
318
|
+
const allMarkers = [
|
|
319
|
+
'session-start', 'You have superpowers', 'using-superpowers', 'additionalContext', 'hookSpecificOutput', 'additional_context', 'SessionStart',
|
|
320
|
+
'1% chance', 'ABSOLUTELY MUST', 'Invoke relevant or requested skills BEFORE', 'Red Flags', 'brainstorming', 'writing-plans', 'test-driven-development', 'verification-before-completion',
|
|
321
|
+
'plugin.json', 'skills', 'hooks', 'plugin marketplace', 'tests', 'eval', 'run-skill-tests', 'test-session-start', 'subagent', 'fresh subagent', 'dispatch', 'review',
|
|
322
|
+
'PULL_REQUEST_TEMPLATE', 'Existing PRs', 'Identify yourself', 'human partner', 'full content', 'Skill tool', 'context', 'you don\'t need to do anything special', 'automatically', 'Quickstart', 'go',
|
|
323
|
+
'session-start.mjs', 'using-vibecoding', 'lightweight routing', 'injectsFullSkill=false', '轻量分流', '不要声称已使用某个 skill', 'L0',
|
|
324
|
+
'vibe-brainstorming', 'vibe-writing-plans', 'vibe-test-driven-development', 'vibe-verification-before-completion', '--format', 'installedSkills', 'sessionStartBootstrap', 'runtimeBridge',
|
|
325
|
+
'vibe-runtime-check', 'vibe-release-check', 'evals --behavior-contract', 'release-check', '用户明确允许', 'canCallSubagent', 'subagent=false', 'release --commit-readiness', 'review --intake', 'completion --evidence-bundle', 'PR',
|
|
326
|
+
'Token Savior', 'tokens --savior-budget', 'compact', 'skills_to_defer', 'workflow --start', 'workflow --next-action-console', 'automation --stage-scriptlet', 'experience dashboard',
|
|
327
|
+
];
|
|
328
|
+
const superpowersFiles = [
|
|
329
|
+
'README.md',
|
|
330
|
+
'AGENTS.md',
|
|
331
|
+
'CLAUDE.md',
|
|
332
|
+
'.github/PULL_REQUEST_TEMPLATE.md',
|
|
333
|
+
'skills/using-superpowers/SKILL.md',
|
|
334
|
+
'skills/brainstorming/SKILL.md',
|
|
335
|
+
'skills/writing-plans/SKILL.md',
|
|
336
|
+
'skills/executing-plans/SKILL.md',
|
|
337
|
+
'skills/subagent-driven-development/SKILL.md',
|
|
338
|
+
'skills/test-driven-development/SKILL.md',
|
|
339
|
+
'skills/verification-before-completion/SKILL.md',
|
|
340
|
+
'skills/finishing-a-development-branch/SKILL.md',
|
|
341
|
+
'hooks/session-start',
|
|
342
|
+
'hooks/session-start-codex',
|
|
343
|
+
'tests/hooks/test-session-start.sh',
|
|
344
|
+
'tests/claude-code/run-skill-tests.sh',
|
|
345
|
+
'.cursor-plugin/plugin.json',
|
|
346
|
+
'.claude-plugin/plugin.json',
|
|
347
|
+
'.codex-plugin/plugin.json',
|
|
348
|
+
];
|
|
349
|
+
const vibecodingFiles = [
|
|
350
|
+
'README.md',
|
|
351
|
+
'CLAUDE.md',
|
|
352
|
+
'AGENTS.md',
|
|
353
|
+
'templates/CLAUDE.md',
|
|
354
|
+
'templates/AGENTS.md',
|
|
355
|
+
'skills/using-vibecoding/SKILL.md',
|
|
356
|
+
'hooks/session-start/session-start.mjs',
|
|
357
|
+
'hooks/session-start/session-start.md',
|
|
358
|
+
'adapters/claude/plugin.json',
|
|
359
|
+
'adapters/cursor/plugin.json',
|
|
360
|
+
'adapters/codex/plugin.json',
|
|
361
|
+
'adapters/cursor/hooks.example.json',
|
|
362
|
+
'adapters/codex/hooks.example.json',
|
|
363
|
+
'tools/vibe-runtime/README.md',
|
|
364
|
+
'tools/vibe-runtime/runtime-capability-registry.mjs',
|
|
365
|
+
'tools/vibe-runtime/runtime-automation-readiness.mjs',
|
|
366
|
+
'tools/vibe-runtime/runtime-adapter-bootstrap-matrix.mjs',
|
|
367
|
+
'tools/vibe-runtime/runtime-adapter-entry-acceptance.mjs',
|
|
368
|
+
'tools/vibe-runtime/runtime-experience-regression-dashboard.mjs',
|
|
369
|
+
'tools/vibe-runtime-check/index.mjs',
|
|
370
|
+
'tools/vibe-release-check/index.mjs',
|
|
371
|
+
];
|
|
372
|
+
const superpowersRootRelative = path.relative(root, superpowersDirectory).replace(/\\/g, '/');
|
|
373
|
+
return {
|
|
374
|
+
superpowers_root: superpowersRootRelative,
|
|
375
|
+
superpowers_root_digest: crypto.createHash('sha256').update(superpowersRootRelative).digest('hex'),
|
|
376
|
+
superpowers_sources: superpowersFiles.map((file) => sourceDescriptor(root, superpowersDirectory, file, allMarkers)),
|
|
377
|
+
vibecoding_sources: vibecodingFiles.map((file) => sourceDescriptor(root, root, file, allMarkers)),
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
function superpowersComparisonEnvelope(root, superpowersDirectoryInput) {
|
|
382
|
+
ensureRoot(root);
|
|
383
|
+
const sources = superpowersComparisonSourceBundle(root, superpowersDirectoryInput);
|
|
384
|
+
const registry = runtimeCapabilityRegistry();
|
|
385
|
+
const comparisonBase = runtimeSuperpowersComparisonMatrix({
|
|
386
|
+
superpowersSources: sources.superpowers_sources,
|
|
387
|
+
vibecodingSources: sources.vibecoding_sources,
|
|
388
|
+
registry,
|
|
389
|
+
source: {
|
|
390
|
+
superpowers_root: sources.superpowers_root,
|
|
391
|
+
superpowers_root_digest: sources.superpowers_root_digest,
|
|
392
|
+
},
|
|
393
|
+
});
|
|
394
|
+
const comparison = {
|
|
395
|
+
...comparisonBase,
|
|
396
|
+
comparison_digest: digestSuperpowersComparison(runtimeSuperpowersComparisonDigestPayload(comparisonBase)),
|
|
397
|
+
};
|
|
398
|
+
return {
|
|
399
|
+
mode: 'superpowers-comparative-evidence-matrix',
|
|
400
|
+
ok: comparison.ok,
|
|
401
|
+
state_present: fs.existsSync(stateDir(root)),
|
|
402
|
+
superpowers_comparison_matrix: comparison,
|
|
403
|
+
safety: { stage: 'Stage 133', ...comparison.boundary_assertions },
|
|
404
|
+
quality: comparison.superpowers_comparison_invariants.findings,
|
|
405
|
+
action: 'superpowers comparative evidence matrix was computed read-only from local fork/superpowers and Vibecoding source files. It only reports parity gaps, Vibecoding advantages, borrowable patterns, do-not-copy boundaries, and next comparison bet; no comparison artifact, state directory, sidecar, command, check, smoke, test, hook execution, workflow skill execution, runtime action, repair, git, commit, push, PR, merge, platform API, external network, model, MCP, subagent, worktree, or business source write occurred.',
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
function printSuperpowersComparisonMatrix(envelope) {
|
|
410
|
+
const matrix = envelope.superpowers_comparison_matrix;
|
|
411
|
+
console.log('Vibecoding Runtime Superpowers Comparative Evidence Matrix');
|
|
412
|
+
console.log(`Stage: ${matrix.stage}; Kind: ${matrix.comparison_kind}; pass=${matrix.ok}`);
|
|
413
|
+
console.log(`Target: ${matrix.comparison_target}; root=${matrix.source_bindings.superpowers_root}`);
|
|
414
|
+
console.log(`Sources: superpowers=${matrix.source_bindings.superpowers.present_files}/${matrix.source_bindings.superpowers.files}; vibecoding=${matrix.source_bindings.vibecoding.present_files}/${matrix.source_bindings.vibecoding.files}`);
|
|
415
|
+
for (const dimension of matrix.dimensions) {
|
|
416
|
+
console.log(`- ${dimension.id}: status=${dimension.status}; delta=${dimension.delta}; superpowers=${dimension.superpowers_score}; vibecoding=${dimension.vibecoding_score}; stage=${dimension.recommended_stage}`);
|
|
417
|
+
}
|
|
418
|
+
const parityGapLines = matrix.parity_gaps.length > 0
|
|
419
|
+
? matrix.parity_gaps.map((gap) => `${gap.id}: ${gap.status}; ${gap.recommended_stage}; ${gap.borrowable_pattern}`)
|
|
420
|
+
: ['none'];
|
|
421
|
+
printList('Parity gaps', parityGapLines);
|
|
422
|
+
printList('Vibecoding advantages', matrix.vibecoding_advantages);
|
|
423
|
+
printList('Borrowable patterns', matrix.borrowable_patterns.map((item) => `${item.dimension}: ${item.target_stage}; ${item.pattern}`));
|
|
424
|
+
printList('Do not copy', matrix.do_not_copy);
|
|
425
|
+
printList('Recommended stage sequence', matrix.recommended_stage_sequence);
|
|
426
|
+
console.log(`Next comparison bet: ${matrix.next_comparison_bet.id}; target=${matrix.next_comparison_bet.target_stage}; ${matrix.next_comparison_bet.action}`);
|
|
427
|
+
console.log('Boundary: writes=false; superpowers_comparison_artifact=false; comparison_matrix_artifact=false; source_write=false; sidecar_write=false; state_directory_created=false; command_execution=false; check_execution=false; smoke_execution=false; test_execution=false; verification_execution=false; hook_execution=false; workflow_execution=false; skill_execution=false; runtime_action=false; auto_execution=false; repair_execution=false; prompt_mutation=false; hook_registration=false; dynamic_tool_execution=false; embeddings=false; remote_config=false; platform_api=false; external_network=false; model_invocation=false; subagent=false; mcp=false; git=false; git_write=false; git_add=false; commit=false; pr=false; push=false; merge=false; business_source_write=false');
|
|
428
|
+
console.log(`Superpowers comparison digest: ${matrix.comparison_digest}`);
|
|
429
|
+
if (envelope.quality.length > 0) printList('Findings', envelope.quality);
|
|
430
|
+
console.log(`Action: ${envelope.action}`);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
function superpowersGapEnvelope(root, superpowersDirectoryInput) {
|
|
434
|
+
ensureRoot(root);
|
|
435
|
+
const sources = superpowersGapSourceBundle(root, superpowersDirectoryInput);
|
|
436
|
+
const registry = runtimeCapabilityRegistry();
|
|
437
|
+
const gapBase = runtimeSuperpowersGapMatrix({
|
|
438
|
+
superpowersSources: sources.superpowers_sources,
|
|
439
|
+
vibecodingSources: sources.vibecoding_sources,
|
|
440
|
+
registry,
|
|
441
|
+
});
|
|
442
|
+
const gapMatrix = {
|
|
443
|
+
...gapBase,
|
|
444
|
+
gap_matrix_digest: digestSuperpowersGapMatrix(runtimeSuperpowersGapDigestPayload(gapBase)),
|
|
445
|
+
};
|
|
446
|
+
return {
|
|
447
|
+
mode: 'superpowers-gap-matrix',
|
|
448
|
+
ok: gapMatrix.gap_matrix_invariants.pass,
|
|
449
|
+
state_present: fs.existsSync(stateDir(root)),
|
|
450
|
+
superpowers_gap_matrix: gapMatrix,
|
|
451
|
+
safety: { stage: 'Stage 115', ...gapMatrix.boundary_assertions },
|
|
452
|
+
quality: gapMatrix.gap_matrix_invariants.findings,
|
|
453
|
+
action: 'superpowers gap matrix was computed read-only from local fork/superpowers and Vibecoding source files. No state directory, sidecar, command, check, test, skill execution, runtime action, git, commit, push, PR, merge, platform API, external network, model, MCP, subagent, worktree, or business source write occurred.',
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
function printSuperpowersGapMatrix(envelope) {
|
|
458
|
+
const matrix = envelope.superpowers_gap_matrix;
|
|
459
|
+
console.log('Vibecoding Runtime Superpowers Gap Matrix');
|
|
460
|
+
console.log(`Stage: ${matrix.stage}; Kind: ${matrix.gap_kind}; pass=${matrix.gap_matrix_invariants.pass}`);
|
|
461
|
+
console.log(`Sources: superpowers=${matrix.source_summary.superpowers.present_files}/${matrix.source_summary.superpowers.files}; vibecoding=${matrix.source_summary.vibecoding.present_files}/${matrix.source_summary.vibecoding.files}`);
|
|
462
|
+
for (const dimension of matrix.dimensions) {
|
|
463
|
+
console.log(`- ${dimension.id}: priority=${dimension.priority}; superpowers=${dimension.superpowers_score}; vibecoding=${dimension.vibecoding_score}; stage=${dimension.recommended_stage}`);
|
|
464
|
+
}
|
|
465
|
+
printList('Priority gaps', matrix.priority_gaps.map((gap) => `${gap.id}: ${gap.recommended_stage}; ${gap.gap}`));
|
|
466
|
+
printList('Recommended stage sequence', matrix.recommended_stage_sequence);
|
|
467
|
+
console.log('Boundary: writes=false; superpowers_gap_artifact=false; command_execution=false; skill_execution=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');
|
|
468
|
+
console.log(`Superpowers gap digest: ${matrix.gap_matrix_digest}`);
|
|
469
|
+
console.log(`Manual action: ${matrix.manual_action}`);
|
|
470
|
+
console.log(`Action: ${envelope.action}`);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
function superpowersRegressionGuardEnvelope(root, superpowersDirectoryInput) {
|
|
474
|
+
ensureRoot(root);
|
|
475
|
+
const gapMatrix = superpowersGapEnvelope(root, superpowersDirectoryInput).superpowers_gap_matrix;
|
|
476
|
+
const registry = runtimeCapabilityRegistry();
|
|
477
|
+
const registryDigest = digestObject(registry);
|
|
478
|
+
const automationReadiness = runtimeAutomationReadinessMatrix(registry, registryDigest);
|
|
479
|
+
const traceabilityMap = runtimeSkillRuntimeTraceabilityMap(root, registry);
|
|
480
|
+
const guard = runtimeSuperpowersRegressionGuard({ gapMatrix, registry, automationReadiness, traceabilityMap });
|
|
481
|
+
return {
|
|
482
|
+
mode: 'superpowers-regression-guard',
|
|
483
|
+
ok: guard.ok,
|
|
484
|
+
state_present: fs.existsSync(stateDir(root)),
|
|
485
|
+
superpowers_regression_guard: guard,
|
|
486
|
+
safety: { stage: 'Stage 125', ...guard.boundary_assertions },
|
|
487
|
+
quality: guard.blockers,
|
|
488
|
+
action: 'superpowers regression guard was computed read-only from local Superpowers comparison sources, Stage 115 gap matrix, runtime registry, automation readiness, and Stage 123 traceability. No state directory, sidecar, command, check, test, workflow skill execution, runtime action, git, commit, push, PR, merge, platform API, external network, model, MCP, subagent, worktree, or business source write occurred.',
|
|
489
|
+
};
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
function printSuperpowersRegressionGuard(envelope) {
|
|
493
|
+
const guard = envelope.superpowers_regression_guard;
|
|
494
|
+
console.log('Vibecoding Runtime Superpowers Regression Guard');
|
|
495
|
+
console.log(`Stage: ${guard.stage}; Guard: ${guard.guard_kind}; pass=${guard.ok}`);
|
|
496
|
+
console.log(`Claim: ${guard.superiority_claim}; Target: ${guard.comparison_target}`);
|
|
497
|
+
console.log(`Registry: ${guard.source_bindings.registry_stage}; version=${guard.source_bindings.registry_version}`);
|
|
498
|
+
console.log(`Protected stage sequence: ${guard.protected_stage_sequence.join(' -> ')}`);
|
|
499
|
+
console.log(`Invariants: regression_guard_invariants.pass=${guard.regression_guard_invariants.pass}`);
|
|
500
|
+
for (const gate of guard.regression_gates) console.log(`- ${gate.gate}: pass=${gate.pass}`);
|
|
501
|
+
printList('Protected capabilities', guard.protected_capabilities.map((item) => `${item.stage}: ${item.command}; category=${item.automation_category}; pass=${item.pass}`));
|
|
502
|
+
printList('Dimension scorecard', guard.dimension_scorecard.map((item) => `${item.dimension}: ${item.status}; stages=${item.protected_stages.join('|')}`));
|
|
503
|
+
if (guard.blockers.length > 0) printList('Blocked reasons', guard.blockers);
|
|
504
|
+
console.log('Boundary: writes=false; superpowers_regression_guard_artifact=false; superpowers_gap_artifact=false; traceability_map_artifact=false; automation_readiness_artifact=false; command_execution=false; check_execution=false; test_execution=false; git=false; git_write=false; pr=false; push=false; merge=false; platform_api=false; external_network=false; model_invocation=false; subagent=false; mcp=false; business_source_write=false');
|
|
505
|
+
console.log(`Regression guard digest: ${guard.regression_guard_digest}`);
|
|
506
|
+
console.log(`Manual next action: ${guard.manual_next_action}`);
|
|
507
|
+
console.log(`Action: ${envelope.action}`);
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
function governanceConvergenceBoundaryAssertions() {
|
|
511
|
+
return {
|
|
512
|
+
writes: false,
|
|
513
|
+
state_directory_created: false,
|
|
514
|
+
migration_applied: false,
|
|
515
|
+
skill_mutation: false,
|
|
516
|
+
hook_registration: false,
|
|
517
|
+
shell_interception: false,
|
|
518
|
+
external_network: false,
|
|
519
|
+
model_invocation: false,
|
|
520
|
+
platform_api: false,
|
|
521
|
+
runtime_action: false,
|
|
522
|
+
auto_execution: false,
|
|
523
|
+
business_source_write: false,
|
|
524
|
+
source_merge: false,
|
|
525
|
+
subagent: false,
|
|
526
|
+
mcp: false,
|
|
527
|
+
[backgroundProcessBoundaryKey]: false,
|
|
528
|
+
git: false,
|
|
529
|
+
worktree: false,
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
function governanceConvergenceSafety() {
|
|
534
|
+
return {
|
|
535
|
+
stage: 'Stage 59',
|
|
536
|
+
convergence_report: true,
|
|
537
|
+
skill_execution: false,
|
|
538
|
+
dispatch_event_modified: false,
|
|
539
|
+
claim_modified: false,
|
|
540
|
+
...governanceConvergenceBoundaryAssertions(),
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
function governanceConvergenceEnvelope(root) {
|
|
545
|
+
ensureRoot(root);
|
|
546
|
+
const dimensions = governanceConvergenceDimensions();
|
|
547
|
+
const statusCounts = dimensions.reduce((acc, item) => {
|
|
548
|
+
acc[item.status] = (acc[item.status] || 0) + 1;
|
|
549
|
+
return acc;
|
|
550
|
+
}, {});
|
|
551
|
+
const contract = {
|
|
552
|
+
stage: 'Stage 59',
|
|
553
|
+
report_kind: 'capability-convergence-gap-report',
|
|
554
|
+
writes: false,
|
|
555
|
+
state_directory_created: false,
|
|
556
|
+
convergence_target: 'Superpowers workflow experience + ECC learning model + Token Savior deterministic token economy + Vibecoding runtime governance',
|
|
557
|
+
default_adapters: {
|
|
558
|
+
superpowers_workflow_ux: 'absorb trigger discipline and workflow ergonomics without copying incompatible voice or bypassing user rules',
|
|
559
|
+
ecc_learning_model: 'absorb local project-scoped observation and candidate instinct model without auto-mutating skills',
|
|
560
|
+
token_savior: 'absorb deterministic compactors, profiles, and metrics without MCP requirement in the default runtime path',
|
|
561
|
+
distill: 'treat LLM distillation as deferred optional adapter; default remains deterministic and verify-first',
|
|
562
|
+
vibecoding_governance: 'all new capabilities must remain sidecar-only, digest-bound, locally verifiable, and no external action by default',
|
|
563
|
+
},
|
|
564
|
+
stage_sequence: ['Stage 60 workflow UX parity', 'Stage 61 learning ledger', 'Stage 62 candidate instinct promotion gate', 'Stage 63 deterministic token compactors', 'Stage 64 token metrics and rewrite preview', 'Stage 65 governance convergence gate'],
|
|
565
|
+
policy_catalog_digest: runtimePolicyCatalogDigest(),
|
|
566
|
+
eval_catalog_digest: evalCatalogDefinition().catalog_digest,
|
|
567
|
+
dimensions,
|
|
568
|
+
summary: {
|
|
569
|
+
total_dimensions: dimensions.length,
|
|
570
|
+
implemented: statusCounts.implemented || 0,
|
|
571
|
+
partially_implemented: statusCounts['partially-implemented'] || 0,
|
|
572
|
+
planned: statusCounts.planned || 0,
|
|
573
|
+
deferred: statusCounts.deferred || 0,
|
|
574
|
+
},
|
|
575
|
+
boundary_assertions: governanceConvergenceBoundaryAssertions(),
|
|
576
|
+
};
|
|
577
|
+
return {
|
|
578
|
+
mode: 'governance-convergence-report',
|
|
579
|
+
ok: true,
|
|
580
|
+
state_present: fs.existsSync(stateDir(root)),
|
|
581
|
+
convergence: { ...contract, convergence_digest: digestObject(contract) },
|
|
582
|
+
safety: governanceConvergenceSafety(),
|
|
583
|
+
quality: dimensions.filter((item) => item.status !== 'implemented').map((item) => `${item.id}: ${item.current_gap}`),
|
|
584
|
+
action: 'capability convergence gap report was computed read-only. No state directory, skill, hook, shell interception, external network, model, platform API, git, worktree, or business source write occurred.',
|
|
585
|
+
};
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
return {
|
|
589
|
+
governanceCompatibilityEnvelope,
|
|
590
|
+
printGovernanceCompatibility,
|
|
591
|
+
governanceConvergenceEnvelope,
|
|
592
|
+
sourceDescriptor,
|
|
593
|
+
localDirectoryWithinRoot,
|
|
594
|
+
superpowersGapEnvelope,
|
|
595
|
+
printSuperpowersGapMatrix,
|
|
596
|
+
superpowersComparisonEnvelope,
|
|
597
|
+
printSuperpowersComparisonMatrix,
|
|
598
|
+
superpowersRegressionGuardEnvelope,
|
|
599
|
+
printSuperpowersRegressionGuard,
|
|
600
|
+
};
|
|
601
|
+
}
|