@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,307 @@
|
|
|
1
|
+
import crypto from 'node:crypto';
|
|
2
|
+
|
|
3
|
+
const superpowersGapStage = 'Stage 115';
|
|
4
|
+
const superpowersGapKind = 'superpowers-gap-matrix';
|
|
5
|
+
|
|
6
|
+
const dimensionDefinitions = [
|
|
7
|
+
{
|
|
8
|
+
id: 'entry_ux',
|
|
9
|
+
label: 'Entry UX',
|
|
10
|
+
superpowers_markers: ['session-start', 'You have superpowers', 'using-superpowers', '1% chance'],
|
|
11
|
+
vibecoding_markers: ['workflow --start', 'using-vibecoding', '受控 agent 沙盒', '轻量入口'],
|
|
12
|
+
superpowers_strength: 'Full session-start injection makes skill discipline visible immediately.',
|
|
13
|
+
vibecoding_strength: 'Lightweight entry contract keeps startup bounded and avoids full-skill context inflation.',
|
|
14
|
+
gap: 'Vibecoding should expose a stronger one-screen entry UX without injecting the full workflow skill by default.',
|
|
15
|
+
recommended_stage: 'Stage 116',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: 'skill_trigger_discipline',
|
|
19
|
+
label: 'Skill trigger discipline',
|
|
20
|
+
superpowers_markers: ['ABSOLUTELY MUST', 'Invoke relevant or requested skills BEFORE', 'Red Flags'],
|
|
21
|
+
vibecoding_markers: ['轻量分流', '不要声称已使用某个 skill', 'workflow --receipt'],
|
|
22
|
+
superpowers_strength: 'Aggressive trigger discipline prevents agents from skipping process.',
|
|
23
|
+
vibecoding_strength: 'Explicit receipt and route contracts can prove what was recommended without falsely claiming skill execution.',
|
|
24
|
+
gap: 'Vibecoding needs a clearer contract for progressive trigger strength by task risk.',
|
|
25
|
+
recommended_stage: 'Stage 116',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
id: 'planning_quality',
|
|
29
|
+
label: 'Planning quality',
|
|
30
|
+
superpowers_markers: ['Exact file paths', 'No Placeholders', 'Task Structure', 'Expected:'],
|
|
31
|
+
vibecoding_markers: ['planner --action-manifest', 'planner --lint', 'docs_expectations', 'code_expectations'],
|
|
32
|
+
superpowers_strength: 'Plan prose is highly actionable and forces test, file, and commit details.',
|
|
33
|
+
vibecoding_strength: 'Plan manifests are deterministic and digest-bound.',
|
|
34
|
+
gap: 'Vibecoding should score plan executability directly, including placeholders, expected output, rollback, and stop conditions.',
|
|
35
|
+
recommended_stage: 'Stage 117',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: 'tdd_enforcement',
|
|
39
|
+
label: 'TDD enforcement',
|
|
40
|
+
superpowers_markers: ['NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST', 'RED', 'GREEN', 'REFACTOR'],
|
|
41
|
+
vibecoding_markers: ['verification --tdd-trace', 'TDD trace', 'RED-GREEN-REFACTOR', 'test_execution=false'],
|
|
42
|
+
superpowers_strength: 'Strong behavioral mandate forces RED-GREEN-REFACTOR before implementation claims.',
|
|
43
|
+
vibecoding_strength: 'TDD trace contract can bind local evidence without running tests in runtime.',
|
|
44
|
+
gap: 'TDD evidence should become part of a broader runbook/evidence binder for stage progression.',
|
|
45
|
+
recommended_stage: 'Stage 119',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: 'execution_loop',
|
|
49
|
+
label: 'Execution loop',
|
|
50
|
+
superpowers_markers: ['fresh subagent per task', 'Continuous execution', 'progress ledger', 'review package'],
|
|
51
|
+
vibecoding_markers: ['automation --one-shot-plan', 'workflow --close-loop', 'execution_authorized=false', 'automation readiness'],
|
|
52
|
+
superpowers_strength: 'Subagent-driven execution gives a strong autonomous loop when the platform supports it.',
|
|
53
|
+
vibecoding_strength: 'Execution boundaries remain explicit and local; no hidden session or model dispatch occurs.',
|
|
54
|
+
gap: 'Vibecoding should create a deterministic sequential stage runbook before allowing any agent-driven local execution.',
|
|
55
|
+
recommended_stage: 'Stage 118',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: 'review_loop',
|
|
59
|
+
label: 'Review loop',
|
|
60
|
+
superpowers_markers: ['task reviewer', 'spec compliance', 'code quality', 'final whole-branch review'],
|
|
61
|
+
vibecoding_markers: ['review --intake', 'review --resolution', 'review_intake_digest', 'review_resolution_digest'],
|
|
62
|
+
superpowers_strength: 'Per-task and final review are central to execution, not an afterthought.',
|
|
63
|
+
vibecoding_strength: 'Review intake/resolution envelopes bind local review feedback and repair evidence without platform calls.',
|
|
64
|
+
gap: 'Review status should be tied into execution evidence and staged commit readiness.',
|
|
65
|
+
recommended_stage: 'Stage 119',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: 'verification_gate',
|
|
69
|
+
label: 'Verification gate',
|
|
70
|
+
superpowers_markers: ['Evidence before claims', 'NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE', 'RUN', 'READ'],
|
|
71
|
+
vibecoding_markers: ['verification --evidence-intake', 'completion --readiness', 'freshness_findings', 'gate_coverage'],
|
|
72
|
+
superpowers_strength: 'Fresh verification is framed as an honesty gate before any completion claim.',
|
|
73
|
+
vibecoding_strength: 'Evidence intake and completion readiness can make verification machine-checkable.',
|
|
74
|
+
gap: 'Actual command evidence should bind to each runbook stage before moving forward.',
|
|
75
|
+
recommended_stage: 'Stage 119',
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
id: 'commit_closeout',
|
|
79
|
+
label: 'Commit closeout',
|
|
80
|
+
superpowers_markers: ['finishing-a-development-branch', 'Verify Tests', 'Present Options', 'git commit'],
|
|
81
|
+
vibecoding_markers: ['release --commit-readiness', 'release --commit-guard', 'commit_execution_authorized=false', 'workflow --close-loop'],
|
|
82
|
+
superpowers_strength: 'Closeout flow integrates test verification, branch state, and user choice.',
|
|
83
|
+
vibecoding_strength: 'Commit guard/readiness keeps git action separated from runtime advice.',
|
|
84
|
+
gap: 'Vibecoding needs per-stage commit readiness that references runbook and evidence, while keeping runtime git=false.',
|
|
85
|
+
recommended_stage: 'Stage 120',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: 'install_bootstrap',
|
|
89
|
+
label: 'Install bootstrap',
|
|
90
|
+
superpowers_markers: ['Quickstart', 'plugin marketplace', 'session-start hook', 'additionalContext'],
|
|
91
|
+
vibecoding_markers: ['node bin/vibe.mjs', 'managed block', 'hooks/', 'injectsFullSkill=false'],
|
|
92
|
+
superpowers_strength: 'Marketplace and hook bootstrap produce a nearly automatic first-run experience.',
|
|
93
|
+
vibecoding_strength: 'Install is explicit, no-dependency, and preserves business-project root cleanliness.',
|
|
94
|
+
gap: 'Vibecoding should keep improving entry UX while preserving lightweight installed layout.',
|
|
95
|
+
recommended_stage: 'Stage 116',
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
id: 'contract_governance',
|
|
99
|
+
label: 'Contract governance',
|
|
100
|
+
superpowers_markers: ['workflow', 'skill', 'review', 'verification'],
|
|
101
|
+
vibecoding_markers: ['runtime-capability-registry', 'boundary_assertions', 'registry_version', 'digest'],
|
|
102
|
+
superpowers_strength: 'Workflow expectations are strongly documented in skills.',
|
|
103
|
+
vibecoding_strength: 'Runtime contracts are registry-backed, digest-bound, and release-check verified.',
|
|
104
|
+
gap: 'Vibecoding should use the gap matrix itself to drive stage planning and regression checks.',
|
|
105
|
+
recommended_stage: 'Stage 115',
|
|
106
|
+
},
|
|
107
|
+
];
|
|
108
|
+
|
|
109
|
+
export function runtimeSuperpowersGapMatrix({ superpowersSources = [], vibecodingSources = [], registry = {} } = {}) {
|
|
110
|
+
const boundaryAssertions = runtimeSuperpowersGapBoundaryAssertions();
|
|
111
|
+
const sourceSummary = summarizeSources(superpowersSources, vibecodingSources);
|
|
112
|
+
const dimensions = dimensionDefinitions.map((definition) => dimensionAssessment(definition, superpowersSources, vibecodingSources));
|
|
113
|
+
const priorityGaps = dimensions
|
|
114
|
+
.filter((dimension) => dimension.priority !== 'low')
|
|
115
|
+
.map((dimension) => ({ id: dimension.id, priority: dimension.priority, recommended_stage: dimension.recommended_stage, gap: dimension.gap }));
|
|
116
|
+
const recommendedStageSequence = [...new Set(dimensions.map((dimension) => dimension.recommended_stage))]
|
|
117
|
+
.filter(Boolean)
|
|
118
|
+
.sort((left, right) => Number(left.replace(/\D/g, '')) - Number(right.replace(/\D/g, '')));
|
|
119
|
+
const matrix = {
|
|
120
|
+
version: 1,
|
|
121
|
+
stage: superpowersGapStage,
|
|
122
|
+
gap_kind: superpowersGapKind,
|
|
123
|
+
comparison_target: 'fork/superpowers',
|
|
124
|
+
source_summary: sourceSummary,
|
|
125
|
+
registry_binding: {
|
|
126
|
+
registry_stage: registry.registry_stage || '',
|
|
127
|
+
registry_kind: registry.registry_kind || '',
|
|
128
|
+
registry_version: registry.registry_version || 0,
|
|
129
|
+
},
|
|
130
|
+
dimensions,
|
|
131
|
+
vibecoding_advantages: [
|
|
132
|
+
'deterministic local envelopes with stable digests',
|
|
133
|
+
'explicit boundary assertions for execution, git, platform, model, MCP, and subagent actions',
|
|
134
|
+
'runtime registry and release-check coverage for capability drift',
|
|
135
|
+
'human-friendly aliases without full-skill context injection',
|
|
136
|
+
'local evidence intake, diff coverage, review resolution, and TDD trace contracts',
|
|
137
|
+
],
|
|
138
|
+
superpowers_advantages: [
|
|
139
|
+
'strong startup skill discipline and behavior-shaping language',
|
|
140
|
+
'highly actionable plan prose with exact paths, tests, expected output, and commits',
|
|
141
|
+
'subagent-driven execution loop with task review and final review',
|
|
142
|
+
'strong TDD and verification-before-completion norms',
|
|
143
|
+
'marketplace-oriented installation and session-start bootstrap experience',
|
|
144
|
+
],
|
|
145
|
+
priority_gaps: priorityGaps,
|
|
146
|
+
recommended_stage_sequence: recommendedStageSequence,
|
|
147
|
+
next_manual_action: 'Implement the recommended stages in order, starting with Stage 116 entry UX, while preserving local deterministic runtime boundaries.',
|
|
148
|
+
boundary_assertions: boundaryAssertions,
|
|
149
|
+
writes: false,
|
|
150
|
+
state_directory_created: false,
|
|
151
|
+
local_only: true,
|
|
152
|
+
deterministic: true,
|
|
153
|
+
};
|
|
154
|
+
const invariants = runtimeSuperpowersGapInvariants(matrix);
|
|
155
|
+
return {
|
|
156
|
+
...matrix,
|
|
157
|
+
gap_matrix_invariants: invariants,
|
|
158
|
+
manual_action: invariants.pass ? matrix.next_manual_action : 'Fix source coverage or boundary gaps before using this comparison to plan later stages.',
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export function runtimeSuperpowersGapInvariants(matrix) {
|
|
163
|
+
const dimensionIds = matrix.dimensions.map((dimension) => dimension.id);
|
|
164
|
+
const missingDimensions = dimensionDefinitions.map((dimension) => dimension.id).filter((id) => !dimensionIds.includes(id));
|
|
165
|
+
const duplicateDimensions = dimensionIds.filter((id, index, ids) => ids.indexOf(id) !== index);
|
|
166
|
+
const writableBoundaries = Object.entries(matrix.boundary_assertions || {}).filter(([, value]) => value !== false).map(([key]) => key);
|
|
167
|
+
const missingForbidden = ['command_execution', 'skill_execution', 'subagent', 'mcp', 'platform_api', 'external_network', 'model_invocation', 'git', 'git_write', 'pr', 'push', 'merge', 'business_source_write', 'state_directory_created']
|
|
168
|
+
.filter((key) => matrix.boundary_assertions?.[key] !== false);
|
|
169
|
+
const findings = [
|
|
170
|
+
...(matrix.stage === superpowersGapStage ? [] : ['stage must be Stage 115']),
|
|
171
|
+
...(matrix.gap_kind === superpowersGapKind ? [] : ['gap_kind must be superpowers-gap-matrix']),
|
|
172
|
+
...(matrix.source_summary?.superpowers?.present_files > 0 ? [] : ['superpowers source files must be present']),
|
|
173
|
+
...(matrix.source_summary?.vibecoding?.present_files > 0 ? [] : ['vibecoding source files must be present']),
|
|
174
|
+
...(matrix.registry_binding?.registry_version >= 13 ? [] : ['registry version must be at least 13 before Stage 115']),
|
|
175
|
+
...missingDimensions.map((id) => `missing comparison dimension: ${id}`),
|
|
176
|
+
...duplicateDimensions.map((id) => `duplicate comparison dimension: ${id}`),
|
|
177
|
+
...writableBoundaries.map((key) => `boundary assertion must remain false: ${key}`),
|
|
178
|
+
...missingForbidden.map((key) => `forbidden boundary missing or not false: ${key}`),
|
|
179
|
+
];
|
|
180
|
+
return {
|
|
181
|
+
pass: findings.length === 0,
|
|
182
|
+
checked: ['source_coverage', 'dimension_coverage', 'registry_binding', 'read_only_boundaries'],
|
|
183
|
+
findings,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export function runtimeSuperpowersGapDigestPayload(matrix) {
|
|
188
|
+
return {
|
|
189
|
+
stage: matrix.stage,
|
|
190
|
+
gap_kind: matrix.gap_kind,
|
|
191
|
+
comparison_target: matrix.comparison_target,
|
|
192
|
+
source_summary: matrix.source_summary,
|
|
193
|
+
registry_binding: matrix.registry_binding,
|
|
194
|
+
dimensions: matrix.dimensions,
|
|
195
|
+
vibecoding_advantages: matrix.vibecoding_advantages,
|
|
196
|
+
superpowers_advantages: matrix.superpowers_advantages,
|
|
197
|
+
priority_gaps: matrix.priority_gaps,
|
|
198
|
+
recommended_stage_sequence: matrix.recommended_stage_sequence,
|
|
199
|
+
boundary_assertions: matrix.boundary_assertions,
|
|
200
|
+
gap_matrix_invariants: matrix.gap_matrix_invariants,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export function digestSuperpowersGapMatrix(value) {
|
|
205
|
+
return crypto.createHash('sha256').update(stableStringify(value)).digest('hex');
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
function dimensionAssessment(definition, superpowersSources, vibecodingSources) {
|
|
209
|
+
const superpowersEvidence = evidenceForMarkers(superpowersSources, definition.superpowers_markers);
|
|
210
|
+
const vibecodingEvidence = evidenceForMarkers(vibecodingSources, definition.vibecoding_markers);
|
|
211
|
+
const superpowersScore = scoreEvidence(superpowersEvidence, definition.superpowers_markers.length);
|
|
212
|
+
const vibecodingScore = scoreEvidence(vibecodingEvidence, definition.vibecoding_markers.length);
|
|
213
|
+
const delta = superpowersScore - vibecodingScore;
|
|
214
|
+
const priority = delta >= 25 ? 'high' : delta >= 10 ? 'medium' : 'low';
|
|
215
|
+
return {
|
|
216
|
+
id: definition.id,
|
|
217
|
+
label: definition.label,
|
|
218
|
+
superpowers_score: superpowersScore,
|
|
219
|
+
vibecoding_score: vibecodingScore,
|
|
220
|
+
priority,
|
|
221
|
+
superpowers_strength: definition.superpowers_strength,
|
|
222
|
+
vibecoding_strength: definition.vibecoding_strength,
|
|
223
|
+
gap: definition.gap,
|
|
224
|
+
recommended_stage: definition.recommended_stage,
|
|
225
|
+
superpowers_evidence: superpowersEvidence,
|
|
226
|
+
vibecoding_evidence: vibecodingEvidence,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
function evidenceForMarkers(sources, markers) {
|
|
231
|
+
return markers.map((marker) => {
|
|
232
|
+
const hits = sources.filter((source) => source.present && source.marker_hits?.includes(marker));
|
|
233
|
+
return {
|
|
234
|
+
marker,
|
|
235
|
+
present: hits.length > 0,
|
|
236
|
+
files: hits.map((source) => source.file).slice(0, 6),
|
|
237
|
+
};
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
function scoreEvidence(evidence, total) {
|
|
242
|
+
if (!total) return 0;
|
|
243
|
+
return Math.round((evidence.filter((item) => item.present).length / total) * 100);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
function summarizeSources(superpowersSources, vibecodingSources) {
|
|
247
|
+
return {
|
|
248
|
+
superpowers: sourceFamilySummary(superpowersSources),
|
|
249
|
+
vibecoding: sourceFamilySummary(vibecodingSources),
|
|
250
|
+
source_digest: digestSuperpowersGapMatrix({ superpowers: compactSources(superpowersSources), vibecoding: compactSources(vibecodingSources) }),
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
function sourceFamilySummary(sources) {
|
|
255
|
+
return {
|
|
256
|
+
files: sources.length,
|
|
257
|
+
present_files: sources.filter((source) => source.present).length,
|
|
258
|
+
missing_files: sources.filter((source) => !source.present).map((source) => source.file),
|
|
259
|
+
digest: digestSuperpowersGapMatrix(compactSources(sources)),
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
function compactSources(sources) {
|
|
264
|
+
return sources.map((source) => ({ file: source.file, present: Boolean(source.present), digest: source.digest || '', marker_hits: source.marker_hits || [] }));
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
function runtimeSuperpowersGapBoundaryAssertions() {
|
|
268
|
+
return {
|
|
269
|
+
superpowers_gap_artifact: false,
|
|
270
|
+
sidecar_write: false,
|
|
271
|
+
state_directory_created: false,
|
|
272
|
+
source_write: false,
|
|
273
|
+
command_execution: false,
|
|
274
|
+
check_execution: false,
|
|
275
|
+
test_execution: false,
|
|
276
|
+
skill_execution: false,
|
|
277
|
+
runtime_action: false,
|
|
278
|
+
workflow_execution: false,
|
|
279
|
+
auto_execution: false,
|
|
280
|
+
scheduler: false,
|
|
281
|
+
daemon: false,
|
|
282
|
+
retry: false,
|
|
283
|
+
git: false,
|
|
284
|
+
git_write: false,
|
|
285
|
+
commit: false,
|
|
286
|
+
pr: false,
|
|
287
|
+
push: false,
|
|
288
|
+
merge: false,
|
|
289
|
+
tag: false,
|
|
290
|
+
history_rewrite: false,
|
|
291
|
+
platform_api: false,
|
|
292
|
+
external_network: false,
|
|
293
|
+
model_invocation: false,
|
|
294
|
+
subagent: false,
|
|
295
|
+
mcp: false,
|
|
296
|
+
worktree: false,
|
|
297
|
+
business_source_write: false,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
function stableStringify(value) {
|
|
302
|
+
if (Array.isArray(value)) return `[${value.map((item) => stableStringify(item)).join(',')}]`;
|
|
303
|
+
if (value && typeof value === 'object') {
|
|
304
|
+
return `{${Object.keys(value).sort().map((key) => `${JSON.stringify(key)}:${stableStringify(value[key])}`).join(',')}}`;
|
|
305
|
+
}
|
|
306
|
+
return JSON.stringify(value);
|
|
307
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ensureRoot,
|
|
3
|
+
localJsonFileWithinRoot,
|
|
4
|
+
} from './runtime-local-json-input.mjs';
|
|
5
|
+
import {
|
|
6
|
+
emitReadonlyLocalJsonOutput,
|
|
7
|
+
readonlyLocalJsonEnvelope,
|
|
8
|
+
} from './runtime-readonly-local-json-output-envelope.mjs';
|
|
9
|
+
import {
|
|
10
|
+
digestSuperpowersParityScorecard,
|
|
11
|
+
runtimeSuperpowersParityScorecard,
|
|
12
|
+
runtimeSuperpowersParityScorecardDigestPayload,
|
|
13
|
+
} from './runtime-superpowers-parity-scorecard.mjs';
|
|
14
|
+
|
|
15
|
+
function printList(title, items) {
|
|
16
|
+
if (!items || items.length === 0) return;
|
|
17
|
+
console.log(`${title}:`);
|
|
18
|
+
for (const item of items) {
|
|
19
|
+
console.log(`- ${item}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function superpowersParityScorecardEnvelope(root, { comparisonFile = '', entryDisciplineFile = '', installExperienceFile = '', upgradesFile = '' } = {}) {
|
|
24
|
+
ensureRoot(root);
|
|
25
|
+
if (!comparisonFile) throw new Error('governance --superpowers-parity-scorecard requires --from-comparison <local-comparison-json>');
|
|
26
|
+
if (!entryDisciplineFile) throw new Error('governance --superpowers-parity-scorecard requires --from-entry-discipline <local-discipline-json>');
|
|
27
|
+
if (!installExperienceFile) throw new Error('governance --superpowers-parity-scorecard requires --from-install-experience <local-install-json>');
|
|
28
|
+
if (!upgradesFile) throw new Error('governance --superpowers-parity-scorecard requires --from-upgrades <local-upgrades-json>');
|
|
29
|
+
const comparisonInput = localJsonFileWithinRoot(root, comparisonFile, 'governance --superpowers-parity-scorecard --from-comparison');
|
|
30
|
+
const entryDisciplineInput = localJsonFileWithinRoot(root, entryDisciplineFile, 'governance --superpowers-parity-scorecard --from-entry-discipline');
|
|
31
|
+
const installInput = localJsonFileWithinRoot(root, installExperienceFile, 'governance --superpowers-parity-scorecard --from-install-experience');
|
|
32
|
+
const upgradesInput = localJsonFileWithinRoot(root, upgradesFile, 'governance --superpowers-parity-scorecard --from-upgrades');
|
|
33
|
+
const base = runtimeSuperpowersParityScorecard({
|
|
34
|
+
comparison: comparisonInput.data,
|
|
35
|
+
entryDiscipline: entryDisciplineInput.data,
|
|
36
|
+
installExperience: installInput.data,
|
|
37
|
+
upgrades: upgradesInput.data,
|
|
38
|
+
source: {
|
|
39
|
+
comparison_file: comparisonInput.relative,
|
|
40
|
+
comparison_digest: comparisonInput.digest,
|
|
41
|
+
entry_discipline_file: entryDisciplineInput.relative,
|
|
42
|
+
entry_discipline_digest: entryDisciplineInput.digest,
|
|
43
|
+
install_experience_file: installInput.relative,
|
|
44
|
+
install_experience_digest: installInput.digest,
|
|
45
|
+
upgrades_file: upgradesInput.relative,
|
|
46
|
+
upgrades_digest: upgradesInput.digest,
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
const scorecard = {
|
|
50
|
+
...base,
|
|
51
|
+
parity_digest: digestSuperpowersParityScorecard(runtimeSuperpowersParityScorecardDigestPayload(base)),
|
|
52
|
+
};
|
|
53
|
+
return readonlyLocalJsonEnvelope(root, {
|
|
54
|
+
mode: 'superpowers-parity-scorecard-v2',
|
|
55
|
+
ok: scorecard.ok,
|
|
56
|
+
payloadKey: 'superpowers_parity_scorecard',
|
|
57
|
+
payload: scorecard,
|
|
58
|
+
safety: { stage: 'Stage 140', ...scorecard.boundary_assertions },
|
|
59
|
+
quality: scorecard.parity_invariants.findings,
|
|
60
|
+
action: 'Superpowers parity scorecard was computed read-only from local Stage 133 comparison JSON, local Stage 135 entry discipline JSON, local Stage 137 install experience JSON, and local Stage 139 upgrade prioritizer JSON. It only explains absorbed advantages, remaining gaps, do-not-cross boundaries, and the next-cycle bet; no scorecard artifact, state directory, sidecar, command, check, smoke, test, eval, agent session, workflow skill execution, runtime action, repair, prompt mutation, hook registration, full skill injection, git, commit, push, PR, merge, platform API, external network, model, MCP, subagent, worktree, or business source write occurred.',
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function printSuperpowersParityScorecard(envelope) {
|
|
65
|
+
const scorecard = envelope.superpowers_parity_scorecard;
|
|
66
|
+
console.log('Vibecoding Runtime Superpowers Parity Scorecard v2');
|
|
67
|
+
console.log(`Stage: ${scorecard.stage}; Kind: ${scorecard.scorecard_kind}; pass=${scorecard.ok}`);
|
|
68
|
+
console.log(`Inputs: comparison=${scorecard.input_summary.comparison_stage}; entry=${scorecard.input_summary.entry_discipline_stage}; install=${scorecard.input_summary.install_experience_stage}; upgrades=${scorecard.input_summary.upgrades_stage}`);
|
|
69
|
+
console.log(`Parity score: ${scorecard.parity_score}`);
|
|
70
|
+
for (const axis of scorecard.parity_axes) console.log(`- ${axis.id}: score=${axis.axis_score}; status=${axis.status}; source=${axis.evidence_source}`);
|
|
71
|
+
printList('Vibecoding leads', scorecard.vibecoding_leads.map((item) => `${item.id}: ${item.evidence}`));
|
|
72
|
+
printList('Remaining gaps', scorecard.remaining_gaps.map((item) => `${item.axis_id}: score=${item.axis_score}; ${item.next_action}`));
|
|
73
|
+
printList('Do not cross boundaries', scorecard.do_not_cross_boundaries.map((item) => `${item.id}: ${item.boundary}`));
|
|
74
|
+
console.log(`Next cycle bet: ${scorecard.next_cycle_bet.target_stage}; ${scorecard.next_cycle_bet.candidate_id}; weakest_axis=${scorecard.next_cycle_bet.weakest_axis}`);
|
|
75
|
+
console.log('Boundary: writes=false; parity_scorecard_artifact=false; scorecard_artifact=false; comparison_artifact=false; entry_discipline_artifact=false; install_experience_artifact=false; upgrades_artifact=false; source_write=false; sidecar_write=false; state_directory_created=false; command_execution=false; check_execution=false; smoke_execution=false; test_execution=false; eval_execution=false; agent_session_execution=false; verification_execution=false; workflow_execution=false; skill_execution=false; runtime_action=false; auto_execution=false; repair_execution=false; prompt_mutation=false; hook_registration=false; full_skill_injection=false; dynamic_tool_execution=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');
|
|
76
|
+
console.log(`Parity digest: ${scorecard.parity_digest}`);
|
|
77
|
+
if (envelope.quality.length > 0) printList('Findings', envelope.quality);
|
|
78
|
+
console.log(`Action: ${envelope.action}`);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function runSuperpowersParityScorecardCommand(options, deps) {
|
|
82
|
+
if (options.governanceReport) throw new Error('governance --superpowers-parity-scorecard does not accept --report');
|
|
83
|
+
if (options.confirm || options.dryRun || options.write || options.preflight || options.dispatch || options.dispatchIntent || options.scan || options.once || options.run || options.autoRun || options.fromDispatch || options.dispatchEvent || options.actor || options.approval) throw new Error('governance --superpowers-parity-scorecard is read-only and scorecard-only');
|
|
84
|
+
if (!options.fromComparison) throw new Error('governance --superpowers-parity-scorecard requires --from-comparison <local-comparison-json>');
|
|
85
|
+
if (!options.fromEntryDiscipline) throw new Error('governance --superpowers-parity-scorecard requires --from-entry-discipline <local-discipline-json>');
|
|
86
|
+
if (!options.fromInstallExperience) throw new Error('governance --superpowers-parity-scorecard requires --from-install-experience <local-install-json>');
|
|
87
|
+
if (!options.fromUpgrades) throw new Error('governance --superpowers-parity-scorecard requires --from-upgrades <local-upgrades-json>');
|
|
88
|
+
if (options.fromFile || options.fromSuperpowers || options.fromReadiness || options.fromFriction || options.fromConsole || options.fromTokenBudget || options.fromLearningPattern || options.fromRunbook || options.fromEvidence || options.fromExecutablePlan || options.fromPlan || options.fromBootstrapMatrix || options.fromEntryAcceptance || options.fromDashboard || options.selectedStage || options.task || options.commitSubject || options.confirmPlan || options.methodologyIntent || options.methodologyKind || options.learningObservationFiles.length > 0 || options.learningInstinctFile || options.tokenCompactionFiles.length > 0 || options.prompt) throw new Error('governance --superpowers-parity-scorecard only accepts --from-comparison, --from-entry-discipline, --from-install-experience, --from-upgrades, --json, and --root');
|
|
89
|
+
const envelope = superpowersParityScorecardEnvelope(options.root, {
|
|
90
|
+
comparisonFile: options.fromComparison,
|
|
91
|
+
entryDisciplineFile: options.fromEntryDiscipline,
|
|
92
|
+
installExperienceFile: options.fromInstallExperience,
|
|
93
|
+
upgradesFile: options.fromUpgrades,
|
|
94
|
+
});
|
|
95
|
+
emitReadonlyLocalJsonOutput({
|
|
96
|
+
deps,
|
|
97
|
+
options,
|
|
98
|
+
channel: 'governance',
|
|
99
|
+
envelope,
|
|
100
|
+
print: printSuperpowersParityScorecard,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
const VIBE_GUIDED_PROFILE = 'vibe-guided';
|
|
2
|
+
const LEGACY_DEFAULT_PROFILE = 'default';
|
|
3
|
+
const SUPERPOWERS_PARITY_PROFILE = 'superpowers-parity';
|
|
4
|
+
|
|
5
|
+
const PROFILE_NAMES = Object.freeze([VIBE_GUIDED_PROFILE, SUPERPOWERS_PARITY_PROFILE]);
|
|
6
|
+
const COMPATIBLE_PROFILE_NAMES = Object.freeze([VIBE_GUIDED_PROFILE, LEGACY_DEFAULT_PROFILE, SUPERPOWERS_PARITY_PROFILE]);
|
|
7
|
+
|
|
8
|
+
const PROFILE_POLICIES = Object.freeze({
|
|
9
|
+
[VIBE_GUIDED_PROFILE]: Object.freeze({
|
|
10
|
+
entry_discipline: 'lightweight-routing',
|
|
11
|
+
skill_first: false,
|
|
12
|
+
continuous_next_gate: false,
|
|
13
|
+
handoff_pressure: 'as-needed',
|
|
14
|
+
evidence_pressure: 'minimum-necessary',
|
|
15
|
+
manual_progression: true,
|
|
16
|
+
}),
|
|
17
|
+
[SUPERPOWERS_PARITY_PROFILE]: Object.freeze({
|
|
18
|
+
entry_discipline: 'skill-first-visible-routing',
|
|
19
|
+
skill_first: true,
|
|
20
|
+
continuous_next_gate: true,
|
|
21
|
+
handoff_pressure: 'plan-brief-review-evidence',
|
|
22
|
+
evidence_pressure: 'strategy-before-change-and-proof-before-closeout',
|
|
23
|
+
manual_progression: true,
|
|
24
|
+
}),
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const FORBIDDEN_ACTIONS = Object.freeze([
|
|
28
|
+
'hidden workflow execution',
|
|
29
|
+
'real subagent session creation',
|
|
30
|
+
'platform API access',
|
|
31
|
+
'business source write without explicit scoped permission',
|
|
32
|
+
'git worktree mutation',
|
|
33
|
+
'commit, push, PR, or merge',
|
|
34
|
+
'external network or model call',
|
|
35
|
+
]);
|
|
36
|
+
|
|
37
|
+
const BOUNDARY_ASSERTIONS = Object.freeze({
|
|
38
|
+
writes: false,
|
|
39
|
+
state_directory_created: false,
|
|
40
|
+
profile_artifact: false,
|
|
41
|
+
workflow_execution: false,
|
|
42
|
+
skill_execution: false,
|
|
43
|
+
command_execution: false,
|
|
44
|
+
runtime_action: false,
|
|
45
|
+
auto_execution: false,
|
|
46
|
+
sidecar_write: false,
|
|
47
|
+
source_write: false,
|
|
48
|
+
business_source_write: false,
|
|
49
|
+
git: false,
|
|
50
|
+
git_write: false,
|
|
51
|
+
worktree: false,
|
|
52
|
+
commit: false,
|
|
53
|
+
pr: false,
|
|
54
|
+
push: false,
|
|
55
|
+
merge: false,
|
|
56
|
+
platform_api: false,
|
|
57
|
+
external_network: false,
|
|
58
|
+
model_invocation: false,
|
|
59
|
+
subagent: false,
|
|
60
|
+
mcp: false,
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
export function vibeGuidedProfileName() {
|
|
64
|
+
return VIBE_GUIDED_PROFILE;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function legacyDefaultProfileName() {
|
|
68
|
+
return LEGACY_DEFAULT_PROFILE;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function normalizeSuperpowersParityProfileName(profile = VIBE_GUIDED_PROFILE) {
|
|
72
|
+
if (profile === SUPERPOWERS_PARITY_PROFILE) return SUPERPOWERS_PARITY_PROFILE;
|
|
73
|
+
return VIBE_GUIDED_PROFILE;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function compatibleSuperpowersParityProfileNames() {
|
|
77
|
+
return [...COMPATIBLE_PROFILE_NAMES];
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export function agentBehaviorForbiddenActions() {
|
|
81
|
+
return [...FORBIDDEN_ACTIONS];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function agentBehaviorBoundaryAssertions() {
|
|
85
|
+
return { ...BOUNDARY_ASSERTIONS };
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export function superpowersParityProfileBoundaryAssertions() {
|
|
89
|
+
return agentBehaviorBoundaryAssertions();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export function buildSuperpowersParitySkillFirstReceiptModel({
|
|
93
|
+
profile = VIBE_GUIDED_PROFILE,
|
|
94
|
+
selectedSkill = '',
|
|
95
|
+
routeReason = '',
|
|
96
|
+
nextGate = '',
|
|
97
|
+
mustNotDoYet = [],
|
|
98
|
+
digestObject,
|
|
99
|
+
} = {}) {
|
|
100
|
+
const normalizedProfile = normalizeSuperpowersParityProfileName(profile);
|
|
101
|
+
const summary = {
|
|
102
|
+
version: 1,
|
|
103
|
+
profile: normalizedProfile,
|
|
104
|
+
receipt_kind: normalizedProfile === SUPERPOWERS_PARITY_PROFILE ? 'skill-first-visible-receipt' : 'lightweight-visible-receipt',
|
|
105
|
+
selected_skill: selectedSkill || 'using-vibecoding',
|
|
106
|
+
route_reason: routeReason || (normalizedProfile === SUPERPOWERS_PARITY_PROFILE
|
|
107
|
+
? 'superpowers-parity requires visible using-vibecoding routing before implementation.'
|
|
108
|
+
: 'vibe-guided keeps lightweight using-vibecoding routing.'),
|
|
109
|
+
next_gate: nextGate || 'manual workflow judgment',
|
|
110
|
+
must_not_do_yet: mustNotDoYet.length > 0 ? mustNotDoYet : FORBIDDEN_ACTIONS,
|
|
111
|
+
skill_execution_claimed: false,
|
|
112
|
+
workflow_execution_claimed: false,
|
|
113
|
+
boundary_assertions: superpowersParityProfileBoundaryAssertions(),
|
|
114
|
+
writes: false,
|
|
115
|
+
local_only: true,
|
|
116
|
+
deterministic: true,
|
|
117
|
+
};
|
|
118
|
+
return {
|
|
119
|
+
...summary,
|
|
120
|
+
receipt_digest: typeof digestObject === 'function' ? digestObject(summary) : '',
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export function buildSuperpowersParityWorkflowStartProfileSummary({
|
|
125
|
+
profile = VIBE_GUIDED_PROFILE,
|
|
126
|
+
selectedSkill = '',
|
|
127
|
+
routeReason = '',
|
|
128
|
+
nextGate = '',
|
|
129
|
+
digestObject,
|
|
130
|
+
} = {}) {
|
|
131
|
+
const normalizedProfile = normalizeSuperpowersParityProfileName(profile);
|
|
132
|
+
if (normalizedProfile !== SUPERPOWERS_PARITY_PROFILE) return null;
|
|
133
|
+
const profileContract = buildSuperpowersParityProfileContractModel({ profile: normalizedProfile, digestObject });
|
|
134
|
+
const skillFirstReceipt = buildSuperpowersParitySkillFirstReceiptModel({
|
|
135
|
+
profile: normalizedProfile,
|
|
136
|
+
selectedSkill,
|
|
137
|
+
routeReason,
|
|
138
|
+
nextGate,
|
|
139
|
+
mustNotDoYet: ['do not claim the skill was executed by this receipt', ...profileContract.forbidden_actions],
|
|
140
|
+
digestObject,
|
|
141
|
+
});
|
|
142
|
+
return {
|
|
143
|
+
profile: profileContract.profile,
|
|
144
|
+
policy: profileContract.policy,
|
|
145
|
+
approval_required_before: profileContract.approval_required_before,
|
|
146
|
+
forbidden_actions: profileContract.forbidden_actions,
|
|
147
|
+
skill_first_receipt: {
|
|
148
|
+
selected_skill: skillFirstReceipt.selected_skill,
|
|
149
|
+
route_reason: skillFirstReceipt.route_reason,
|
|
150
|
+
next_gate: skillFirstReceipt.next_gate,
|
|
151
|
+
must_not_do_yet: skillFirstReceipt.must_not_do_yet,
|
|
152
|
+
skill_execution_claimed: skillFirstReceipt.skill_execution_claimed,
|
|
153
|
+
workflow_execution_claimed: skillFirstReceipt.workflow_execution_claimed,
|
|
154
|
+
receipt_digest: skillFirstReceipt.receipt_digest,
|
|
155
|
+
},
|
|
156
|
+
profile_digest: profileContract.profile_digest,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export function buildSuperpowersParityProfileContractModel({ profile = VIBE_GUIDED_PROFILE, digestObject } = {}) {
|
|
161
|
+
const normalizedProfile = normalizeSuperpowersParityProfileName(profile);
|
|
162
|
+
const policy = PROFILE_POLICIES[normalizedProfile];
|
|
163
|
+
const summary = {
|
|
164
|
+
version: 1,
|
|
165
|
+
profile: normalizedProfile,
|
|
166
|
+
known_profiles: PROFILE_NAMES,
|
|
167
|
+
compatible_profile_aliases: { [LEGACY_DEFAULT_PROFILE]: VIBE_GUIDED_PROFILE },
|
|
168
|
+
policy,
|
|
169
|
+
forbidden_actions: FORBIDDEN_ACTIONS,
|
|
170
|
+
approval_required_before: ['subagent', 'source_write', 'git_write', 'platform_api'],
|
|
171
|
+
vibe_guided_profile_selected: normalizedProfile === VIBE_GUIDED_PROFILE,
|
|
172
|
+
default_profile_remains_lightweight: normalizedProfile === VIBE_GUIDED_PROFILE,
|
|
173
|
+
parity_profile_selected: normalizedProfile === SUPERPOWERS_PARITY_PROFILE,
|
|
174
|
+
boundary_assertions: superpowersParityProfileBoundaryAssertions(),
|
|
175
|
+
writes: false,
|
|
176
|
+
local_only: true,
|
|
177
|
+
deterministic: true,
|
|
178
|
+
};
|
|
179
|
+
return {
|
|
180
|
+
...summary,
|
|
181
|
+
profile_digest: typeof digestObject === 'function' ? digestObject(summary) : '',
|
|
182
|
+
};
|
|
183
|
+
}
|