@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.
Files changed (619) hide show
  1. package/AGENTS.md +84 -0
  2. package/CHANGELOG.md +28 -0
  3. package/CLAUDE.md +137 -0
  4. package/CODE_OF_CONDUCT.md +30 -0
  5. package/CONTRIBUTING.md +69 -0
  6. package/LICENSE +67 -0
  7. package/README.md +162 -0
  8. package/SECURITY.md +34 -0
  9. package/adapters/claude/install.md +70 -0
  10. package/adapters/claude/plugin.json +38 -0
  11. package/adapters/claude/settings.example.json +15 -0
  12. package/adapters/codex/hooks.example.json +15 -0
  13. package/adapters/codex/install.md +72 -0
  14. package/adapters/codex/plugin.json +58 -0
  15. package/adapters/cursor/hooks.example.json +17 -0
  16. package/adapters/cursor/install.md +72 -0
  17. package/adapters/cursor/plugin.json +42 -0
  18. package/adapters/opencode/install.md +95 -0
  19. package/adapters/opencode/plugin.js +56 -0
  20. package/adapters/opencode/plugin.json +58 -0
  21. package/adapters/pi/extension.ts +56 -0
  22. package/adapters/pi/install.md +95 -0
  23. package/adapters/pi/plugin.json +58 -0
  24. package/bin/vibe-cli-usage.mjs +43 -0
  25. package/bin/vibe.mjs +120 -0
  26. package/docs/acceptance-checklist.md +1226 -0
  27. package/docs/architecture-debt-burndown.md +537 -0
  28. package/docs/architecture.md +77 -0
  29. package/docs/ci-evidence-onboarding.md +143 -0
  30. package/docs/development.md +71 -0
  31. package/docs/evidence-authoring.md +188 -0
  32. package/docs/golden-path.md +179 -0
  33. package/docs/install-acceptance-checklist.md +90 -0
  34. package/docs/install-claude.md +41 -0
  35. package/docs/install-codex.md +41 -0
  36. package/docs/install-cursor.md +41 -0
  37. package/docs/install-experience-roadmap.md +394 -0
  38. package/docs/install.md +119 -0
  39. package/docs/maintainer-guide.md +197 -0
  40. package/docs/phase-1-implementation.md +848 -0
  41. package/docs/phase-2-roadmap.md +142 -0
  42. package/docs/quick-recipes.md +115 -0
  43. package/docs/readiness-interpretation.md +105 -0
  44. package/docs/readiness-troubleshooting.md +209 -0
  45. package/docs/release-check-reference.md +63 -0
  46. package/docs/release-guide.md +481 -0
  47. package/docs/release-notes.md +75 -0
  48. package/docs/runtime-contract.md +1010 -0
  49. package/docs/runtime-maintainer-validation.md +212 -0
  50. package/docs/runtime-roadmap.md +2265 -0
  51. package/docs/skill-authoring-guide.md +150 -0
  52. package/docs/submodule-guide.md +131 -0
  53. package/docs/team-adoption.md +113 -0
  54. package/docs/user-guide.md +108 -0
  55. package/docs/vibecoding-fork-analysis.md +398 -0
  56. package/docs/workflow-chaining.md +539 -0
  57. package/examples/ci/README.md +61 -0
  58. package/examples/ci/ci-evidence-input.example.json +56 -0
  59. package/examples/ci/generate-diff-coverage.mjs +90 -0
  60. package/examples/ci/generate-test-evidence.mjs +82 -0
  61. package/examples/ci/github-actions-readiness.yml +108 -0
  62. package/examples/claude-project/README.md +57 -0
  63. package/examples/codex-project/README.md +57 -0
  64. package/examples/cursor-project/README.md +57 -0
  65. package/examples/full-chain/README.md +63 -0
  66. package/examples/full-chain/architecture-design.md +128 -0
  67. package/examples/full-chain/commit-readiness.json +31 -0
  68. package/examples/full-chain/delivery-traceability.yaml +32 -0
  69. package/examples/full-chain/diff-coverage.json +73 -0
  70. package/examples/full-chain/evidence.json +20 -0
  71. package/examples/full-chain/implementation-plan.md +54 -0
  72. package/examples/full-chain/product-acceptance.md +86 -0
  73. package/examples/full-chain/product-discovery.md +84 -0
  74. package/examples/full-chain/product-spec.md +88 -0
  75. package/examples/full-chain/scenario-acceptance.yaml +32 -0
  76. package/examples/full-chain/test-evidence.json +29 -0
  77. package/examples/full-chain/ui-design-contract.md +87 -0
  78. package/examples/golden-path/README.md +84 -0
  79. package/examples/golden-path/diff-coverage.json +66 -0
  80. package/examples/golden-path/implementation-plan.md +62 -0
  81. package/examples/golden-path/product-spec.md +96 -0
  82. package/examples/golden-path/test-evidence.json +29 -0
  83. package/examples/runtime-fixtures/architecture-design.md +128 -0
  84. package/examples/runtime-fixtures/commit-readiness.json +31 -0
  85. package/examples/runtime-fixtures/delivery-traceability.yaml +32 -0
  86. package/examples/runtime-fixtures/diff-coverage.json +73 -0
  87. package/examples/runtime-fixtures/evidence.json +20 -0
  88. package/examples/runtime-fixtures/implementation-plan.md +54 -0
  89. package/examples/runtime-fixtures/negative/commit-readiness-boundary-escalated.json +27 -0
  90. package/examples/runtime-fixtures/negative/delivery-traceability-bad-ref.yaml +32 -0
  91. package/examples/runtime-fixtures/negative/diff-coverage-changed-file-without-task-ref.json +40 -0
  92. package/examples/runtime-fixtures/negative/diff-coverage-operation-mismatch.json +38 -0
  93. package/examples/runtime-fixtures/negative/diff-coverage-required-task-missing.json +24 -0
  94. package/examples/runtime-fixtures/negative/diff-coverage-unexpected-file.json +20 -0
  95. package/examples/runtime-fixtures/negative/test-evidence-missing-output-digest.json +23 -0
  96. package/examples/runtime-fixtures/negative/test-evidence-risky-task-missing.json +29 -0
  97. package/examples/runtime-fixtures/product-acceptance.md +86 -0
  98. package/examples/runtime-fixtures/product-discovery.md +84 -0
  99. package/examples/runtime-fixtures/product-spec.md +88 -0
  100. package/examples/runtime-fixtures/scenario-acceptance.yaml +32 -0
  101. package/examples/runtime-fixtures/test-evidence.json +29 -0
  102. package/examples/runtime-fixtures/ui-design-contract.md +87 -0
  103. package/hooks/post-tool-compact/README.md +47 -0
  104. package/hooks/session-start/README.md +112 -0
  105. package/hooks/session-start/session-start-state-boundary-contract.mjs +161 -0
  106. package/hooks/session-start/session-start.md +29 -0
  107. package/hooks/session-start/session-start.mjs +49 -0
  108. package/hooks/workflow-handoff/README.md +44 -0
  109. package/hooks/workflow-handoff/workflow-handoff.md +11 -0
  110. package/package.json +72 -0
  111. package/skills/using-vibecoding/SKILL.md +396 -0
  112. package/skills/vibe-brainstorming/SKILL.md +98 -0
  113. package/skills/vibe-context-compact/SKILL.md +95 -0
  114. package/skills/vibe-debugging/SKILL.md +87 -0
  115. package/skills/vibe-dispatching-parallel-work/SKILL.md +144 -0
  116. package/skills/vibe-executing-plans/SKILL.md +114 -0
  117. package/skills/vibe-finishing-a-development-branch/SKILL.md +110 -0
  118. package/skills/vibe-implementation/SKILL.md +84 -0
  119. package/skills/vibe-planning/SKILL.md +102 -0
  120. package/skills/vibe-product-acceptance/SKILL.md +106 -0
  121. package/skills/vibe-product-discovery/SKILL.md +107 -0
  122. package/skills/vibe-product-spec/SKILL.md +105 -0
  123. package/skills/vibe-receiving-code-review/SKILL.md +110 -0
  124. package/skills/vibe-requesting-code-review/SKILL.md +106 -0
  125. package/skills/vibe-review/SKILL.md +106 -0
  126. package/skills/vibe-subagent-driven-development/SKILL.md +198 -0
  127. package/skills/vibe-systematic-debugging/SKILL.md +106 -0
  128. package/skills/vibe-test-driven-development/SKILL.md +112 -0
  129. package/skills/vibe-ui-design/SKILL.md +107 -0
  130. package/skills/vibe-verification/SKILL.md +84 -0
  131. package/skills/vibe-verification-before-completion/SKILL.md +170 -0
  132. package/skills/vibe-workspace-isolation/SKILL.md +158 -0
  133. package/skills/vibe-writing-plans/SKILL.md +137 -0
  134. package/skills/vibe-writing-skills/SKILL.md +118 -0
  135. package/templates/AGENTS.md +88 -0
  136. package/templates/CLAUDE.md +88 -0
  137. package/templates/VIBE-CODING.md +157 -0
  138. package/templates/architecture-design.md +139 -0
  139. package/templates/delivery-traceability.yaml +52 -0
  140. package/templates/evidence/README.md +117 -0
  141. package/templates/evidence/diff-coverage.json +34 -0
  142. package/templates/evidence/test-evidence.json +29 -0
  143. package/templates/implementation-plan.md +73 -0
  144. package/templates/product-acceptance.md +84 -0
  145. package/templates/product-discovery.md +81 -0
  146. package/templates/product-spec.md +84 -0
  147. package/templates/scenario-acceptance.yaml +37 -0
  148. package/templates/ui-design-contract.md +86 -0
  149. package/tools/vibe-architecture-check/README.md +66 -0
  150. package/tools/vibe-architecture-check/index.mjs +691 -0
  151. package/tools/vibe-compact/README.md +65 -0
  152. package/tools/vibe-compact/compact-contract.mjs +63 -0
  153. package/tools/vibe-compact/index.mjs +111 -0
  154. package/tools/vibe-doctor/README.md +200 -0
  155. package/tools/vibe-doctor/index.mjs +1721 -0
  156. package/tools/vibe-init/README.md +231 -0
  157. package/tools/vibe-init/index.mjs +369 -0
  158. package/tools/vibe-init/init-cli-args.mjs +100 -0
  159. package/tools/vibe-init/init-entry-merge-model.mjs +33 -0
  160. package/tools/vibe-init/init-install-manifest-model.mjs +137 -0
  161. package/tools/vibe-init/init-installed-agent-experience-contract.mjs +172 -0
  162. package/tools/vibe-init/init-platform-model.mjs +11 -0
  163. package/tools/vibe-init/init-presentation.mjs +149 -0
  164. package/tools/vibe-lifecycle/README.md +37 -0
  165. package/tools/vibe-lifecycle/index.mjs +365 -0
  166. package/tools/vibe-lifecycle/lifecycle-cli-args.mjs +104 -0
  167. package/tools/vibe-lifecycle/lifecycle-summary-model.mjs +67 -0
  168. package/tools/vibe-lifecycle/lifecycle-uninstall-plan-model.mjs +11 -0
  169. package/tools/vibe-plugin-pack/README.md +105 -0
  170. package/tools/vibe-plugin-pack/index.mjs +302 -0
  171. package/tools/vibe-plugin-pack/plugin-pack-cli.mjs +39 -0
  172. package/tools/vibe-plugin-pack/plugin-pack-manifest.mjs +37 -0
  173. package/tools/vibe-profile/index.mjs +212 -0
  174. package/tools/vibe-release-check/README.md +123 -0
  175. package/tools/vibe-release-check/command-manifest/release-check-base-commands.mjs +23 -0
  176. package/tools/vibe-release-check/command-manifest/release-check-closeout-commands.mjs +16 -0
  177. package/tools/vibe-release-check/command-manifest/release-check-command-metadata.mjs +32 -0
  178. package/tools/vibe-release-check/command-manifest/release-check-completion-commands.mjs +41 -0
  179. package/tools/vibe-release-check/command-manifest/release-check-full-chain-commands.mjs +12 -0
  180. package/tools/vibe-release-check/command-manifest/release-check-golden-path-commands.mjs +12 -0
  181. package/tools/vibe-release-check/command-manifest/release-check-install-commands.mjs +26 -0
  182. package/tools/vibe-release-check/command-manifest/release-check-learning-smoke-commands.mjs +21 -0
  183. package/tools/vibe-release-check/command-manifest/release-check-methodology-commands.mjs +27 -0
  184. package/tools/vibe-release-check/command-manifest/release-check-runtime-smoke-commands.mjs +116 -0
  185. package/tools/vibe-release-check/command-manifest/release-check-token-smoke-commands.mjs +21 -0
  186. package/tools/vibe-release-check/index.mjs +223 -0
  187. package/tools/vibe-release-check/release-check-behavior-smoke.mjs +177 -0
  188. package/tools/vibe-release-check/release-check-cli.mjs +37 -0
  189. package/tools/vibe-release-check/release-check-command-manifest.mjs +49 -0
  190. package/tools/vibe-release-check/release-check-completion-fixtures.mjs +151 -0
  191. package/tools/vibe-release-check/release-check-completion-suite.mjs +110 -0
  192. package/tools/vibe-release-check/release-check-dispatch.mjs +116 -0
  193. package/tools/vibe-release-check/release-check-full-chain-suite.mjs +55 -0
  194. package/tools/vibe-release-check/release-check-golden-path-suite.mjs +85 -0
  195. package/tools/vibe-release-check/release-check-install-marker-specs.mjs +133 -0
  196. package/tools/vibe-release-check/release-check-install-suite.mjs +112 -0
  197. package/tools/vibe-release-check/release-check-json-assertion-helpers.mjs +157 -0
  198. package/tools/vibe-release-check/release-check-json-markers.mjs +33 -0
  199. package/tools/vibe-release-check/release-check-learning-fixture-specs.mjs +199 -0
  200. package/tools/vibe-release-check/release-check-learning-suite.mjs +249 -0
  201. package/tools/vibe-release-check/release-check-live-behavior-smoke-fixture.mjs +406 -0
  202. package/tools/vibe-release-check/release-check-methodology-suite.mjs +108 -0
  203. package/tools/vibe-release-check/release-check-package-boundary-smoke.mjs +111 -0
  204. package/tools/vibe-release-check/release-check-platform-transcript-smoke-fixture.mjs +150 -0
  205. package/tools/vibe-release-check/release-check-readonly-marker-data.mjs +1 -0
  206. package/tools/vibe-release-check/release-check-readonly-marker-smoke-specs.mjs +170 -0
  207. package/tools/vibe-release-check/release-check-run-summary.mjs +67 -0
  208. package/tools/vibe-release-check/release-check-runtime-automation-fixtures.mjs +1 -0
  209. package/tools/vibe-release-check/release-check-runtime-automation-governance-reply-trace-smoke-helpers.mjs +224 -0
  210. package/tools/vibe-release-check/release-check-runtime-automation-governance-smoke-specs.mjs +215 -0
  211. package/tools/vibe-release-check/release-check-runtime-automation-governance-suite.mjs +5 -0
  212. package/tools/vibe-release-check/release-check-runtime-automation-methodology-smoke-specs.mjs +157 -0
  213. package/tools/vibe-release-check/release-check-runtime-automation-methodology-suite.mjs +130 -0
  214. package/tools/vibe-release-check/release-check-runtime-automation-platform-smoke-helpers.mjs +306 -0
  215. package/tools/vibe-release-check/release-check-runtime-automation-platform-suite.mjs +30 -0
  216. package/tools/vibe-release-check/release-check-runtime-automation-smoke-fixtures.mjs +53 -0
  217. package/tools/vibe-release-check/release-check-runtime-automation-source-candidate-smoke-helpers.mjs +506 -0
  218. package/tools/vibe-release-check/release-check-runtime-automation-source-suite.mjs +5 -0
  219. package/tools/vibe-release-check/release-check-runtime-automation-subagents-lifecycle-smoke-helpers.mjs +305 -0
  220. package/tools/vibe-release-check/release-check-runtime-automation-subagents-suite.mjs +25 -0
  221. package/tools/vibe-release-check/release-check-runtime-automation-suite.mjs +25 -0
  222. package/tools/vibe-release-check/release-check-runtime-daemon-bounded-run-smoke-helpers.mjs +243 -0
  223. package/tools/vibe-release-check/release-check-runtime-daemon-suite.mjs +5 -0
  224. package/tools/vibe-release-check/release-check-runtime-dispatch-fixtures.mjs +129 -0
  225. package/tools/vibe-release-check/release-check-runtime-dispatch-suite.mjs +5 -0
  226. package/tools/vibe-release-check/release-check-runtime-execution-approval-smoke-helpers.mjs +274 -0
  227. package/tools/vibe-release-check/release-check-runtime-execution-approval-suite.mjs +5 -0
  228. package/tools/vibe-release-check/release-check-runtime-execution-base-suite.mjs +388 -0
  229. package/tools/vibe-release-check/release-check-runtime-execution-recovery-suite.mjs +412 -0
  230. package/tools/vibe-release-check/release-check-runtime-execution-scheduler-suite.mjs +261 -0
  231. package/tools/vibe-release-check/release-check-runtime-execution-suite.mjs +11 -0
  232. package/tools/vibe-release-check/release-check-runtime-flow-smoke.mjs +347 -0
  233. package/tools/vibe-release-check/release-check-runtime-handoff-fixture-specs.mjs +211 -0
  234. package/tools/vibe-release-check/release-check-runtime-handoff-fixtures.mjs +11 -0
  235. package/tools/vibe-release-check/release-check-runtime-handoff-smoke-specs.mjs +86 -0
  236. package/tools/vibe-release-check/release-check-runtime-handoff-suite.mjs +316 -0
  237. package/tools/vibe-release-check/release-check-runtime-ledger-fixture-specs.mjs +9 -0
  238. package/tools/vibe-release-check/release-check-runtime-ledger-fixtures.mjs +51 -0
  239. package/tools/vibe-release-check/release-check-runtime-ledger-suite.mjs +24 -0
  240. package/tools/vibe-release-check/release-check-runtime-scheduler-fixture-specs.mjs +129 -0
  241. package/tools/vibe-release-check/release-check-runtime-scheduler-fixtures.mjs +10 -0
  242. package/tools/vibe-release-check/release-check-runtime-sdd-suite.mjs +535 -0
  243. package/tools/vibe-release-check/release-check-runtime-smoke-harness.mjs +140 -0
  244. package/tools/vibe-release-check/release-check-runtime-surface-expectations.mjs +106 -0
  245. package/tools/vibe-release-check/release-check-runtime-surface-smoke.mjs +112 -0
  246. package/tools/vibe-release-check/release-check-runtime-task-artifact-suite.mjs +105 -0
  247. package/tools/vibe-release-check/release-check-runtime-task-fixture-specs.mjs +270 -0
  248. package/tools/vibe-release-check/release-check-runtime-task-fixtures.mjs +19 -0
  249. package/tools/vibe-release-check/release-check-runtime.mjs +53 -0
  250. package/tools/vibe-release-check/release-check-stage103-118-fixtures.mjs +214 -0
  251. package/tools/vibe-release-check/release-check-stage103-118-smoke-specs.mjs +97 -0
  252. package/tools/vibe-release-check/release-check-stage103-118-smoke.mjs +861 -0
  253. package/tools/vibe-release-check/release-check-stage11-smoke.mjs +66 -0
  254. package/tools/vibe-release-check/release-check-stage119-120-fixture-specs.mjs +119 -0
  255. package/tools/vibe-release-check/release-check-stage119-120-smoke.mjs +325 -0
  256. package/tools/vibe-release-check/release-check-stage12-smoke.mjs +59 -0
  257. package/tools/vibe-release-check/release-check-stage121-136-fixture-specs.mjs +26 -0
  258. package/tools/vibe-release-check/release-check-stage121-136-fixtures.mjs +591 -0
  259. package/tools/vibe-release-check/release-check-stage121-136-smoke.mjs +917 -0
  260. package/tools/vibe-release-check/release-check-stage13-smoke.mjs +78 -0
  261. package/tools/vibe-release-check/release-check-stage137-140-smoke.mjs +534 -0
  262. package/tools/vibe-release-check/release-check-stage14-smoke.mjs +101 -0
  263. package/tools/vibe-release-check/release-check-stage141-148-smoke.mjs +1143 -0
  264. package/tools/vibe-release-check/release-check-stage15-smoke.mjs +132 -0
  265. package/tools/vibe-release-check/release-check-stage50-53-smoke.mjs +429 -0
  266. package/tools/vibe-release-check/release-check-subagent-adapter-bridge-smoke.mjs +162 -0
  267. package/tools/vibe-release-check/release-check-suite-plan-smoke.mjs +86 -0
  268. package/tools/vibe-release-check/release-check-suites.mjs +164 -0
  269. package/tools/vibe-release-check/release-check-test-run-smoke.mjs +59 -0
  270. package/tools/vibe-release-check/release-check-timing.mjs +98 -0
  271. package/tools/vibe-release-check/release-check-token-suite.mjs +260 -0
  272. package/tools/vibe-release-check/release-check-workflow-entry-suite.mjs +195 -0
  273. package/tools/vibe-release-check/release-check-workflow-governance-fixtures.mjs +138 -0
  274. package/tools/vibe-release-check/release-check-workflow-governance-smoke-suite.mjs +768 -0
  275. package/tools/vibe-release-check/release-check-workflow-ux-smoke.mjs +456 -0
  276. package/tools/vibe-runtime/README.md +2637 -0
  277. package/tools/vibe-runtime/index.mjs +3117 -0
  278. package/tools/vibe-runtime/runtime-adapter-bootstrap-matrix.mjs +264 -0
  279. package/tools/vibe-runtime/runtime-adapter-entry-acceptance.mjs +310 -0
  280. package/tools/vibe-runtime/runtime-adapter-packaging-consistency-command.mjs +131 -0
  281. package/tools/vibe-runtime/runtime-adapter-packaging-consistency.mjs +253 -0
  282. package/tools/vibe-runtime/runtime-advice-hub-model.mjs +175 -0
  283. package/tools/vibe-runtime/runtime-agent-session-start-contract.mjs +138 -0
  284. package/tools/vibe-runtime/runtime-artifact-ref-validation.mjs +281 -0
  285. package/tools/vibe-runtime/runtime-automatic-verification-gate-contract.mjs +134 -0
  286. package/tools/vibe-runtime/runtime-automation-boundary-text.mjs +7 -0
  287. package/tools/vibe-runtime/runtime-automation-command.mjs +367 -0
  288. package/tools/vibe-runtime/runtime-automation-plan-model.mjs +239 -0
  289. package/tools/vibe-runtime/runtime-automation-policy-model.mjs +175 -0
  290. package/tools/vibe-runtime/runtime-automation-readiness.mjs +347 -0
  291. package/tools/vibe-runtime/runtime-autopilot-lab-profile-contract.mjs +223 -0
  292. package/tools/vibe-runtime/runtime-behavioral-evaluation-contract.mjs +529 -0
  293. package/tools/vibe-runtime/runtime-behavioral-negative-gate-matrix.mjs +274 -0
  294. package/tools/vibe-runtime/runtime-bounded-attempt-policy-model.mjs +13 -0
  295. package/tools/vibe-runtime/runtime-bounded-foreground-command-executor-contract.mjs +288 -0
  296. package/tools/vibe-runtime/runtime-capability-registry.mjs +250 -0
  297. package/tools/vibe-runtime/runtime-cli-args.mjs +550 -0
  298. package/tools/vibe-runtime/runtime-cli-command-specs.mjs +63 -0
  299. package/tools/vibe-runtime/runtime-cli-dispatch.mjs +21 -0
  300. package/tools/vibe-runtime/runtime-cli-evidence-option-specs.mjs +193 -0
  301. package/tools/vibe-runtime/runtime-cli-evidence-options.mjs +28 -0
  302. package/tools/vibe-runtime/runtime-cli-from-options.mjs +222 -0
  303. package/tools/vibe-runtime/runtime-cli-low-risk-option-specs.mjs +128 -0
  304. package/tools/vibe-runtime/runtime-cli-main.mjs +32 -0
  305. package/tools/vibe-runtime/runtime-cli-option-default-families.mjs +454 -0
  306. package/tools/vibe-runtime/runtime-cli-option-defaults.mjs +33 -0
  307. package/tools/vibe-runtime/runtime-cli-option-handlers.mjs +82 -0
  308. package/tools/vibe-runtime/runtime-cli-usage.mjs +316 -0
  309. package/tools/vibe-runtime/runtime-cli-value-options.mjs +74 -0
  310. package/tools/vibe-runtime/runtime-close-loop-dashboard.mjs +283 -0
  311. package/tools/vibe-runtime/runtime-closeout-parity-contract.mjs +214 -0
  312. package/tools/vibe-runtime/runtime-command-container.mjs +26 -0
  313. package/tools/vibe-runtime/runtime-command-surface-registry.mjs +383 -0
  314. package/tools/vibe-runtime/runtime-command-wrapper-deps.mjs +13 -0
  315. package/tools/vibe-runtime/runtime-commit-readiness-envelope.mjs +281 -0
  316. package/tools/vibe-runtime/runtime-completion-boundary-text.mjs +7 -0
  317. package/tools/vibe-runtime/runtime-completion-bundle-contract.mjs +71 -0
  318. package/tools/vibe-runtime/runtime-completion-chain-assembly.mjs +48 -0
  319. package/tools/vibe-runtime/runtime-completion-command.mjs +50 -0
  320. package/tools/vibe-runtime/runtime-completion-evidence-bundle.mjs +269 -0
  321. package/tools/vibe-runtime/runtime-completion-evidence-descriptors.mjs +156 -0
  322. package/tools/vibe-runtime/runtime-completion-local-evidence-gates.mjs +164 -0
  323. package/tools/vibe-runtime/runtime-completion-presentation.mjs +71 -0
  324. package/tools/vibe-runtime/runtime-completion-readiness-summary.mjs +159 -0
  325. package/tools/vibe-runtime/runtime-confirmed-one-shot-plan.mjs +300 -0
  326. package/tools/vibe-runtime/runtime-context-budget-entry-defaults-command.mjs +77 -0
  327. package/tools/vibe-runtime/runtime-context-budget-entry-defaults.mjs +341 -0
  328. package/tools/vibe-runtime/runtime-contract-marker-registry.mjs +13 -0
  329. package/tools/vibe-runtime/runtime-contributor-guardrail-command.mjs +78 -0
  330. package/tools/vibe-runtime/runtime-contributor-guardrail-evidence.mjs +319 -0
  331. package/tools/vibe-runtime/runtime-control-plane-command.mjs +237 -0
  332. package/tools/vibe-runtime/runtime-control-plane-evals-artifacts.mjs +123 -0
  333. package/tools/vibe-runtime/runtime-control-plane-evals-boundary-model.mjs +75 -0
  334. package/tools/vibe-runtime/runtime-control-plane-evals-cases.mjs +547 -0
  335. package/tools/vibe-runtime/runtime-control-plane-evals-command.mjs +527 -0
  336. package/tools/vibe-runtime/runtime-control-plane-evals-report-validation.mjs +209 -0
  337. package/tools/vibe-runtime/runtime-control-plane-planner-artifacts.mjs +457 -0
  338. package/tools/vibe-runtime/runtime-control-plane-planning-command.mjs +563 -0
  339. package/tools/vibe-runtime/runtime-control-plane-planning-input.mjs +99 -0
  340. package/tools/vibe-runtime/runtime-control-plane-planning-listing.mjs +48 -0
  341. package/tools/vibe-runtime/runtime-control-plane-planning-presentation.mjs +246 -0
  342. package/tools/vibe-runtime/runtime-control-plane-planning-validation.mjs +529 -0
  343. package/tools/vibe-runtime/runtime-control-plane-readonly-command.mjs +537 -0
  344. package/tools/vibe-runtime/runtime-control-plane-readonly-deps.mjs +146 -0
  345. package/tools/vibe-runtime/runtime-control-plane-release-evidence.mjs +525 -0
  346. package/tools/vibe-runtime/runtime-control-plane-release-gates.mjs +369 -0
  347. package/tools/vibe-runtime/runtime-control-plane-router-planning-model.mjs +152 -0
  348. package/tools/vibe-runtime/runtime-control-plane-routing-artifacts.mjs +588 -0
  349. package/tools/vibe-runtime/runtime-controlled-change-delivery-contract.mjs +165 -0
  350. package/tools/vibe-runtime/runtime-controlled-execution-gate-contract.mjs +141 -0
  351. package/tools/vibe-runtime/runtime-controlled-long-running-automation-contract.mjs +184 -0
  352. package/tools/vibe-runtime/runtime-controlled-subagent-orchestration-contract.mjs +169 -0
  353. package/tools/vibe-runtime/runtime-daemon-command.mjs +166 -0
  354. package/tools/vibe-runtime/runtime-daemon-state-lifecycle-model.mjs +359 -0
  355. package/tools/vibe-runtime/runtime-delivery-methodology-command.mjs +17 -0
  356. package/tools/vibe-runtime/runtime-delivery-methodology-gates.mjs +277 -0
  357. package/tools/vibe-runtime/runtime-diff-coverage-envelope.mjs +301 -0
  358. package/tools/vibe-runtime/runtime-dispatch-command.mjs +484 -0
  359. package/tools/vibe-runtime/runtime-dispatch-readonly-artifacts.mjs +406 -0
  360. package/tools/vibe-runtime/runtime-dispatch-state-lifecycle-model.mjs +199 -0
  361. package/tools/vibe-runtime/runtime-durable-state-recovery-contract.mjs +172 -0
  362. package/tools/vibe-runtime/runtime-entry-advice-model.mjs +201 -0
  363. package/tools/vibe-runtime/runtime-entry-deps-builder.mjs +54 -0
  364. package/tools/vibe-runtime/runtime-entry-presentation.mjs +82 -0
  365. package/tools/vibe-runtime/runtime-entry-summary-model.mjs +343 -0
  366. package/tools/vibe-runtime/runtime-entry-trigger-discipline.mjs +341 -0
  367. package/tools/vibe-runtime/runtime-entry-trigger-tightening-command.mjs +79 -0
  368. package/tools/vibe-runtime/runtime-entry-trigger-tightening.mjs +357 -0
  369. package/tools/vibe-runtime/runtime-eval-catalog-model.mjs +101 -0
  370. package/tools/vibe-runtime/runtime-eval-transcript-fixtures.mjs +218 -0
  371. package/tools/vibe-runtime/runtime-evidence-intake-envelope.mjs +278 -0
  372. package/tools/vibe-runtime/runtime-evidence-repair-model.mjs +180 -0
  373. package/tools/vibe-runtime/runtime-executable-plan-contract.mjs +428 -0
  374. package/tools/vibe-runtime/runtime-execution-approval-lifecycle-models.mjs +278 -0
  375. package/tools/vibe-runtime/runtime-execution-candidate-approval-artifacts.mjs +227 -0
  376. package/tools/vibe-runtime/runtime-execution-command.mjs +544 -0
  377. package/tools/vibe-runtime/runtime-execution-enabled-bridge-model.mjs +113 -0
  378. package/tools/vibe-runtime/runtime-execution-enabled-closeout-boundary.mjs +89 -0
  379. package/tools/vibe-runtime/runtime-execution-enabled-preflight-model.mjs +185 -0
  380. package/tools/vibe-runtime/runtime-execution-enabled-profile-contract.mjs +127 -0
  381. package/tools/vibe-runtime/runtime-execution-enabled-run-envelope.mjs +153 -0
  382. package/tools/vibe-runtime/runtime-execution-evidence-binder.mjs +537 -0
  383. package/tools/vibe-runtime/runtime-execution-plan-artifacts.mjs +136 -0
  384. package/tools/vibe-runtime/runtime-execution-policy-artifacts.mjs +377 -0
  385. package/tools/vibe-runtime/runtime-execution-presentation.mjs +174 -0
  386. package/tools/vibe-runtime/runtime-execution-readonly-artifacts.mjs +228 -0
  387. package/tools/vibe-runtime/runtime-execution-run-preflight-artifacts.mjs +265 -0
  388. package/tools/vibe-runtime/runtime-execution-safety-artifacts.mjs +131 -0
  389. package/tools/vibe-runtime/runtime-execution-state-write-lifecycle-model.mjs +99 -0
  390. package/tools/vibe-runtime/runtime-experience-friction-matrix.mjs +395 -0
  391. package/tools/vibe-runtime/runtime-experience-learning-pattern.mjs +354 -0
  392. package/tools/vibe-runtime/runtime-experience-regression-dashboard.mjs +398 -0
  393. package/tools/vibe-runtime/runtime-experience-upgrade-command.mjs +92 -0
  394. package/tools/vibe-runtime/runtime-experience-upgrade-prioritizer.mjs +451 -0
  395. package/tools/vibe-runtime/runtime-foreground-worker-plan.mjs +275 -0
  396. package/tools/vibe-runtime/runtime-git-diff-read-model.mjs +322 -0
  397. package/tools/vibe-runtime/runtime-governance-attestation.mjs +304 -0
  398. package/tools/vibe-runtime/runtime-governance-command.mjs +609 -0
  399. package/tools/vibe-runtime/runtime-governance-convergence-reports.mjs +601 -0
  400. package/tools/vibe-runtime/runtime-governance-pr-models.mjs +551 -0
  401. package/tools/vibe-runtime/runtime-governance-presentation.mjs +67 -0
  402. package/tools/vibe-runtime/runtime-governance-route-model.mjs +194 -0
  403. package/tools/vibe-runtime/runtime-governance-surface-reports.mjs +495 -0
  404. package/tools/vibe-runtime/runtime-hooks-boundary-model.mjs +356 -0
  405. package/tools/vibe-runtime/runtime-hooks-command.mjs +286 -0
  406. package/tools/vibe-runtime/runtime-human-completion-evidence-model.mjs +220 -0
  407. package/tools/vibe-runtime/runtime-human-friendly-aliases.mjs +250 -0
  408. package/tools/vibe-runtime/runtime-implementation-methodology-command.mjs +17 -0
  409. package/tools/vibe-runtime/runtime-implementation-methodology-gates.mjs +164 -0
  410. package/tools/vibe-runtime/runtime-implementation-task-registry.mjs +334 -0
  411. package/tools/vibe-runtime/runtime-install-experience-command.mjs +120 -0
  412. package/tools/vibe-runtime/runtime-install-experience-score.mjs +334 -0
  413. package/tools/vibe-runtime/runtime-installed-multiround-ux-acceptance.mjs +149 -0
  414. package/tools/vibe-runtime/runtime-interaction-command-domain-registry.mjs +46 -0
  415. package/tools/vibe-runtime/runtime-interaction-command.mjs +648 -0
  416. package/tools/vibe-runtime/runtime-interaction-completion-command.mjs +220 -0
  417. package/tools/vibe-runtime/runtime-interaction-entry-command.mjs +130 -0
  418. package/tools/vibe-runtime/runtime-interaction-workflow-envelopes.mjs +412 -0
  419. package/tools/vibe-runtime/runtime-learning-advice-model.mjs +157 -0
  420. package/tools/vibe-runtime/runtime-learning-artifact-model.mjs +509 -0
  421. package/tools/vibe-runtime/runtime-learning-audit-model.mjs +106 -0
  422. package/tools/vibe-runtime/runtime-learning-interaction-command.mjs +220 -0
  423. package/tools/vibe-runtime/runtime-learning-observation-model.mjs +124 -0
  424. package/tools/vibe-runtime/runtime-learning-presentation.mjs +84 -0
  425. package/tools/vibe-runtime/runtime-learning-run-preview-model.mjs +184 -0
  426. package/tools/vibe-runtime/runtime-lease-command.mjs +95 -0
  427. package/tools/vibe-runtime/runtime-lease-state-lifecycle-model.mjs +247 -0
  428. package/tools/vibe-runtime/runtime-list-presentation.mjs +7 -0
  429. package/tools/vibe-runtime/runtime-live-behavior-transcript-model.mjs +164 -0
  430. package/tools/vibe-runtime/runtime-local-behavior-eval-contracts-command.mjs +76 -0
  431. package/tools/vibe-runtime/runtime-local-behavior-eval-contracts.mjs +382 -0
  432. package/tools/vibe-runtime/runtime-local-commit-automation-gate.mjs +254 -0
  433. package/tools/vibe-runtime/runtime-local-json-input.mjs +32 -0
  434. package/tools/vibe-runtime/runtime-methodology-coverage-map.mjs +398 -0
  435. package/tools/vibe-runtime/runtime-methodology-coverage-marker-specs.mjs +61 -0
  436. package/tools/vibe-runtime/runtime-methodology-coverage-presentation.mjs +26 -0
  437. package/tools/vibe-runtime/runtime-methodology-gate-model.mjs +154 -0
  438. package/tools/vibe-runtime/runtime-methodology-gate-output-envelope.mjs +4 -0
  439. package/tools/vibe-runtime/runtime-methodology-interaction-command.mjs +147 -0
  440. package/tools/vibe-runtime/runtime-methodology-presentation.mjs +76 -0
  441. package/tools/vibe-runtime/runtime-methodology-route-model.mjs +93 -0
  442. package/tools/vibe-runtime/runtime-next-action-console.mjs +388 -0
  443. package/tools/vibe-runtime/runtime-next-action-evidence-prompts-command.mjs +84 -0
  444. package/tools/vibe-runtime/runtime-next-action-evidence-prompts.mjs +327 -0
  445. package/tools/vibe-runtime/runtime-observability-command.mjs +96 -0
  446. package/tools/vibe-runtime/runtime-observability-presentation.mjs +30 -0
  447. package/tools/vibe-runtime/runtime-observability-readiness-model.mjs +204 -0
  448. package/tools/vibe-runtime/runtime-patch-queue-contract.mjs +151 -0
  449. package/tools/vibe-runtime/runtime-plan-action-manifest.mjs +334 -0
  450. package/tools/vibe-runtime/runtime-planner-route-model.mjs +75 -0
  451. package/tools/vibe-runtime/runtime-platform-acceptance-command.mjs +216 -0
  452. package/tools/vibe-runtime/runtime-platform-capability-artifacts.mjs +156 -0
  453. package/tools/vibe-runtime/runtime-platform-capability-model.mjs +105 -0
  454. package/tools/vibe-runtime/runtime-platform-command.mjs +329 -0
  455. package/tools/vibe-runtime/runtime-platform-presentation.mjs +78 -0
  456. package/tools/vibe-runtime/runtime-platform-session-artifacts.mjs +857 -0
  457. package/tools/vibe-runtime/runtime-platform-transcript-example-pack.mjs +293 -0
  458. package/tools/vibe-runtime/runtime-platform-transcript-intake-model.mjs +247 -0
  459. package/tools/vibe-runtime/runtime-platform-transcript-replay-model.mjs +371 -0
  460. package/tools/vibe-runtime/runtime-policy-catalog.mjs +54 -0
  461. package/tools/vibe-runtime/runtime-product-methodology-command.mjs +17 -0
  462. package/tools/vibe-runtime/runtime-product-methodology-gates.mjs +316 -0
  463. package/tools/vibe-runtime/runtime-progressive-entry-ux.mjs +237 -0
  464. package/tools/vibe-runtime/runtime-queue-command.mjs +98 -0
  465. package/tools/vibe-runtime/runtime-queue-state-lifecycle-model.mjs +318 -0
  466. package/tools/vibe-runtime/runtime-readiness-gate-split.mjs +196 -0
  467. package/tools/vibe-runtime/runtime-readonly-local-json-output-envelope.mjs +24 -0
  468. package/tools/vibe-runtime/runtime-recovery-classification-models.mjs +412 -0
  469. package/tools/vibe-runtime/runtime-recovery-command.mjs +107 -0
  470. package/tools/vibe-runtime/runtime-recovery-presentation.mjs +65 -0
  471. package/tools/vibe-runtime/runtime-recovery-state-lifecycle-model.mjs +419 -0
  472. package/tools/vibe-runtime/runtime-release-command-deps.mjs +4 -0
  473. package/tools/vibe-runtime/runtime-release-command.mjs +225 -0
  474. package/tools/vibe-runtime/runtime-release-state-lifecycle-model.mjs +48 -0
  475. package/tools/vibe-runtime/runtime-reply-artifact-lifecycle-model.mjs +84 -0
  476. package/tools/vibe-runtime/runtime-reply-command.mjs +488 -0
  477. package/tools/vibe-runtime/runtime-retry-command.mjs +223 -0
  478. package/tools/vibe-runtime/runtime-retry-run-gate-model.mjs +151 -0
  479. package/tools/vibe-runtime/runtime-review-envelope.mjs +449 -0
  480. package/tools/vibe-runtime/runtime-review-feedback-gate.mjs +160 -0
  481. package/tools/vibe-runtime/runtime-runbook-executor-preview-contract.mjs +361 -0
  482. package/tools/vibe-runtime/runtime-scheduler-command.mjs +8 -0
  483. package/tools/vibe-runtime/runtime-scheduler-risk-artifacts.mjs +775 -0
  484. package/tools/vibe-runtime/runtime-scheduler-state-lifecycle-model.mjs +53 -0
  485. package/tools/vibe-runtime/runtime-sdd-consumption-command.mjs +386 -0
  486. package/tools/vibe-runtime/runtime-sdd-evidence-chain-model.mjs +200 -0
  487. package/tools/vibe-runtime/runtime-sdd-handoff-chain-model.mjs +168 -0
  488. package/tools/vibe-runtime/runtime-sdd-implementer-artifact-model.mjs +90 -0
  489. package/tools/vibe-runtime/runtime-sdd-loop-command.mjs +659 -0
  490. package/tools/vibe-runtime/runtime-sdd-plan-preflight-model.mjs +121 -0
  491. package/tools/vibe-runtime/runtime-sdd-review-package-command.mjs +197 -0
  492. package/tools/vibe-runtime/runtime-sdd-review-package-model.mjs +183 -0
  493. package/tools/vibe-runtime/runtime-sdd-task-brief-model.mjs +144 -0
  494. package/tools/vibe-runtime/runtime-self-test-gate-profile.mjs +225 -0
  495. package/tools/vibe-runtime/runtime-sequential-stage-runbook.mjs +406 -0
  496. package/tools/vibe-runtime/runtime-session-checkpoint-model.mjs +217 -0
  497. package/tools/vibe-runtime/runtime-session-skill-command.mjs +241 -0
  498. package/tools/vibe-runtime/runtime-session-start-example-command.mjs +122 -0
  499. package/tools/vibe-runtime/runtime-session-start-example-pack.mjs +290 -0
  500. package/tools/vibe-runtime/runtime-session-start-shape-acceptance.mjs +344 -0
  501. package/tools/vibe-runtime/runtime-skill-contract-schema.mjs +221 -0
  502. package/tools/vibe-runtime/runtime-skill-route-registry.mjs +47 -0
  503. package/tools/vibe-runtime/runtime-skill-runtime-traceability-map.mjs +268 -0
  504. package/tools/vibe-runtime/runtime-source-merge-apply-boundary-model.mjs +130 -0
  505. package/tools/vibe-runtime/runtime-source-merge-artifacts.mjs +920 -0
  506. package/tools/vibe-runtime/runtime-source-merge-command.mjs +160 -0
  507. package/tools/vibe-runtime/runtime-source-merge-entry-command.mjs +153 -0
  508. package/tools/vibe-runtime/runtime-source-patch-plan-model.mjs +119 -0
  509. package/tools/vibe-runtime/runtime-stage-scriptlet.mjs +430 -0
  510. package/tools/vibe-runtime/runtime-staged-commit-readiness.mjs +469 -0
  511. package/tools/vibe-runtime/runtime-state-directory-model.mjs +7 -0
  512. package/tools/vibe-runtime/runtime-state-io.mjs +41 -0
  513. package/tools/vibe-runtime/runtime-state-paths.mjs +231 -0
  514. package/tools/vibe-runtime/runtime-state-presence-model.mjs +6 -0
  515. package/tools/vibe-runtime/runtime-state-risk-paths.mjs +70 -0
  516. package/tools/vibe-runtime/runtime-subagent-adapter-dispatch-command.mjs +266 -0
  517. package/tools/vibe-runtime/runtime-subagent-boundary-contracts.mjs +118 -0
  518. package/tools/vibe-runtime/runtime-subagent-permission-command.mjs +78 -0
  519. package/tools/vibe-runtime/runtime-subagent-permission-gate-model.mjs +131 -0
  520. package/tools/vibe-runtime/runtime-subagent-permission-visibility.mjs +294 -0
  521. package/tools/vibe-runtime/runtime-subagents-artifact-specs.mjs +257 -0
  522. package/tools/vibe-runtime/runtime-subagents-command.mjs +10 -0
  523. package/tools/vibe-runtime/runtime-subagents-eligibility-model.mjs +340 -0
  524. package/tools/vibe-runtime/runtime-subagents-platform-session-proxies.mjs +54 -0
  525. package/tools/vibe-runtime/runtime-subagents-presentation.mjs +91 -0
  526. package/tools/vibe-runtime/runtime-subagents-risk-artifacts.mjs +853 -0
  527. package/tools/vibe-runtime/runtime-subagents-stage-artifact-model.mjs +538 -0
  528. package/tools/vibe-runtime/runtime-subagents-tail-routing-model.mjs +48 -0
  529. package/tools/vibe-runtime/runtime-suite-plan-model.mjs +194 -0
  530. package/tools/vibe-runtime/runtime-superpowers-comparison-matrix.mjs +399 -0
  531. package/tools/vibe-runtime/runtime-superpowers-gap-matrix.mjs +307 -0
  532. package/tools/vibe-runtime/runtime-superpowers-parity-command.mjs +102 -0
  533. package/tools/vibe-runtime/runtime-superpowers-parity-profile-contract.mjs +183 -0
  534. package/tools/vibe-runtime/runtime-superpowers-parity-scorecard.mjs +460 -0
  535. package/tools/vibe-runtime/runtime-superpowers-regression-guard.mjs +270 -0
  536. package/tools/vibe-runtime/runtime-superpowers-style-eval-pack.mjs +367 -0
  537. package/tools/vibe-runtime/runtime-task-commit-gates.mjs +62 -0
  538. package/tools/vibe-runtime/runtime-task-commit-readiness.mjs +66 -0
  539. package/tools/vibe-runtime/runtime-task-commit-sidecar.mjs +65 -0
  540. package/tools/vibe-runtime/runtime-tdd-trace-contract.mjs +277 -0
  541. package/tools/vibe-runtime/runtime-test-evidence-model.mjs +196 -0
  542. package/tools/vibe-runtime/runtime-test-run-command-deps.mjs +7 -0
  543. package/tools/vibe-runtime/runtime-test-run-command.mjs +108 -0
  544. package/tools/vibe-runtime/runtime-token-economy-model.mjs +336 -0
  545. package/tools/vibe-runtime/runtime-token-interaction-command.mjs +381 -0
  546. package/tools/vibe-runtime/runtime-token-savior-budget.mjs +370 -0
  547. package/tools/vibe-runtime/runtime-tokens-command-deps.mjs +17 -0
  548. package/tools/vibe-runtime/runtime-tokens-command.mjs +117 -0
  549. package/tools/vibe-runtime/runtime-tokens-presentation.mjs +45 -0
  550. package/tools/vibe-runtime/runtime-trace-command.mjs +283 -0
  551. package/tools/vibe-runtime/runtime-trace-source-registry.mjs +132 -0
  552. package/tools/vibe-runtime/runtime-verification-gate-chain-model.mjs +131 -0
  553. package/tools/vibe-runtime/runtime-verification-repair-loop-plan.mjs +188 -0
  554. package/tools/vibe-runtime/runtime-workflow-alias-boundary-text.mjs +7 -0
  555. package/tools/vibe-runtime/runtime-workflow-alias-interaction-command.mjs +145 -0
  556. package/tools/vibe-runtime/runtime-workflow-command-deps.mjs +41 -0
  557. package/tools/vibe-runtime/runtime-workflow-command.mjs +191 -0
  558. package/tools/vibe-runtime/runtime-workflow-discipline-summary.mjs +164 -0
  559. package/tools/vibe-runtime/runtime-workflow-entry-envelopes.mjs +156 -0
  560. package/tools/vibe-runtime/runtime-workflow-ledger-command.mjs +239 -0
  561. package/tools/vibe-runtime/runtime-workflow-ledger-state-lifecycle-model.mjs +46 -0
  562. package/tools/vibe-runtime/runtime-workflow-loop-contract.mjs +259 -0
  563. package/tools/vibe-runtime/runtime-workflow-next-step-gate-model.mjs +106 -0
  564. package/tools/vibe-runtime/runtime-workflow-presentation.mjs +355 -0
  565. package/tools/vibe-runtime/runtime-workflow-readiness-model.mjs +176 -0
  566. package/tools/vibe-runtime/runtime-workflow-run-plan-model.mjs +207 -0
  567. package/tools/vibe-runtime/runtime-workflow-start-model.mjs +229 -0
  568. package/tools/vibe-runtime/runtime-workflow-state-artifacts.mjs +381 -0
  569. package/tools/vibe-runtime/runtime-workflow-state-helpers.mjs +456 -0
  570. package/tools/vibe-runtime/runtime-workflow-state-summary.mjs +65 -0
  571. package/tools/vibe-runtime/runtime-workflow-state-validation.mjs +104 -0
  572. package/tools/vibe-runtime/runtime-workflow-ux-model.mjs +205 -0
  573. package/tools/vibe-runtime/runtime-workspace-boundary-text.mjs +7 -0
  574. package/tools/vibe-runtime/runtime-workspace-isolation-command.mjs +295 -0
  575. package/tools/vibe-runtime/state-core-paths.mjs +113 -0
  576. package/tools/vibe-runtime/state-extension-paths.mjs +198 -0
  577. package/tools/vibe-runtime/state-safe-paths.mjs +2 -0
  578. package/tools/vibe-runtime-check/README.md +110 -0
  579. package/tools/vibe-runtime-check/architecture-tool-contracts.mjs +150 -0
  580. package/tools/vibe-runtime-check/index.mjs +186 -0
  581. package/tools/vibe-runtime-check/install-summary-adoption-contracts.mjs +115 -0
  582. package/tools/vibe-runtime-check/marker-contract-core.mjs +20 -0
  583. package/tools/vibe-runtime-check/product-artifact-contracts.mjs +24 -0
  584. package/tools/vibe-runtime-check/release-check-install-placement-contracts.mjs +166 -0
  585. package/tools/vibe-runtime-check/release-runtime-suite-layer-contracts.mjs +137 -0
  586. package/tools/vibe-runtime-check/runtime-architecture-manifest-drift-contracts.mjs +128 -0
  587. package/tools/vibe-runtime-check/runtime-automation-readiness-contracts.mjs +404 -0
  588. package/tools/vibe-runtime-check/runtime-capability-registry-contracts.mjs +299 -0
  589. package/tools/vibe-runtime-check/runtime-check-diagnostics-presentation.mjs +71 -0
  590. package/tools/vibe-runtime-check/runtime-cli-surface-contracts.mjs +156 -0
  591. package/tools/vibe-runtime-check/runtime-close-loop-contracts.mjs +163 -0
  592. package/tools/vibe-runtime-check/runtime-contract-delivery-registry.mjs +19 -0
  593. package/tools/vibe-runtime-check/runtime-contract-implementation-registry.mjs +23 -0
  594. package/tools/vibe-runtime-check/runtime-contract-local-evidence-registry.mjs +43 -0
  595. package/tools/vibe-runtime-check/runtime-contract-product-registry.mjs +83 -0
  596. package/tools/vibe-runtime-check/runtime-contract-registry.mjs +19 -0
  597. package/tools/vibe-runtime-check/runtime-control-plane-contracts.mjs +14 -0
  598. package/tools/vibe-runtime-check/runtime-doc-contract-marker-specs.mjs +349 -0
  599. package/tools/vibe-runtime-check/runtime-doc-contracts.mjs +24 -0
  600. package/tools/vibe-runtime-check/runtime-doc-marker-contracts.mjs +25 -0
  601. package/tools/vibe-runtime-check/runtime-entry-size-contracts.mjs +477 -0
  602. package/tools/vibe-runtime-check/runtime-experience-cli-contract-specs.mjs +98 -0
  603. package/tools/vibe-runtime-check/runtime-experience-cli-contracts.mjs +12 -0
  604. package/tools/vibe-runtime-check/runtime-experience-contracts.mjs +187 -0
  605. package/tools/vibe-runtime-check/runtime-governance-learning-token-contract-specs.mjs +92 -0
  606. package/tools/vibe-runtime-check/runtime-governance-learning-token-contracts.mjs +12 -0
  607. package/tools/vibe-runtime-check/runtime-high-risk-boundary-contracts.mjs +35 -0
  608. package/tools/vibe-runtime-check/runtime-high-risk-boundary-matrix.mjs +75 -0
  609. package/tools/vibe-runtime-check/runtime-index-import-boundary-contracts.mjs +192 -0
  610. package/tools/vibe-runtime-check/runtime-optimization-boundary-contracts.mjs +49 -0
  611. package/tools/vibe-runtime-check/runtime-pure-model-boundary-contracts.mjs +176 -0
  612. package/tools/vibe-runtime-check/runtime-release-closeout-contracts.mjs +25 -0
  613. package/tools/vibe-runtime-check/runtime-roadmap-marker-specs.mjs +559 -0
  614. package/tools/vibe-runtime-check/runtime-source-bundle.mjs +119 -0
  615. package/tools/vibe-runtime-check/runtime-tool-readme-contracts.mjs +93 -0
  616. package/tools/vibe-runtime-check/runtime-tool-readme-marker-specs.mjs +952 -0
  617. package/tools/vibe-runtime-check/workflow-skill-contracts.mjs +129 -0
  618. package/tools/vibe-runtime-check/workflow-skill-route-registry-contracts.mjs +106 -0
  619. package/tools/vibe-runtime-check/workflow-ux-contracts.mjs +46 -0
@@ -0,0 +1,2637 @@
1
+ # Vibe Runtime
2
+
3
+ `vibe-runtime` 是显式 workflow state ledger 工具。
4
+
5
+ 它把 `Workflow Handoff` 记录到本地 `.vibecoding-state/`,用于查看当前 workflow 状态和 dry-run 下一步建议。
6
+
7
+ ## First 10 minutes safe path
8
+
9
+ 新用户优先走只读路径,先理解 profile 和证据入口,再决定是否启用更强边界:
10
+
11
+ ```bash
12
+ node bin/vibe.mjs profile --root <project-root> --show
13
+ node bin/vibe.mjs profile --root <project-root> --explain
14
+ node tools/vibe-runtime/index.mjs workflow --start --prompt "<request>" --json --root <project-root>
15
+ node tools/vibe-runtime/index.mjs session --start --prompt "<request>" --json --root <project-root>
16
+ node tools/vibe-runtime/index.mjs session --checkpoint --prompt "<request>" --json --root <project-root>
17
+ node tools/vibe-runtime/index.mjs session --handoff --prompt "<request>" --json --root <project-root>
18
+ node tools/vibe-runtime/index.mjs session --resume --from-file <local-session-checkpoint-json> --json --root <project-root>
19
+ node tools/vibe-runtime/index.mjs session --close --from-file <local-completion-evidence-file> --json --root <project-root>
20
+ node tools/vibe-runtime/index.mjs readiness --gates --from-file <local-evidence-file> --json --root <project-root>
21
+ node tools/vibe-runtime/index.mjs skill --select --intent <implementation|review|completion|debug|plan|unknown> --json --root <project-root>
22
+ node tools/vibe-runtime/index.mjs automation --readiness --json --root <project-root>
23
+ ```
24
+
25
+ 这条路径的预期边界是 `writes=false`、`state_directory_created=false`、`command_execution=false`、`business_source_write=false`、`git_write=false`、`platform_api=false`、`subagent=false`。如果要复制更多安全 recipe,先读 `docs/quick-recipes.md`;Windows PowerShell 中需要串联命令时,优先使用 `cmd /c "a && b"` 或分步执行。
26
+
27
+ ## Start Here entry summary
28
+
29
+ `workflow --start` 是只读入口判断命令,不创建 `.vibecoding-state/`,不执行 workflow skill,也不调用 subagent、git、平台 API 或外部网络。`session --start` 是同一入口合同的一等只读别名,复用 `workflow --start` 的核心 envelope;`session --checkpoint`、`session --handoff` 和 `session --resume` 是 Stage 23 会话连续性只读合同,用于展示当前 route、selected skill、blocked gates、evidence digest 和下一步人工动作,不执行下一 skill、不写 checkpoint 状态、不启动后台流程;`skill --select` 是 `workflow --receipt` 的一等只读别名,用于只生成可见 skill 选择回执。`session --close` 是收口证据的一等只读别名,复用 `completion --evidence-bundle` 的核心 envelope,输出 `session_close_alias`、`completion_evidence_bundle` 和 Stage 124 human completion evidence bundle 的 digest 绑定;它只提示验证证据、缺口和下一步人工动作,不运行检查、不提交 git、不调用平台或 subagent。`readiness --gates` 是 Stage 24 只读拆分合同,把同一份本地 evidence 分别判断为 `report_done`、`local_commit`、`review_request`、`handoff` 和 `release_candidate`,并保持 `readiness --score` 的 observability score 语义不变;local commit gate 只输出 blocker,不自动 `git add` / `git commit`。
30
+
31
+ Vibecoding Runtime 默认处于 `safe governance mode`:只读检查、本地 evidence envelope、人工确认边界。`legacy-workflow-discipline` 是显式 opt-in profile;它只增强入口纪律、连续 task loop 和本地行为评测,不把 runtime 变成隐藏执行器。
32
+
33
+ ```bash
34
+ node tools/vibe-runtime/index.mjs workflow --start --profile legacy-workflow-discipline --prompt "继续计划" --json
35
+ node tools/vibe-runtime/index.mjs sdd --plan --from-plan <local-plan-json> --profile legacy-workflow-discipline --json
36
+ node tools/vibe-runtime/index.mjs sdd --task-brief --from-plan <local-plan-json> --task <task-id> --profile legacy-workflow-discipline --confirm --json
37
+ node tools/vibe-runtime/index.mjs sdd --review-package --from-plan <local-plan-json> --task <task-id> --base <sha> --head <sha> --profile legacy-workflow-discipline --confirm --json
38
+ node tools/vibe-runtime/index.mjs sdd --run-loop --from-plan <local-plan-json> --profile legacy-workflow-discipline --confirm --json
39
+ node tools/vibe-runtime/index.mjs sdd --evidence-chain --from-plan <local-plan-json> --profile legacy-workflow-discipline --confirm --json
40
+ node tools/vibe-runtime/index.mjs sdd --consume-adapter-result --from-plan <local-plan-json> --from-file <local-adapter-result-json> --profile legacy-workflow-discipline --confirm --json
41
+ node tools/vibe-runtime/index.mjs workspace --isolate-plan --from-plan <local-plan-json> --json
42
+ node tools/vibe-runtime/index.mjs release --task-commit-readiness --from-task-result <local-task-result-json> --profile legacy-workflow-discipline-task-commits --json
43
+ node tools/vibe-runtime/index.mjs release --closeout-readiness --from-file <local-sdd-progress-ledger-json> --from-evidence <local-test-evidence-json> --from-diff-coverage <local-diff-coverage-json> --from-readiness <local-task-commit-readiness-json> --profile legacy-workflow-discipline --json
44
+ node tools/vibe-runtime/index.mjs evals --behavior-contract --from-file <local-transcript-json> --json
45
+ ```
46
+
47
+ 这些 parity surface 只读或写本地 `.vibecoding-state/` sidecar;不真实调用 subagent/model/platform API,不自动创建 git worktree,不自动写业务源码,不执行真实 git commit/push/PR/merge。
48
+
49
+ P63 `p63_legacy_workflow_discipline_expression_v2` 把产品表达收敛为三层 profile 语义:`default` 是 safe governance mode,`legacy-workflow-discipline` 是 opt-in workflow governance/parity mode,`execution-enabled` 是单独的受控本地执行 profile。`legacy-workflow-discipline` 可以增强 workflow receipt、continuous next gate、plan/brief/review handoff 和 behavior/evidence discipline,但固定 `execution_profile=manual`,并保持 `execution_enabled=false`、`subagent=false`、`model_invocation=false`、`platform_api=false`、`git_write=false`、`business_source_write=false`、`hidden_execution=false`。它不得静默叠加 `execution-enabled`,也不得把 parity 解释成自动执行框架。
50
+
51
+ P18 implementer report 合同要求 adapter result 绑定 `.vibecoding-state/sdd/reports/**` 内的 report 文件和 digest。report JSON 必须包含 `task_id`、`brief_digest`、`status`、`commits`、`tests`、`self_review`、`concerns`、`questions`;`status=DONE` 只有在 test summary、self-review 和 review verdict 都 clean 时才允许推进下一 task,`QUESTIONS` / `BLOCKED` 会保留 active task。
52
+
53
+ ```bash
54
+ node tools/vibe-runtime/index.mjs workflow --start --prompt "继续分析下一轮优化点" --json
55
+ ```
56
+
57
+ 输出中的 `workflow_start.entry_summary` 是人读第一入口:
58
+
59
+ - `entry_classification` 表示当前入口属于 `planning_needed`、`evidence_needed`、`ready_for_lightweight_execution` 或 `blocked_by_boundary`。
60
+ - `state_gap_is_expected=true` 表示无状态规划/分析请求缺少 goal、scope、acceptance 等记录是正常收敛信号,不是 runtime failure。
61
+ - `first_user_decision` 给出下一步人工决策;底层 `blocked_reasons` 仍保留给排障,不降低任何 gate 严格度。
62
+ - `blocking_safety_issues` 只用于暴露写入、执行、git、subagent、平台 API 等边界扩张。
63
+
64
+ Stage 93 还输出 `workflow_discipline_summary`,这是阶段 1 workflow discipline 产品化的机器可读摘要。它固定 `context_policy.default_context=tiny_context`、`full_skill_injection=false`,并在 `visible_claims` 中显式声明 `skill_execution_claimed=false`、`workflow_execution_claimed=false`、`command_execution_claimed=false`、`subagent_dispatch_claimed=false`、`git_write_claimed=false`、`source_write_claimed=false`。该摘要只帮助 agent 和用户看清下一步人工动作,不授权执行、写状态、写源码、调用 subagent 或操作 git。
65
+
66
+ ## High-risk runtime boundary matrix
67
+
68
+ Vibecoding Runtime 是 evidence-driven delivery readiness system,不是自动交付系统。高风险命令族只能聚合、预览、审计或写入本地 `.vibecoding-state` sidecar;用户或 CI 仍负责生成 test evidence、diff coverage、commit readiness 和最终人工 git 操作。
69
+
70
+ | 命令族 | 默认模式 | `--confirm` 后最多允许 | 禁止动作 |
71
+ | --- | --- | --- | --- |
72
+ | `source` / `merge` | read-only preview / audit / readiness | 写 `.vibecoding-state` source/merge sidecar,或在明确 sandbox/apply artifact 中记录受控结果 | `business_source_write`、主 worktree patch、真实 git merge、push、PR、平台 API、subagent、MCP |
73
+ | `execute` / `executions` | preflight / audit / verify | 写 execution envelope、lifecycle、terminal evidence sidecar;`execute --run` 仍要求显式 `--confirm` 且受 allowlist/policy 限制 | 自动 skill execution、自动测试、git/worktree/source 写入、daemon、MCP、平台 API |
74
+ | `scheduler` / `daemon` | plan / scan / dry-run / bounded foreground audit | 写 scheduler/daemon run sidecar;保持 `default_enabled=false`,不注册后台 worker | long-running hidden worker、watcher、自动轮询、自动 dispatch execution、自动恢复 |
75
+ | `queue` / `retry` / `lease` | list / scan / audit / preview | 写 queue/retry/recovery/lease 审计 sidecar;retry package 必须 `manual_review_required=true` 且 `automatic_retry=false` | 自动 retry、自动 recovery、自动 lease cleanup、自动 pickup、跨进程抢占 |
76
+
77
+ 边界 invariant:所有高风险 envelope 必须显式声明 `safety` 或等价 boundary 字段,包含 `git=false`、`git_write=false`、`commit=false`、`push=false`、`pr=false`、`merge=false`、`worktree=false`、`business_source_write=false`、`platform_api=false`、`subagent=false`、`mcp=false`。如果 readiness 输出 `ok=false`,应优先解释 blocked reasons / missing evidence,而不是把证据不足包装成 runtime system failure。
78
+
79
+ ## P32-P38 execution-enabled profile boundary
80
+
81
+ `execution-enabled` 是显式 opt-in 的本地前台执行 profile,不是隐藏自动代理。它通过 `.vibecoding/config.json` 的 `execution_profile` 与 `controlled-local-runtime` policy 绑定;`profile --set execution-enabled --dry-run` 只预览,`profile --set execution-enabled --confirm` 只写 config,不运行命令、不创建 `.vibecoding-state/`。
82
+
83
+ ```bash
84
+ node bin/vibe.mjs profile --root <project-root> --set execution-enabled --dry-run --json
85
+ node bin/vibe.mjs profile --root <project-root> --set execution-enabled --confirm --json
86
+ node tools/vibe-runtime/index.mjs execute --root <project-root> --preflight --json
87
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --candidate --actor <id> --confirm --root <project-root>
88
+ node tools/vibe-runtime/index.mjs execute --approval-package --approval <candidate-file> --confirm --root <project-root>
89
+ node tools/vibe-runtime/index.mjs queue --scan --confirm --root <project-root>
90
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --confirm --actor <id> --run --auto-run --approval <approval-file> --json --root <project-root>
91
+ ```
92
+
93
+ P32-P38 markers:`profile alias`、`config write boundary`、`execution preflight`、`candidate/approval/queue`、`foreground controlled local run`、`evidence audit`、`source/git/subagent not authorized`。`execute --preflight`、candidate 和 approval JSON 会暴露 `controlled_execution_gate`,包含 `stage='stage-2-controlled-execution'`、`contract_kind='controlled-execution-gate-contract'`、`manual_approval_required=true`、`evidence_audit_required=true`、固定 gate order 和 negative fixtures。negative fixtures 必须把 arbitrary shell string、hidden background chain、automatic repair or repeat-on-failure、git add/commit/push/PR/merge、source or business source mutation、platform API/model/MCP、real subagent session、scheduler/daemon/watcher 全部标记为 blocked。执行证据可作为 closeout verification evidence,但不能授权 source apply、business source write、git write、commit、push、PR、merge、subagent session、platform API、model invocation、MCP、daemon、watcher 或 hidden background chain。回到 `default` / `legacy-workflow-discipline` 会把 execution profile 降回 `manual`;治理 profile 与 execution profile 不静默叠加。
94
+
95
+ P43 next boundary review 固定为 contract / negative smoke / docs marker 层:可以补 `execution-enabled-next-boundary-review`、read-only preflight diagnostics、boundary explanation 和 execution surface 说明;不得在同一阶段新增 runtime action catalog item、business source write、git write、platform API、model invocation、real subagent session、daemon、watcher、scheduler loop、hidden background chain、automatic repair、retry 或 cleanup。任何执行面扩展都必须先单独评审 owner module、JSON envelope compatibility、state lifecycle 和 negative fixture。
96
+
97
+ Stage 4 automatic verification gate 把完成前验证升级为机器可读合同:`verification --evidence-intake`、`verification --execution-evidence` 和 `completion --evidence-bundle` 会输出 `automatic_verification_gate`,绑定 stage runbook、execution evidence、test evidence、diff coverage、commit readiness、freshness、coverage、blocked reasons 和 next manual action。该 gate 固定 `reads_local_evidence_only=true`、`runtime_runs_checks_by_default=false`、`completion_claim_requires_evidence=true`,并保持 `writes=false`、`command_execution=false`、`check_execution=false`、`test_execution=false`、`git_write=false`、`business_source_write=false`、`model_invocation=false`、`subagent=false`;如果需要实际运行测试,必须走独立的 controlled execution gate。
98
+
99
+ Stage 5 controlled subagent orchestration 把 subagent eligibility、dispatch artifact、adapter handoff、single-shot local result、result review 和 audit 列表统一绑定到 `controlled_subagent_orchestration` 合同。该合同只说明显式用户批准、完整 brief、隔离文件范围、shared state 无冲突、platform capability、foreground single-item budget、lease/claim audit、review gate 和 manual fallback path 是否进入证据链;它固定 `preview_only=true`、`actual_subagent_execution_allowed=false`、`platform_api_allowed=false`、`mcp_allowed=false`、`background_orchestration_allowed=false`、`source_or_git_write_allowed=false`,不创建真实 session、不调用 platform API/MCP/model、不启动 scheduler/daemon/watcher、不写业务源码、不运行 git。真实 subagent 编排如果未来要启用,必须作为独立高风险阶段单独评审。
100
+
101
+ Stage 6 controlled change delivery 把 commit readiness、staged commit readiness 和 closeout readiness 统一绑定到 `controlled_change_delivery` 合同。该合同只聚合 plan task binding、diff coverage、test evidence、review verdict、commit subject、rollback note、change set summary、blocked reasons 和 next manual action;它固定 `readiness_only=true`、`manual_decision_required=true`、`git_execution_allowed=false`、`pr_execution_allowed=false`、`push_or_merge_allowed=false`、`source_write_allowed=false`、`platform_delivery_allowed=false`。本阶段不运行 git add/commit/push/PR/merge/tag/amend/reset/checkout,不写 worktree 或业务源码,不调用 platform API/model/MCP/subagent;真实 git/PR/change delivery 执行必须另开高风险 gate。
102
+
103
+ Stage 7 controlled long-running automation 把 scheduler plan/policy/scan/once preview 和 daemon dry-run/foreground-loop envelope 统一绑定到 `controlled_long_running_automation` 合同。该合同只聚合 scheduler policy、daemon loop policy、lease audit、heartbeat policy、stop-file policy、iteration budget、kill-switch state、manual activation decision、blocked reasons 和 next manual action;它固定 `readiness_only=true`、`manual_activation_required=true`、`default_enabled=false`、`long_running_allowed=false`、`background_runtime_allowed=false`、`hidden_loop_allowed=false`、`runtime_action_allowed=false`、`subagent_git_source_coupling_allowed=false`。本阶段不注册后台 worker/watcher,不启动 daemon,不自动轮询、pickup、retry、recovery、lease cleanup 或跨进程抢占,不写业务源码,不运行 git,不调用 platform API/model/MCP/subagent;真实长期运行自动化必须另开高风险 gate。
104
+
105
+ Stage 8 autopilot-lab profile budget 把低打扰自动化推进收敛为 `autopilot_lab_profile` 合同,而不是默认开启无边界 autopilot。该合同定义 `autopilot-lab` 实验 profile、任务级授权预算字段、必需 gate 和 forbidden defaults;预算字段包含 `allowed_paths`、`allowed_commands`、`max_changed_files`、`max_changed_lines`、`max_runtime_minutes`、`max_repair_attempts`、`required_verification` 和 `stop_conditions`。Stage 8 固定 `enabled_by_default=false`、`profile_config_write_allowed=false`、`ready_for_runtime_action=false`、`ready_for_command_execution=false`、`ready_for_source_write=false`、`ready_for_git_action=false`、`ready_for_background_runtime=false`,并保持 `command_execution=false`、`source_write=false`、`business_source_write=false`、`git_write=false`、`platform_api=false`、`model_invocation=false`、`mcp=false`、`subagent=false`。它只让 runtime 能解释和验证 autopilot-lab 的授权预算,不执行命令、不写源码、不操作 git、不启动后台链路。
106
+
107
+ Stage 9 runbook executor preview 把 `automation --stage-runbook` 的只读 runbook 扩展为 `runbook_executor_preview` dry-run 合同:本地 plan 会被映射成 ordered steps、required gates、allowed action preview、blocked actions、expected evidence、budget gaps 和 preview digest。该合同固定 `ready_for_runtime_action=false`、`ready_for_command_execution=false`、`ready_for_source_write=false`、`ready_for_git_action=false`、`ready_for_background_runtime=false`,并保持 `command_execution=false`、`source_write=false`、`business_source_write=false`、`git_write=false`、`platform_api=false`、`model_invocation=false`、`mcp=false`、`subagent=false`。缺少 task budget、文件范围、验证命令或 evidence 时,preview gate 会给出 `ok=false` 和下一步人工修正建议;Stage 9 仍不运行命令、不写 runbook artifact、不改源码、不操作 git、不调用 subagent 或后台链路。
108
+
109
+ Stage 10 bounded foreground command executor 把 `execute --run --auto-run` 收敛到 `bounded_foreground_command_executor` 合同:只有 `.vibecoding/config.json` 同时声明 `automation_profile="autopilot-lab"`、`execution_profile="execution-enabled"`、`execution_profile_policy="controlled-local-runtime"`,并通过 candidate、approval、approval lifecycle、local lock、runtime action catalog digest 和 explicit `--confirm --run --auto-run` 后,才运行 builtin argv allowlist 中的一个本地前台命令。当前 allowlist 只包含 `stage10-runtime-execution-syntax-check`,固定 argv 为 `node --check tools/vibe-runtime/runtime-execution-command.mjs`,`shell=false`、`foreground_only=true`、`one_shot=true`、`timeout_ms=20000`。执行证据记录 `stdout_excerpt`、`stderr_excerpt`、`exit_code`、`duration_ms`、`command_digest` 和 `budget_consumption`;失败只写 terminal evidence,不自动 repair。Stage 10 继续阻止 arbitrary shell、hidden background chain、automatic repair、repeat-on-failure、source_write、business_source_write、git_write、platform_api、model_invocation、MCP、subagent、scheduler、daemon 和 watcher;Stage 11 的 source apply gate 仍未开始。
110
+
111
+ ## Stage 151-155 Product/UI Delivery Artifact Gates
112
+
113
+ 产品/UI 到交付证据链只读取 root 内本地文件:
114
+
115
+ ```bash
116
+ node tools/vibe-runtime/index.mjs methodology --gate --kind product-spec --from-file examples/runtime-fixtures/product-spec.md --json
117
+ node tools/vibe-runtime/index.mjs methodology --gate --kind ui-design --from-file examples/runtime-fixtures/ui-design-contract.md --json
118
+ node tools/vibe-runtime/index.mjs methodology --gate --kind scenario-acceptance --from-file examples/runtime-fixtures/scenario-acceptance.yaml --json
119
+ node tools/vibe-runtime/index.mjs methodology --gate --kind architecture-design --from-file examples/runtime-fixtures/architecture-design.md --json
120
+ node tools/vibe-runtime/index.mjs methodology --gate --kind delivery-traceability --from-file examples/runtime-fixtures/delivery-traceability.yaml --json
121
+ node tools/vibe-runtime/index.mjs completion --evidence-bundle --from-product-discovery examples/runtime-fixtures/product-discovery.md --from-product-spec examples/runtime-fixtures/product-spec.md --from-ui-design examples/runtime-fixtures/ui-design-contract.md --from-architecture examples/runtime-fixtures/architecture-design.md --from-traceability examples/runtime-fixtures/delivery-traceability.yaml --from-plan examples/runtime-fixtures/implementation-plan.md --from-scenarios examples/runtime-fixtures/scenario-acceptance.yaml --from-product-acceptance examples/runtime-fixtures/product-acceptance.md --from-test-evidence examples/runtime-fixtures/test-evidence.json --from-diff-coverage examples/runtime-fixtures/diff-coverage.json --from-commit-readiness examples/runtime-fixtures/commit-readiness.json --from-evidence examples/runtime-fixtures/evidence.json --json
122
+ ```
123
+
124
+ Stage 151 输出 `product_methodology_gate`,Stage 153/154 输出 `delivery-methodology-gate` / `delivery_methodology_gate`,Stage 152/155 输出 `product-completion-evidence-bundle`。全链路 bundle 包含 `architecture_chain`、`traceability_chain`、`implementation_chain`、`release_readiness_chain`、`architecture_readiness`、`traceability_readiness`、`test_evidence_digest`、`diff_coverage_digest`、`commit_readiness_digest` 和 `bundle_digest`。这些命令固定 `writes=false`、`state_directory_created=false`、`command_execution=false`、`test_execution=false`、`browser_execution=false`、`skill_execution=false`、`git=false`、`git_write=false`、`commit=false`、`push=false`、`pr=false`、`merge=false`、`platform_api=false`、`subagent=false`、`mcp=false`,且 `commit_execution_authorized=false`。
125
+
126
+ Stage 155 还会在 full-chain 输入存在时执行 deterministic cross-artifact ref validation:`delivery-traceability.yaml` 的 requirement/product story/UI flow/architecture decision/scenario/product acceptance refs 必须能在上游 artifact 的 `Reference Registry`、`scenarios[].id` 或 acceptance registry 中找到。Stage 156 增加 `methodology --gate --kind implementation-plan --from-file <local-implementation-plan-md>` 和 completion bundle 内的 `implementation_alignment_gate`:`implementation-plan.md` 的 `Implementation Task Registry` 负责声明 `task_id`、expected files、allowed paths、expected operations、risk/test contract;`diff-coverage.json` 通过 `task_coverage[].task_ref` 证明 changed files 属于计划任务;`test-evidence.json` 通过 `runs[].task_refs[]` 证明 required/high-risk task 有 passing evidence。`test-evidence.json` 只校验用户或 CI 提供的 envelope,包括 `command`、`exit_code`、`timestamp`、`output_digest`、`task_refs` 和 `scenario_refs`;runtime 不执行测试。`diff-coverage.json` 只校验用户提供的 `planned_files`、`changed_files`、`unexpected_files`、`missing_files` 和 `task_coverage`;runtime 不调用 git diff。`commit-readiness.json` 优先兼容 runtime commit readiness envelope,也兼容 legacy evidence,但任何 `commit_execution_authorized=true`、`git_write=true`、`commit=true`、`push=true`、`pr=true`、`merge=true` 都会 block。Release fast smoke 同时覆盖 positive full-chain 和 negative fixtures,证明缺 architecture、坏 traceability ref、缺 output digest、diff unexpected files、commit boundary 扩权、task coverage 缺失、operation mismatch、风险任务缺测试都会得到 `ok=false`。
127
+
128
+ ### Completion bundle owner modules
129
+
130
+ `runtime-completion-evidence-bundle.mjs` 只负责组装最终 envelope。细节 owner 固定为:`runtime-completion-evidence-descriptors.mjs` 负责 product/delivery/local/engineering evidence descriptors;`runtime-completion-chain-assembly.mjs` 负责 requirements、architecture、traceability、implementation 和 release readiness chain 结构;`runtime-completion-readiness-summary.mjs` 负责 gaps、blocked reasons、next manual action 和 forbidden followup;`runtime-completion-bundle-contract.mjs` 负责 `git_write=false`、`commit=false` 等 bundle invariant。`implementation_alignment_gate` 的规则仍由 `runtime-implementation-task-registry.mjs` 拥有,bundle coordinator 不内联 task alignment 规则。
131
+
132
+ ### Runtime entry owner modules
133
+
134
+ `index.mjs` 保留 CLI entry 和薄路由职责。`runtime-command-container.mjs` 承接 command handler 装配;`runtime-state-paths.mjs` 承接 state directory 与 artifact path helper;`runtime-state-io.mjs` 承接本地 JSON artifact、digest 和 state IO helper。该拆分只移动职责,不改变 runtime state lifecycle 或 no-git/no-platform/no-subagent 边界。
135
+
136
+ ### Runtime optimization boundary plan
137
+
138
+ 后续入口优化遵循 `measure -> manifest -> contract -> container -> validation` 顺序,不允许用 lazy import 或 owner 迁移绕过现有 safety envelope。
139
+
140
+ Command composition split 只允许迁移低风险初始化、handlerDeps shape、纯 presentation 和 validation/deps 子模块。`runtime-command-container.mjs` 可以承接 CLI handlerDeps composition,但不得 import 高风险 command implementation、不得读写 `.vibecoding-state`、不得创建 evidence、不得执行命令。
141
+
142
+ Command-level lazy import feasibility gate 是设计门禁,不是默认策略。试点前必须记录 cold_start_baseline、esm_error_timing、command_group_risk 和 rollback_path;只允许 low-risk read-only command group 试点。排除清单固定包含 source/merge apply、execution、scheduler/daemon、queue/retry/lease、writeStateArtifact、fs.writeFileSync、platform_api、subagent、mcp、git_write、business_source_write。lazy import 若改变错误暴露时机、side-effect import 顺序或 JSON envelope 形状,必须回退。
143
+
144
+ Source/merge apply 安全设计:state_creator 只能是明确 `--confirm` 分支;digest_verifier 必须验证 input artifact、sandbox result、approval envelope 和 final sidecar digest;workspace_write_authorizer 必须是人工确认,不由 runtime 自动授予;rollback_model 只能记录可复现 diff/backup guidance,不自动回滚主 worktree。`source --apply`、`merge --apply`、approval、sandbox merge 和 artifact write 后续若要迁移,必须单独计划并证明 dry-run/verify/read-model 已先通过。
145
+
146
+ Execution/scheduler/daemon 安全设计:runtime 默认只读;`--confirm` 只允许写治理 artifact;`execute --run` 必须保持显式 allowlist、actor、policy snapshot 和 foreground evidence;scheduler/daemon 不注册后台 worker、不自动轮询、不自动 dispatch execution。任何 worker、watcher、cleanup 或 recovery 执行都需要单独计划和完整 runtime suite。
147
+
148
+ Queue/retry/lease 状态边界设计:queue 只做只读扫描和 readiness/audit sidecar;retry package 必须 `manual_review_required=true` 且 `automatic_retry=false`;lease 只报告 stale/active 统计和 audit envelope,不做自动 cleanup、自动抢占、自动 retry、自动 dispatch。
149
+
150
+ Validation matrix 固定为:`node --check` 覆盖新增/修改模块;architecture check 要求 `ok=true` 且 active warning 0;`node tools/vibe-runtime-check/index.mjs`;`npm run check:doctor`;跨模块后追加 `npm run release:fast`;中风险或 runtime surface 改动后追加 `node tools/vibe-release-check/index.mjs --suite runtime --quiet`,并确认 `Result: passed` 与 exit code 0。
151
+
152
+ ## Stage 49 Planner 控制平面边界
153
+
154
+ Planner 只生成 planning sidecar,不越过现有执行 gate:
155
+
156
+ ```bash
157
+ node tools/vibe-runtime/index.mjs planner --route --from-file <path>
158
+ node tools/vibe-runtime/index.mjs planner --route --from-hook <hook-intent-file> --confirm
159
+ node tools/vibe-runtime/index.mjs planner --decompose --from-route <planner-route-file> --confirm
160
+ node tools/vibe-runtime/index.mjs planner --briefs --from-plan <planner-plan-file> --confirm
161
+ node tools/vibe-runtime/index.mjs planner --list
162
+ node tools/vibe-runtime/index.mjs planner --show <planner-artifact-file>
163
+ node tools/vibe-runtime/index.mjs planner --verify <planner-artifact-file>
164
+ ```
165
+
166
+ `planner --route` 把输入映射成 deterministic workflow route 和风险评分;`planner --decompose` 生成 task graph、dependency edges、conflict groups 与 subagent candidate;`planner --briefs` 生成 brief skeleton、required capabilities、suggested platforms 与 token budget policy。三类 artifact 分别写入 `.vibecoding-state/planner-routes/`、`.vibecoding-state/planner-plans/`、`.vibecoding-state/planner-briefs/`。
167
+
168
+ Stage 49 固定 `dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`business_source_write=false`、`source_merge=false`、`subagent_dispatch=false`、`git=false`、`worktree=false`。`traces --build --confirm` 会把 `planner_routes`、`planner_plans` 和 `planner_briefs` 纳入 trace source types,使 planner 成为现有治理链的上游控制层,而不是另起炉灶的 orchestrator。
169
+
170
+ ## Stage 50 Router / Orchestrator 控制平面边界
171
+
172
+ Router / Orchestrator 只把 planner briefs 收敛成可审计 dispatch strategy,不越过 Stage 35-48 gate:
173
+
174
+ ```bash
175
+ node tools/vibe-runtime/index.mjs router --plan --from-briefs <planner-briefs-file>
176
+ node tools/vibe-runtime/index.mjs router --plan --from-briefs <planner-briefs-file> --confirm
177
+ node tools/vibe-runtime/index.mjs router --approve <router-plan-file> --confirm
178
+ node tools/vibe-runtime/index.mjs router --list
179
+ node tools/vibe-runtime/index.mjs router --show <router-artifact-file>
180
+ node tools/vibe-runtime/index.mjs router --verify <router-artifact-file>
181
+ node tools/vibe-runtime/index.mjs orchestrator --plan --from-router <router-approval-file> --confirm
182
+ node tools/vibe-runtime/index.mjs orchestrator --dispatch-plan <orchestrator-plan-file> --confirm
183
+ node tools/vibe-runtime/index.mjs orchestrator --list
184
+ node tools/vibe-runtime/index.mjs orchestrator --show <orchestrator-artifact-file>
185
+ node tools/vibe-runtime/index.mjs orchestrator --verify <orchestrator-artifact-file>
186
+ ```
187
+
188
+ `router --plan` 生成 `brief_routes`、`platform_rankings`、`agent_profiles`、`fallback_routes` 与 `concurrency_budget`;`router --approve` 把这些 routing 决策冻结成 `orchestrator-plan-only` followup。`orchestrator --plan` 生成 `lanes`、`dispatch_order`、`mutex_groups`、`escalation_rules`、`retry_policy_refs` 与 `session_strategy`;`orchestrator --dispatch-plan` 只输出受控 dispatch strategy sidecar,并把 followup 收敛到 `scheduler-dispatch-plan-only` / `session-approval-only`。
189
+
190
+ Stage 50 artifact 分别写入 `.vibecoding-state/router-plans/`、`.vibecoding-state/router-approvals/`、`.vibecoding-state/orchestrator-plans/` 与 `.vibecoding-state/orchestrator-dispatch-plans/`。
191
+
192
+ Stage 50 固定 `dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`business_source_write=false`、`source_merge=false`、`subagent_dispatch=false`、`git=false`、`worktree=false`。`traces --build --confirm` 会把 `router_plans`、`router_approvals`、`orchestrator_plans` 和 `orchestrator_dispatch_plans` 纳入 trace source types,使路由与并发策略同样处于 digest-bound 证明链中。
193
+
194
+ ### Stage 50 → Stage 35/36 Bridge
195
+
196
+ Stage 50 bridge 只把 orchestrator dispatch plan 转成既有 Stage 35/36 可消费 artifact,不直接执行 dispatch、不直接创建 session:
197
+
198
+ ```bash
199
+ node tools/vibe-runtime/index.mjs subagents --eligibility --from-orchestrator <orchestrator-dispatch-plan-file> --task <task-id> --confirm
200
+ node tools/vibe-runtime/index.mjs subagents --dispatch --from-orchestrator <orchestrator-dispatch-plan-file> --eligibility <subagent-eligibility-file> --confirm
201
+ node tools/vibe-runtime/index.mjs subagents --verify <subagent-dispatch-file>
202
+ ```
203
+
204
+ bridge eligibility 的 gate source 固定为 `stage-50-orchestrator-dispatch-plan`,并绑定 `source.kind='orchestrator-dispatch-plan'`。bridge dispatch 继续写既有 `.subagent-dispatch.json`,并额外绑定 `orchestrator_dispatch_plan_file`、`orchestrator_dispatch_plan_digest` 与 `orchestrator_dispatch_plan_artifact_digest`。Stage 42 仍只消费 `.subagent-dispatch.json`。
205
+
206
+ ## Stage 51 Behavioral Eval 控制平面边界
207
+
208
+ Behavioral eval 只做本地 deterministic judge 和 sidecar 写入,不接管真实工作区:
209
+
210
+ ```bash
211
+ node tools/vibe-runtime/index.mjs evals --catalog
212
+ node tools/vibe-runtime/index.mjs evals --run-contract contract-core
213
+ node tools/vibe-runtime/index.mjs evals --run-contract contract-core --confirm
214
+ node tools/vibe-runtime/index.mjs evals --run-scenario scenario-routing --confirm
215
+ node tools/vibe-runtime/index.mjs evals --run-behavior behavior-workflow --confirm
216
+ node tools/vibe-runtime/index.mjs evals --run-adversarial adversarial-guardrails --confirm
217
+ node tools/vibe-runtime/index.mjs evals --verify <eval-artifact-file>
218
+ ```
219
+
220
+ `evals --catalog` 固定列出 `contract-core`、`scenario-routing`、`behavior-workflow`、`adversarial-guardrails` 四类 suite。`--run-*` 会生成 `eval-suite`、`eval-run`、`eval-report` 三段式 sidecar,分别写入 `.vibecoding-state/eval-suites/`、`.vibecoding-state/eval-runs/`、`.vibecoding-state/eval-reports/`。
221
+
222
+ suite artifact 绑定 `suite_id`、`eval_kind`、`cases`、`references`、`catalog_digest`、`fixture_policy` 与 `allowed_followup=['eval-run-only']`;run artifact 绑定 suite file/digest、`case_results`、`summary`、`planner_feedback`、`router_feedback`、`gate_failures` 与 `allowed_followup=['eval-report-only']`;report artifact 绑定 run file/digest、`outcome`、`failing_case_ids` 与反馈聚合,`allowed_followup=[]`。
223
+
224
+ Stage 51 固定 `deterministic_judge=true`、`isolated_root_required=true`、`workspace_mutation=false`、`sidecar_only=true`,并保持 `dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`runtime_action=false`、`business_source_write=false`、`source_merge=false`、`subagent_dispatch=false`、`git=false`、`worktree=false`。`traces --build --confirm` 会把 `eval_suites`、`eval_runs` 和 `eval_reports` 纳入 trace source types。
225
+
226
+ Stage 51 的真实行为评测边界由两类 judge 组成:`transcript-behavioral-judge` 使用 transcript fixture 的 `expected_workflow_order`、`required_markers`、`forbidden_markers`、`expected_blocked_reasons` 与 `stop_condition` 判定 planner/router/gate 行为;`sandbox-replay-judge` 在隔离 root 内复放 `transcript-fixture -> planner-route -> planner-decompose -> planner-briefs -> router-plan -> orchestrator-plan -> orchestrator-dispatch-plan -> stage-35-eligibility-bridge`,只记录 digest trace,不执行平台、模型或源码写入。`artifact_contract_pass_does_not_imply_behavior_pass=true` 表示 contract artifact 通过不能替代行为通过。
227
+
228
+ ## Stage 121 Behavioral Evaluation Contract
229
+
230
+ Stage 121 把 external reference 的真实行为评测压力转成可提交前复查的本地 transcript contract。它不创建 Stage 51 sidecar,也不运行 judge session,只读取本地 JSON transcript artifact:
231
+
232
+ ```bash
233
+ node tools/vibe-runtime/index.mjs evals --behavior-contract --from-file <local-transcript-json> --json
234
+ node tools/vibe-runtime/index.mjs evals --behavior-contract --from-file <local-transcript-json>
235
+ ```
236
+
237
+ 输入 artifact 至少包含 `transcript[]`、`expected.workflow_order`、`expected.required_markers`、`expected.forbidden_markers` 和 `observed.*`。输出 `behavioral_evaluation_contract`,机器检查入口 workflow 是否记录、`injectsFullSkill=false` 轻量启动是否保留、workflow 顺序/marker/blocked reason 是否匹配、completion claim 是否有验证证据、commit/PR/merge claim 是否绑定 Stage 120 readiness,以及是否出现 git、PR、push、merge、platform API、model、subagent 或 worktree side effect。
238
+
239
+ Stage 121 固定 `writes=false`、`state_directory_created=false`、`behavior_contract_artifact=false`、`git=false`、`platform_api=false`、`model_invocation=false`、`subagent=false`、`worktree=false`。它用于证明“行为确实优于 external reference 的 artifact parity”,但不替代真实验证、review 或人工提交。
240
+
241
+ Stage 121 还接收手动导出的本地平台 transcript JSON,并先经过 P21/P23 intake/replay 链路再进入既有行为合同。该链路只读取 root 内本地文件,不连接平台 API、不调用模型 judge、不创建 subagent session、不执行 transcript 中记录的命令:
242
+
243
+ ```bash
244
+ node tools/vibe-runtime/index.mjs evals --transcript-intake --from-file <local-platform-transcript-json> --json
245
+ ```
246
+
247
+ `evals --transcript-intake` 输出 `platform_transcript_intake`,包含 `stage='P21'`、`intake_kind='platform-transcript-intake'`、`source_binding`、`input_summary`、`normalized_transcript`、`boundary_assertions` 和 `intake_digest`。P23 replay 保持为 owner-local pure model,输出 `replay_kind='platform-transcript-replay'`、`behavior_fixture`、`gap_matrix`、`replay_invariants` 和 `replay_digest`,再由既有 `evals --behavior-contract` 消费本地 fixture。
248
+
249
+ P21/P23 边界固定:`transcript_intake_artifact=false`、`normalized_transcript_artifact=false`、`transcript_replay_artifact=false`、`behavior_fixture_artifact=false`、`sidecar_write=false`、`state_directory_created=false`、`command_execution=false`、`eval_execution=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`subagent=false`、`mcp=false`、`git=false`、`git_write=false`、`business_source_write=false`。
250
+
251
+ ## Stage 122 Adapter Bootstrap Conformance Matrix
252
+
253
+ Stage 122 把 Cursor / Claude / Codex adapter 的安装后入口体验收束成一个只读 conformance matrix。它只读取 `adapters/*/plugin.json`、`install.md` 和 hook/settings 示例,不运行安装器、不执行 hook、不写 `.vibecoding-state/`:
254
+
255
+ ```bash
256
+ node tools/vibe-runtime/index.mjs platforms --bootstrap-matrix --json
257
+ node tools/vibe-runtime/index.mjs platforms --bootstrap-matrix
258
+ ```
259
+
260
+ 输出 `adapter_bootstrap_matrix`,包含 `stage='Stage 122'`、`matrix_kind='adapter-bootstrap-conformance-matrix'`、`adapter_rows`、`required_adapter_files`、`manifest_parity_gate`、`bootstrap_policy_gate`、`install_doc_bootstrap_gate`、`adapter_bootstrap_invariants` 和 `matrix_digest`。
261
+
262
+ Stage 122 固定 `injectsFullSkill=false`、`writesRuntimeState=false`、`autoRunsNextSkill=false`、`canAutoExecuteSkill=false`、`canCallSubagent=false`、`canTouchGit=false`,并保持 `adapter_install=false`、`hook_execution=false`、`runtime_action=false`、`git=false`、`platform_api=false`、`subagent=false`、`worktree=false`。它用于证明安装后的入口行为在三类 adapter 上一致,而不是只在源码 README 中成立。
263
+
264
+ ## Stage 123 Skill-to-Runtime Traceability Map
265
+
266
+ Stage 123 把 `skills/*/SKILL.md` 和 runtime capability registry 绑定成只读 traceability map,防止 workflow skill、handoff marker 与 runtime 命令面漂移。它不要求每个 skill 注入 runtime 细节,而是在治理面集中维护 skill -> runtime group -> command contract 的映射:
267
+
268
+ ```bash
269
+ node tools/vibe-runtime/index.mjs governance --traceability-map --json
270
+ node tools/vibe-runtime/index.mjs governance --traceability-map
271
+ ```
272
+
273
+ 输出 `skill_runtime_traceability_map`,包含 `stage='Stage 123'`、`map_kind='skill-to-runtime-traceability-map'`、`skill_rows`、`traceability_rows`、`skill_row_coverage`、`frontmatter_name_gate`、`workflow_handoff_gate`、`runtime_registry_group_gate`、`runtime_registry_command_gate`、`skill_runtime_traceability_invariants` 和 `traceability_digest`。
274
+
275
+ Stage 123 固定 `writes=false`、`state_directory_created=false`、`traceability_map_artifact=false`、`skill_write=false`、`runtime_registry_write=false`、`command_execution=false`、`check_execution=false`、`test_execution=false`、`runtime_action=false`、`workflow_execution=false`、`skill_execution=false`、`git=false`、`platform_api=false`、`subagent=false`、`worktree=false`。它只读取本地 skill 文件和 registry,用于证明 methodology 文案与 runtime 控制面一致。
276
+
277
+ ## Stage 124 Human Completion Evidence Bundle
278
+
279
+ Stage 124 强化既有 `completion --evidence-bundle`,把 Stage 88 readiness 和 Stage 99 bundle 汇总成一个适合交付前阅读的一屏式人工证据包。它不会运行验证命令,也不会创建 sidecar:
280
+
281
+ ```bash
282
+ node tools/vibe-runtime/index.mjs completion --evidence-bundle --from-file <local-completion-evidence-file> --json
283
+ node tools/vibe-runtime/index.mjs completion --evidence-bundle --from-file <local-completion-evidence-file>
284
+ ```
285
+
286
+ 输出仍保留 `completion_evidence_bundle.stage='Stage 99'` 兼容字段,并新增 `completion_evidence_bundle.human_completion_evidence_bundle`,包含 `stage='Stage 124'`、`bundle_kind='human-completion-evidence-bundle'`、`source_bindings`、`one_screen_sections`、`evidence_receipt`、`delivery_gate`、`copy_ready_summary`、`manual_next_action`、`human_completion_evidence_invariants` 和 `human_completion_evidence_digest`。
287
+
288
+ Stage 124 固定 `writes=false`、`state_directory_created=false`、`completion_evidence_bundle_artifact=false`、`human_completion_evidence_bundle_artifact=false`、`command_execution=false`、`check_execution=false`、`test_execution=false`、`verification_execution=false`、`runtime_action=false`、`git=false`、`git_write=false`、`pr=false`、`push=false`、`merge=false`、`platform_api=false`、`model_invocation=false`、`subagent=false`、`worktree=false`。它只把本地证据整理成“结果、验证、review、release 边界、下一步”五段交付摘要,用于阻止无证据完成声明。
289
+
290
+ ## Stage 126 Experience Friction Matrix
291
+
292
+ Stage 126 把本地 session evidence 转成体验摩擦矩阵,用于判断下一轮应该优先降低哪类日常使用成本:入口困惑、下一步不清晰、命令发现成本、证据缺口、完成声明风险、token 开销、adapter 启动差异或 Legacy Workflow Discipline 退化。
293
+
294
+ ```bash
295
+ node tools/vibe-runtime/index.mjs governance --experience-friction --from-file <local-session-evidence-json> --json
296
+ node tools/vibe-runtime/index.mjs governance --experience-friction --from-file <local-session-evidence-json>
297
+ ```
298
+
299
+ 输出 `experience_friction_matrix`,包含 `stage='Stage 126'`、`matrix_kind='experience-friction-matrix'`、`source_bindings`、`session_summary`、`dimensions`、`friction_score`、`friction_level`、`priority_fixes`、`recommended_stage_sequence`、`manual_next_action`、`experience_friction_invariants` 和 `friction_digest`。
300
+
301
+ Stage 126 固定 `writes=false`、`state_directory_created=false`、`experience_friction_artifact=false`、`command_execution=false`、`check_execution=false`、`test_execution=false`、`workflow_execution=false`、`skill_execution=false`、`runtime_action=false`、`git=false`、`git_write=false`、`commit=false`、`pr=false`、`push=false`、`merge=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`subagent=false`、`mcp=false`、`business_source_write=false`。它只读取一个 root 内本地 JSON evidence 文件,不写 state、不执行命令、不调用模型或平台。
302
+
303
+ ## Stage 127 One-screen Next Action Console
304
+
305
+ Stage 127 把 Stage 126 的摩擦矩阵压缩成用户每天可读的一屏下一步控制台:当前位置、推荐下一步、为什么现在做、可复制命令预览、下一步需要的证据,以及暂时不要做的动作。
306
+
307
+ ```bash
308
+ node tools/vibe-runtime/index.mjs workflow --next-action-console --from-friction <local-friction-json> --json
309
+ node tools/vibe-runtime/index.mjs workflow --next-action-console --from-friction <local-friction-json> --from-runbook <local-runbook-json> --from-evidence <local-evidence-json>
310
+ ```
311
+
312
+ 输出 `next_action_console`,包含 `stage='Stage 127'`、`console_kind='one-screen-next-action-console'`、`source_bindings`、`current_position`、`recommended_next_action`、`why_now`、`copy_ready_command_preview`、`evidence_needed_next`、`do_not_do_yet`、`next_action_console_invariants` 和 `console_digest`。
313
+
314
+ Stage 127 固定 `writes=false`、`state_directory_created=false`、`next_action_console_artifact=false`、`command_execution=false`、`check_execution=false`、`test_execution=false`、`workflow_execution=false`、`skill_execution=false`、`runtime_action=false`、`evidence_write=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`。它只读本地 JSON,只生成 preview-only 命令文本,不运行命令、不写 evidence、不提交或推送。
315
+
316
+ ## P60 Experience Loop v2 product loop
317
+
318
+ P60 把 Stage 126 / 127 / 132 / 139 / 143 收敛成维护者可解释的体验闭环:先用 `experience_friction_matrix` 找出摩擦来源,再用 `next_action_console` 给出一屏人工下一步,随后用 `experience_regression_dashboard` 判断体验是否回归,用 `experience_upgrade_prioritizer` 排序下一轮升级,最后用 `next_action_evidence_prompts` 输出证据提示卡。
319
+
320
+ P60 只允许输出三类产品信息:`manual_next_action`、`evidence_needed_next` / `evidence_prompt_cards`、`do_not_do_yet` / `blocked_until`。这些输出只能指导人工判断;不能运行 check/test/workflow,不能写 evidence,不能创建 `.vibecoding-state/`,不能把 preview-only command text 当作授权动作。
321
+
322
+ P60 固定 marker:`p60_experience_loop_v2`、`friction_to_next_action_to_dashboard_to_upgrade_to_prompts`、`manual_next_action_only`、`evidence_gap_only`、`do_not_do_yet_visible`、`command_execution=false`、`check_execution=false`、`test_execution=false`、`workflow_execution=false`、`evidence_write=false`、`state_directory_created=false`、`git_write=false`、`subagent=false`、`platform_api=false`、`model_invocation=false`。
323
+
324
+ ## P51 feedback / learning / token product entry
325
+
326
+ P51 把 feedback、learning 和 token economy 收口为只读建议与候选观察入口,而不是自动学习、自动改 prompt 或自动执行:
327
+
328
+ ```bash
329
+ node tools/vibe-runtime/index.mjs governance --convergence --report --json
330
+ node tools/vibe-runtime/index.mjs learning --observe --from-file <session-evidence-file> --preview --json
331
+ node tools/vibe-runtime/index.mjs learning --experience-pattern --from-friction <local-friction-json> --json
332
+ node tools/vibe-runtime/index.mjs tokens --advice --intent verification --json
333
+ node tools/vibe-runtime/index.mjs tokens --savior-budget --prompt <text> --json
334
+ ```
335
+
336
+ P51 产品入口固定边界:`candidate_only=true`、`promotion_required=true`、`preview_only=true`、`skill_mutation=false`、`prompt_mutation=false`、`shell_interception=false`、`model_invocation=false`、`platform_api=false`、`subagent=false`、`git_write=false`、`business_source_write=false`。`learning --observe --confirm` 仍只写本地 learning sidecar;正式 skill 或入口规则改动必须另走 `vibe-writing-skills` 和人工 review。
337
+
338
+ ## Stage 128 Token Savior Entry Budget Contract
339
+
340
+ Stage 128 把 Token Savior 的“少加载、按需发现”转成确定性的入口预算合同。它根据显式 prompt 和可选 Stage 126 friction JSON,建议入口应加载的最小 skill、应延后加载的 skill、可展示的命令预览,以及入口说明、合同摘要、证据摘要的 token 预算。
341
+
342
+ ```bash
343
+ node tools/vibe-runtime/index.mjs tokens --savior-budget --prompt <text> --json
344
+ node tools/vibe-runtime/index.mjs tokens --savior-budget --prompt <text> --from-friction <local-friction-json>
345
+ ```
346
+
347
+ 输出 `token_savior_budget`,包含 `stage='Stage 128'`、`budget_kind='token-savior-entry-budget-contract'`、`source_bindings`、`prompt_summary`、`friction_summary`、`recommended_profile`、`skills_to_surface`、`skills_to_defer`、`commands_to_surface`、`context_budget`、`token_saving_reasoning`、`budget_application_order`、`token_savior_budget_invariants` 和 `budget_digest`。
348
+
349
+ Stage 128 固定 `writes=false`、`state_directory_created=false`、`token_savior_budget_artifact=false`、`command_execution=false`、`check_execution=false`、`test_execution=false`、`verification_execution=false`、`workflow_execution=false`、`skill_execution=false`、`runtime_action=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`、`commit=false`、`pr=false`、`push=false`、`merge=false`、`business_source_write=false`。它只生成本地 deterministic profile 建议,不改写 prompt、不执行命令、不调用模型或远程配置。
350
+
351
+ ## P61 Token / Context Economy v2 entry defaults
352
+
353
+ P61 把 Stage 128 token budget 和 Stage 144 entry defaults 收敛成默认入口上下文策略,目标是减少完整 skill 注入和长文档泄漏,而不是新增 runtime action。
354
+
355
+ 三档语义固定:
356
+
357
+ - `tiny_context`:只展示 `using-vibecoding` 入口判断、当前人工下一步和关键边界;适合普通业务请求和首次会话。
358
+ - `balanced_context`:在 tiny 基础上补充当前 profile、证据摘要和必要 recipe;适合明确实现、排障或完成前验证。
359
+ - `full_maintenance_context`:仅维护者显式需要时展示 runtime stage、release/check marker 和长期治理上下文;不作为业务项目默认入口。
360
+
361
+ P61 固定 marker:`p61_token_context_economy_v2`、`tiny_context`、`balanced_context`、`full_maintenance_context`、`no_full_skill_injection_by_default`、`prompt_mutation=false`、`embeddings=false`、`remote_config=false`、`dynamic_tool_execution=false`、`model_invocation=false`、`platform_api=false`、`subagent=false`、`command_execution=false`、`state_directory_created=false`。这些 marker 只描述入口上下文选择;不修改 prompt、不生成 embeddings、不读取远程配置、不调用模型、不执行命令、不写状态。
362
+
363
+ ## Stage 129 ECC Learning Experience Pattern Gate
364
+
365
+ Stage 129 把 ECC learning model 的重复信号和经验模式抽取能力收敛成只读候选门禁。它读取 Stage 126 friction JSON 和可选 Stage 61 learning observation sidecar,只提出 candidate experience patterns,不自动 promotion,不写正式 skill、prompt、hook、`AGENTS.md` 或 `CLAUDE.md`。
366
+
367
+ ```bash
368
+ node tools/vibe-runtime/index.mjs learning --experience-pattern --from-friction <local-friction-json> --json
369
+ node tools/vibe-runtime/index.mjs learning --experience-pattern --from-friction <local-friction-json> --from-observations <learning-observation-file...>
370
+ ```
371
+
372
+ 输出 `experience_learning_pattern`,包含 `stage='Stage 129'`、`pattern_kind='ecc-learning-experience-pattern-gate'`、`source_bindings`、`friction_summary`、`observation_summary`、`candidate_experience_patterns`、`repeat_signal`、`suggested_instinct_trigger`、`suggested_instinct_action`、`promotion_required=true`、`required_workflow`、`promotion_boundary`、`ecc_learning_boundary`、`experience_pattern_invariants` 和 `experience_pattern_digest`。
373
+
374
+ Stage 129 固定 `writes=false`、`state_directory_created=false`、`experience_pattern_artifact=false`、`learning_observation_write=false`、`candidate_instinct_write=false`、`learning_promotion_write=false`、`skill_write=false`、`writes_formal_skills=false`、`writes_agents_md=false`、`writes_claude_md=false`、`prompt_mutation=false`、`hook_registration=false`、`command_execution=false`、`workflow_execution=false`、`skill_execution=false`、`runtime_action=false`、`automatic_promotion=false`、`agent_first_delegation=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`subagent=false`、`mcp=false`、`git=false`、`git_write=false`、`commit=false`、`pr=false`、`push=false`、`merge=false`、`business_source_write=false`。它只生成候选学习模式,真正写入 skill 仍必须显式进入 `vibe-writing-skills`、`vibe-writing-plans` 和 `vibe-test-driven-development`。
375
+
376
+ ## Stage 130 Copy-ready Stage Execution Scriptlet
377
+
378
+ Stage 130 新增只读 `automation --stage-scriptlet`,把 Stage 118 runbook 和可选 Stage 127 console 压成可复制的 PowerShell 命令预览、期望 marker、证据填写模板和停止条件。它解决“合同很多,但用户仍要自己拼命令”的摩擦,但 runtime 仍不执行这些命令。
379
+
380
+ ```bash
381
+ node tools/vibe-runtime/index.mjs automation --stage-scriptlet --from-runbook <local-runbook-json> --json
382
+ node tools/vibe-runtime/index.mjs automation --stage-scriptlet --from-runbook <local-runbook-json> --from-console <local-console-json> --stage <stage-id>
383
+ ```
384
+
385
+ 输出 `stage_scriptlet`,包含 `stage='Stage 130'`、`scriptlet_kind='copy-ready-stage-execution-scriptlet'`、`source_bindings`、`target_stage`、`runbook_summary`、`console_summary`、`scriptlet_steps`、`powershell_commands`、`expected_markers`、`evidence_capture_template`、`stop_if`、`copy_boundary`、`stage_scriptlet_invariants` 和 `scriptlet_digest`。
386
+
387
+ Stage 130 固定 `writes=false`、`state_directory_created=false`、`stage_scriptlet_artifact=false`、`scriptlet_artifact=false`、`evidence_write=false`、`sidecar_write=false`、`command_execution=false`、`check_execution=false`、`smoke_execution=false`、`test_execution=false`、`validation_execution=false`、`workflow_execution=false`、`skill_execution=false`、`runtime_action=false`、`git=false`、`git_write=false`、`git_add=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`。它只输出 copy-ready scriptlet;不运行 smoke/check/test、不写 evidence、不 git add/commit。
388
+
389
+ ## Stage 131 Adapter Entry Acceptance Contract
390
+
391
+ Stage 131 新增只读 `platforms --entry-acceptance`,读取本地 adapter transcript JSON,验证安装后入口是否符合 `using-vibecoding` 轻量分流体验:先给可见 workflow 判断和下一步,不注入完整 skill,不自动执行 workflow/subagent/git/platform。
392
+
393
+ ```bash
394
+ node tools/vibe-runtime/index.mjs platforms --entry-acceptance --from-file <local-adapter-transcript-json> --json
395
+ node tools/vibe-runtime/index.mjs platforms --entry-acceptance --from-file <local-adapter-transcript-json> --adapter <claude|cursor|codex>
396
+ ```
397
+
398
+ 输出 `adapter_entry_acceptance`,包含 `stage='Stage 131'`、`acceptance_kind='adapter-entry-acceptance-contract'`、`adapter`、`source_bindings`、`transcript_summary`、`gate_results`、`acceptance_score`、`accepted`、`workflow_explanation`、`next_expected_user_visible_step`、`blockers`、`adapter_entry_acceptance_invariants` 和 `acceptance_digest`。
399
+
400
+ Stage 131 固定 gate marker:`using_vibecoding_first`、`lightweight_routing`、`visible_next_step`、`no_auto_execution`、`workflow_explained`、`acceptance_score` 和 `acceptance_digest`。
401
+
402
+ Stage 131 固定 `writes=false`、`state_directory_created=false`、`entry_acceptance_artifact=false`、`transcript_write=false`、`adapter_install=false`、`adapter_execution=false`、`hook_execution=false`、`prompt_mutation=false`、`source_write=false`、`sidecar_write=false`、`command_execution=false`、`workflow_execution=false`、`skill_execution=false`、`runtime_action=false`、`auto_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`、`worktree=false`、`business_source_write=false`。它不运行 adapter、不执行 hook、不改安装配置、不写 transcript 或 sidecar。
403
+
404
+ ## Stage 132 Experience Regression Dashboard
405
+
406
+ Stage 132 新增只读 `governance --experience-dashboard`,把 Stage 126-129 的体验合同聚合成体验回归仪表盘:总分、external reference 对标 delta、Token Savior delta、ECC learning delta、日常摩擦 delta、阻塞项和下一步下注。它用于证明本轮体验提升不是散点功能,而是围绕可见下一步、确定性省 token、候选学习闭环的本地报告基线。
407
+
408
+ ```bash
409
+ node tools/vibe-runtime/index.mjs governance --experience-dashboard --from-friction <local-friction-json> --json
410
+ node tools/vibe-runtime/index.mjs governance --experience-dashboard --from-friction <local-friction-json> --from-console <local-console-json> --from-token-budget <local-token-budget-json> --from-learning-pattern <local-learning-pattern-json>
411
+ ```
412
+
413
+ 输出 `experience_regression_dashboard`,包含 `stage='Stage 132'`、`dashboard_kind='experience-regression-dashboard'`、`source_bindings`、`experience_scorecard`、`external_reference_comparison_delta`、`token_savior_delta`、`learning_loop_delta`、`daily_user_friction_delta`、`regression_blockers`、`next_bet`、`dashboard_sections`、`experience_dashboard_invariants` 和 `dashboard_digest`。
414
+
415
+ Stage 132 固定 gate marker:`experience_scorecard`、`external_reference_comparison_delta`、`token_savior_delta`、`learning_loop_delta`、`daily_user_friction_delta`、`regression_blockers`、`next_bet` 和 `dashboard_digest`。
416
+
417
+ Stage 132 固定 `writes=false`、`state_directory_created=false`、`experience_dashboard_artifact=false`、`regression_dashboard_artifact=false`、`sidecar_write=false`、`source_write=false`、`command_execution=false`、`check_execution=false`、`smoke_execution=false`、`test_execution=false`、`verification_execution=false`、`workflow_execution=false`、`skill_execution=false`、`runtime_action=false`、`auto_execution=false`、`evidence_write=false`、`dashboard_write=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`。它只读 root 内本地 JSON 合同并输出报告;不运行验证、不写 dashboard artifact、不调用模型或平台、不提交。
418
+
419
+ ## Stage 133 external reference Comparative Evidence Matrix
420
+
421
+ Stage 133 新增只读 `governance --external-reference-comparison`,把当前 Vibecoding 和 `fork/<external-reference>` 的横向比较转成可复验证据矩阵。它扩展 Stage 115 的 gap 视角,不只列缺口,还同时输出 Vibecoding 优势、可借鉴模式、明确不复制的边界、推荐 stage 序列和下一步比较下注。
422
+
423
+ ```bash
424
+ node tools/vibe-runtime/index.mjs governance --external-reference-comparison --from-external-reference-root fork/<external-reference> --json
425
+ node tools/vibe-runtime/index.mjs governance --external-reference-comparison --from-external-reference-root fork/<external-reference>
426
+ ```
427
+
428
+ 输出 `external_reference_comparison_matrix`,包含 `stage='Stage 133'`、`comparison_kind='external reference-comparative-evidence-matrix'`、`comparison_target='fork/<external-reference>'`、`source_bindings`、`registry_binding`、`dimensions`、`parity_gaps`、`vibecoding_advantages`、`borrowable_patterns`、`do_not_copy`、`recommended_stage_sequence`、`next_comparison_bet`、`external_reference_comparison_invariants` 和 `comparison_digest`。
429
+
430
+ Stage 133 固定 gate marker:`external_reference_comparison_matrix`、`external reference-comparative-evidence-matrix`、`parity_gaps`、`vibecoding_advantages`、`borrowable_patterns`、`do_not_copy`、`recommended_stage_sequence`、`next_comparison_bet`、`external_reference_comparison_invariants` 和 `comparison_digest`。
431
+
432
+ Stage 133 固定比较维度:`session_start_bootstrap`、`skill_trigger_discipline`、`methodology_coverage`、`hook_shape_coverage`、`adapter_packaging`、`eval_and_test_harness`、`subagent_boundary`、`contributor_guardrails`、`token_and_context_economy` 和 `daily_user_friction`。
433
+
434
+ Stage 133 固定 `writes=false`、`state_directory_created=false`、`external_reference_comparison_artifact=false`、`comparison_matrix_artifact=false`、`source_write=false`、`sidecar_write=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`。它只读 root 内本地 `fork/<external-reference>` 与 Vibecoding 源码;不执行 external reference hook/test、不写 comparison artifact、不调用模型或平台、不提交。
435
+
436
+ ## Stage 134 Session-start Output Shape Acceptance
437
+
438
+ Stage 134 新增只读 `platforms --session-start-shape`,读取本地已捕获的 session-start 输出,验证不同 adapter 的上下文字段形状是否符合约定,同时确保内容仍是 `using-vibecoding` 轻量 routing bootstrap,而不是完整 skill 注入或自动执行触发。
439
+
440
+ ```bash
441
+ node tools/vibe-runtime/index.mjs platforms --session-start-shape --from-file <local-captured-session-start-output> --adapter <claude|cursor|codex|cursor-sdk> --json
442
+ node tools/vibe-runtime/index.mjs platforms --session-start-shape --from-file <local-captured-session-start-output> --adapter <claude|cursor|codex|cursor-sdk>
443
+ ```
444
+
445
+ 输出 `session_start_shape_acceptance`,包含 `stage='Stage 134'`、`acceptance_kind='session-start-shape-acceptance'`、`adapter`、`source_bindings`、`output_summary`、`shape_results`、`context_markers`、`accepted`、`blockers`、`session_start_shape_invariants` 和 `shape_digest`。
446
+
447
+ Stage 134 固定 gate marker:`adapter_output_shape`、`context_present`、`using_vibecoding_marker`、`lightweight_routing_marker`、`semantic_field_markers`、`context_policy_marker`、`boundary_declaration_marker`、`no_full_skill_injection`、`no_execution_claims`、`no_forbidden_trigger` 和 `shape_digest`。`semantic_field_markers` 要求 session-start 上下文显式暴露 `selected_skill`、`visible_route` 与 `next_manual_action`;`context_policy_marker` 要求暴露 `tiny_context` / `balanced_context` 或等价策略;`no_execution_claims` 要求 `hidden_execution=false`、`command_execution=false`、`skill_execution_claimed=false`、`subagent_dispatch_claimed=false`、`git_write_claimed=false`、`platform_api=false`、`model_invocation=false` 和 `business_source_write=false`。
448
+
449
+ Stage 134 固定 shape:Claude 使用 `hookSpecificOutput.additionalContext` 且 `hookEventName='SessionStart'`;Cursor 使用顶层 `additional_context`;Codex 和 Cursor SDK 使用顶层 `additionalContext`,也接受明确嵌套的 `hookSpecificOutput.additionalContext` SessionStart 形状。
450
+
451
+ Stage 134 固定 `writes=false`、`state_directory_created=false`、`session_start_shape_artifact=false`、`captured_output_write=false`、`adapter_install=false`、`adapter_execution=false`、`hook_execution=false`、`hook_registration=false`、`prompt_mutation=false`、`source_write=false`、`sidecar_write=false`、`command_execution=false`、`check_execution=false`、`test_execution=false`、`workflow_execution=false`、`skill_execution=false`、`runtime_action=false`、`auto_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`。它只读 root 内本地捕获输出;不执行 hook、不运行 adapter、不写 state 或 sidecar、不调用模型或平台、不提交。
452
+
453
+ ## Stage 54 policy catalog / guardrail versioning
454
+
455
+ Policy catalog 只读暴露当前 runtime guardrail 版本:
456
+
457
+ ```bash
458
+ node tools/vibe-runtime/index.mjs policies --catalog
459
+ node tools/vibe-runtime/index.mjs policies --catalog --json
460
+ node tools/vibe-runtime/index.mjs policies --summary
461
+ node tools/vibe-runtime/index.mjs policies --summary --json
462
+ ```
463
+
464
+ catalog 固定覆盖五类 builtin policy:`workflow-route-policy`、`platform-ranking-policy`、`mutex-fallback-policy`、`eval-judge-policy` 与 `safety-boundary-policy`。`policies --summary` 是 catalog 的只读摘要视图,输出 `catalog_digest`、policy 数量、policy id、覆盖 stage / covers 和 `writes_state=false` / `runtime_action=false` 边界。catalog 固定 `source=builtin-data-only`、`dynamic_code=false`、`remote_config=false`、`default_allow_unknown=false`。
465
+
466
+ Stage 49-53 artifact 写入 `policy_catalog_digest`,verify 拒绝 policy drift。catalog 不写 `.vibecoding-state/`,不动态下载策略,不放宽旧 gate,不授权 dispatch/session/platform/model/source/git/PR 行为。
467
+
468
+ ## Stage 56 runtime compatibility / migration check
469
+
470
+ Stage 56 只提供 read-only compatibility report,不写 `.vibecoding-state/`,不自动迁移旧 artifact:
471
+
472
+ ```bash
473
+ node tools/vibe-runtime/index.mjs governance --compatibility --report
474
+ node tools/vibe-runtime/index.mjs governance --compatibility --report --json
475
+ ```
476
+
477
+ report 会基于当前 runtime 的真实内建基线检查:
478
+
479
+ - `policy_catalog_digest`
480
+ - `eval_catalog_digest`
481
+ - 当前 `runtimeTraceGroups()` 已识别的 `known_trace_source_types`
482
+ - 本地历史 sidecar 的 `stage` / `version` / `command` / `mode`
483
+
484
+ 输出把 artifact 分成三类:
485
+
486
+ - `compatible`
487
+ - `manual-migration-required`
488
+ - `untrusted`
489
+
490
+ 它不会重签 digest、不会放宽 verify、不会静默修复旧状态文件。
491
+
492
+ ## Stage 57 optional PR readiness governance sidecar
493
+
494
+ Stage 57 放在 `governance` 命令族下,只证明“已经准备好人工发 PR”或记录阻塞原因,不创建 PR、不 push、不 merge,不进入默认 release chain:
495
+
496
+ ```bash
497
+ node tools/vibe-runtime/index.mjs governance --pr-readiness --preview --json
498
+ node tools/vibe-runtime/index.mjs governance --pr-readiness --confirm --json
499
+ node tools/vibe-runtime/index.mjs governance --list --json
500
+ node tools/vibe-runtime/index.mjs governance --show <pr-readiness-file> --json
501
+ node tools/vibe-runtime/index.mjs governance --verify <pr-readiness-file> --json
502
+ ```
503
+
504
+ `--preview` 不写 `.vibecoding-state/`。`--confirm` 只写:
505
+
506
+ ```text
507
+ .vibecoding-state/governance/<timestamp>.pr-readiness-governance.json
508
+ ```
509
+
510
+ sidecar 固定 `artifact_kind='pr-readiness-governance'`、`stage='Stage 57'`、`mode='governance-pr-readiness'`、`optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`。
511
+
512
+ 本地证据来自 `AGENTS.md`、`skills/vibe-finishing-a-development-branch/SKILL.md`、`fork/ECC/.github/PULL_REQUEST_TEMPLATE.md`、`fork/ECC/CONTRIBUTING.md`、`fork/<external-reference>/.github/PULL_REQUEST_TEMPLATE.md` 与 `fork/<external-reference>/CLAUDE.md`。默认 duplicate PR search 记录为 `existing_pr_search.status='not_performed_offline_boundary'`,因为 Stage 57 不调用 GitHub、`gh`、平台 API 或外部网络。
513
+
514
+ Stage 57 可记录 blocked sidecar,用于表达 `tests_recorded=false`、`human_approval_status='not-recorded'` 或缺少本地证据。verify 只校验 schema、evidence digest、`actions_not_taken.created_pr=false`、`actions_not_taken.pushed=false`、`actions_not_taken.merged=false`、`allowed_followup=['manual_review','human_submit_pr']` 与 `pr=false` / `push=false` / `merge=false` / `platform_api=false` / `external_network=false` / `git=false` / `worktree=false` 边界。
515
+
516
+ ## Stage 58 PR review / CI evidence intake governance sidecar
517
+
518
+ Stage 58 放在同一个 `governance` 命令族下,记录人工提交 PR 之后由本地文件提供的 PR / review / CI 证据。不创建 PR、不查询 GitHub/CI API、不 push、不 merge、不自动修复、不自动进入下一个 skill:
519
+
520
+ ```bash
521
+ node tools/vibe-runtime/index.mjs governance --pr-review-intake --from-file <local-evidence-file> --preview --json
522
+ node tools/vibe-runtime/index.mjs governance --pr-review-intake --from-file <local-evidence-file> --from-readiness <pr-readiness-file> --confirm --json
523
+ node tools/vibe-runtime/index.mjs governance --list --json
524
+ node tools/vibe-runtime/index.mjs governance --show <pr-review-intake-file> --json
525
+ node tools/vibe-runtime/index.mjs governance --verify <pr-review-intake-file> --json
526
+ ```
527
+
528
+ `--from-file` 必须是 root-relative 可验证范围内的本地 JSON 证据。`--preview` 不写 `.vibecoding-state/`。`--confirm` 只写:
529
+
530
+ ```text
531
+ .vibecoding-state/governance/<timestamp>.pr-review-intake-governance.json
532
+ ```
533
+
534
+ sidecar 固定 `artifact_kind='pr-review-intake-governance'`、`stage='Stage 58'`、`mode='governance-pr-review-intake'`、`optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`。
535
+
536
+ 最小本地 evidence 可包含 `pr_url_or_id`、`target_branch`、`target_scope`、`human_submitted=true`、`existing_pr_search.status`、`review_status`、`feedback_items[]`、`ci_status`、`failed_jobs[]`、`checks[]` 与 `log_excerpt`。runtime 会保存 `input_evidence_file`、`input_evidence_digest`、可选 `pr_readiness_file` / `pr_readiness_digest`、`policy_catalog_digest`、`blocked_reasons[]` 与 `allowed_followup[]`。
537
+
538
+ Stage 58 只做路由建议:`review_status='needs_fix'` 或 `commented` 建议 `vibe-receiving-code-review` / `vibe-test-driven-development`;`ci_status='failed'` 建议 `vibe-systematic-debugging` / `vibe-test-driven-development`;review clean 且 CI passed 建议 `vibe-verification-before-completion` / `vibe-finishing-a-development-branch`;证据不足时建议 `manual_review`。
539
+
540
+ verify 会拒绝 unsafe evidence path(绝对路径、`..`、反斜杠)、input evidence digest drift、policy catalog drift、可选 Stage 57 readiness digest drift,以及任何 `platform_api=true` / `external_network=true` / `git=true` / `worktree=true` / `runtime_action=true` / `business_source_write=true` / `source_merge=true` / `auto_execution=true` 边界扩权。
541
+
542
+ ## Stage 59 capability convergence gap report
543
+
544
+ Stage 59 放在 `governance` 命令族下,只读比较 external reference / ECC / Token Savior / Distill 与 Vibecoding runtime governance 的目标能力差距:
545
+
546
+ ```bash
547
+ node tools/vibe-runtime/index.mjs governance --convergence --report
548
+ node tools/vibe-runtime/index.mjs governance --convergence --report --json
549
+ ```
550
+
551
+ report 固定输出 `convergence_target`、`dimensions[]`、`stage_sequence[]`、`policy_catalog_digest`、`eval_catalog_digest`、`summary`、`boundary_assertions` 与 `convergence_digest`。
552
+
553
+ 能力维度包括:
554
+
555
+ - `workflow-experience`:external reference 风格 workflow bootstrap、trigger discipline、skill selection 与 handoff UX,后续 Stage 60 处理。
556
+ - `learning-model`:ECC 风格 local observation、candidate instinct、confidence、project scope 与 promotion gate,后续 Stage 61-62 处理。
557
+ - `deterministic-token-economy`:Token Savior 风格 pure compactor、profile、metrics 与 full-output digest,后续 Stage 63-64 处理。
558
+ - `stream-distillation`:Distill 风格 LLM streaming distillation 只作为 deferred optional adapter,不进入默认 deterministic 路径。
559
+ - `runtime-governance`:Vibecoding 自身 sidecar-only、verify-first、policy catalog、release gate、feedback ledger、PR readiness 与 PR review intake,后续 Stage 65 统一收口。
560
+
561
+ Stage 59 不创建 `.vibecoding-state/`,`state_directory_created=false`,不写 sidecar,不修改 `skills/`、`AGENTS.md` 或 hook 配置,不拦截 shell,`shell_interception=false`,不调用外部网络、模型、平台 API、subagent、MCP、daemon、git 或 worktree。
562
+
563
+ ## Stage 60 workflow methodology route UX
564
+
565
+ Stage 60 把 external reference 风格“先选 workflow,再行动”的体验收敛到 `methodology` 命令族,但保持建议型、只读、可验证边界:
566
+
567
+ ```bash
568
+ node tools/vibe-runtime/index.mjs methodology --route --intent feature --json
569
+ node tools/vibe-runtime/index.mjs methodology --route --intent debug --json
570
+ node tools/vibe-runtime/index.mjs methodology --route --intent review --json
571
+ node tools/vibe-runtime/index.mjs methodology --gate --kind tdd --confirm --json
572
+ ```
573
+
574
+ `methodology --route --intent <kind>` 固定输出 `methodology_route`,包含 `stage='Stage 60'`、`registry_stage='Stage 21'`、`registry_kind='skill-route-registry-drift-guard'`、`route_registry_id`、`route_registry_digest`、`route_kind='workflow-methodology-route'`、`selected_workflow`、`first_skill`、`required_skill`、`next_gate`、`handoff_required`、`gate_kinds`、`trigger_discipline`、`catalog_digest`、`route_digest`、`writes=false` 与 `state_directory_created=false`。它不创建 `.vibecoding-state/`,不写 route artifact,不执行 workflow skill,不制造“已使用 skill”的证据。
575
+
576
+ Stage 21 的 `skill_route_registry_v1` drift guard 使用 `route_registry_id`、`required_skill`、`next_gate`、`stop_condition`、`handoff_required` marker 校验 `using-vibecoding`、runtime route map、workflow readiness normalization、`docs/workflow-chaining.md` 和安装模板同步。registry 只读,不替代人类说明,不授权执行、状态写入、subagent、平台 API 或 git。
577
+
578
+ 支持的 intent 包括 `feature`、`refactor`、`architecture`、`plan`、`parallel`、`workspace`、`subagent`、`debug`、`implementation`、`review`、`review-feedback`、`skill`、`context` 与 `completion`;未知 intent 会退回 `using-vibecoding -> vibe-brainstorming`。
579
+
580
+ Stage 60 继续复用 Stage 32 `methodology --gate --kind <kind> --confirm` 写 `.vibecoding-state/methodology-gates/*.methodology-gate.json`。gate 只证明 workflow 方法论条件,不自动进入下一个 workflow,不调用 subagent,不触发 planner/router/scheduler,不修改源码。
581
+
582
+ Stage 60 固定 `platform_api=false`、`external_delivery=false`、`model_invocation=false`、`git=false`、`worktree=false`、`subagent=false`、`mcp=false`、`business_source_write=false`、`runtime_action=false`、`auto_execution=false`、`skill_execution=false`、`daemon=false`。
583
+
584
+ ## Stage 61 local learning observation ledger
585
+
586
+ Stage 61 吸收 ECC 风格 learning loop 的第一层:只把本地 evidence file 转成可验证 observation sidecar,不自动改正式 workflow skill、prompt、hook 或项目规则:
587
+
588
+ ```bash
589
+ node tools/vibe-runtime/index.mjs learning --observe --from-file <session-evidence-file> --preview --json
590
+ node tools/vibe-runtime/index.mjs learning --observe --from-file <session-evidence-file> --confirm --json
591
+ node tools/vibe-runtime/index.mjs learning --list --json
592
+ node tools/vibe-runtime/index.mjs learning --show <learning-file> --json
593
+ node tools/vibe-runtime/index.mjs learning --verify <learning-file> --json
594
+ ```
595
+
596
+ `--from-file` 必须是 root-relative 可验证范围内的本地 JSON 证据。`--preview` 不写 `.vibecoding-state/`。`--confirm` 只写:
597
+
598
+ ```text
599
+ .vibecoding-state/learning/<timestamp>.learning-observation.json
600
+ ```
601
+
602
+ sidecar 固定 `artifact_kind='learning-observation'`、`stage='Stage 61'`、`mode='learning-observation'`、`optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`。
603
+
604
+ 最小 evidence 可包含 `project_id`、`scope='project'|'global-candidate'`、`domain='workflow'|'debugging'|'testing'|'code-style'|'governance'|'token-economy'`、`confidence_delta`、`evidence_excerpt`、`user_corrections[]`、`failure_fixes[]`、`repeated_workflows[]`、`preferences[]`、`project_constraints[]` 与 `observations[]`。runtime 保存 `source_file`、`source_digest`、`project_id`、`scope`、`domain`、`confidence_delta`、`evidence_excerpt_digest`、`signals_digest`、`signal_count`、`learning_observation_digest`、`candidate_only=true` 与 `promotion_required=true`。
605
+
606
+ verify 会拒绝 unsafe source path(绝对路径、`..`、反斜杠)、source digest drift、evidence excerpt digest drift、signals digest drift、不可信 schema、非法 scope/domain、confidence 越界,以及任何 `skill_mutation=true` / `prompt_mutation=true` / `hook_registration=true` / `shell_interception=true` / `external_network=true` / `model_invocation=true` / `platform_api=true` / `git=true` / `worktree=true` / `runtime_action=true` / `subagent=true` 边界扩权。
607
+
608
+ Stage 61 只生成候选学习 observation。把 observation 聚合成 candidate instinct 或 promotion gate 留给 Stage 62;promotion 仍必须显式进入 `vibe-writing-skills`,不能自动写入 `skills/`、`AGENTS.md` 或 `CLAUDE.md`。
609
+
610
+ ## Stage 62 candidate instinct and promotion gate
611
+
612
+ Stage 62 把 Stage 61 observation 聚合为候选 instinct,并用 promotion gate 生成显式人工后续证据;它仍不修改正式 workflow skill、prompt、hook 或项目规则:
613
+
614
+ ```bash
615
+ node tools/vibe-runtime/index.mjs learning --instincts --from-observations <learning-observation-file...> --preview --json
616
+ node tools/vibe-runtime/index.mjs learning --instincts --from-observations <learning-observation-file...> --confirm --json
617
+ node tools/vibe-runtime/index.mjs learning --promote --instinct <candidate-instinct-file> --preview --json
618
+ node tools/vibe-runtime/index.mjs learning --promote --instinct <candidate-instinct-file> --confirm --json
619
+ node tools/vibe-runtime/index.mjs learning --verify <candidate-instinct-file> --json
620
+ node tools/vibe-runtime/index.mjs learning --verify <learning-promotion-file> --json
621
+ ```
622
+
623
+ `--instincts --preview` 只读聚合已验证 observation,不写 `.candidate-instinct.json`。`--instincts --confirm` 只写:
624
+
625
+ ```text
626
+ .vibecoding-state/learning/<timestamp>.candidate-instinct.json
627
+ ```
628
+
629
+ Candidate instinct 固定 `artifact_kind='candidate-instinct'`、`stage='Stage 62'`、`mode='candidate-instinct'`、`atomic=true`、`one_trigger=true`、`one_action=true`、`trigger`、`action`、`confidence`、`evidence_backed=true`、`evidence_observations[]`、`observation_digests`、`evidence_digest`、`candidate_instinct_digest`、`promotion_required=true`、`formal_skill_mutation=false`、`skill_mutation=false`、`prompt_mutation=false`、`hook_registration=false`、`shell_interception=false` 与 `cross_project_share=false`。
630
+
631
+ `--promote --preview` 只读生成人工 promotion 建议,不写 `.learning-promotion.json`。`--promote --confirm` 只写:
632
+
633
+ ```text
634
+ .vibecoding-state/learning/<timestamp>.learning-promotion.json
635
+ ```
636
+
637
+ Learning promotion 固定 `artifact_kind='learning-promotion'`、`stage='Stage 62'`、`mode='learning-promotion'`、`promotion_target='manual-skill-authoring'`、`human_approval_required=true`、`automatic_promotion=false`、`writes_formal_skills=false`、`writes_agents_md=false`、`writes_claude_md=false`、`required_workflow` 包含 `vibe-writing-skills`,并通过 `instinct_file_digest` 与 `candidate_instinct_digest` 绑定候选 instinct。verify 会拒绝 observation digest drift、candidate digest drift、promotion digest drift、路径穿越、非 atomic candidate、confidence 越界,以及任何自动 skill/prompt/hook/shell/git/worktree/platform/model/subagent 扩权。
638
+
639
+ Stage 62 只做 sidecar-only 候选和 promotion gate。真正把候选规则写进正式 skill 必须由用户显式进入 `vibe-writing-skills`,再经过计划、测试和 review。
640
+
641
+ ## Stage 80 ECC learning model advice / promotion boundary
642
+
643
+ Stage 80 在 Stage 61/62 的 learning sidecar 之上新增只读建议层:它只回答“这条学习信号下一步该怎么处理”,不新增 sidecar schema,不自动 promotion,也不修改正式 workflow skill、prompt、hook 或项目规则:
644
+
645
+ ```bash
646
+ node tools/vibe-runtime/index.mjs learning --advice --intent correction --json
647
+ node tools/vibe-runtime/index.mjs learning --advice --intent repeated-workflow --json
648
+ node tools/vibe-runtime/index.mjs learning --advice --from-observations <learning-observation-file...> --json
649
+ node tools/vibe-runtime/index.mjs learning --advice --instinct <candidate-instinct-file> --json
650
+ ```
651
+
652
+ `learning --advice` 输出 `learning_advice`,固定包含 `stage='Stage 80'`、`advice_kind='learning-model-advice'`、`intent`、`input_intent`、`recommended_next_learning_step`、`recommended_command`、`promotion_boundary`、`manual_action`、`verification_hint`、`observation_digest_refs[]`、`candidate_instinct_digest`、`boundary_assertions` 和 `advice_digest`。
653
+
654
+ `--intent` 会把 `correction`、`failure-fix`、`repeated-workflow`、`preference`、`project-constraint` 等学习信号路由到 observation-first 建议;`--from-observations` 会先验证 observation sidecar,再建议 `learning --instincts ... --preview`;`--instinct` 会先验证 candidate instinct sidecar,再建议 `learning --promote ... --preview`。unknown intent 固定回退到 observation-first advice。
655
+
656
+ Stage 80 固定 `writes=false`、`state_directory_created=false`、`learning_advice_artifact=false`、`automatic_promotion=false`、`writes_formal_skills=false`、`writes_agents_md=false`、`writes_claude_md=false`、`skill_mutation=false`、`prompt_mutation=false`、`hook_registration=false`、`shell_interception=false`、`command_execution=false`、`external_network=false`、`model_invocation=false`、`platform_api=false`、`git=false`、`worktree=false`、`subagent=false`、`mcp=false`、`daemon=false`。`--confirm`、`--preview`、`--write`、`--run`、`--preflight`、`--dispatch`、`--dispatch-intent`、`--once`、`--scan` 必须被拒绝;同时传入 `--from-observations` 与 `--instinct` 也必须失败。
657
+
658
+ Stage 80 不替代 `vibe-writing-skills`。真正把 candidate instinct 写进正式 skill 仍必须由用户显式进入 `vibe-writing-skills`,再经计划、测试和 review。
659
+
660
+ ## Stage 81 runtime governance advice / closeout boundary
661
+
662
+ Stage 81 在 Stage 56-59 与 Stage 65 的 governance 能力之上新增只读 advice 层:它只回答“下一步应进入哪条治理收口路径”,不新增 sidecar schema,不写 `.vibecoding-state/`,不创建 PR、不 push、不 merge、不 tag,也不调用平台 API:
663
+
664
+ ```bash
665
+ node tools/vibe-runtime/index.mjs governance --advice --intent closeout --json
666
+ node tools/vibe-runtime/index.mjs governance --advice --intent review --json
667
+ node tools/vibe-runtime/index.mjs governance --advice --intent release --json
668
+ node tools/vibe-runtime/index.mjs governance --advice --intent pr-readiness --json
669
+ node tools/vibe-runtime/index.mjs governance --advice --intent pr-review-intake --json
670
+ node tools/vibe-runtime/index.mjs governance --advice --intent convergence --json
671
+ node tools/vibe-runtime/index.mjs governance --advice --intent compatibility --json
672
+ ```
673
+
674
+ `governance --advice` 输出 `governance_advice`,固定包含 `stage='Stage 81'`、`advice_kind='runtime-governance-advice'`、`intent`、`input_intent`、`recommended_next_governance_step`、`recommended_command`、`manual_action`、`verification_hint`、`related_capabilities[]`、`closeout_boundary`、`boundary_assertions` 和 `advice_digest`。
675
+
676
+ `--intent closeout|convergence` 会建议只读 `governance --convergence --report --json`;`pr-readiness` 会建议 `governance --pr-readiness --preview --json`;`pr-review-intake|review` 会建议从本地 evidence file 预览 `governance --pr-review-intake`;`release` 会指向显式 release gate 与可选 `--with-convergence`;`compatibility` 会指向只读 compatibility report。unknown intent 固定回退到 read-only closeout orientation。
677
+
678
+ Stage 81 固定 `writes=false`、`state_directory_created=false`、`governance_advice_artifact=false`、`sidecar_write=false`、`release_gate_write=false`、`pr=false`、`push=false`、`merge=false`、`tag=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`runtime_action=false`、`auto_execution=false`、`command_execution=false`、`business_source_write=false`、`source_merge=false`、`skill_mutation=false`、`hook_registration=false`、`shell_interception=false`、`git=false`、`worktree=false`、`subagent=false`、`mcp=false`、`daemon=false`。`--confirm`、`--preview`、`--write`、`--run`、`--preflight`、`--dispatch`、`--dispatch-intent`、`--once`、`--scan` 必须被拒绝;同时传入其他 governance mode,例如 `--advice --pr-readiness` 或 `--advice --convergence --report`,也必须失败。
679
+
680
+ Stage 81 不替代 Stage 57/58/65 的真实证据链。它只给出下一步建议;真正写 PR readiness、review intake 或 release gate sidecar 仍必须由用户显式运行对应命令。
681
+
682
+ ## Stage 82 post-commit baseline / release evidence refresh
683
+
684
+ Stage 82 是 Stage 78-81 advice 批次后的收口记录,不增加新的 CLI、sidecar schema 或 release gate requirement。它的用途是确认 Stage 81 已提交后的 clean baseline,并用既有 Stage 68 release notes 能力刷新本地发布证据。
685
+
686
+ 当前基线:`65d73c6 feat(runtime): 添加 Stage 81 治理建议命令`,Stage 82 启动时 `git status --short` 无输出。该基线覆盖四个只读 advice 层:`entry --advice`、`tokens --advice`、`learning --advice` 和 `governance --advice`。
687
+
688
+ Stage 82 的证据刷新路径只复用已有命令:
689
+
690
+ ```bash
691
+ node tools/vibe-runtime/index.mjs release --notes --from-file <local-evidence-file> --preview --json
692
+ node tools/vibe-runtime/index.mjs release --notes --from-file <local-evidence-file> --confirm --json
693
+ node tools/vibe-runtime/index.mjs release --verify-notes <release-notes-file> --json
694
+ ```
695
+
696
+ 真实 repo closeout 默认使用 preview;如果需要 confirm,应在 sandbox root 中生成 `.vibecoding-state/release-notes/*.release-notes.json` 后再 verify,避免把临时 evidence 写入当前 repo 状态目录。
697
+
698
+ Stage 82 不修改 `tools/vibe-runtime/index.mjs`,不新增 release-check smoke 或 runtime-check marker,不创建 PR、不 push、不 merge、不 tag、不调用平台 API,也不 rewrite 已有提交标题。提交标题里的 markdown fence prefix 继续由 Stage 68 commit hygiene finding 记录。
699
+
700
+ ## Stage 83 unified advice hub
701
+
702
+ Stage 83 新增一个只读聚合入口,把 Stage 78-81 的 advice 能力合并为一个 next-step 视图:
703
+
704
+ ```bash
705
+ node tools/vibe-runtime/index.mjs advice --hub --intent feature --json
706
+ node tools/vibe-runtime/index.mjs advice --hub --intent closeout --json
707
+ node tools/vibe-runtime/index.mjs advice --hub --intent review
708
+ ```
709
+
710
+ `advice --hub` 输出 `advice_hub`,固定包含 `stage='Stage 83'`、`advice_kind='unified-runtime-advice-hub'`、`input_intent`、`normalized_intent`、`primary_lane`、`primary_recommendation`、`lane_recommendations.entry`、`lane_recommendations.tokens`、`lane_recommendations.learning`、`lane_recommendations.governance`、`manual_action`、`verification_hint`、`boundary_assertions`、`lane_digests` 和 `advice_digest`。
711
+
712
+ Hub intent 会映射到四条 lane:`feature|bug` 优先 `entry`;`review|closeout|release` 优先 `governance`;`status|verification|token` 优先 `tokens`;`learning` 优先 `learning`;unknown intent 使用四 lane fallback。每条 lane 都来自既有 pure advice envelope,不执行对应 CLI,不读取平台,不创建 evidence。
713
+
714
+ Stage 83 固定 `writes=false`、`state_directory_created=false`、`advice_hub_artifact=false`、`sidecar_write=false`、`skill_execution=false`、`command_execution=false`、`runtime_action=false`、`auto_execution=false`、`external_network=false`、`model_invocation=false`、`platform_api=false`、`git=false`、`worktree=false`、`pr=false`、`push=false`、`merge=false`、`tag=false`、`subagent=false`、`mcp=false`、`daemon=false`、`shell_interception=false`、`business_source_write=false`、`source_merge=false`。`--confirm`、`--preview`、`--write`、`--run`、`--preflight`、`--dispatch`、`--dispatch-intent`、`--once`、`--scan` 和具体 evidence 输入都会被拒绝。
715
+
716
+ Stage 83 不替代各 lane 的真实 evidence 或 sidecar 命令。真正写 workflow、learning、token、governance 或 release 证据仍必须由用户显式运行对应原始命令。
717
+
718
+ ## Stage 85 workflow readiness gate
719
+
720
+ Stage 85 新增 `methodology --readiness` 只读判断层,用来回答“现在是否具备进入 implementation / review / completion 等 workflow 的条件”。它复用 Stage 60 route、Stage 32 methodology gate preview、Stage 30 observability readiness summary 和 Stage 83 advice hub summary,但不创建 workflow readiness artifact,也不写 methodology gate sidecar:
721
+
722
+ ```bash
723
+ node tools/vibe-runtime/index.mjs methodology --readiness --intent implementation --json
724
+ node tools/vibe-runtime/index.mjs methodology --readiness --intent review --json
725
+ node tools/vibe-runtime/index.mjs methodology --readiness --intent completion --json
726
+ node tools/vibe-runtime/index.mjs methodology --readiness --intent unknown-kind --json
727
+ node tools/vibe-runtime/index.mjs methodology --readiness --intent review
728
+ ```
729
+
730
+ `methodology --readiness` 输出 `workflow_readiness`,固定包含 `stage='Stage 85'`、`readiness_kind='workflow-readiness-gate'`、`input_intent`、`normalized_intent`、`route_summary`、`required_gate_kinds`、`gate_previews`、`runtime_readiness_summary`、`advice_hub_summary`、`ready_to_start`、`blocked_reasons`、`manual_action`、`verification_hint`、`boundary_assertions` 和 `readiness_digest`。
731
+
732
+ Stage 85 的职责边界是“进入 workflow 前的只读判断”:`implementation` 至少检查 plan 和 TDD gate preview;`review` 检查 review gate preview;`completion|release` 检查 completion gate preview;`debug` 检查 debug gate preview;unknown intent 固定 `ready_to_start=false` 并要求先澄清目标、范围、约束和验收。
733
+
734
+ Stage 85 不替代 Stage 32 `methodology --gate --confirm`,因为它不写 gate ledger;不替代 Stage 30 `readiness --score`,因为它只引用 observability 摘要而不重新定义 runtime artifact health score;不替代 Stage 83 `advice --hub`,因为它只引用 advice hub summary,而不聚合四条 advice lane 的完整 next-step 视图。
735
+
736
+ Stage 85 固定 `writes=false`、`state_directory_created=false`、`workflow_readiness_artifact=false`、`methodology_gate_write=false`、`sidecar_write=false`、`skill_execution=false`、`command_execution=false`、`runtime_action=false`、`auto_execution=false`、`external_network=false`、`model_invocation=false`、`platform_api=false`、`git=false`、`worktree=false`、`pr=false`、`push=false`、`merge=false`、`tag=false`、`subagent=false`、`mcp=false`、`daemon=false`、`shell_interception=false`、`business_source_write=false`、`source_merge=false`。`--confirm`、`--write`、`--preview`、`--run`、`--preflight`、`--dispatch`、`--dispatch-intent`、`--once`、`--scan`、具体 evidence 输入,以及与 `--catalog`、`--route`、`--gate`、`--list`、`--show`、`--verify` 混用都会被拒绝。
737
+
738
+ ## Stage 86-90 workflow UX and self-check loop
739
+
740
+ Stage 86-90 把分散 advice/readiness 命令组合成只读 workflow UX 层:
741
+
742
+ ```bash
743
+ node tools/vibe-runtime/index.mjs planner --lint --from-file <local-plan-file> --json
744
+ node tools/vibe-runtime/index.mjs workflow --cockpit --intent implementation --from-file <local-plan-file> --json
745
+ node tools/vibe-runtime/index.mjs completion --readiness --from-file <local-completion-evidence-file> --json
746
+ node tools/vibe-runtime/index.mjs bootstrap --acceptance --prompt "帮我做一个 React todo list" --json
747
+ node tools/vibe-runtime/index.mjs evals --catalog --json
748
+ ```
749
+
750
+ Stage 86 `planner --lint` 输出 `plan_lint`,包含 `stage='Stage 86'`、`lint_kind='plan-quality-lint'`、`source_file`、`source_digest`、`checks[]`、`blocking_findings[]`、`warnings[]`、`execution_ready`、`manual_action`、`boundary_assertions` 和 `lint_digest`。它只读取 root 内本地 plan 文件,不写 lint artifact。
751
+
752
+ Stage 87 `workflow --cockpit` 输出 `workflow_cockpit`,包含 `stage='Stage 87'`、`cockpit_kind='workflow-cockpit'`、`current_phase`、`recommended_next_skill`、`route_summary`、`readiness_summary`、`advice_summary`、`plan_lint_summary`、`token_hint`、`learning_hint`、`governance_hint`、`blocked_reasons`、`required_evidence`、`self_check_summary`、`forbidden_actions`、`next_manual_action`、`boundary_assertions` 和 `cockpit_digest`。它复用 Stage 83/85/86/79/80/81,只输出驾驶舱判断,不执行 workflow skill。
753
+
754
+ `self_check_summary` 是 cockpit 的一屏自检闭环:`profile_check` 只提示人工运行 `profile --show` / `profile --explain`;`entry_check` 绑定 `workflow --start --prompt <request> --json`;`readiness_check` 汇总 Stage 85 blocker;`plan_check` 汇总可选 Stage 86 plan lint;`completion_check` 指向 `completion --readiness --from-file <local-completion-evidence-file> --json`,用于完成前人工证据确认。该摘要只报告证据缺口和下一步人工动作,不运行 profile、readiness、completion 或任何 workflow skill。
755
+
756
+ Stage 88 `completion --readiness` 输出 `completion_readiness`,包含 `stage='Stage 88'`、`readiness_kind='completion-readiness'`、可选 `evidence_file/evidence_digest`、`ready_to_report_done`、`verification_evidence[]`、`unverified_items[]`、`review_feedback_status`、`git_boundary_summary`、`release_boundary_summary`、`manual_action`、`boundary_assertions` 和 `readiness_digest`。没有验证证据、存在失败/待验证项、review feedback 未处理,或 git/PR/release 授权不清时固定 blocked。
757
+
758
+ Stage 89 在现有 `evals` catalog 增加 `behavior_pack='workflow-ux-stage89'` 和 coverage summary,覆盖 fuzzy feature、unreproduced bug、small task verification、plan acceptance、review blockers、completion verification、subagent permission、push/PR confirmation 八类行为场景;它不新增 release required suite。
759
+
760
+ Stage 90 `bootstrap --acceptance` 输出 `bootstrap_acceptance`,包含 `stage='Stage 90'`、`acceptance_kind='workflow-bootstrap-acceptance'`、`prompt`、`expected_first_skill`、`expected_behavior[]`、`observed_route_summary`、`pass`、`blocked_reasons[]`、`manual_action`、`boundary_assertions` 和 `acceptance_digest`。默认 React todo prompt 必须先 route 到 `vibe-brainstorming` 或等价澄清/规划入口。
761
+
762
+ Stage 86/87/88/90 固定 `writes=false`、`state_directory_created=false`、`sidecar_write=false`、`skill_execution=false`、`command_execution=false`、`runtime_action=false`、`auto_execution=false`、`external_network=false`、`model_invocation=false`、`platform_api=false`、`git=false`、`worktree=false`、`pr=false`、`push=false`、`merge=false`、`tag=false`、`subagent=false`、`mcp=false`、`daemon=false`、`shell_interception=false`、`business_source_write=false`、`source_merge=false`。`--confirm`、`--write`、`--preview`、`--run`、`--preflight`、`--dispatch`、`--dispatch-intent`、`--once`、`--scan` 等执行/写入/调度类 flag 都会被拒绝。
763
+
764
+ ## Stage 63 deterministic token output compactor
765
+
766
+ Stage 63 提供 Token Savior 风格的确定性命令输出 compactor,但不拦截 shell、不执行命令、不调用模型摘要:
767
+
768
+ ```bash
769
+ node tools/vibe-runtime/index.mjs tokens --catalog --json
770
+ node tools/vibe-runtime/index.mjs tokens --compact-output --command <cmd-name> --from-file <output-file> --preview --json
771
+ node tools/vibe-runtime/index.mjs tokens --compact-output --command <cmd-name> --from-file <output-file> --confirm --json
772
+ node tools/vibe-runtime/index.mjs tokens --verify <token-compaction-file> --json
773
+ ```
774
+
775
+ `tokens --catalog` 输出 `token-compactor-catalog`,覆盖 `git status`、`git diff --stat`、`git log --oneline`、`node --check`、`vibe-runtime-check`、`vibe-release-check` 与常见 `test/lint` compactors。catalog 固定 `stage='Stage 63'`、`deterministic=true`、`pure_function=true`、`shell_interception=false`、`command_execution=false`、`external_network=false`、`model_invocation=false` 与 `catalog_digest`。
776
+
777
+ `tokens --compact-output --preview` 不创建 `.vibecoding-state/`;`--confirm` 只写:
778
+
779
+ ```text
780
+ .vibecoding-state/token-economy/<timestamp>.token-compaction.json
781
+ ```
782
+
783
+ Token sidecar 固定 `artifact_kind='token-compaction'`、`stage='Stage 63'`、`mode='token-compaction'`、`source_file`、`source_digest`、`full_output_digest`、`compacted_text`、`compacted_digest`、`dropped_categories`、`metrics.estimated_input_tokens`、`metrics.estimated_output_tokens`、`metrics.estimated_tokens_saved`、`metrics.savings_ratio` 与 `token_compaction_digest`。
784
+
785
+ `--from-file` 必须是 root-relative forward-slash 本地 output evidence;verify 会拒绝 unsafe source path、source digest drift、compacted text drift、metrics drift、dropped categories drift、token compaction digest mismatch,以及 `shell_interception=true`、`command_execution=true`、`output_mutation=true`、`original_output_hidden=true`、`external_network=true`、`model_invocation=true`、`platform_api=true`、`git=true`、`worktree=true`、`runtime_action=true`、`auto_execution=true`、`subagent=true`、`mcp=true`、`daemon=true` 等边界扩权。
786
+
787
+ Stage 63 固定 `optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`、`deterministic=true`、`pure_function=true`、`original_output_retained_by_digest=true`。它不执行命令、不隐藏原始输出、不改用户命令、不自动 rewrite、不自动修复、不写源码;profiles、metrics 聚合与 safe rewrite preview 留给 Stage 64。
788
+
789
+ ## Stage 64 token metrics, profiles, and safe rewrite preview
790
+
791
+ Stage 64 在 `tokens` 命令族内补齐 profile、metrics 与 rewrite preview,但仍不拦截 shell、不执行命令、不改写用户命令:
792
+
793
+ ```bash
794
+ node tools/vibe-runtime/index.mjs tokens --profile --name minimal --json
795
+ node tools/vibe-runtime/index.mjs tokens --profile --name balanced --json
796
+ node tools/vibe-runtime/index.mjs tokens --profile --name full --json
797
+ node tools/vibe-runtime/index.mjs tokens --metrics --from-compactions <token-compaction-file...> --preview --json
798
+ node tools/vibe-runtime/index.mjs tokens --metrics --from-compactions <token-compaction-file...> --confirm --json
799
+ node tools/vibe-runtime/index.mjs tokens --rewrite-preview --command <cmd> --json
800
+ node tools/vibe-runtime/index.mjs tokens --verify <token-metrics-file> --json
801
+ ```
802
+
803
+ `tokens --profile --name minimal|balanced|full` 只读输出 builtin token profile,包含 `profile_kind='token-profile'`、`stage='Stage 64'`、`output_budget`、`preserve`、`prefer_compactors`、`recommended_rewrites` 与 `profile_digest`,不创建 `.vibecoding-state/`。
804
+
805
+ `tokens --metrics --preview` 从已验证 `.token-compaction.json` 计算聚合指标,不写状态;`--confirm` 只写:
806
+
807
+ ```text
808
+ .vibecoding-state/token-economy/<timestamp>.token-metrics.json
809
+ ```
810
+
811
+ Token metrics sidecar 固定 `artifact_kind='token-metrics'`、`stage='Stage 64'`、`mode='token-metrics'`、`source_compactions[]`、`file_digest`、`token_compaction_digest`、`totals.estimated_input_tokens`、`totals.estimated_output_tokens`、`totals.estimated_tokens_saved`、`totals.savings_ratio`、`command_families[]` 与 `token_metrics_digest`。`tokens --verify <token-metrics-file>` 会拒绝 compaction digest drift、metrics totals drift、command families drift、token metrics digest mismatch 与边界扩权。
812
+
813
+ `tokens --rewrite-preview --command <cmd>` 只输出 deterministic 建议,例如 `git status -> git status --short --branch`、`pytest -> pytest -q --tb=line`、`tsc -> tsc --pretty false`。preview 固定 `execute=false`、`shell_interception=false`、`command_mutation=false`,不会执行建议、不会修改真实 shell 命令、不会写 sidecar。
814
+
815
+ Stage 64 固定 `optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`、`deterministic=true`、`pure_function=true`、`shell_interception=false`、`command_execution=false`、`output_mutation=false`、`original_output_hidden=false`、`external_network=false`、`model_invocation=false`、`platform_api=false`、`git=false`、`worktree=false`、`runtime_action=false`、`auto_execution=false`、`subagent=false`、`mcp=false`、`daemon=false`。
816
+
817
+ ## Stage 79 token saving advice
818
+
819
+ Stage 79 在 Stage 63/64 的 compactor catalog、profile 和 rewrite-preview 之上增加只读 advice 层,用于回答“现在该怎样节省 token”,但不执行命令、不读取真实输出、不生成 sidecar:
820
+
821
+ ```bash
822
+ node tools/vibe-runtime/index.mjs tokens --advice --intent status --json
823
+ node tools/vibe-runtime/index.mjs tokens --advice --intent verification --json
824
+ node tools/vibe-runtime/index.mjs tokens --advice --command <cmd-name> --json
825
+ ```
826
+
827
+ `tokens --advice` 输出 `token_advice`,固定 `stage='Stage 79'`、`advice_kind='token-saving-advice'`、`recommended_profile`、`recommended_compactors[]`、`recommended_rewrites[]`、`manual_action`、`verification_hint`、`catalog_digest`、`profile_digest` 和 `advice_digest`。`--intent` 只用于选择内置 profile 与 compactor 集合;`--command` 只复用 Stage 64 rewrite-preview 规则生成建议,不修改真实 shell 命令。
828
+
829
+ Stage 79 固定 `writes=false`、`state_directory_created=false`、`token_advice_artifact=false`、`shell_interception=false`、`command_execution=false`、`command_mutation=false`、`output_mutation=false`、`original_output_hidden=false`、`external_network=false`、`model_invocation=false`、`platform_api=false`、`git=false`、`worktree=false`、`subagent=false`、`mcp=false`、`daemon=false`。`--confirm`、`--preview`、`--write`、`--run`、`--preflight`、`--dispatch`、`--dispatch-intent`、`--once` 和 `--scan` 必须被拒绝。
830
+
831
+ Stage 79 不接入外部 Token Savior 工具链、不使用 embedding 或 codebase index、不自动压缩当前会话上下文、不修改 `skills/**` 正文,也不把 advice 变成 release gate required 输入。
832
+
833
+ ## Stage 65 governance convergence gate
834
+
835
+ Stage 65 给 release gate 增加显式、可选的 convergence evidence 绑定:
836
+
837
+ ```bash
838
+ node tools/vibe-runtime/index.mjs release --gate --from-evals <eval-report-file...> --with-convergence --json
839
+ node tools/vibe-runtime/index.mjs release --gate --from-evals <eval-report-file...> --with-convergence --confirm --json
840
+ node tools/vibe-runtime/index.mjs release --verify-gate <release-gate-file> --json
841
+ ```
842
+
843
+ `--with-convergence` 不创建新的 governance sidecar,只把当前 `governance --convergence --report` 的 deterministic 摘要写进 `.release-gate.json` 的 `convergence_evidence`。evidence 固定 `evidence_kind='governance-convergence-report'`、`stage='Stage 65'`、`optional=true`、`release_chain_required=false`、`writes=false`、`state_directory_created=false`、`convergence_digest`、`summary`、`dimensions[]`、`boundary_assertions_digest` 与 `evidence_digest`。
844
+
845
+ `release --verify-gate` 会根据 artifact 自身声明重建 convergence evidence,并拒绝 convergence report digest drift、convergence evidence digest drift、evidence kind/stage/schema drift,以及 `release_chain_required=true` 等边界扩权。`--verify-gate --with-convergence` 是非法组合,因为 verify 不接受外部开关覆盖 artifact 内容。
846
+
847
+ Stage 65 不改变 Stage 52 required eval suites,也不让 workflow、learning、token optional sidecars 成为默认 release required chain。它只证明这些能力已经可被 runtime-check / release-check / release gate 统一观察和验证。
848
+
849
+ Stage 65 固定 `sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`、`dispatch=false`、`session_create=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`runtime_action=false`、`business_source_write=false`、`source_merge=false`、`pr=false`、`push=false`、`merge=false`、`git=false`、`worktree=false`、`subagent=false`、`mcp=false`、`daemon=false`。
850
+
851
+ ## Stage 68 release notes evidence and commit hygiene sidecar
852
+
853
+ Stage 68 给 `release` 命令族增加可选 release-notes sidecar,只从本地 evidence file 生成发布说明摘要和 commit hygiene findings:
854
+
855
+ ```bash
856
+ node tools/vibe-runtime/index.mjs release --notes --from-file <local-evidence-file> --preview --json
857
+ node tools/vibe-runtime/index.mjs release --notes --from-file <local-evidence-file> --confirm --json
858
+ node tools/vibe-runtime/index.mjs release --verify-notes <release-notes-file> --json
859
+ ```
860
+
861
+ `--preview` 不创建 `.vibecoding-state/`;`--confirm` 只写:
862
+
863
+ ```text
864
+ .vibecoding-state/release-notes/<timestamp>.release-notes.json
865
+ ```
866
+
867
+ sidecar 固定 `artifact_kind='release-notes'`、`stage='Stage 68'`、`mode='release-notes'`、`optional=true`、`sidecar_only=true`、`default_enabled=false`、`release_chain_required=false`,并绑定 `source_file`、`source_digest`、`range_hint`、`commit_count`、`stage_coverage`、`normalized_notes`、`commit_hygiene_findings` 与 `release_notes_digest`。
868
+
869
+ commit hygiene finding 是 deterministic 文本发现,不是质量评审,也不会修改历史。当前规则包括 `markdown-fence-prefix`、`markdown-fence-token`、`subject-too-long`、`non-conventional-subject`。`release --verify-notes` 会重建本地 evidence digest,并拒绝 source digest drift、release notes digest mismatch、unsafe source path 和边界扩权。
870
+
871
+ Stage 68 固定 `history_rewrite=false`、`tag=false`、`push=false`、`pr=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`runtime_action=false`、`business_source_write=false`、`source_merge=false`、`release_chain_required=false`。它不 amend、不 rebase、不 reset、不 force push、不创建 tag/PR,也不把 release notes 变成 Stage 52 release gate required 输入。
872
+
873
+ ## Stage 27 / 28 / Reply A-D 本地自动化边界
874
+
875
+ Bounded retry 只从既有 retry package 进入,默认 preview no-write:
876
+
877
+ ```bash
878
+ node tools/vibe-runtime/index.mjs retry --list-packages
879
+ node tools/vibe-runtime/index.mjs retry --show-package <retry-package-file>
880
+ node tools/vibe-runtime/index.mjs retry --verify-package <retry-package-file>
881
+ node tools/vibe-runtime/index.mjs retry --run <retry-package-file>
882
+ node tools/vibe-runtime/index.mjs retry --run <retry-package-file> --confirm
883
+ ```
884
+
885
+ `retry --run --confirm` 最多写一个 `.vibecoding-state/retry-runs/*.retry-run.json`,并要求 source execution 仍为 `failed` / `timed_out`、approval lifecycle 未终止、policy / budget / catalog digest 未漂移、没有 active lock/lease、没有已 retry 记录。它不创建新 approval,不修改原 execution/candidate/approval,不接平台 API,不调用 subagent/MCP,不触碰 git/worktree/业务源码。
886
+
887
+ Foreground loop 不是后台 daemon:
888
+
889
+ ```bash
890
+ node tools/vibe-runtime/index.mjs daemon --loop --dry-run
891
+ node tools/vibe-runtime/index.mjs daemon --loop --confirm --max-iterations 1
892
+ node tools/vibe-runtime/index.mjs daemon --stop --confirm --reason "manual stop"
893
+ node tools/vibe-runtime/index.mjs daemon --loops --list
894
+ ```
895
+
896
+ `daemon --loop --confirm` 只写 `.vibecoding-state/daemon-loops/` 和 heartbeat evidence,不注册 watcher、不 fork、不长驻,命令退出即结束。
897
+
898
+ Reply A-D 第一批只做本地 artifact 和 send-disabled audit:
899
+
900
+ ```bash
901
+ node tools/vibe-runtime/index.mjs reply --draft
902
+ node tools/vibe-runtime/index.mjs reply --draft --confirm
903
+ node tools/vibe-runtime/index.mjs reply --approve <draft-file> --confirm
904
+ node tools/vibe-runtime/index.mjs reply --outbox <approval-file> --confirm
905
+ node tools/vibe-runtime/index.mjs reply --send <outbox-file> --confirm
906
+ ```
907
+
908
+ `reply --send` 即使 `--confirm` 也只写 `.vibecoding-state/reply-send-runs/*.reply-send-run.json`,固定 `sent=false`、`send_allowed=false`、`external_delivery=false`,不调用任何平台 API。
909
+
910
+ ## Stage 29 / 30 / Reply E 可追踪性边界
911
+
912
+ Runtime trace ledger 只绑定本地产物 digest,不重放、不执行:
913
+
914
+ ```bash
915
+ node tools/vibe-runtime/index.mjs traces --build --dry-run
916
+ node tools/vibe-runtime/index.mjs traces --build --confirm
917
+ node tools/vibe-runtime/index.mjs traces --list
918
+ node tools/vibe-runtime/index.mjs traces --show <trace-file>
919
+ node tools/vibe-runtime/index.mjs traces --verify <trace-file>
920
+ ```
921
+
922
+ `traces --build --confirm` 只写 `.vibecoding-state/runtime-traces/*.runtime-trace.json`。trace 会引用 scheduler、recovery、retry、daemon loop、reply 和 observability 产物的文件名与 digest;`--verify` 会拒绝 source digest drift、路径穿越和损坏 trace。
923
+
924
+ Readiness 已扩展为跨子系统健康视图:
925
+
926
+ ```bash
927
+ node tools/vibe-runtime/index.mjs observability --summary
928
+ node tools/vibe-runtime/index.mjs readiness --score
929
+ node tools/vibe-runtime/index.mjs readiness --score --confirm
930
+ ```
931
+
932
+ 输出新增 `retry_health`、`loop_health`、`reply_health` 和 `trace_health`。它只解释状态,不提升 queue、不触发 retry、不启动 loop、不发送 reply;`--confirm` 仍只写 observability snapshot。
933
+
934
+ Reply E source-bound draft 把本地回复依据显式绑定到 manifest:
935
+
936
+ ```bash
937
+ node tools/vibe-runtime/index.mjs reply --draft --source-bound
938
+ node tools/vibe-runtime/index.mjs reply --draft --source-bound --confirm
939
+ node tools/vibe-runtime/index.mjs reply --verify <draft-file>
940
+ ```
941
+
942
+ source-bound draft 绑定 workflow、latest execution、scheduler/recovery/retry run、observability snapshot 和 runtime trace 的文件名与 digest。source drift 后 `reply --verify` / `reply --approve` 会失败;仍固定 `model_invocation=false`、`external_delivery=false`、`send_allowed=false`。
943
+
944
+ ## Stage 31 / Reply F 治理与 review gate
945
+
946
+ Reply F 在 source-bound draft 和 approval 之间加入本地 review sidecar:
947
+
948
+ ```bash
949
+ node tools/vibe-runtime/index.mjs reply --review <draft-file>
950
+ node tools/vibe-runtime/index.mjs reply --review <draft-file> --confirm
951
+ node tools/vibe-runtime/index.mjs reply --verify <review-file>
952
+ ```
953
+
954
+ `reply --review` 默认只预览,不写文件;`--confirm` 只写 `.vibecoding-state/reply-reviews/*.reply-review.json`。source-bound draft 缺少 approved review sidecar 时,`reply --approve` 会失败。approval、outbox、send-run verify 会递归追溯 review、draft 和 source manifest。
955
+
956
+ Stage 31 governance attestation 只做本地边界证明:
957
+
958
+ ```bash
959
+ node tools/vibe-runtime/index.mjs governance --attest --dry-run
960
+ node tools/vibe-runtime/index.mjs governance --attest --confirm
961
+ node tools/vibe-runtime/index.mjs governance --list
962
+ node tools/vibe-runtime/index.mjs governance --show <governance-file>
963
+ node tools/vibe-runtime/index.mjs governance --verify <governance-file>
964
+ ```
965
+
966
+ `governance --attest --confirm` 只写 `.vibecoding-state/governance/*.governance-attestation.json`,绑定 latest runtime trace、latest observability snapshot 和 reply review chain digest。它不执行 runtime action、不修复 artifact、不发送 reply、不调用模型或平台 API。
967
+
968
+ ## Stage 33 Hook Intent Contract
969
+
970
+ Hook intent 先把未来 hook 从隐式执行器降级成可审计输入:
971
+
972
+ ```bash
973
+ node tools/vibe-runtime/index.mjs hooks --catalog
974
+ node tools/vibe-runtime/index.mjs hooks --preview
975
+ node tools/vibe-runtime/index.mjs hooks --preview --confirm
976
+ node tools/vibe-runtime/index.mjs hooks --list
977
+ node tools/vibe-runtime/index.mjs hooks --show <hook-intent-file>
978
+ node tools/vibe-runtime/index.mjs hooks --verify <hook-intent-file>
979
+ ```
980
+
981
+ `hooks --catalog` 和 `hooks --preview` 默认只读,不创建 `.vibecoding-state/`。`hooks --preview --confirm` 只写 `.vibecoding-state/hook-intents/*.hook-intent.json`,记录 allowed hook sources、`scheduler-plan-only` followup、workflow digest/source digest、builtin hook catalog digest 和 safety boundary。Stage 33 固定 `hook_enabled=false`、`scheduler_execution=false`、`subagent_dispatch=false`、`platform_api=false`,不触发 scheduler、不派发 subagent、不创建 session、不调用平台 API。
982
+
983
+ ## Stage 34 Scheduler Plan from Hook
984
+
985
+ Scheduler hook plan 只把 hook intent 转换为可审计 scheduler plan,不执行任何任务:
986
+
987
+ ```bash
988
+ node tools/vibe-runtime/index.mjs scheduler --from-hook <hook-intent-file> --plan
989
+ node tools/vibe-runtime/index.mjs scheduler --from-hook <hook-intent-file> --plan --confirm
990
+ node tools/vibe-runtime/index.mjs scheduler --show <scheduler-hook-plan-file>
991
+ node tools/vibe-runtime/index.mjs scheduler --verify <scheduler-hook-plan-file>
992
+ ```
993
+
994
+ `--from-hook --plan` 默认只读;`--confirm` 只写 `.vibecoding-state/scheduler-hook-plans/*.scheduler-hook-plan.json`。产物绑定 hook intent digest、queue summary、scheduler dry-run plan digest、budget、required approvals 和 blocked reasons。Stage 34 固定 `scheduler_profile=scheduler-dry-run`、`runtime_action_allowed=false`、`subagent_dispatch_allowed=false`、`scheduler_run=false`、`session_create=false`、`platform_api=false`,不创建 lease、不执行 queue item、不派发 subagent。
995
+
996
+ ## Stage 35 Subagent Dispatch Eligibility Gate
997
+
998
+ Subagent eligibility gate 只把任务是否满足 subagent 派发前置条件证据化,不派发 subagent:
999
+
1000
+ ```bash
1001
+ node tools/vibe-runtime/index.mjs subagents --eligibility --task <task-id>
1002
+ node tools/vibe-runtime/index.mjs subagents --eligibility --task <task-id> --confirm
1003
+ node tools/vibe-runtime/index.mjs subagents --list
1004
+ node tools/vibe-runtime/index.mjs subagents --show <eligibility-file>
1005
+ node tools/vibe-runtime/index.mjs subagents --verify <eligibility-file>
1006
+ ```
1007
+
1008
+ `subagents --eligibility` 默认只读;`--confirm` 只写 `.vibecoding-state/subagent-eligibility/*.subagent-eligibility.json`。gate catalog 来自 `vibe-subagent-driven-development` 的前置条件:用户许可、brief 完整、文件范围隔离、共享状态无冲突、任务级 review gate、最终 review gate、fallback path 和平台能力。证据必须显式记录在 task evidence / notes / review evidence 中;缺证据只会 blocked。Stage 35 固定 `allowed_followup=dispatch-artifact-only`、`subagent_dispatch=false`、`session_create=false`、`platform_api=false`、`scheduler_run=false`、`git=false`、`worktree=false`。
1009
+
1010
+ ## Stage 36 Approved Subagent Dispatch Artifact
1011
+
1012
+ Approved dispatch artifact 只写派发单,不启动 subagent:
1013
+
1014
+ ```bash
1015
+ node tools/vibe-runtime/index.mjs subagents --dispatch --from-plan <scheduler-hook-plan-file> --eligibility <eligibility-file> --confirm
1016
+ node tools/vibe-runtime/index.mjs subagents --verify <subagent-dispatch-file>
1017
+ ```
1018
+
1019
+ Stage 36 dispatch artifact 绑定 scheduler hook plan digest、eligibility digest、task brief digest、workflow digest、methodology gate digest、approval policy digest 和 capability matrix digest。它固定 `dispatch_status=approved-dispatch-artifact-only`、`allowed_followup=claim-artifact-only`、`lease_required=true`、`review_required=true`、`no_session_create=true`、`no_platform_api=true`、`no_subagent_run=true`,只写 `.vibecoding-state/subagent-dispatches/*.subagent-dispatch.json`。
1020
+
1021
+ ## Stage 37 Single-shot Agent Scheduler Run
1022
+
1023
+ Single-shot run 消费一个 approved dispatch,并写本地 scheduler run / lease / result 审计链:
1024
+
1025
+ ```bash
1026
+ node tools/vibe-runtime/index.mjs subagents --run --from-dispatch <subagent-dispatch-file> --confirm
1027
+ node tools/vibe-runtime/index.mjs subagents --verify <subagent-scheduler-run-file>
1028
+ node tools/vibe-runtime/index.mjs subagents --verify <subagent-lease-file>
1029
+ node tools/vibe-runtime/index.mjs subagents --verify <subagent-run-result-file>
1030
+ ```
1031
+
1032
+ `subagents --run` 必须显式 `--confirm`,一次只处理一个 `.subagent-dispatch.json`。它只写 `.vibecoding-state/scheduler-runs/*.subagent-scheduler-run.json`、`.vibecoding-state/subagent-run-leases/*.subagent-lease.json` 和 `.vibecoding-state/subagent-run-results/*.subagent-run-result.json`。Stage 37 固定 `foreground_only=true`、`single_shot=true`、`lease_acquired=true`、`budget_consumed=true`、`allowed_followup=result-review-gate-only`,同时保持 `session_created=false`、`platform_api=false`、`actual_subagent_session=false`、`model_invocation=false`、`external_delivery=false`、`business_source_write=false`、`git=false`、`worktree=false`。
1033
+ ## Stage 32 方法论 gate ledger
1034
+
1035
+ Methodology gate ledger 把 external reference 式工程纪律本地证据化:
1036
+
1037
+ ```bash
1038
+ node tools/vibe-runtime/index.mjs methodology --catalog
1039
+ node tools/vibe-runtime/index.mjs methodology --gate --kind spec
1040
+ node tools/vibe-runtime/index.mjs methodology --gate --kind plan
1041
+ node tools/vibe-runtime/index.mjs methodology --gate --kind tdd
1042
+ node tools/vibe-runtime/index.mjs methodology --gate --kind debug
1043
+ node tools/vibe-runtime/index.mjs methodology --gate --kind review
1044
+ node tools/vibe-runtime/index.mjs methodology --gate --kind completion
1045
+ node tools/vibe-runtime/index.mjs methodology --gate --kind completion --confirm
1046
+ node tools/vibe-runtime/index.mjs methodology --list
1047
+ node tools/vibe-runtime/index.mjs methodology --show <methodology-gate-file>
1048
+ node tools/vibe-runtime/index.mjs methodology --verify <methodology-gate-file>
1049
+ ```
1050
+
1051
+ `methodology --gate` 默认只预览,不写文件;`--confirm` 只写 `.vibecoding-state/methodology-gates/*.methodology-gate.json`。gate 绑定 workflow digest、builtin methodology catalog digest、criteria、blocked reasons 和 safety boundary。它不执行 workflow skill、不调用 external reference、不派发 subagent、不触碰 git/worktree、不创建 PR、不调用平台 API。
1052
+
1053
+ ## 使用
1054
+
1055
+ 查看状态,不写文件:
1056
+
1057
+ ```bash
1058
+ node tools/vibe-runtime/index.mjs status
1059
+ node tools/vibe-runtime/index.mjs status --json
1060
+ ```
1061
+
1062
+ `status` 会输出当前本地 ledger 摘要。无状态时不会创建 `.vibecoding-state/`;有状态时会展示当前 skill、下一 skill、停止条件、范围、风险、验收、相关文件和证据。`status --json` 使用只读 JSON envelope 输出同一摘要,`state_present: false` 表示没有 ledger,且仍不创建状态目录。
1063
+
1064
+ ```text
1065
+ Vibecoding Runtime State
1066
+ Status: handoff-recorded
1067
+ Current skill: vibe-test-driven-development
1068
+ Next skill: vibe-executing-plans
1069
+ Reason: 验证策略已明确,可以按计划执行。
1070
+ Stop condition: none
1071
+ Scope:
1072
+ - runtime status readability smoke
1073
+ Risks:
1074
+ - none
1075
+ Acceptance:
1076
+ - status shows workflow ledger summary
1077
+ Files:
1078
+ - tools/vibe-runtime/index.mjs
1079
+ Evidence:
1080
+ - release-check
1081
+ Action: status is read-only. No workflow state was changed.
1082
+ ```
1083
+
1084
+ 校验 handoff,不写 ledger:
1085
+
1086
+ ```bash
1087
+ node tools/vibe-runtime/index.mjs validate-handoff --from-file handoff.md
1088
+ node tools/vibe-runtime/index.mjs validate-handoff --from-file handoff.md --json
1089
+ ```
1090
+
1091
+ `validate-handoff` 复用 `record-handoff` 的 JSON-first / fenced JSON / legacy fallback 解析和 contract 校验,成功后输出 normalized 摘要与 `Handoff quality:` 提示,但不会创建 `.vibecoding-state/`,不会写 `.vibecoding-state/workflow.json`,也不会执行下一步。`--json` 输出同一校验结果的机器可读摘要,包含 `schema_version`、`command`、`mode`、`ok`、`state_present`、`summary`、`tasks`、`quality` 和 `action`。
1092
+
1093
+ ```text
1094
+ Vibecoding Runtime Handoff Validation
1095
+ Mode: dry-run
1096
+ Status: valid
1097
+ Current skill: vibe-test-driven-development
1098
+ Next skill: vibe-executing-plans
1099
+ Tasks: 5 (blocked)
1100
+ Task readiness: ready=2, waiting=0, blocked=1, completed=2
1101
+ Review: not_started=1, requested=1, clean=1, needs_fix=1, waived=1
1102
+ Handoff quality:
1103
+ [ok] scope present
1104
+ [ok] risks present
1105
+ [ok] acceptance present
1106
+ Action: handoff was validated. No workflow state was changed.
1107
+ ```
1108
+
1109
+ 记录 handoff:
1110
+
1111
+ ```bash
1112
+ node tools/vibe-runtime/index.mjs record-handoff --from-file handoff.md
1113
+ ```
1114
+
1115
+ `record-handoff` 成功后会输出 `Handoff quality:` 质量提示。提示只帮助发现范围、风险、验收、相关文件、证据和停止条件是否表达清楚;即使出现 `[warn]`,也不会拒绝写入,不会修复 handoff,也不会执行下一步。
1116
+
1117
+ ```text
1118
+ Recorded handoff: .vibecoding-state/workflow.json
1119
+ Current skill: vibe-planning
1120
+ Next skill: vibe-writing-plans
1121
+ Handoff quality:
1122
+ [ok] scope present
1123
+ [warn] risks is empty; record known risks or use none intentionally.
1124
+ [warn] acceptance is empty; define completion checks before implementation.
1125
+ [ok] files present
1126
+ [warn] evidence is empty; add verification evidence when available.
1127
+ Action: handoff was recorded. No next skill was executed.
1128
+ ```
1129
+
1130
+ 预览下一步,不执行:
1131
+
1132
+ ```bash
1133
+ node tools/vibe-runtime/index.mjs next --dry-run
1134
+ node tools/vibe-runtime/index.mjs next --dry-run --json
1135
+ node tools/vibe-runtime/index.mjs next --dry-run --dispatch-intent
1136
+ node tools/vibe-runtime/index.mjs next --dry-run --dispatch-intent --json
1137
+ ```
1138
+
1139
+ `next --dry-run` 会输出文本建议卡片,并按当前 ledger 状态显示:
1140
+
1141
+ - `ready`:可以手动进入 `next_skill`。
1142
+ - `blocked`:`stop_condition` 有实际内容,必须先处理停止条件。
1143
+ - `stopped`:没有下一步,或 `next_skill: none`。
1144
+ - `idle`:尚未记录 workflow state。
1145
+
1146
+ 示例:
1147
+
1148
+ ```text
1149
+ Vibecoding Runtime Next Step
1150
+ Mode: dry-run
1151
+ Status: ready
1152
+ Current skill: vibe-test-driven-development
1153
+ Next skill: vibe-executing-plans
1154
+ Reason: 验证策略已明确,可以按计划执行。
1155
+ Task status: blocked
1156
+ Task readiness: ready=2, waiting=0, blocked=1, completed=2
1157
+ Review status: needs_fix
1158
+ Manual action: resolve review feedback explicitly before finishing.
1159
+ Risks:
1160
+ - parser boundary depends on CLI smoke
1161
+ Acceptance:
1162
+ - JSON / legacy handoff can be recorded
1163
+ Action: no skill was executed.
1164
+ ```
1165
+
1166
+ 阻塞态示例:
1167
+
1168
+ ```text
1169
+ Vibecoding Runtime Next Step
1170
+ Mode: dry-run
1171
+ Status: blocked
1172
+ Current skill: vibe-brainstorming
1173
+ Next skill: vibe-planning
1174
+ Stop condition: waiting for user to confirm target direction
1175
+ Manual action: resolve stop_condition before continuing.
1176
+ Action: no skill was executed.
1177
+ ```
1178
+
1179
+ `next --dry-run --dispatch-intent` 是 Stage 5.x adapter bridge readiness 的只读预览。它只输出下一步意图、adapter hints 和 gate preview,不写 `.vibecoding-state/dispatches/`,不执行 skill,不调用 subagent / MCP / daemon,也不触碰 git / worktree。`--json` 输出包含 `intent`、`gates`、`runtimeBridge`、`platform_hints` 和 `safety.dispatch_event=false`。
1180
+
1181
+ 显式确认 dispatch event:
1182
+
1183
+ ```bash
1184
+ node tools/vibe-runtime/index.mjs next --confirm --dispatch
1185
+ node tools/vibe-runtime/index.mjs next --confirm --dispatch --json
1186
+ ```
1187
+
1188
+ `next --confirm --dispatch` 是 Stage 6.x confirm-dispatch gate。它只在 ledger 存在、`next_skill` 非 `none`、`stop_condition` clear、allowed transition、review gate passed、task readiness gate passed 时写入 `.vibecoding-state/dispatches/<timestamp>.json`。失败时返回非零且不写 dispatch event。
1189
+
1190
+ 成功输出和写入同一个 adapter-readable dispatch envelope。`--json` 输出可解析 `confirm-dispatch` envelope,但这是执行结果,不属于 Stage 4/5 read-only JSON。该命令不自动执行 skill,不调用 Claude / Codex / Cursor API,不调用 subagent / MCP / daemon,不触碰 git / worktree / branch / stash,不写业务源码。
1191
+
1192
+ 只读审计 dispatch event:
1193
+
1194
+ ```bash
1195
+ node tools/vibe-runtime/index.mjs dispatches --list
1196
+ node tools/vibe-runtime/index.mjs dispatches --list --json
1197
+ node tools/vibe-runtime/index.mjs dispatches --show <event-file>
1198
+ node tools/vibe-runtime/index.mjs dispatches --show <event-file> --json
1199
+ node tools/vibe-runtime/index.mjs dispatches --verify <event-file>
1200
+ node tools/vibe-runtime/index.mjs dispatches --verify <event-file> --json
1201
+ node tools/vibe-runtime/index.mjs dispatches --claim <event-file> --actor <id>
1202
+ node tools/vibe-runtime/index.mjs dispatches --claim <event-file> --actor <id> --json
1203
+ node tools/vibe-runtime/index.mjs dispatches --ack <event-file> --actor <id> --status picked
1204
+ node tools/vibe-runtime/index.mjs dispatches --ack <event-file> --actor <id> --status skipped --reason "manual pickup skipped"
1205
+ node tools/vibe-runtime/index.mjs dispatches --ack <event-file> --actor <id> --status failed --reason "manual pickup failed"
1206
+ node tools/vibe-runtime/index.mjs dispatches --claims
1207
+ node tools/vibe-runtime/index.mjs dispatches --claims --json
1208
+ node tools/vibe-runtime/index.mjs dispatches --pickup <event-file>
1209
+ node tools/vibe-runtime/index.mjs dispatches --pickup <event-file> --platform claude
1210
+ node tools/vibe-runtime/index.mjs dispatches --pickup <event-file> --platform cursor --json
1211
+ node tools/vibe-runtime/index.mjs dispatches --pickup-verify <event-file> --platform claude
1212
+ node tools/vibe-runtime/index.mjs dispatches --pickup-dry-run <event-file> --platform cursor --json
1213
+ ```
1214
+
1215
+ `dispatches --claim`、`dispatches --ack` 和 `dispatches --claims` 是 Stage 7 dispatch claim / ack gate。`--claim` 会在 event verification 通过后写入 `.vibecoding-state/dispatch-claims/<event-file>.claim.json`,用于声明某个 actor 已领取该 dispatch event;它不会修改原始 event,不会执行 skill,不会调用 Claude / Codex / Cursor API,不会调用 subagent / MCP / daemon,也不会触碰 git / worktree 或业务源码。
1216
+
1217
+ Stage 7.1 claim input hardening 覆盖 verified dispatch event、safe actor id 和重复 active claim 拒绝;缺 actor、非法 actor、缺 event、非法 event 或路径越界都失败且不写越界文件。
1218
+
1219
+ `--ack` 只更新对应 claim file 的人工 pickup 结果,合法状态为 `picked`、`skipped`、`failed`。ack 必须由同一个 actor 执行;未 claim、actor 不匹配、非法状态或非法 event 都会失败。Stage 7.2 ack lifecycle hardening 保证 `consumed` 保持非法,`ack.reason` 稳定保留。Stage 7.9/7.10 后,`skipped` / `failed` 必须提供 non-empty `--reason`,并且 ack 前会强制 claim `event_sha256` 与当前 dispatch event digest 一致;digest mismatch 会失败并要求人工审查。
1220
+
1221
+ `dispatches --claims` 只列出 claim state 摘要;缺少 claim 目录时返回空列表且不创建目录。Stage 7.3 claims audit hardening 要求列表可区分 `claimed`、`picked`、`skipped`、`failed`,且损坏 claim 不被静默当作正常可执行状态。
1222
+
1223
+ `dispatches --pickup` 是 Stage 8 Adapter Pickup Package Gate。它只读取 dispatch event、event verification、可选 claim state 和平台入口 hint,输出 adapter / human 可复制的 pickup package;默认平台为 `cursor`,也可显式传 `--platform claude|cursor|codex`。输出包含 target workflow skill、source workflow skill、entry file、manual instruction、workflow state path、dispatch event path、claim state path、claim 摘要和 safety boundary。
1224
+
1225
+ `dispatches --pickup` 是只读命令:不自动 claim、不写 `.vibecoding-state/dispatch-claims/`、不修改原始 dispatch event、不调用 Claude / Codex / Cursor API、不创建会话、不执行 skill、不调用 subagent / MCP / daemon、不触碰 git / worktree 或业务源码。event 未 claim 时只输出 warning,不自动补 claim。Stage 8.1 pickup package manifest 固定输出 platform、entry file、source skill、target skill、workflow state path、dispatch event path、claim state path、event digest、manual instruction 和 safety boundary。Stage 8.2 pickup readiness gates 要求 event verification 可见,未 claim 只 warning,claim 非 `picked` 时只说明不可视为 execution readiness。Stage 8.3 pickup read-only audit 要求 `--json` 可解析,非法 platform、路径越界或损坏 event 失败且 no-write。Stage 8.4 / 8.6 额外输出 `ready_for_adapter`、`event_valid`、`claim_picked`、`target_skill_present`、`entry_file_present`,并绑定 `event_sha256`、`claim_sha256`、`workflow_sha256` 和 `handoff_sha256`。Stage 8.7-8.10 增加 `dispatches --pickup-verify` 和 `dispatches --pickup-dry-run`:前者独立验证 pickup package,后者模拟 adapter 会读取的 entry、dispatch、claim 和 digest。Claude 使用 `CLAUDE.md`,Cursor / Codex 使用 `AGENTS.md`;当前三者都只生成 manual/no-session/no-API/no-stdin pickup contract。
1226
+
1227
+ 受监管执行 envelope 和本地受监管 run:
1228
+
1229
+ ```bash
1230
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --dry-run
1231
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --dry-run --json
1232
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --preflight --actor <id>
1233
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --preflight --actor <id> --json
1234
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --candidate --actor <id>
1235
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --candidate --actor <id> --confirm
1236
+ node tools/vibe-runtime/index.mjs execute --approval-package --approval <candidate-file>
1237
+ node tools/vibe-runtime/index.mjs execute --approval-package --approval <candidate-file> --confirm
1238
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --confirm --actor <id>
1239
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --confirm --actor <id> --json
1240
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --confirm --actor <id> --run
1241
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --confirm --actor <id> --run --json
1242
+ node tools/vibe-runtime/index.mjs execute --from-dispatch <event-file> --confirm --actor <id> --run --auto-run --approval <approval-file>
1243
+ node tools/vibe-runtime/index.mjs actions --list
1244
+ node tools/vibe-runtime/index.mjs actions --show generate-supervised-handoff-package
1245
+ node tools/vibe-runtime/index.mjs actions --verify generate-supervised-handoff-package
1246
+ node tools/vibe-runtime/index.mjs approvals --list
1247
+ node tools/vibe-runtime/index.mjs approvals --show <approval-file>
1248
+ node tools/vibe-runtime/index.mjs approvals --verify <approval-file>
1249
+ node tools/vibe-runtime/index.mjs approvals --transition <approval-file> --status revoked --actor <id> --reason "manual revocation" --confirm
1250
+ node tools/vibe-runtime/index.mjs policies --list
1251
+ node tools/vibe-runtime/index.mjs policies --show controlled-local-runtime
1252
+ node tools/vibe-runtime/index.mjs queue --scan
1253
+ node tools/vibe-runtime/index.mjs queue --scan --confirm
1254
+ node tools/vibe-runtime/index.mjs queue --list
1255
+ node tools/vibe-runtime/index.mjs queue --show <queue-file>
1256
+ node tools/vibe-runtime/index.mjs queue --verify <queue-file>
1257
+ node tools/vibe-runtime/index.mjs executions --list
1258
+ node tools/vibe-runtime/index.mjs executions --list --json
1259
+ node tools/vibe-runtime/index.mjs executions --show <execution-file>
1260
+ node tools/vibe-runtime/index.mjs executions --verify <execution-file>
1261
+ ```
1262
+
1263
+ `execute --from-dispatch` 的 Stage 9 语义保持 planned execution gate。`--preflight` 只读取 dispatch event、claim、allowlist、review gate、task readiness、stop condition 和 write boundary,输出 gates 与 policy snapshot,不写 `.vibecoding-state/executions/`。`--dry-run` 只读取 dispatch event、校验 event、读取 claim 并输出 execution plan,也不写 `.vibecoding-state/executions/`。`--confirm` 必须显式传入 `--actor`,且对应 claim 必须存在、actor 匹配、状态为 `picked`,成功后只写 `.vibecoding-state/executions/<timestamp>-<dispatch-hash>.execution.json` planned execution envelope。planned envelope 包含 policy name/version、allowlisted skills snapshot、expected write boundary、forbidden write boundary 和 stable `idempotency_key`。
1264
+
1265
+ Stage 9.1 dry-run execution plan 只预览 execution plan。Stage 9.2 confirm planned envelope 只写 planned envelope,并明确 `skill_execution=false`、`auto_execution=false`、`runtime_action=false`。Stage 9.3 claim picked gate 覆盖 dry-run、preflight、confirm 和后续 run gate。Stage 9.4 no execution boundary 固定不执行目标 workflow skill、不创建平台 session、不调用 Claude / Codex / Cursor API、不触碰 git / worktree、不写业务源码。Stage 9.5 execution envelope safety 固定记录 `platform_api=false`、`subagent=false`、`mcp=false`、`daemon=false`、`git=false`、`worktree=false`、`business_source_write=false`。Stage 9.6 immutability 保证成功或失败都不修改原始 dispatch event 或 claim state。Stage 9.7 execution preflight audit 提供独立只读 `--preflight` / `--preflight --json` 输出。Stage 9.8 planned envelope verify 要求 `executions --verify` 拒绝 corrupted planned safety。Stage 9.9 idempotency key 基于 event digest、actor 和 target skill 稳定生成。Stage 9.10 execution policy snapshot 记录 execution policy name/version、allowlisted skills snapshot 和 forbidden actions。Stage 9.11 write boundary preview 记录 expected writes 和 forbidden write boundary。
1266
+
1267
+ 兼容 marker 仍保留:Stage 9.1 execution preflight gates、Stage 9.2 execution preflight audit / planned execution envelope、Stage 9.3 immutability guarantees 和 Stage 9.5 idempotency / policy snapshot,用于 runtime-check、doctor 和 release smoke 的旧 marker 检索。
1268
+
1269
+ Stage 12-14 在 Stage 11 之后继续推进到受控自动执行,但仍保持边界收紧:Stage 12 的 `execute --candidate` 只生成 execution candidate,默认 no-write,`--confirm` 只写 `.vibecoding-state/execution-candidates/*.candidate.json`;Stage 13 的 `execute --approval-package --approval <candidate-file>` 默认只模拟 approval package,不写文件,带 `--confirm` 时才写 `.vibecoding-state/execution-approvals/*.approval.json`,模拟 expected writes、evidence completeness 和 recovery plan,不执行 runtime action;Stage 14 的 `execute --confirm --run --auto-run --approval <approval-file>` 必须绑定 approval digest、candidate digest、idempotency key 和 local lock,只执行唯一 allowlisted runtime action `generate-supervised-handoff-package`,不执行 workflow skill、不接平台 API、不调用 subagent/MCP/daemon、不触碰 git/worktree、不写业务源码。
1270
+
1271
+ Stage 15-16 增加自动执行增强层,但不扩大执行能力:Stage 15 的 `policies --list` / `policies --show <profile>` 只审计内置 policy DSL profile(`strict`、`controlled-local-runtime`、`review-only`),输出 stable snapshot、`policy_digest`、approval requirement、limits、risk gate 和 data-only source boundary;Stage 16 的 `queue --scan` 默认只读扫描 `.vibecoding-state/execution-candidates/` 和 `.vibecoding-state/execution-approvals/`,输出 queue items、ready/blocked/stale/locked、priority 和 promotion preview。只有 `queue --scan --confirm` 写 `.vibecoding-state/execution-queue/*.queue.json`;`queue --list/show/verify` 是只读 queue audit。Stage 16 不调用 `execute --auto-run`,不启动 daemon/worker/watcher,不修改 dispatch/claim/execution。
1272
+
1273
+ Stage 17-18 增加 approval lifecycle 与 runtime action catalog,但仍不扩大执行能力:Stage 17 的 `approvals --list/show/verify` 只读审计 approval 与 lifecycle sidecar;`approvals --transition <approval-file> --status <approved|rejected|expired|revoked> --actor <id> --reason <text>` 默认 preview no-write,只有 `--confirm` 写 `.vibecoding-state/approval-lifecycle/*.approval-lifecycle.json`,不修改原 approval artifact。controlled auto-run 前必须通过 lifecycle gate,rejected / expired / revoked / consumed 均 blocked;成功 controlled auto-run 写 consumed sidecar evidence。Stage 18 的 `actions --list/show/verify` 只读审计内置 action catalog,唯一 action 为 `generate-supervised-handoff-package`,catalog 固定 builtin-data-only、`default_allow_unknown=false` 和 `catalog_digest`;candidate、approval、policy evaluation、queue scan 与 auto-run 都绑定并校验 action catalog digest,未知 action 默认 blocked。
1274
+
1275
+ Stage 11 Supervised Real Executor v1 新增 `execute --confirm --run`。它只在人工显式确认、claim 已 `picked`、actor 匹配且 target skill 属于 allowlist 时,执行本地受监管 runtime action:生成 supervised handoff package / evidence,并写入 `supervised-run` lifecycle record。Stage 11.1 后,`--confirm --run` 会先在同一个 `.execution.json` 文件中持久化 `running` record,再把同一文件原子更新为 terminal status;pre-run gate 失败不创建 execution file,进入 run 后 crash 时保留 running/stale 审计证据。
1276
+
1277
+ Stage 11 allowlist 第一批包含 `vibe-verification-before-completion`、`vibe-review`、`vibe-requesting-code-review`、`vibe-receiving-code-review`、`vibe-systematic-debugging`、`vibe-test-driven-development` 和 `vibe-executing-plans`。`vibe-subagent-driven-development`、`vibe-dispatching-parallel-work` 和 `vibe-finishing-a-development-branch` 不允许 `--run`。
1278
+
1279
+ `executions --list`、`executions --show <execution-file>` 和 `executions --verify <execution-file>` 是 read-only execution audit。它们只读取 `.vibecoding-state/executions/`,校验 `.execution.json` envelope,不执行 skill、不调用平台 API、不调用 subagent / MCP / daemon、不触碰 git / worktree,也不写业务源码。
1280
+
1281
+ Stage 11.1 verification 会拒绝缺失 lifecycle、缺少 running 首态、终态不匹配、timestamp 非法或倒序、缺少 `evidence.stdout_excerpt`、非 allowlisted、错误 `runtime_action` 或 bad safety 的 `supervised-run` record。文本输出和 JSON safety 保持一致:dry-run / confirm 为 `runtime_action=false`,run 为 `runtime_action=true`。
1282
+
1283
+ Stage 11.2-11.10 进一步拆分 supervised real executor:11.2 run record 复用 preflight gates、policy 和 write boundary;11.3 固定 runtime action contract 为 `generate-supervised-handoff-package`,记录 input/output summary;11.4 支持 `failed` terminal lifecycle;11.5 支持 `timed_out` terminal lifecycle;11.6 支持 `cancelled` terminal lifecycle;11.7 audit 输出 active、terminal、age_ms 和 stale;11.8 阻止同 idempotency key 的 active running run 重复启动;11.9 verify 强校验 policy snapshot、allowlist snapshot、forbidden actions 和 runtime action contract;11.10 要求 docs、runtime-check 和 release smoke 同步覆盖这些边界。
1284
+
1285
+ JSON 输出包含 `execution`、`dispatch`、`claim`、`verification`、`evidence`、`safety.runtime_action=true`、`safety.skill_execution=false` 和 `safety.auto_execution=false`。Stage 11 是受监管 runtime action,不是 agent 自动改代码。
1286
+
1287
+ 可选 daemon once-run gate:
1288
+
1289
+ ```bash
1290
+ node tools/vibe-runtime/index.mjs daemon --dry-run
1291
+ node tools/vibe-runtime/index.mjs daemon --dry-run --json
1292
+ node tools/vibe-runtime/index.mjs daemon --scan --dry-run
1293
+ node tools/vibe-runtime/index.mjs daemon --scan --dry-run --json
1294
+ node tools/vibe-runtime/index.mjs daemon --once --confirm
1295
+ node tools/vibe-runtime/index.mjs daemon --once --confirm --json
1296
+ ```
1297
+
1298
+ `daemon` 是 Stage 10 Optional Daemon / Watcher Gate。默认无参数会失败,不会启用后台能力。`daemon --dry-run` 只预览 once-run gate,不写 `.vibecoding-state/daemon-runs/`。`daemon --scan --dry-run` 是只读 scheduler audit,只读取 dispatches、claims 和 executions,输出 candidates、blocked items、stale claims、stale running executions、failed/timed_out retry preview、`retry_allowed=false`、lock / lease contract 和 watcher disabled;它不创建 daemon-runs,不 pickup、不 execute、不 retry、不改 dispatch/claim/execution。`daemon --once --confirm` 只写 `.vibecoding-state/daemon-runs/<timestamp>.daemon-run.json` daemon run envelope。
1299
+
1300
+ Stage 10 第一批不启动 long-running worker,不启动 watcher,不自动扫描并执行所有 dispatches,不 pickup claim,不调用 `execute`,不执行 workflow skill,不调用 Claude / Codex / Cursor API,不调用 subagent / MCP,不触碰 git / worktree,不写业务源码。JSON 输出包含 `daemon_run` 和 `safety.default_enabled=false`、`safety.long_running=false`、`safety.watcher=false`、`safety.dispatch_scan_execution=false`、`safety.auto_execution=false`。Stage 10.3-10.13 的 scheduler / daemon contract 必须继续保持 `worker=false`、`watcher.enabled=false`、`lock_acquired=false`、`lease_required=true`、`heartbeat_started=false`、`scan_noop=true` 和 `retry_allowed=false`。
1301
+
1302
+ 生成 workflow artifacts,默认 dry-run 不写文件:
1303
+
1304
+ ```bash
1305
+ node tools/vibe-runtime/index.mjs artifacts --dry-run
1306
+ ```
1307
+
1308
+ `artifacts --dry-run` 会从现有 `.vibecoding-state/workflow.json` 预览 task brief、review gate 和 evidence skeleton。无状态时会失败并提示先显式记录 handoff,不会创建文件。`--dry-run` 和 `--write` 不能同时使用。
1309
+
1310
+ 三个 artifact 的职责边界:
1311
+
1312
+ - `task-brief.md`:任务交接材料,聚焦 goal、workflow reason、当前 workflow、scope、key decisions、files、acceptance 和 risks。
1313
+ - `review-gate.md`:review 辅助材料,聚焦 review focus、key decisions to verify、risk gate、evidence gate、files to inspect 和 completion gate。
1314
+ - `evidence.md`:完成前证据骨架,聚焦 existing evidence、evidence gaps、acceptance to verify、risks requiring evidence 和 decisions requiring evidence。
1315
+
1316
+ 缺失字段会显示为 `not recorded` / `- not recorded`,表示 ledger 未记录,不表示已经验证为无风险或无缺口。
1317
+
1318
+ 显式写入 artifacts:
1319
+
1320
+ ```bash
1321
+ node tools/vibe-runtime/index.mjs artifacts --write
1322
+ ```
1323
+
1324
+ `artifacts --write` 只写入:
1325
+
1326
+ ```text
1327
+ .vibecoding-state/task-brief.md
1328
+ .vibecoding-state/review-gate.md
1329
+ .vibecoding-state/evidence.md
1330
+ ```
1331
+
1332
+ 这些文件只来自 ledger 字段,不会自动推断 workflow,不会执行 `next_skill`,不会调用 subagent,也不会执行 git 或 worktree 动作。
1333
+
1334
+ 生成任务级 artifacts,默认 dry-run 不写文件:
1335
+
1336
+ ```bash
1337
+ node tools/vibe-runtime/index.mjs tasks --dry-run
1338
+ node tools/vibe-runtime/index.mjs tasks --dry-run --json
1339
+ ```
1340
+
1341
+ `tasks --dry-run` 会从 `.vibecoding-state/workflow.json` 中可选的 `tasks` 字段预览每个任务的 brief、report、review gate 和 evidence skeleton。无状态时会失败并提示先显式记录 handoff,不会创建文件。`--dry-run` 和 `--write` 不能同时使用。`tasks --dry-run --json` 输出 task selection 摘要、选中 task ids、readiness、blocked_by、review_status 和 artifact paths,不输出 artifact 正文,也不会写 task artifacts。
1342
+
1343
+ 显式写入任务级 artifacts:
1344
+
1345
+ ```bash
1346
+ node tools/vibe-runtime/index.mjs tasks --write
1347
+ node tools/vibe-runtime/index.mjs tasks --dry-run --task task-1
1348
+ node tools/vibe-runtime/index.mjs tasks --write --task task.alpha_1
1349
+ ```
1350
+
1351
+ `--task <task-id>` 会把任务级 artifacts 限定到 ledger 中已存在的一个 task。task id 会先经过同一套路径安全校验;找不到 task 时失败,不写文件;`--write --task` 只写选中 task 的 `brief.md`、`report.md`、`review-gate.md` 和 `evidence.md`,不会删除或创建其他 task 的 artifacts。`--dry-run --task <task-id> --json` 只输出选中任务的 JSON 摘要,`summary.selected_count` 必须为 `1`。
1352
+
1353
+ ## 只读 JSON 输出 contract
1354
+
1355
+ Stage 4.7 为只读命令提供机器可读 JSON 输出。支持范围:
1356
+
1357
+ ```bash
1358
+ node tools/vibe-runtime/index.mjs status --json
1359
+ node tools/vibe-runtime/index.mjs validate-handoff --from-file handoff.md --json
1360
+ node tools/vibe-runtime/index.mjs next --dry-run --json
1361
+ node tools/vibe-runtime/index.mjs tasks --dry-run --json
1362
+ node tools/vibe-runtime/index.mjs tasks --dry-run --task task-1 --json
1363
+ ```
1364
+
1365
+ 统一 envelope:
1366
+
1367
+ ```json
1368
+ {
1369
+ "schema_version": 1,
1370
+ "command": "status",
1371
+ "mode": "read-only",
1372
+ "ok": true,
1373
+ "state_present": true,
1374
+ "summary": {},
1375
+ "tasks": [],
1376
+ "quality": [],
1377
+ "action": "status is read-only. No workflow state was changed."
1378
+ }
1379
+ ```
1380
+
1381
+ 命令差异:
1382
+
1383
+ - `status --json`:`mode` 为 `read-only`;无 ledger 时 `state_present: false`,`summary: null`,不创建 `.vibecoding-state/`。
1384
+ - `validate-handoff --json`:`mode` 为 `dry-run`;输出 normalized handoff summary、task readiness counts、review counts 和 quality hints,不写 workflow state。
1385
+ - `next --dry-run --json`:`mode` 为 `dry-run`;输出 `idle` / `ready` / `blocked` / `stopped`、`manual_action`、task readiness 和 review summary,不执行 `next_skill`。
1386
+ - `tasks --dry-run --json`:`mode` 为 `dry-run`;输出 `summary.total_tasks`、`summary.selected_count`、`summary.selected_task_ids`、每个选中 task 的 readiness、blocked_by、review_status 和 artifact_paths,不输出 artifact 正文;使用 `--task <task-id>` 时,输出列表只包含选中 task,但 readiness / blocked_by 仍按完整 ledger dependency graph 计算。
1387
+
1388
+ 写入类命令不支持 `--json`:`record-handoff --json`、`artifacts --json`、`tasks --write --json` 和 `reset --json` 会明确失败。`--json` 不会触发写状态、执行 skill、调用 subagent、触碰 git 或 worktree。
1389
+
1390
+ `tasks --write` 只写入 `.vibecoding-state/tasks/<task-id>/` 下的任务文件:
1391
+
1392
+ ```text
1393
+ .vibecoding-state/tasks/task-1/brief.md
1394
+ .vibecoding-state/tasks/task-1/report.md
1395
+ .vibecoding-state/tasks/task-1/review-gate.md
1396
+ .vibecoding-state/tasks/task-1/evidence.md
1397
+ ```
1398
+
1399
+ 这些任务级 artifacts 只来自 ledger 中的 `tasks` 字段,用于后续人工执行、review 或 subagent prompt package 的输入基础;当前不会执行任务、不会调用 subagent、不会写业务源码、不会运行验证命令。`task.id` 只允许英文字母、数字、`.`、`_`、`-`,并拒绝空值、`.`、`..`、路径分隔符、盘符、绝对路径、路径穿越、Windows 保留设备名(含带扩展名形式,如 `CON.txt`)或尾随 `.` / 空格;同一 workflow handoff 内 task id 必须唯一,确保 `tasks --task` 始终只选择一个 task,并确保 `tasks --write` 只能写入 `.vibecoding-state/tasks/<task-id>/`。`depends_on` 只允许引用同一 handoff 中存在的安全 task id,不能自依赖,不能形成 cyclic task dependency;`Task readiness` / `Dependency readiness` 只作为只读提示,帮助人工判断 ready / waiting / blocked / completed,不会自动选择或执行 task。
1400
+
1401
+ 重置本地 runtime 状态:
1402
+
1403
+ ```bash
1404
+ node tools/vibe-runtime/index.mjs reset --confirm
1405
+ ```
1406
+
1407
+ 指定目标根目录。目标目录必须已经存在;`record-handoff` 不会创建 root,只会在已存在 root 下创建 `.vibecoding-state/`:
1408
+
1409
+ ```bash
1410
+ node tools/vibe-runtime/index.mjs status --root /path/to/project
1411
+ ```
1412
+
1413
+ ## 输入字段
1414
+
1415
+ `record-handoff --from-file` 推荐读取 `JSON handoff`。支持两种 JSON-first 输入:
1416
+
1417
+ ```json
1418
+ {
1419
+ "current_skill": "vibe-writing-plans",
1420
+ "next_skill": "vibe-test-driven-development",
1421
+ "reason": "计划已拆解,可以定义验证策略。",
1422
+ "handoff": {
1423
+ "goal": "目标描述",
1424
+ "scope": ["范围项"],
1425
+ "key_decisions": ["关键决策"],
1426
+ "files": ["相关文件"],
1427
+ "risks": ["风险"],
1428
+ "acceptance": ["验收标准"],
1429
+ "evidence": ["证据"],
1430
+ "tasks": [
1431
+ {
1432
+ "id": "task-1",
1433
+ "title": "任务标题",
1434
+ "status": "pending",
1435
+ "review_status": "not_started",
1436
+ "review_notes": [],
1437
+ "review_evidence": [],
1438
+ "review_risks": [],
1439
+ "review_waiver": "",
1440
+ "files": ["相关文件"],
1441
+ "depends_on": [],
1442
+ "acceptance": ["任务验收"],
1443
+ "evidence": [],
1444
+ "risks": ["任务风险"],
1445
+ "notes": ["任务范围说明"],
1446
+ "stop_condition": "none"
1447
+ }
1448
+ ]
1449
+ },
1450
+ "stop_condition": "none"
1451
+ }
1452
+ ```
1453
+
1454
+ 也可以把同样的 JSON 放在 markdown fenced JSON block 中。
1455
+
1456
+ legacy fallback 仍兼容旧 `Workflow Handoff` 风格的 markdown / yaml-like 文本,最小必需字段:
1457
+
1458
+ ```text
1459
+ current_skill: vibe-writing-plans
1460
+ next_skill: vibe-test-driven-development
1461
+ ```
1462
+
1463
+ 记录后状态固定为 `handoff-recorded`。可选字段:
1464
+
1465
+ ```text
1466
+ reason:
1467
+ goal:
1468
+ key_decisions:
1469
+ scope:
1470
+ risks:
1471
+ acceptance:
1472
+ files:
1473
+ evidence:
1474
+ tasks:
1475
+ stop_condition:
1476
+ ```
1477
+
1478
+ `goal`、`key_decisions` 和 `tasks` 是可选上下文。JSON handoff 从 `handoff.goal`、`handoff.key_decisions` 和 `handoff.tasks` 读取;legacy fallback 从 `goal:` 和 `key_decisions:` 读取,任务列表为空。缺失这些字段不会阻止记录 handoff。
1479
+
1480
+ ## 状态文件与产物
1481
+
1482
+ ledger 状态只写入:
1483
+
1484
+ ```text
1485
+ .vibecoding-state/workflow.json
1486
+ ```
1487
+
1488
+ 显式 `artifacts --write` 只额外写入:
1489
+
1490
+ ```text
1491
+ .vibecoding-state/task-brief.md
1492
+ .vibecoding-state/review-gate.md
1493
+ .vibecoding-state/evidence.md
1494
+ ```
1495
+
1496
+ 这些 artifacts 会展示 ledger 中的 `goal`、`key_decisions`、`reason`、scope、files、risks、acceptance 和 evidence;缺失上下文字段时使用 `not recorded` / `- not recorded`。
1497
+
1498
+ 显式 `tasks --write` 只额外写入:
1499
+
1500
+ ```text
1501
+ .vibecoding-state/tasks/<task-id>/brief.md
1502
+ .vibecoding-state/tasks/<task-id>/report.md
1503
+ .vibecoding-state/tasks/<task-id>/review-gate.md
1504
+ .vibecoding-state/tasks/<task-id>/evidence.md
1505
+ ```
1506
+
1507
+ 这些 task artifacts 会展示 ledger 中每个 task 的 id、title、status、review_status、review_notes、review_evidence、review_risks、review_waiver、files、depends_on、acceptance、evidence、risks、notes 和 stop_condition;缺失字段时使用 `not recorded` / `- not recorded`。
1508
+
1509
+ 当前不会写业务源码、入口文件、adapter、hook、git 或 worktree。
1510
+
1511
+ Stage 19/20 运行时审计命令:
1512
+
1513
+ ```bash
1514
+ node tools/vibe-runtime/index.mjs leases --list
1515
+ node tools/vibe-runtime/index.mjs leases --show <lease-file>
1516
+ node tools/vibe-runtime/index.mjs leases --verify <lease-file>
1517
+ node tools/vibe-runtime/index.mjs recovery --preview
1518
+ node tools/vibe-runtime/index.mjs recovery --preview --confirm
1519
+ node tools/vibe-runtime/index.mjs recovery --show <recovery-file>
1520
+ node tools/vibe-runtime/index.mjs recovery --verify <recovery-file>
1521
+ node tools/vibe-runtime/index.mjs observability --summary
1522
+ node tools/vibe-runtime/index.mjs readiness --score
1523
+ node tools/vibe-runtime/index.mjs readiness --score --confirm
1524
+ ```
1525
+
1526
+ Stage 21/22/23 scheduler MVP 命令:
1527
+
1528
+ ```bash
1529
+ node tools/vibe-runtime/index.mjs scheduler --plan
1530
+ node tools/vibe-runtime/index.mjs scheduler --plan --confirm
1531
+ node tools/vibe-runtime/index.mjs scheduler --list-plans
1532
+ node tools/vibe-runtime/index.mjs scheduler --show-plan <plan-file>
1533
+ node tools/vibe-runtime/index.mjs scheduler --verify-plan <plan-file>
1534
+ node tools/vibe-runtime/index.mjs scheduler --once --confirm
1535
+ node tools/vibe-runtime/index.mjs scheduler-policies --list
1536
+ node tools/vibe-runtime/index.mjs scheduler-policies --show single-local-auto-run
1537
+ ```
1538
+
1539
+ Stage 21 `scheduler --plan` 默认 no-write,只把 queue scan 的 ready / blocked / promotion preview 收敛为 scheduler plan。`--confirm` 只写 `.vibecoding-state/scheduler-plans/*.scheduler-plan.json`。
1540
+
1541
+ Stage 22 scheduler policy / runtime budget 是 hard gate,不读取远程配置、不动态 eval。内置 profile 包含 `scheduler-dry-run`、`single-local-auto-run`、`recovery-only`,默认 `default_enabled=false`;MVP budget 固定每次最多一个 item、`retry_allowed=false`、`recovery_apply_allowed=false`。
1542
+
1543
+ Stage 23 `scheduler --once --confirm` 是 single-shot scheduler worker:每次最多选择一个 ready item,重新验证 candidate、approval、lifecycle、policy、budget、action catalog、lock、lease 和 idempotency key,然后复用既有 controlled auto-run。它不实现 loop/daemon,不自动恢复,不自动 retry,不自动回复。
1544
+
1545
+ Stage 24/25/26 recovery scheduler 命令:
1546
+
1547
+ ```bash
1548
+ node tools/vibe-runtime/index.mjs recovery --classify
1549
+ node tools/vibe-runtime/index.mjs recovery --classify --confirm
1550
+ node tools/vibe-runtime/index.mjs recovery --list-classifications
1551
+ node tools/vibe-runtime/index.mjs recovery --show-classification <classification-file>
1552
+ node tools/vibe-runtime/index.mjs recovery --verify-classification <classification-file>
1553
+ node tools/vibe-runtime/index.mjs recovery --apply <classification-file>
1554
+ node tools/vibe-runtime/index.mjs recovery --apply <classification-file> --confirm
1555
+ node tools/vibe-runtime/index.mjs scheduler --once --recover --confirm
1556
+ ```
1557
+
1558
+ Stage 24 `recovery --classify` 默认 no-write,把 lease、execution、queue blocked、scheduler lease 和 recovery package 状态分类为 findings;`--confirm` 只写 `.vibecoding-state/recovery-classifications/*.recovery-classification.json`。
1559
+
1560
+ Stage 25 `recovery --apply <classification-file> --confirm` 每次最多处理一个 eligible finding,只写 `.vibecoding-state/recovery-runs/*.recovery-run.json`,必要时写 `.vibecoding-state/retry-packages/*.retry-package.json`。它不清理 lock,不删除 execution,不创建 approval,不执行 retry。
1561
+
1562
+ Stage 26 `scheduler --once --recover --confirm` 是显式 single-shot recovery mode,只走 confirmed recovery path,不与 normal queue execution 混合。`scheduler --plan` 会展示 recovery hints,但仍默认 no-write/no-execute。
1563
+
1564
+ 边界:
1565
+
1566
+ - `leases` 只读审计 auto-run locks 和 running executions,不清理 lock。
1567
+ - `recovery --preview` 默认 no-write,只输出人工恢复和 retry package 预览。
1568
+ - `recovery --preview --confirm` 只写 `.vibecoding-state/recovery-packages/*.recovery.json`,不自动 retry。
1569
+ - `observability --summary` / `readiness --score` 默认 no-write,只输出 deterministic readiness score。
1570
+ - `readiness --score --confirm` 只写 `.vibecoding-state/observability/*.observability.json`,不改变 queue gate,不触发执行。
1571
+ - Stage 19/20 不调用 platform API、subagent、MCP、daemon、git、worktree,也不写业务源码。
1572
+
1573
+ ## Stage 38-40 automation sidecar boundaries
1574
+
1575
+ - Stage 38: `subagents --ingest-result` / `subagents --review-gate` only write `.vibecoding-state/subagent-results/` and `.vibecoding-state/subagent-reviews/`; no source merge, no platform API, no git/worktree.
1576
+ - Stage 39: `hooks --hook-run --max-iterations <n> --confirm` only writes `.vibecoding-state/hook-runs/` and `.vibecoding-state/hook-heartbeats/`; foreground bounded loop, `long_running=false`, no daemon/hidden worker.
1577
+ - Stage 40: trace includes `hook_runs`, `hook_heartbeats`, `subagent_results`, `subagent_reviews`; governance records `automation_artifacts`; methodology supports `methodology --gate --kind automation`.
1578
+
1579
+ ## Stage 41 platform adapter capability contract
1580
+
1581
+ Stage 41 adds a local capability contract for platform adapters:
1582
+
1583
+ ```bash
1584
+ node tools/vibe-runtime/index.mjs platforms --catalog --json
1585
+ node tools/vibe-runtime/index.mjs platforms --probe cursor --json
1586
+ node tools/vibe-runtime/index.mjs platforms --probe cursor --confirm --json
1587
+ node tools/vibe-runtime/index.mjs platforms --list --json
1588
+ node tools/vibe-runtime/index.mjs platforms --show <platform-capability-file> --json
1589
+ node tools/vibe-runtime/index.mjs platforms --verify <platform-capability-file> --json
1590
+ ```
1591
+
1592
+ - Artifacts live under `.vibecoding-state/platform-capabilities/*.platform-capability.json`.
1593
+ - `--catalog` and non-confirmed `--probe` are read-only.
1594
+ - Confirmed probe writes only the capability sidecar and never calls a platform API, model, session create, git, worktree, or business source write.
1595
+ - Capability verification binds platform allowlist, adapter digest, catalog digest, exact `allowed_followup=['platform-session-approval-only']`, and current file identity.
1596
+ - Runtime trace includes `platform_capabilities` and recursively verifies Stage 41 artifacts.
1597
+
1598
+ ## Stage 42 platform session approval gate
1599
+
1600
+ Stage 42 separates real session permission from dispatch:
1601
+
1602
+ ```bash
1603
+ node tools/vibe-runtime/index.mjs subagents --session-approval --from-dispatch <subagent-dispatch-file> --capability <platform-capability-file> --json
1604
+ node tools/vibe-runtime/index.mjs subagents --session-approval --from-dispatch <subagent-dispatch-file> --capability <platform-capability-file> --confirm --json
1605
+ node tools/vibe-runtime/index.mjs subagents --verify <platform-session-approval-file> --json
1606
+ ```
1607
+
1608
+ - Artifacts live under `.vibecoding-state/platform-session-approvals/*.platform-session-approval.json`.
1609
+ - Approval binds Stage 36 dispatch and Stage 41 capability digests before any session can be created.
1610
+ - `user_consent_present=true`, one-session budget, timeout, allowed result formats, and `allowed_followup=['platform-session-create-only']` are explicit and digest-bound.
1611
+ - Stage 42 still has `session_create=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `business_source_write=false`, `source_merge=false`, `git=false`, and `worktree=false`.
1612
+ - Runtime trace includes `platform_session_approvals` and recursively verifies Stage 42 artifacts.
1613
+
1614
+ ## Stage 43 platform session result capture
1615
+
1616
+ Stage 43 creates the first platform session artifact chain:
1617
+
1618
+ ```bash
1619
+ node tools/vibe-runtime/index.mjs subagents --create-session --from-approval <platform-session-approval-file> --confirm --json
1620
+ node tools/vibe-runtime/index.mjs subagents --cancel-session <platform-session-file> --confirm --json
1621
+ node tools/vibe-runtime/index.mjs subagents --verify <platform-session-file|platform-session-lease-file|platform-session-result-file|platform-session-cancel-file> --json
1622
+ ```
1623
+
1624
+ - Artifacts live under `.vibecoding-state/platform-sessions/`, `.vibecoding-state/platform-session-leases/`, `.vibecoding-state/platform-session-results/`, and `.vibecoding-state/platform-session-cancellations/`.
1625
+ - `--cancel-session` writes a cancellation audit sidecar only; cancellation artifacts bind the source session digest and keep `business_source_write=false`, `source_merge=false`, `git=false`, and `worktree=false`.
1626
+ - `session_create=true`, `platform_api=true`, and `model_invocation=true` are only valid in Stage 43 session artifacts.
1627
+ - Result capture stays sidecar-only: `business_source_write=false`, `source_merge=false`, `git=false`, and `worktree=false`.
1628
+ - Session result requires review and follows up only to `platform-session-result-review-only`.
1629
+ - Runtime trace includes `platform_sessions`, `platform_session_leases`, `platform_session_results`, and `platform_session_cancellations` and recursively verifies Stage 43 artifacts.
1630
+
1631
+ ## Stage 44 platform session result review
1632
+
1633
+ Stage 44 ingests and reviews the Stage 43 session result without writing source:
1634
+
1635
+ ```bash
1636
+ node tools/vibe-runtime/index.mjs subagents --ingest-session-result <platform-session-result-file> --confirm --json
1637
+ node tools/vibe-runtime/index.mjs subagents --review-session-result <platform-session-intake-file> --confirm --json
1638
+ node tools/vibe-runtime/index.mjs subagents --verify <platform-session-intake-file|platform-session-review-file> --json
1639
+ ```
1640
+
1641
+ - Artifacts live under `.vibecoding-state/platform-session-intake/` and `.vibecoding-state/platform-session-reviews/`.
1642
+ - Intake binds the Stage 43 result digest, session digest, prompt digest, transcript digest, result payload digest, patch digest, and files touched.
1643
+ - Review success only permits `allowed_followup=['source-change-candidate-only']`.
1644
+ - `business_source_write=false`, `source_merge=false`, `git=false`, and `worktree=false` remain enforced.
1645
+ - Runtime trace includes `platform_session_intake` and `platform_session_reviews` and recursively verifies Stage 44 artifacts.
1646
+
1647
+ ## Stage 45 source candidate and sandbox
1648
+
1649
+ Stage 45 creates source change candidates and sandbox apply evidence without touching the main worktree:
1650
+
1651
+ ```bash
1652
+ node tools/vibe-runtime/index.mjs source --candidate --from-session-review <platform-session-review-file> --confirm --json
1653
+ node tools/vibe-runtime/index.mjs source --apply-sandbox <source-change-candidate-file> --confirm --json
1654
+ node tools/vibe-runtime/index.mjs source --verify <source-change-candidate-file|source-sandbox-run-file> --json
1655
+ ```
1656
+
1657
+ - Artifacts live under `.vibecoding-state/source-change-candidates/` and `.vibecoding-state/source-sandbox-runs/`.
1658
+ - Candidate binds the Stage 44 review digest, source result digest, session digest, base sha, patch digest, diff digest, allowed files, and forbidden files.
1659
+ - Sandbox run binds the candidate digest, base sha, actual touched files, and diff digest.
1660
+ - Candidate follows up only to `source-sandbox-apply-only`; sandbox follows up only to `source-verification-only`.
1661
+ - `business_source_write=false`, `source_merge=false`, `git=false`, and `worktree=false` remain enforced.
1662
+ - Runtime trace includes `source_change_candidates` and `source_sandbox_runs` and recursively verifies Stage 45 artifacts.
1663
+
1664
+ ## Stage 46 source verification evidence
1665
+
1666
+ Stage 46 records verification evidence for a sandbox run before merge readiness is allowed:
1667
+
1668
+ ```bash
1669
+ node tools/vibe-runtime/index.mjs source --verify-change <source-sandbox-run-file> --confirm --json
1670
+ node tools/vibe-runtime/index.mjs source --verify <source-verification-file> --json
1671
+ ```
1672
+
1673
+ - Artifacts live under `.vibecoding-state/source-verifications/`.
1674
+ - Verification binds the sandbox run digest, candidate digest, base sha, diff digest, files touched, evidence digest, and evidence policy digest.
1675
+ - Evidence commands must come from the allowlist and must pass with `exit_code=0`; missing or failed evidence blocks verification.
1676
+ - Verification follows up only to `merge-readiness-only`.
1677
+ - `business_source_write=false`, `source_merge=false`, `git=false`, and `worktree=false` remain enforced; `command_execution=true` only means foreground allowlisted verification commands ran.
1678
+ - Runtime trace includes `source_verifications` and recursively verifies Stage 46 artifacts.
1679
+
1680
+ ## Stage 47 merge readiness and approval
1681
+
1682
+ Stage 47 records merge readiness and merge approval sidecars before any controlled apply is allowed:
1683
+
1684
+ ```bash
1685
+ node tools/vibe-runtime/index.mjs merge --readiness --from-verification <source-verification-file> --confirm --json
1686
+ node tools/vibe-runtime/index.mjs merge --approve <merge-readiness-file> --confirm --json
1687
+ node tools/vibe-runtime/index.mjs merge --verify <merge-readiness-file|merge-approval-file> --json
1688
+ ```
1689
+
1690
+ - Artifacts live under `.vibecoding-state/merge-readiness/` and `.vibecoding-state/merge-approvals/`.
1691
+ - Readiness binds the Stage 46 verification digest, sandbox digest, candidate digest, base sha, diff digest, files touched, trace digest, governance digest, and methodology digest.
1692
+ - Readiness follows up only to `merge-approval-only`; approval follows up only to `controlled-merge-apply-only`.
1693
+ - `business_source_write=false`, `source_merge=false`, `git=false`, `worktree=false`, and `auto_apply=false` remain enforced.
1694
+ - Runtime trace includes `merge_readiness` and `merge_approvals` and recursively verifies Stage 47 artifacts.
1695
+ - Stage 47 does not apply patches, write the main worktree, or run git; controlled apply remains a separate Stage 48 gate.
1696
+
1697
+ ## Stage 48 controlled merge apply
1698
+
1699
+ Stage 48 performs the final controlled local apply after a Stage 47 merge approval:
1700
+
1701
+ ```bash
1702
+ node tools/vibe-runtime/index.mjs merge --apply <merge-approval-file> --confirm --json
1703
+ node tools/vibe-runtime/index.mjs merge --verify <merge-apply-file> --json
1704
+ ```
1705
+
1706
+ - Artifacts live under `.vibecoding-state/merge-applies/`.
1707
+ - The current apply mode is `controlled-local-marker-apply`.
1708
+ - The only allowlisted worktree write is `docs/runtime-auto-merge-ledger.md`; no commit, push, PR, or force operation is allowed.
1709
+ - Apply binds the approval digest, readiness digest, verification digest, base sha, before/after sha, applied files, before/after file digests, and marker digest.
1710
+ - `business_source_write=true`, `source_merge=true`, and `worktree=true` are allowed only in the Stage 48 apply artifact; `git=false`, `commit=false`, `push=false`, `pr=false`, and `force=false` remain enforced.
1711
+ - Runtime trace includes `merge_applies` and recursively verifies Stage 48 artifacts.
1712
+
1713
+ ## Stage 52 release gate
1714
+
1715
+ Stage 52 promotes Stage 51 eval reports into a local release gate sidecar:
1716
+
1717
+ ```bash
1718
+ node tools/vibe-runtime/index.mjs release --gate --from-evals <eval-report-file>... --json
1719
+ node tools/vibe-runtime/index.mjs release --gate --from-evals <eval-report-file>... --confirm --json
1720
+ node tools/vibe-runtime/index.mjs release --verify-gate <release-gate-file> --json
1721
+ ```
1722
+
1723
+ - Artifacts live under `.vibecoding-state/release-gates/`.
1724
+ - The gate requires `contract-core`, `scenario-routing`, `behavior-workflow`, and `adversarial-guardrails` eval reports.
1725
+ - Preview mode is read-only; confirm mode writes only one `.release-gate.json` sidecar.
1726
+ - `scenario-routing` and `adversarial-guardrails` require `transcript-behavioral-judge`; `behavior-workflow` requires `sandbox-replay-judge`.
1727
+ - `artifact_contract_pass_does_not_imply_behavior_pass=true` remains enforced: contract pass cannot replace behavior evidence.
1728
+ - `release --verify-gate` rejects eval report digest drift, suite gaps, followup expansion, and safety expansion.
1729
+ - `dispatch=false`, `session_create=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `runtime_action=false`, `business_source_write=false`, `source_merge=false`, `pr=false`, `push=false`, `merge=false`, `git=false`, and `worktree=false` remain enforced.
1730
+ - Runtime trace includes `release_gates`.
1731
+
1732
+ ## Stage 53 feedback ledger
1733
+
1734
+ Stage 53 builds a local observability ledger from existing planner/router/orchestrator/eval/release artifacts:
1735
+
1736
+ ```bash
1737
+ node tools/vibe-runtime/index.mjs feedback --ledger --from-planner <planner-artifact>... --from-router <router-artifact>... --from-orchestrator <orchestrator-artifact>... --from-evals <eval-report-file>... --from-release-gate <release-gate-file>... --json
1738
+ node tools/vibe-runtime/index.mjs feedback --ledger --from-planner <planner-artifact>... --from-router <router-artifact>... --from-orchestrator <orchestrator-artifact>... --from-evals <eval-report-file>... --from-release-gate <release-gate-file>... --confirm --json
1739
+ node tools/vibe-runtime/index.mjs feedback --verify-ledger <feedback-ledger-file> --json
1740
+ ```
1741
+
1742
+ - Artifacts live under `.vibecoding-state/feedback-ledgers/`.
1743
+ - Preview mode is read-only; confirm mode writes only one `.feedback-ledger.json` sidecar.
1744
+ - Ledger entries normalize `blocked_reasons`, `required_gates`, `allowed_followup`, fallback routes, escalation fallback, concurrency budget, planner/router eval feedback, gate failures, and failing eval cases.
1745
+ - The ledger binds every source file digest, normalized entries digest, coverage digest, and final `ledger_digest`.
1746
+ - `feedback --verify-ledger` rejects source drift, entries drift, coverage drift, and safety expansion.
1747
+ - `dispatch=false`, `session_create=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `runtime_action=false`, `business_source_write=false`, `source_merge=false`, `pr=false`, `push=false`, `merge=false`, `git=false`, and `worktree=false` remain enforced.
1748
+ - Runtime trace includes `feedback_ledgers`.
1749
+
1750
+ ## Stage 78 agent entry advice
1751
+
1752
+ Stage 78 提供本地只读的入口建议层,用来回答“我现在该做什么”,不写 `.vibecoding-state/`,不执行 workflow skill,也不创建 dispatch、subagent session 或平台调用:
1753
+
1754
+ ```bash
1755
+ node tools/vibe-runtime/index.mjs entry --advice --intent <kind>
1756
+ node tools/vibe-runtime/index.mjs entry --advice --intent <kind> --json
1757
+ ```
1758
+
1759
+ `entry --advice` 复用 Stage 60 `methodology --route` 的 route catalog,并输出 `entry_advice`:
1760
+
1761
+ - `stage='Stage 78'`
1762
+ - `advice_kind='agent-entry-next-step-advice'`
1763
+ - `recommended_layer`:L0 / L1 / L2
1764
+ - `first_skill`
1765
+ - `selected_workflow`
1766
+ - `manual_action`
1767
+ - `verification_hint`
1768
+ - `boundary_assertions`
1769
+ - `route_digest`
1770
+ - `catalog_digest`
1771
+ - `advice_digest`
1772
+
1773
+ unknown intent 会回退到 `using-vibecoding -> vibe-brainstorming`,并要求先澄清目标、范围、约束和验收。
1774
+
1775
+ Stage 78 固定 `writes=false`、`state_directory_created=false`、`entry_advice_artifact=false`、`skill_execution=false`、`dispatch_event_modified=false`、`subagent=false`、`platform_api=false`、`external_network=false`、`model_invocation=false`、`runtime_action=false`、`git=false`、`worktree=false`。`--confirm`、`--write`、`--dispatch`、`--dispatch-intent`、`--run`、`--preflight`、`--once` 和 `--scan` 都会被拒绝。
1776
+
1777
+ ## Stage 91-95 workflow entry experience hardening
1778
+
1779
+ Stage 91-95 closes the remaining workflow UX gap by making the entry decision visible, deterministic, and easy to start without adding automatic execution.
1780
+
1781
+ ```bash
1782
+ node tools/vibe-runtime/index.mjs entry --contract --prompt "<request>" --json
1783
+ node tools/vibe-runtime/index.mjs entry --contract --intent feature --json
1784
+ node tools/vibe-runtime/index.mjs workflow --receipt --intent review --json
1785
+ node tools/vibe-runtime/index.mjs workflow --start --prompt "<request>" --json
1786
+ node tools/vibe-runtime/index.mjs workflow --sequence --intent implementation --json
1787
+ node tools/vibe-runtime/index.mjs onboarding --brief --json
1788
+ node tools/vibe-doctor/index.mjs --workflow-entry
1789
+ ```
1790
+
1791
+ Outputs and fields:
1792
+
1793
+ - `stage='Stage 91'`, `contract_kind='workflow-entry-contract'`, `entry_contract`, `expected_first_step='using-vibecoding'`, `required_decision`, `must_not_do_first`, `contract_digest`.
1794
+ - `stage='Stage 92'`, `receipt_kind='visible-skill-invocation'`, `workflow_receipt`, `selected_skill`, `user_visible_sentence`, `false_claim_guardrails`, `receipt_digest`.
1795
+ - `stage='Stage 93'`, `start_kind='unified-workflow-start'`, `workflow_start`, `entry_contract_summary`, `receipt_summary`, `cockpit_summary`, `plan_lint_summary`, `readiness_summary`, `start_digest`.
1796
+ - `stage='Stage 94'`, `sequence_kind='execution-choreography'`, `workflow_sequence`, `phase_order`, `phase_entry_criteria`, `phase_exit_evidence`, `handoff_points`, `stop_conditions`, `sequence_digest`.
1797
+ - `stage='Stage 95'`, `brief_kind='workflow-onboarding-brief'`, `onboarding_brief`, `recommended_start_command`, `workflow_entry_health`, `brief_digest`.
1798
+
1799
+ Boundary markers: `entry_contract_artifact=false`, `workflow_receipt_artifact=false`, `workflow_start_artifact=false`, `workflow_sequence_artifact=false`, `onboarding_brief_artifact=false`, `state_directory_created=false`, `source_write=false`, `skill_execution=false`, `command_execution=false`, `runtime_action=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `git=false`, `worktree=false`, `pr=false`, `push=false`, `merge=false`, `tag=false`, `subagent=false`, `mcp=false`.
1800
+
1801
+ Stage 91-95 does not execute workflow skills, does not dispatch subagents, does not call platforms, does not create PRs, and does not make git changes. It only tells the agent and user which workflow step should happen next and what must not happen first.
1802
+
1803
+ ## Stage 98 commit title guard
1804
+
1805
+ Stage 98 adds a local deterministic guard for commit subjects before a human or agent runs `git commit`. It specifically prevents recurring markdown fence / literal backtick pollution in commit titles without rewriting history and without executing git.
1806
+
1807
+ ```bash
1808
+ node tools/vibe-runtime/index.mjs release --commit-guard --subject "feat(runtime): add commit guard" --json
1809
+ node tools/vibe-runtime/index.mjs release --commit-guard --from-file <local-evidence-file> --json
1810
+ ```
1811
+
1812
+ `release --commit-guard` outputs `commit_guard`:
1813
+
1814
+ - `stage='Stage 98'`
1815
+ - `artifact_kind='commit-title-guard'`
1816
+ - `guard_kind='deterministic-commit-title-guard'`
1817
+ - `input_kind='subject'` or `input_kind='local-evidence-file'`
1818
+ - `normalized_subjects[]`
1819
+ - `findings[]`
1820
+ - `guard_pass`
1821
+ - `blocked_reasons[]`
1822
+ - `recommended_manual_action`
1823
+ - `commit_guard_digest`
1824
+
1825
+ Blocking findings include `markdown-fence-prefix`, `leading-markdown-fence`, `leading-backtick-token`, `markdown-fence-token`, and `empty-subject`. Advisory findings include `non-conventional-subject` and `subject-too-long`.
1826
+
1827
+ Boundary markers: `commit_guard_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `git=false`, `git_write=false`, `history_rewrite=false`, `tag=false`, `pr=false`, `push=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `runtime_action=false`, `command_execution=false`, `worktree_write=false`, `release_gate_required=false`.
1828
+
1829
+ Stage 98 does not amend existing commits, does not run `git commit`, does not create release notes, and does not write `.vibecoding-state/`. It only produces a pre-commit decision that must be acted on manually.
1830
+
1831
+ ## Stage 99 completion evidence bundle
1832
+
1833
+ Stage 99 adds `completion --evidence-bundle` as a read-only closeout evidence hub. It binds the existing Stage 88 `completion --readiness` result into one deterministic bundle for reporting done without running tests, writing sidecars, or performing git/release actions.
1834
+
1835
+ ```bash
1836
+ node tools/vibe-runtime/index.mjs completion --evidence-bundle --from-file <local-evidence-file> --json
1837
+ node tools/vibe-runtime/index.mjs completion --evidence-bundle --json
1838
+ ```
1839
+
1840
+ `completion --evidence-bundle` outputs `completion_evidence_bundle` with:
1841
+
1842
+ - `stage='Stage 99'`
1843
+ - `bundle_kind='completion-evidence-bundle'`
1844
+ - `readiness_summary`
1845
+ - `evidence_inventory`
1846
+ - `closeout_decision`
1847
+ - `required_manual_actions`
1848
+ - `forbidden_actions`
1849
+ - `bundle_digest`
1850
+
1851
+ Boundary markers: `completion_evidence_bundle_artifact=false`, `verification_execution=false`, `release_notes_artifact=false`, `release_gate_artifact=false`, `commit_guard_artifact=false`, `git=false`, `push=false`, `pr=false`, `merge=false`, `tag=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `runtime_action=false`, `worktree=false`, `business_source_write=false`.
1852
+
1853
+ Stage 99 does not execute verification commands and does not claim tests passed by itself. It only packages the provided local evidence and readiness decision for manual closeout.
1854
+
1855
+ ## Stage 20 session close evidence alias
1856
+
1857
+ Stage 20 adds `session --close` as a first-class read-only closeout UX alias for `completion --evidence-bundle`. It reuses the completion domain core and returns the same `completion_evidence_bundle` plus a small `session_close_alias` summary for agents that frame the end of work as a session close.
1858
+
1859
+ ```bash
1860
+ node tools/vibe-runtime/index.mjs session --close --from-file <local-completion-evidence-file> --json
1861
+ node tools/vibe-runtime/index.mjs session --close --json
1862
+ ```
1863
+
1864
+ `session_close_alias` binds `canonical_command='completion --evidence-bundle'`, `completion_evidence_bundle_digest`, `human_completion_evidence_digest`, `completion_readiness_digest`, `closeout_decision`, `completion_claim_allowed`, and `next_manual_action`. Boundary markers stay fixed: `session_close_alias_artifact=false`, `command_execution=false`, `skill_execution=false`, `workflow_execution=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `model_invocation=false`, `subagent=false`, `business_source_write=false`.
1865
+
1866
+ ## Stage 100 runtime capability surface
1867
+
1868
+ Stage 100 adds `governance --surface` as a read-only capability map for the current runtime surface. It lists Stage 78-100 capability groups, visible commands, closeout chain, and fixed safety boundaries without scanning external systems or writing sidecars.
1869
+
1870
+ ```bash
1871
+ node tools/vibe-runtime/index.mjs governance --surface --json
1872
+ node tools/vibe-runtime/index.mjs governance --surface
1873
+ ```
1874
+
1875
+ `governance --surface` outputs `runtime_surface` with:
1876
+
1877
+ - `stage='Stage 100'`
1878
+ - `surface_kind='runtime-capability-surface'`
1879
+ - `capability_groups`
1880
+ - `stage_inventory`
1881
+ - `closeout_chain`
1882
+ - `boundary_assertions`
1883
+ - `surface_digest`
1884
+
1885
+ Boundary markers: `runtime_surface_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `runtime_action=false`, `workflow_execution=false`, `verification_execution=false`, `git=false`, `git_write=false`, `push=false`, `pr=false`, `merge=false`, `tag=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `daemon=false`, `worktree=false`, `business_source_write=false`.
1886
+
1887
+ Stage 100 does not execute any listed command. It is a deterministic inventory and closeout orientation layer only.
1888
+
1889
+ ## Stage 101 runtime capability registry
1890
+
1891
+ Stage 101 moves the capability surface source data into `tools/vibe-runtime/runtime-capability-registry.mjs`. The registry is an internal, deterministic source-of-truth for `governance --surface`; it is not a new user command and does not execute any listed capability.
1892
+
1893
+ `governance --surface` continues to output `runtime_surface`, now with registry evidence fields:
1894
+
1895
+ - `registry_stage='Stage 101'`
1896
+ - `registry_kind='runtime-capability-registry'`
1897
+ - `registry_version`
1898
+ - `registry_digest`
1899
+ - `registry_invariants`
1900
+
1901
+ Registry invariants check `capability_groups`, `stage_inventory`, `closeout_chain`, and `boundary_assertions`. A passing registry reports `registry_invariants.pass=true` and keeps `capability_registry_artifact=false`.
1902
+
1903
+ Boundary markers: `capability_registry_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `runtime_action=false`, `workflow_execution=false`, `verification_execution=false`, `git=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `daemon=false`, `worktree=false`, `business_source_write=false`.
1904
+
1905
+ Stage 101 does not add `governance --registry`, does not scan the repository dynamically, and does not write `.vibecoding-state/`. It only makes the Stage 100 surface data maintainable from one registry boundary.
1906
+
1907
+ ## Stage 102 runtime capability registry drift guard
1908
+
1909
+ Stage 102 adds `governance --surface --drift-guard` as a read-only consistency guard for the Stage 100 surface and Stage 101 registry contract. It checks the registry-derived surface, fixed docs markers, runtime-check markers, and release-check smoke markers without executing any listed capability.
1910
+
1911
+ ```bash
1912
+ node tools/vibe-runtime/index.mjs governance --surface --drift-guard --json
1913
+ node tools/vibe-runtime/index.mjs governance --surface --drift-guard
1914
+ ```
1915
+
1916
+ `governance --surface --drift-guard` outputs `runtime_registry_drift_guard` with:
1917
+
1918
+ - `stage='Stage 102'`
1919
+ - `guard_kind='runtime-capability-registry-drift-guard'`
1920
+ - `registry_stage='Stage 101'`
1921
+ - `surface_stage='Stage 100'`
1922
+ - `guard_pass`
1923
+ - `checked`
1924
+ - `findings`
1925
+ - `doc_marker_expectations`
1926
+ - `manual_action`
1927
+ - `drift_guard_digest`
1928
+
1929
+ Boundary markers: `runtime_registry_drift_guard_artifact=false`, `capability_registry_artifact=false`, `runtime_surface_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `runtime_action=false`, `workflow_execution=false`, `verification_execution=false`, `git=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `daemon=false`, `worktree=false`, `business_source_write=false`.
1930
+
1931
+ Stage 102 does not add `governance --registry`, does not turn the registry into a dynamic scanner, and does not write `.vibecoding-state/`. It only guards against drift between the registry, surface output, docs, runtime-check, and release-check contracts.
1932
+
1933
+ ## Stage 103 runtime automation readiness matrix
1934
+
1935
+ Stage 103 adds `automation --readiness` as a deterministic read-only classification matrix for the runtime capability command surface. It classifies registry-backed commands into `auto_safe`, `confirm_required`, `advice_only`, and `forbidden` before any future automation plan exists.
1936
+
1937
+ ```bash
1938
+ node tools/vibe-runtime/index.mjs automation --readiness --json
1939
+ node tools/vibe-runtime/index.mjs automation --readiness
1940
+ ```
1941
+
1942
+ `automation --readiness` outputs `runtime_automation_readiness` with:
1943
+
1944
+ - `stage='Stage 103'`
1945
+ - `readiness_kind='runtime-automation-readiness-matrix'`
1946
+ - `registry_stage='Stage 101'`
1947
+ - `registry_kind='runtime-capability-registry'`
1948
+ - `registry_version`
1949
+ - `registry_digest`
1950
+ - `categories`
1951
+ - `category_counts`
1952
+ - `matrix_entries`
1953
+ - `categorized`
1954
+ - `transition_contract`
1955
+ - `boundary_assertions`
1956
+ - `readiness_invariants`
1957
+ - `readiness_digest`
1958
+
1959
+ Category meanings:
1960
+
1961
+ - `auto_safe`: deterministic read-only reports, guards, surfaces, and lints that a future automation plan may call.
1962
+ - `confirm_required`: existing local sidecar/state write commands that still require explicit user confirmation.
1963
+ - `advice_only`: workflow, token, learning, and governance advice that must not be treated as execution approval.
1964
+ - `forbidden`: git push/PR/merge, platform API, external network, model invocation, subagent/session creation, business source mutation, and one-shot execution.
1965
+
1966
+ Boundary markers: `automation_readiness_artifact=false`, `automation_plan_artifact=false`, `one_shot_execution_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `runtime_action=false`, `workflow_execution=false`, `verification_execution=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `push=false`, `pr=false`, `merge=false`, `tag=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
1967
+
1968
+ Stage 103 is only the first step of `Automation Readiness -> Automation Plan -> Confirmed One-shot Execution`. It does not add `automation --plan`, does not execute classified commands, does not invoke scheduler/daemon/execute/retry/subagents, and does not write `.vibecoding-state/`.
1969
+
1970
+ ## Stage 104 workflow loop contract
1971
+
1972
+ Stage 104 adds `workflow --loop-contract` as a deterministic read-only contract for the visible `plan -> docs -> code -> self_test -> commit_readiness` loop. It binds the existing workflow start, workflow sequence, automation readiness matrix, and registry closeout chain into one local contract envelope.
1973
+
1974
+ ```bash
1975
+ node tools/vibe-runtime/index.mjs workflow --loop-contract --intent implementation --json
1976
+ node tools/vibe-runtime/index.mjs workflow --loop-contract --intent implementation
1977
+ node tools/vibe-runtime/index.mjs workflow --loop-contract --prompt "implement a runtime loop contract" --json
1978
+ node tools/vibe-runtime/index.mjs workflow --loop-contract --intent plan --from-file <local-plan-file> --json
1979
+ ```
1980
+
1981
+ `workflow --loop-contract` outputs `workflow_loop_contract` with:
1982
+
1983
+ - `stage='Stage 104'`
1984
+ - `contract_kind='workflow-loop-contract'`
1985
+ - `loop_phases`
1986
+ - `phase_contracts`
1987
+ - `source_bindings`
1988
+ - `closeout_chain_summary`
1989
+ - `automation_boundary_summary`
1990
+ - `allowed_followup`
1991
+ - `forbidden_actions`
1992
+ - `loop_contract_invariants`
1993
+ - `loop_contract_digest`
1994
+
1995
+ Loop phases are fixed as `plan`, `docs`, `code`, `self_test`, and `commit_readiness`. Each phase contract includes entry criteria, required evidence, recommended skill or command, exit receipt, and stop conditions.
1996
+
1997
+ Boundary markers: `workflow_loop_contract_artifact=false`, `automation_plan_artifact=false`, `one_shot_execution_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `runtime_action=false`, `workflow_execution=false`, `verification_execution=false`, `test_execution=false`, `repair_execution=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `push=false`, `pr=false`, `merge=false`, `tag=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
1998
+
1999
+ Stage 104 does not create `automation --plan`, does not execute auto_safe commands, does not run tests or repairs, does not write sidecars, and does not commit, push, PR, merge, or tag. It is the local visible contract before later `Plan-to-Action Manifest`, `Self-test Gate Profile`, and `Commit Readiness Envelope` stages.
2000
+
2001
+ ## Stage 105 plan-to-action manifest
2002
+
2003
+ Stage 105 adds `planner --action-manifest` as a deterministic read-only manifest that derives implementation expectations from one local plan file. It binds `planner --lint`, `workflow --loop-contract`, `automation --readiness`, and the runtime capability registry into a `plan_action_manifest` envelope.
2004
+
2005
+ ```bash
2006
+ node tools/vibe-runtime/index.mjs planner --action-manifest --from-file <local-plan-file> --json
2007
+ node tools/vibe-runtime/index.mjs planner --action-manifest --from-file <local-plan-file>
2008
+ node tools/vibe-runtime/index.mjs planner --action-manifest --from-file <local-plan-file> --intent implementation --json
2009
+ ```
2010
+
2011
+ `planner --action-manifest` outputs `plan_action_manifest` with:
2012
+
2013
+ - `stage='Stage 105'`
2014
+ - `manifest_kind='plan-to-action-manifest'`
2015
+ - `source_plan`
2016
+ - `source_bindings`
2017
+ - `action_items`
2018
+ - `docs_expectations`
2019
+ - `code_expectations`
2020
+ - `check_expectations`
2021
+ - `handoff_order`
2022
+ - `allowed_followup`
2023
+ - `forbidden_actions`
2024
+ - `manifest_invariants`
2025
+ - `plan_action_manifest_digest`
2026
+
2027
+ Every `action_items` entry includes `execution_authorized=false`. Check expectations are captured as evidence requirements only; Stage 105 does not run them.
2028
+
2029
+ Boundary markers: `plan_action_manifest_artifact=false`, `automation_plan_artifact=false`, `one_shot_execution_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `runtime_action=false`, `workflow_execution=false`, `verification_execution=false`, `test_execution=false`, `repair_execution=false`, `formatting_execution=false`, `code_generation=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `push=false`, `pr=false`, `merge=false`, `tag=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2030
+
2031
+ Stage 105 does not create `automation --plan`, does not execute action items, does not run tests or repairs, does not write sidecars or manifest artifacts, and does not commit, push, PR, merge, or tag. It is the deterministic local expectation layer before later `Self-test Gate Profile`, `Commit Readiness Envelope`, and `Confirmed One-shot Execution Plan` stages.
2032
+
2033
+ ## Stage 106 self-test gate profile
2034
+
2035
+ Stage 106 adds `verification --self-test-profile` as a deterministic read-only profile over Stage 105 `check_expectations`. It classifies planned checks into `gate_items` without running commands or treating recommendations as completed evidence.
2036
+
2037
+ ```bash
2038
+ node tools/vibe-runtime/index.mjs verification --self-test-profile --from-file <local-plan-file> --json
2039
+ node tools/vibe-runtime/index.mjs verification --self-test-profile --from-file <local-plan-file>
2040
+ ```
2041
+
2042
+ `verification --self-test-profile` outputs `self_test_gate_profile` with:
2043
+
2044
+ - `stage='Stage 106'`
2045
+ - `profile_kind='self-test-gate-profile'`
2046
+ - `source_bindings`
2047
+ - `gate_items`
2048
+ - `gate_categories`
2049
+ - `coverage`
2050
+ - `evidence_requirements`
2051
+ - `recommended_order`
2052
+ - `profile_invariants`
2053
+ - `self_test_gate_profile_digest`
2054
+
2055
+ Every `gate_items` entry includes `status='planned_not_run'` and `execution_authorized=false`. Stage 106 does not run `node --check`, `runtime-check`, `release-check`, `git diff --check`, tests, repairs, or formatters.
2056
+
2057
+ Boundary markers: `self_test_gate_profile_artifact=false`, `test_result_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `test_execution=false`, `verification_execution=false`, `repair_execution=false`, `formatting_execution=false`, `code_generation=false`, `runtime_action=false`, `workflow_execution=false`, `git=false`, `git_write=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2058
+
2059
+ Stage 106 is the third local evidence-shaping layer before `Commit Readiness Envelope` and `Confirmed One-shot Execution Plan`. It may recommend checks, but never marks them executed.
2060
+
2061
+ ## Stage 107 commit readiness envelope
2062
+
2063
+ Stage 107 adds `release --commit-readiness` as a deterministic read-only envelope over Stage 105 `plan_action_manifest`, Stage 106 `self_test_gate_profile`, and Stage 98 `commit_guard`. It prepares commit evidence requirements without running checks or invoking git.
2064
+
2065
+ ```bash
2066
+ node tools/vibe-runtime/index.mjs release --commit-readiness --from-file <local-plan-file> --subject <commit-subject> --json
2067
+ node tools/vibe-runtime/index.mjs release --commit-readiness --from-file <local-plan-file> --subject <commit-subject>
2068
+ ```
2069
+
2070
+ `release --commit-readiness` outputs `commit_readiness` with:
2071
+
2072
+ - `stage='Stage 107'`
2073
+ - `readiness_kind='commit-readiness-envelope'`
2074
+ - `source_bindings`
2075
+ - `commit_subject`
2076
+ - `worktree_snapshot_requirements`
2077
+ - `readiness_gates`
2078
+ - `evidence_bundle_requirements`
2079
+ - `readiness_order`
2080
+ - `readiness_state`
2081
+ - `readiness_invariants`
2082
+ - `commit_readiness_digest`
2083
+
2084
+ Every `readiness_gates` entry includes `execution_authorized=false` and `commit_execution_authorized=false`. `readiness_state.commit_ready=false` until fresh manual worktree and check evidence is reviewed outside Stage 107.
2085
+
2086
+ Boundary markers: `commit_readiness_artifact=false`, `commit_artifact=false`, `test_result_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `test_execution=false`, `verification_execution=false`, `repair_execution=false`, `formatting_execution=false`, `code_generation=false`, `runtime_action=false`, `workflow_execution=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2087
+
2088
+ Stage 107 is the fourth local evidence-shaping layer before `Confirmed One-shot Execution Plan`. It can say what evidence is still required; it never performs the commit, push, PR, merge, checks, tests, repairs, or formatting.
2089
+
2090
+ ## Stage 108 confirmed one-shot execution plan
2091
+
2092
+ Stage 108 adds `automation --one-shot-plan` as a deterministic read-only contract over Stage 107 `commit_readiness`, Stage 103 `runtime_automation_readiness`, and the runtime capability registry. `--confirm-plan` confirms only the plan contract shape; it does not execute planned steps.
2093
+
2094
+ ```bash
2095
+ node tools/vibe-runtime/index.mjs automation --one-shot-plan --from-file <local-plan-file> --subject <commit-subject> --confirm-plan <phrase> --json
2096
+ node tools/vibe-runtime/index.mjs automation --one-shot-plan --from-file <local-plan-file> --subject <commit-subject> --confirm-plan <phrase>
2097
+ node tools/vibe-runtime/index.mjs automation --one-shot-plan --from-file <local-plan-file> --subject <commit-subject> --confirm-plan <phrase> --intent implementation --json
2098
+ ```
2099
+
2100
+ `automation --one-shot-plan` outputs `confirmed_one_shot_plan` with:
2101
+
2102
+ - `stage='Stage 108'`
2103
+ - `plan_kind='confirmed-one-shot-execution-plan'`
2104
+ - `source_bindings`
2105
+ - `confirmation_gate`
2106
+ - `execution_contract`
2107
+ - `planned_steps`
2108
+ - `preflight_evidence_expectations`
2109
+ - `execution_order`
2110
+ - `recovery_notes`
2111
+ - `readiness_state`
2112
+ - `plan_invariants`
2113
+ - `confirmed_one_shot_plan_digest`
2114
+
2115
+ Every `planned_steps` entry includes `status='planned_not_executed'`, `actions_executed=false`, and `execution_authorized=false`. `execution_contract.plan_confirmed=true` means the local plan contract was confirmed, while `execution_contract.actions_executed=false` and `readiness_state.ready_for_runtime_execution=false` stay fixed.
2116
+
2117
+ Boundary markers: `confirmed_one_shot_plan_artifact=false`, `one_shot_execution_plan_artifact=false`, `one_shot_execution_artifact=false`, `execution_artifact=false`, `commit_readiness_artifact=false`, `commit_artifact=false`, `test_result_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `test_execution=false`, `verification_execution=false`, `repair_execution=false`, `formatting_execution=false`, `code_generation=false`, `runtime_action=false`, `workflow_execution=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2118
+
2119
+ Stage 108 is the final local evidence-shaping contract in this sequence. It can produce a confirmed plan envelope; it does not run checks, tests, repair, formatting, code generation, git, commit, push, PR, merge, scheduler, daemon, retry, platform API, external network, model, MCP, subagent, or source mutation.
2120
+
2121
+ ## Stage 109 close-loop dashboard
2122
+
2123
+ Stage 109 adds `workflow --close-loop-dashboard` as a deterministic read-only dashboard over Stage 105 `plan_action_manifest`, Stage 106 `self_test_gate_profile`, Stage 107 `commit_readiness`, and optional Stage 108 `confirmed_one_shot_plan` status. It is dashboard only, no execution.
2124
+
2125
+ ```bash
2126
+ node tools/vibe-runtime/index.mjs workflow --close-loop-dashboard --from-file <local-plan-file> --subject <commit-subject> --json
2127
+ node tools/vibe-runtime/index.mjs workflow --close-loop-dashboard --from-file <local-plan-file> --subject <commit-subject>
2128
+ node tools/vibe-runtime/index.mjs workflow --close-loop-dashboard --from-file <local-plan-file> --subject <commit-subject> --confirm-plan <phrase> --intent implementation --json
2129
+ ```
2130
+
2131
+ `workflow --close-loop-dashboard` outputs `close_loop_dashboard` with:
2132
+
2133
+ - `stage='Stage 109'`
2134
+ - `dashboard_kind='close-loop-dashboard'`
2135
+ - `source_bindings`
2136
+ - `plan_status`
2137
+ - `docs_status`
2138
+ - `code_status`
2139
+ - `self_test_status`
2140
+ - `commit_status`
2141
+ - `one_shot_status`
2142
+ - `dashboard_invariants`
2143
+ - `close_loop_dashboard_digest`
2144
+
2145
+ The dashboard reports expectation counts and gaps, keeps self-test gates as `planned_not_run`, keeps `commit_ready=false`, and keeps `ready_for_runtime_execution=false`. Optional `--confirm-plan` only includes the Stage 108 confirmed plan contract status; it does not authorize action execution.
2146
+
2147
+ Boundary markers: `close_loop_dashboard_artifact=false`, `plan_action_manifest_artifact=false`, `self_test_gate_profile_artifact=false`, `commit_readiness_artifact=false`, `confirmed_one_shot_plan_artifact=false`, `one_shot_execution_artifact=false`, `test_result_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `test_execution=false`, `check_execution=false`, `verification_execution=false`, `repair_execution=false`, `formatting_execution=false`, `code_generation=false`, `runtime_action=false`, `workflow_execution=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2148
+
2149
+ Stage 109 is a user-readable overview layer before evidence intake and diff coverage. It does not run checks, tests, repair, formatting, code generation, git, commit, push, PR, merge, scheduler, daemon, retry, platform API, external network, model, MCP, subagent, or source mutation.
2150
+
2151
+ ## Stage 110 evidence intake envelope
2152
+
2153
+ Stage 110 adds `verification --evidence-intake` to read one local evidence JSON file and validate evidence structure, freshness markers, and optional Stage 106 gate coverage. It never executes `checks[].command`.
2154
+
2155
+ ```bash
2156
+ node tools/vibe-runtime/index.mjs verification --evidence-intake --from-file <local-evidence-file> --json
2157
+ node tools/vibe-runtime/index.mjs verification --evidence-intake --from-file <local-evidence-file> --from-plan <local-plan-file> --json
2158
+ node tools/vibe-runtime/index.mjs verification --evidence-intake --from-file <local-evidence-file> --from-plan <local-plan-file>
2159
+ ```
2160
+
2161
+ The local evidence JSON shape is:
2162
+
2163
+ ```json
2164
+ {
2165
+ "created_at": "2026-07-18T00:00:00.000Z",
2166
+ "checks": [
2167
+ {
2168
+ "command": "node --check tools/vibe-runtime/index.mjs",
2169
+ "exit_status": 0,
2170
+ "key_output": "ok",
2171
+ "artifact": ".tmp/evidence/node-check.txt",
2172
+ "freshness": "fresh",
2173
+ "coverage": ["syntax"],
2174
+ "gate_id": "stage106-gate-01-syntax"
2175
+ }
2176
+ ]
2177
+ }
2178
+ ```
2179
+
2180
+ `verification --evidence-intake` outputs `evidence_intake` with `stage='Stage 110'`, `intake_kind='evidence-intake-envelope'`, `source_evidence`, `source_bindings`, `evidence_intake`, `evidence_items`, `freshness_findings`, `gate_coverage`, `blocked_reasons`, `evidence_intake_invariants`, and `evidence_intake_digest`.
2181
+
2182
+ When `--from-plan` is provided, Stage 110 recomputes Stage 105/106 read-only and checks `checks[].gate_id` coverage against the derived `self_test_gate_profile`. Without `--from-plan`, it still validates local evidence structure and freshness, but gate coverage remains unbound to Stage 106.
2183
+
2184
+ Boundary markers: `evidence_intake_artifact=false`, `evidence_artifact_write=false`, `test_result_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `verification_execution=false`, `repair_execution=false`, `formatting_execution=false`, `code_generation=false`, `runtime_action=false`, `workflow_execution=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2185
+
2186
+ Stage 110 does not run checks, tests, repair, formatting, code generation, git, commit, push, PR, merge, scheduler, daemon, retry, platform API, external network, model, MCP, subagent, or source mutation. It only consumes user-provided local evidence.
2187
+
2188
+ ## Stage 111 diff coverage envelope
2189
+
2190
+ Stage 111 adds `release --diff-coverage` to read one local diff file and compare changed files against the Stage 105 plan action manifest. It never calls `git`; the diff must be captured manually outside the runtime.
2191
+
2192
+ ```bash
2193
+ node tools/vibe-runtime/index.mjs release --diff-coverage --from-file <local-diff-file> --from-plan <local-plan-file> --json
2194
+ node tools/vibe-runtime/index.mjs release --diff-coverage --from-file <local-diff-file> --from-plan <local-plan-file>
2195
+ ```
2196
+
2197
+ `release --diff-coverage` outputs `diff_coverage` with `stage='Stage 111'`, `coverage_kind='diff-coverage-envelope'`, `source_diff`, `source_bindings`, `diff_coverage`, `changed_files`, `expected_files`, `covered_expected_files`, `missing_expected_files`, `unexpected_files`, `docs_coverage`, `code_coverage`, `safety_findings`, `blocked_reasons`, `diff_coverage_invariants`, and `diff_coverage_digest`.
2198
+
2199
+ The accepted input can be a local `git diff`, `git diff --stat`, or `git diff --name-only` capture. Absolute paths, parent traversal, backslash paths, binary diff markers, and oversized diff input are reported as findings/blockers instead of being repaired.
2200
+
2201
+ Boundary markers: `diff_coverage_artifact=false`, `diff_artifact_write=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `verification_execution=false`, `repair_execution=false`, `formatting_execution=false`, `code_generation=false`, `runtime_action=false`, `workflow_execution=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2202
+
2203
+ Stage 111 does not run git, checks, tests, repair, formatting, code generation, commit, push, PR, merge, scheduler, daemon, retry, platform API, external network, model, MCP, subagent, or source mutation. It only consumes user-provided local diff evidence.
2204
+
2205
+ ## Stage 112 review intake and resolution envelope
2206
+
2207
+ Stage 112 adds a read-only `review` command family for closing the loop around review feedback without invoking reviewers or repairing code.
2208
+
2209
+ ```bash
2210
+ node tools/vibe-runtime/index.mjs review --intake --from-file <local-review-file> --from-plan <local-plan-file> --json
2211
+ node tools/vibe-runtime/index.mjs review --intake --from-file <local-review-file>
2212
+ node tools/vibe-runtime/index.mjs review --resolution --from-file <local-review-intake-file> --from-evidence <local-evidence-file> --json
2213
+ node tools/vibe-runtime/index.mjs review --resolution --from-file <local-review-intake-file> --from-evidence <local-evidence-file>
2214
+ ```
2215
+
2216
+ `review --intake` outputs `review_intake` with `stage='Stage 112'`, `review_kind='review-intake-envelope'`, `source_review`, `source_bindings`, `review_items`, `severity`, `impacted_files`, `impacted_action_items`, `required_evidence`, `blocked`, `blocked_reasons`, `review_intake_invariants`, and `review_intake_digest`.
2217
+
2218
+ `review --resolution` outputs `review_resolution` with `stage='Stage 112'`, `review_kind='review-resolution-envelope'`, `source_review_intake`, `source_evidence`, `resolution_items`, `resolved`, `accepted_risk`, `missing_evidence`, `blocked`, `blocked_reasons`, `review_resolution_invariants`, and `review_resolution_digest`.
2219
+
2220
+ Boundary markers: `review_intake_artifact=false`, `review_resolution_artifact=false`, `evidence_artifact_write=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `verification_execution=false`, `repair_execution=false`, `formatting_execution=false`, `code_generation=false`, `reviewer_invocation=false`, `runtime_action=false`, `workflow_execution=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2221
+
2222
+ Stage 112 does not call reviewers, subagents, platform APIs, external network, models, MCP, git, checks, tests, repair, formatting, code generation, commit, push, PR, merge, scheduler, daemon, retry, or source mutation. It only consumes user-provided local review and repair evidence files.
2223
+
2224
+ ## Stage 113 TDD trace contract
2225
+
2226
+ Stage 113 adds read-only `verification --tdd-trace` to prove user-provided RED -> GREEN -> REFACTOR evidence order. It validates local trace JSON structure, phase results, and optional Stage 105 action item coverage without running tests or commands.
2227
+
2228
+ ```bash
2229
+ node tools/vibe-runtime/index.mjs verification --tdd-trace --from-file <local-tdd-trace-file> --from-plan <local-plan-file> --json
2230
+ node tools/vibe-runtime/index.mjs verification --tdd-trace --from-file <local-tdd-trace-file>
2231
+ ```
2232
+
2233
+ The suggested trace input contains `red.command`, `red.exit_status`, `red.expected_failure`, `red.key_output`, `green.command`, `green.exit_status`, `green.key_output`, `refactor.command`, `refactor.exit_status`, `refactor.key_output`, and `covered_action_items[]`.
2234
+
2235
+ `verification --tdd-trace` outputs `tdd_trace_contract` with `stage='Stage 113'`, `trace_kind='tdd-trace-contract'`, `source_trace`, `source_bindings`, `cycle_order`, `red_verified`, `green_verified`, `refactor_verified`, `covered_action_items`, `coverage`, `blocked`, `blocked_reasons`, `tdd_trace_invariants`, and `tdd_trace_digest`.
2236
+
2237
+ Boundary markers: `tdd_trace_artifact=false`, `test_result_artifact=false`, `evidence_artifact_write=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `verification_execution=false`, `repair_execution=false`, `formatting_execution=false`, `code_generation=false`, `runtime_action=false`, `workflow_execution=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2238
+
2239
+ Stage 113 does not run tests, checks, repair, formatting, code generation, git, commit, push, PR, merge, scheduler, daemon, retry, platform API, external network, model, MCP, subagent, or source mutation. It only consumes user-provided local TDD trace evidence.
2240
+
2241
+ ## Stage 114 human-friendly runtime aliases
2242
+
2243
+ Stage 114 adds read-only workflow aliases that hide stage details while preserving the deterministic underlying envelopes. `workflow --close-loop` wraps the Stage 109 dashboard into human-friendly labels, and `workflow --next-evidence` composes Stage 105 plus optional Stage 110-113 local evidence envelopes to show the next evidence gap.
2244
+
2245
+ ```bash
2246
+ node tools/vibe-runtime/index.mjs workflow --close-loop --from-file <local-plan-file> --subject <commit-subject> --json
2247
+ node tools/vibe-runtime/index.mjs workflow --close-loop --from-file <local-plan-file> --subject <commit-subject>
2248
+ node tools/vibe-runtime/index.mjs workflow --next-evidence --from-file <local-plan-file> --evidence-file <local-evidence-json> --diff-file <local-diff-file> --review-file <local-review-json> --tdd-file <local-tdd-trace-json> --json
2249
+ node tools/vibe-runtime/index.mjs workflow --next-evidence --from-file <local-plan-file>
2250
+ ```
2251
+
2252
+ Both aliases output `human_friendly_alias` with `stage='Stage 114'`, `alias_kind`, `source_bindings`, `labels`, `sections`, `evidence_inputs`, `evidence_gaps`, `next_evidence`, `human_friendly_alias_invariants`, and `human_friendly_alias_digest`. Text output prioritizes `Plan`, `Docs`, `Code`, `Self-test`, `Diff`, `Review`, `TDD`, `Commit`, and `Next evidence`.
2253
+
2254
+ Boundary markers: `human_friendly_alias_artifact=false`, `close_loop_alias_artifact=false`, `next_evidence_alias_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `verification_execution=false`, `repair_execution=false`, `formatting_execution=false`, `code_generation=false`, `runtime_action=false`, `workflow_execution=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2255
+
2256
+ Stage 114 does not run checks, tests, review, TDD, repair, formatting, code generation, git, commit, push, PR, merge, scheduler, daemon, retry, platform API, external network, model, MCP, subagent, or source mutation. It only reads explicit local files and composes existing read-only envelopes.
2257
+
2258
+ ## Stage 115 external reference gap matrix
2259
+
2260
+ Stage 115 adds read-only `governance --external-reference-gap` to turn the external reference comparison into a reproducible local matrix. It reads `fork/<external-reference>` source files and Vibecoding local runtime sources, then scores entry UX, trigger discipline, planning quality, TDD, execution, review, verification, commit closeout, install bootstrap, and contract governance.
2261
+
2262
+ ```bash
2263
+ node tools/vibe-runtime/index.mjs governance --external-reference-gap --from-external-reference fork/<external-reference> --json
2264
+ node tools/vibe-runtime/index.mjs governance --external-reference-gap --from-external-reference fork/<external-reference>
2265
+ ```
2266
+
2267
+ `governance --external-reference-gap` outputs `external_reference_gap_matrix` with `stage='Stage 115'`, `gap_kind='external-reference-gap-matrix'`, `source_summary`, `registry_binding`, `dimensions`, `vibecoding_advantages`, `external_reference_advantages`, `priority_gaps`, `recommended_stage_sequence`, `gap_matrix_invariants`, and `gap_matrix_digest`.
2268
+
2269
+ Boundary markers: `external_reference_gap_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `source_write=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `skill_execution=false`, `runtime_action=false`, `workflow_execution=false`, `auto_execution=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2270
+
2271
+ Stage 115 does not execute external reference or Vibecoding skills, run commands/checks/tests, write state, mutate source, call git, commit, push, PR, merge, platform API, external network, model, MCP, or subagent. It only reads local comparison sources and emits a deterministic gap matrix.
2272
+
2273
+ ## Stage 116 Progressive entry UX contract
2274
+
2275
+ Stage 116 adds read-only `workflow --entry-ux` to turn the first user request into a one-screen local entry contract. It addresses the Stage 115 entry UX gap without injecting a full skill, creating a session, or claiming skill execution.
2276
+
2277
+ ```bash
2278
+ node tools/vibe-runtime/index.mjs workflow --entry-ux --prompt "implement the next stage" --json
2279
+ node tools/vibe-runtime/index.mjs workflow --entry-ux --prompt "review this branch" --from-gap .tmp/stage115-gap.json
2280
+ ```
2281
+
2282
+ `workflow --entry-ux` outputs `progressive_entry_ux` with `stage='Stage 116'`, `contract_kind='progressive-entry-ux-contract'`, `recommended_workflow`, `why_this_route`, `minimum_next_action`, `visible_sentence`, `bootstrap_policy`, `do_not_do_yet`, `source_bindings`, `entry_ux_invariants`, and `contract_digest`. `bootstrap_policy.marker='injectsFullSkill=false'` is intentionally included so Stage 115 can prove the entry UX stays lightweight instead of injecting a full skill.
2283
+
2284
+ Boundary markers: `progressive_entry_ux_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `source_write=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `skill_execution=false`, `workflow_execution=false`, `runtime_action=false`, `auto_execution=false`, `scheduler=false`, `daemon=false`, `retry=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2285
+
2286
+ Stage 116 does not run workflow skills, commands, checks, tests, repair, formatting, code generation, git, commit, push, PR, merge, platform API, external network, model, MCP, subagent, or source mutation. It only reads an optional local Stage 115 gap JSON and emits deterministic next-entry guidance.
2287
+
2288
+ ## Stage 117 Executable plan quality contract
2289
+
2290
+ Stage 117 adds read-only `planner --executable-plan` to turn a prose plan into a structured, scored, blocking-quality contract. It checks whether the plan has exact file paths, action items, docs/code expectations, verification commands, expected output markers, commit subject hints, no placeholders, stage boundaries, and rollback / stop conditions.
2291
+
2292
+ ```bash
2293
+ node tools/vibe-runtime/index.mjs planner --executable-plan --from-file .tmp/stage117-plan.md --json
2294
+ node tools/vibe-runtime/index.mjs planner --executable-plan --from-file .tmp/stage117-plan.md
2295
+ ```
2296
+
2297
+ `planner --executable-plan` outputs `executable_plan_contract` with `stage='Stage 117'`, `contract_kind='executable-plan-quality-contract'`, `requirement_checks`, `task_readiness`, `task_quality_contract`, `failure_mode`, `missing_requirements`, `blocked_reasons`, `plan_quality_score`, `plan_quality_pass`, `extracted_expectations`, `executable_plan_invariants`, and `executable_plan_digest`. `task_quality_contract` requires every task to bind files, verification commands, expected output markers, and stop conditions before Stage 118 runbook synthesis. Failure mode is intentionally `blocking_gaps_only=true`, `auto_repair=false`, and `plan_mutation=false`.
2298
+
2299
+ Boundary markers: `executable_plan_artifact=false`, `plan_repair_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `source_write=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `repair_execution=false`, `action_item_execution=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2300
+
2301
+ Stage 117 does not execute commands, checks, tests, action items, repair, formatting, code generation, git, commit, push, PR, merge, platform API, external network, model, MCP, subagent, or source mutation. It only reads one local plan file, binds plan lint and registry evidence, and emits deterministic runbook-readiness guidance for Stage 118.
2302
+
2303
+ ## Stage 118 Sequential stage runbook
2304
+
2305
+ Stage 118 adds read-only `automation --stage-runbook` to turn a local plan, and optionally a Stage 117 executable plan JSON, into a deterministic execution control-plane runbook. It emits the ordered stage sequence, files to change, validation commands, evidence requirements, commit subject, stop conditions, and next stage without running anything.
2306
+
2307
+ ```bash
2308
+ node tools/vibe-runtime/index.mjs automation --stage-runbook --from-plan .tmp/stage118-plan.md --json
2309
+ node tools/vibe-runtime/index.mjs automation --stage-runbook --from-plan .tmp/stage118-plan.md --from-executable-plan .tmp/stage117-executable-plan.json
2310
+ ```
2311
+
2312
+ `automation --stage-runbook` outputs `sequential_stage_runbook` with `stage='Stage 118'`, `runbook_kind='sequential-stage-runbook'`, `stage_sequence`, `stage_order_gate`, `execution_order`, `files_to_change`, `validation_commands`, `evidence_required`, `commit_subject`, `stop_if`, `next_stage`, `blocked_reasons`, `ready_for_evidence_binding`, `runbook_invariants`, and `stage_runbook_digest`. `stage_order_gate` records per-stage inputs, dependency gates, mutex/conflict boundaries, commit conditions, stop conditions, and keeps `auto_execution=false`, `command_execution=false`, and `git_write=false`.
2313
+
2314
+ Boundary markers: `stage_runbook_artifact=false`, `runbook_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `source_write=false`, `plan_mutation=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `runtime_action=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2315
+
2316
+ Stage 118 does not execute stages, commands, checks, tests, action items, repair, formatting, code generation, git, commit, push, PR, merge, platform API, external network, model, MCP, subagent, or source mutation. It only reads local plan inputs and emits Stage 119 evidence-binding expectations.
2317
+
2318
+ ## Stage 119 Execution evidence binder
2319
+
2320
+ Stage 119 adds read-only `verification --execution-evidence` to bind a local Stage 118 runbook JSON to local execution evidence JSON. It reports per-stage evidence coverage, required evidence category coverage, missing evidence, stale evidence, failed command evidence, next-stage readiness, and resume guidance without running any runbook command. Every selected stage gets a `stage-evidence-category-gate`: `static_check`, `test`, and `manual_verification` are required by default, while `review`, `tdd_trace`, and `diff_coverage` are first-class categories when the runbook or evidence declares them.
2321
+
2322
+ ```bash
2323
+ node tools/vibe-runtime/index.mjs verification --execution-evidence --from-runbook .tmp/stage118-runbook.json --from-file .tmp/stage119-evidence.json --json
2324
+ node tools/vibe-runtime/index.mjs verification --execution-evidence --from-runbook .tmp/stage118-runbook.json --from-file .tmp/stage119-evidence.json --stage stage118-runbook-01-stage-119
2325
+ ```
2326
+
2327
+ `verification --execution-evidence` outputs `execution_evidence_binding` with `stage='Stage 119'`, `binding_kind='execution-evidence-binding'`, `source_runbook`, `source_evidence`, `evidence_category_contract`, `stage_evidence_category_gate`, `stage_evidence_status`, `missing_evidence`, `missing_evidence_categories`, `stale_evidence`, `failed_commands`, `ready_for_next_stage`, `resume_guidance`, `execution_evidence_invariants`, and `execution_evidence_digest`. Missing `static_check`, `test`, or `manual_verification` evidence blocks readiness even when generic evidence strings are present; `review`, `tdd_trace`, and `diff_coverage` evidence can be bound by `category`, `source_digest`, `artifact`, or coverage markers without invoking external platforms.
2328
+
2329
+ Boundary markers: `execution_evidence_artifact=false`, `evidence_artifact_write=false`, `sidecar_write=false`, `state_directory_created=false`, `source_write=false`, `runbook_mutation=false`, `evidence_mutation=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `repair_execution=false`, `runtime_action=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2330
+
2331
+ Stage 119 does not execute runbook commands, checks, tests, repair, formatting, code generation, git, commit, push, PR, merge, platform API, external network, model, MCP, subagent, or source mutation. It only reads local JSON inputs and emits Stage 120 staged commit readiness evidence-binding expectations.
2332
+
2333
+ ## Stage 120 Staged commit readiness contract
2334
+
2335
+ Stage 120 adds read-only `release --staged-commit-readiness` to bind a local Stage 118 runbook JSON, a local Stage 119 execution evidence binding JSON, an explicit stage id, and a commit subject into a staged commit readiness contract. It checks the subject guard, suggested commit subject, required files, validation evidence, Stage 119 evidence/category gate pass, and `diff_coverage` evidence binding without calling git, staging files, or committing.
2336
+
2337
+ ```bash
2338
+ node tools/vibe-runtime/index.mjs release --staged-commit-readiness --from-runbook .tmp/stage118-runbook.json --from-evidence .tmp/stage119-execution-evidence.json --stage stage118-runbook-01-stage-120 --subject "feat(runtime): 添加 Stage 120 分阶段提交就绪合同" --json
2339
+ node tools/vibe-runtime/index.mjs release --staged-commit-readiness --from-runbook .tmp/stage118-runbook.json --from-evidence .tmp/stage119-execution-evidence.json --stage stage118-runbook-01-stage-120 --subject "feat(runtime): 添加 Stage 120 分阶段提交就绪合同"
2340
+ ```
2341
+
2342
+ `release --staged-commit-readiness` outputs `staged_commit_readiness` with `stage='Stage 120'`, `readiness_kind='staged-commit-readiness-contract'`, `source_runbook`, `source_evidence`, `stage_id`, `suggested_commit_subject`, `subject_guard`, `commit_readiness_gate`, `stage_evidence_category_gate`, `required_files`, `validation_commands`, `evidence_pass`, `diff_coverage_required`, `diff_coverage_evidence_bound`, `commit_allowed_by_contract=false`, `manual_or_agent_commit_next_action`, `staged_commit_readiness_invariants`, and `staged_commit_readiness_digest`. `commit_readiness_gate` is blocked unless the subject matches the Stage 118 runbook, Stage 119 is pass-ready, the selected stage has required files and validation commands, Stage 119 category gate passes, `diff_coverage` evidence is bound, and runtime git execution stays `false`.
2343
+
2344
+ Boundary markers: `staged_commit_readiness_artifact=false`, `commit_artifact=false`, `evidence_artifact_write=false`, `sidecar_write=false`, `state_directory_created=false`, `source_write=false`, `runbook_mutation=false`, `evidence_mutation=false`, `worktree_mutation=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `repair_execution=false`, `runtime_action=false`, `git=false`, `git_write=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2345
+
2346
+ Stage 120 does not execute runbook commands, checks, tests, repair, formatting, code generation, git status, git diff, git add, git commit, push, PR, merge, platform API, external network, model, MCP, subagent, or source mutation. It only emits a verifiable contract for a separate human-approved local commit action.
2347
+
2348
+ ## Stage 125 external reference regression guard
2349
+
2350
+ Stage 125 adds read-only `governance --external-reference-regression-guard` to turn the Stage 115-124 external reference comparison work into a regression guard. It does not claim superiority from prose alone; it checks that the protected capabilities still exist in the runtime registry, have automation-readiness classifications, bind to Stage 115 gap dimensions, and keep Stage 123 skill/runtime traceability passing.
2351
+
2352
+ ```bash
2353
+ node tools/vibe-runtime/index.mjs governance --external-reference-regression-guard --from-external-reference fork/<external-reference> --json
2354
+ node tools/vibe-runtime/index.mjs governance --external-reference-regression-guard --from-external-reference fork/<external-reference>
2355
+ ```
2356
+
2357
+ `governance --external-reference-regression-guard` outputs `external_reference_regression_guard` with `stage='Stage 125'`, `guard_kind='external-reference-regression-guard'`, `source_bindings`, `protected_stage_sequence`, `protected_capabilities`, `dimension_scorecard`, `regression_gates`, `superiority_claim`, `manual_next_action`, `regression_guard_invariants`, and `regression_guard_digest`. The protected stage sequence covers Stage 115 through Stage 124: gap matrix, progressive entry UX, executable plan quality, sequential stage runbook, execution evidence binding, staged commit readiness, behavioral evaluation, adapter bootstrap matrix, skill/runtime traceability, and human completion evidence bundle.
2358
+
2359
+ Boundary markers: `external_reference_regression_guard_artifact=false`, `external_reference_gap_artifact=false`, `traceability_map_artifact=false`, `automation_readiness_artifact=false`, `capability_registry_artifact=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `verification_execution=false`, `runtime_action=false`, `workflow_execution=false`, `skill_execution=false`, `auto_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`, `worktree=false`, `business_source_write=false`.
2360
+
2361
+ Stage 125 does not execute external reference or Vibecoding skills, run commands/checks/tests, write state, mutate source, call git, commit, push, PR, merge, platform API, external network, model, MCP, or subagent. It only reads local comparison sources and existing runtime governance structures, then emits a deterministic guard for preventing regression of the external reference superiority work.
2362
+
2363
+ ## Stage 135 Entry Trigger Discipline Contract
2364
+
2365
+ Stage 135 adds read-only `workflow --entry-discipline` to turn a captured local conversation transcript into a deterministic entry trigger discipline contract. It absorbs external reference' "1%可能适用就先判断" discipline, but expresses it through Vibecoding's layered protocol instead of automatic full skill injection.
2366
+
2367
+ ```bash
2368
+ node tools/vibe-runtime/index.mjs workflow --entry-discipline --from-transcript <local-transcript-json> --intent feature --json
2369
+ node tools/vibe-runtime/index.mjs workflow --entry-discipline --from-transcript <local-transcript-json> --intent debug
2370
+ ```
2371
+
2372
+ `workflow --entry-discipline` outputs `entry_trigger_discipline` with `stage='Stage 135'`, `discipline_kind='entry-trigger-discipline-contract'`, `intent`, `source_bindings`, `transcript_summary`, `protocol_layers`, `expected_route`, `trigger_results`, `missed_workflow_risks`, `minimum_next_action`, `entry_discipline_invariants`, and `discipline_digest`.
2373
+
2374
+ Machine gate markers: `using_vibecoding_first`, `protocol_layers_declared`, `intent_route_match`, `no_direct_implementation_jump`, `no_blind_bug_fix`, `no_false_skill_claim`, `no_forbidden_trigger`, `missed_workflow_risks`, `minimum_next_action`, and `discipline_digest`.
2375
+
2376
+ Boundary markers: `entry_discipline_artifact=false`, `transcript_write=false`, `prompt_mutation=false`, `source_write=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `verification_execution=false`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=false`, `repair_execution=false`, `formatting_execution=false`, `code_generation=false`, `hook_execution=false`, `hook_registration=false`, `adapter_execution=false`, `git=false`, `git_write=false`, `git_add=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2377
+
2378
+ Stage 135 does not run workflow skills, execute commands/checks/tests, mutate prompts, write transcript/state/sidecars, call git, commit, push, PR, merge, run hooks/adapters, call platform API, external network, model, MCP, or subagent. It only reads one local transcript JSON and reports whether entry routing discipline was visible.
2379
+
2380
+ ## Stage 136 Methodology Coverage Map
2381
+
2382
+ Stage 136 adds read-only `methodology --coverage-map` to map external reference methodology coverage against Vibecoding skills and runtime contracts. It reports meaningful experience and quality gaps instead of mechanically copying files from `fork/<external-reference>`.
2383
+
2384
+ ```bash
2385
+ node tools/vibe-runtime/index.mjs methodology --coverage-map --from-external-reference-root <local-external reference-root> --json
2386
+ node tools/vibe-runtime/index.mjs methodology --coverage-map --from-external-reference-root <local-external reference-root>
2387
+ ```
2388
+
2389
+ `methodology --coverage-map` outputs `methodology_coverage_map` with `stage='Stage 136'`, `coverage_kind='methodology-coverage-map'`, `comparison_target='fork/<external-reference>'`, `source_bindings`, `registry_binding`, `covered_patterns`, `partial_patterns`, `missing_patterns`, `vibecoding_specific_patterns`, `coverage_summary`, `next_coverage_bet`, `methodology_coverage_invariants`, and `coverage_digest`.
2390
+
2391
+ Machine gate markers: `brainstorming`, `planning`, `writing_plans`, `tdd`, `debugging`, `review`, `completion`, `worktree_isolation`, `subagent_driven_development`, `writing_skills`, `contributor_pr_guardrails`, `local_runtime_contracts`, `token_savior_budget`, `experience_dashboard`, `valuable_gap_rule`, `gap_is_valuable`, and `coverage_digest`.
2392
+
2393
+ Boundary markers: `methodology_coverage_artifact=false`, `coverage_map_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`, `adapter_execution=false`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=false`, `repair_execution=false`, `prompt_mutation=false`, `skill_mutation=false`, `hook_registration=false`, `dynamic_tool_execution=false`, `embeddings=false`, `remote_config=false`, `git=false`, `git_write=false`, `git_add=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2394
+
2395
+ Stage 136 does not execute external reference hooks/tests, run Vibecoding workflow skills, execute commands/checks/tests, write state/sidecars/source, call git, commit, push, PR, merge, run adapters, call platform API, external network, model, MCP, or subagent. It only reads local external reference and Vibecoding source files and reports deterministic methodology coverage.
2396
+
2397
+ ## Stage 137 Hook and Adapter Install Experience Score
2398
+
2399
+ Stage 137 adds read-only `platforms --install-experience` to score whether installed adapters naturally lead the user into the lightweight Vibecoding entry contract. It consumes a local Stage 122 bootstrap matrix JSON and a local Stage 131 entry acceptance JSON; it does not install adapters or run hooks.
2400
+
2401
+ ```bash
2402
+ node tools/vibe-runtime/index.mjs platforms --install-experience --from-bootstrap-matrix <local-bootstrap-matrix-json> --from-entry-acceptance <local-entry-acceptance-json> --json
2403
+ node tools/vibe-runtime/index.mjs platforms --install-experience --from-bootstrap-matrix <local-bootstrap-matrix-json> --from-entry-acceptance <local-entry-acceptance-json>
2404
+ ```
2405
+
2406
+ `platforms --install-experience` outputs `install_experience_score` with `stage='Stage 137'`, `score_kind='hook-adapter-install-experience-score'`, `source_bindings`, `input_summary`, `install_experience_score`, `natural_entry_score`, `adapter_consistency_score`, `adapter_scores`, `manual_steps_remaining`, `docs_friction`, `next_install_experience_bet`, `install_experience_invariants`, and `install_experience_digest`.
2407
+
2408
+ Machine gate markers: `natural_entry_score`, `adapter_consistency_score`, `manual_steps_remaining`, `docs_friction`, `bootstrap_pass`, `entry_acceptance_ok`, `install_experience_digest`, and `next_install_experience_bet`.
2409
+
2410
+ Boundary markers: `install_experience_artifact=false`, `bootstrap_matrix_artifact=false`, `entry_acceptance_artifact=false`, `adapter_install=false`, `adapter_execution=false`, `hook_execution=false`, `hook_registration=false`, `manifest_write=false`, `install_doc_write=false`, `settings_write=false`, `source_write=false`, `transcript_write=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=false`, `git=false`, `git_write=false`, `git_add=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2411
+
2412
+ Stage 137 does not install adapters, execute hooks, run adapters, run workflow skills, execute commands/checks/tests, write state/sidecars/source, call git, commit, push, PR, merge, call platform API, external network, model, MCP, or subagent. It only reads local JSON evidence and reports deterministic install experience scoring.
2413
+
2414
+ ## Stage 138 external-reference-style Behavioral Eval Scenario Pack
2415
+
2416
+ Stage 138 adds read-only `evals --external-reference-style-pack` to translate the Stage 133 external reference comparison into behavior-shaped local scenario contracts. It defines realistic session expectations without running live agent evals or model judges.
2417
+
2418
+ ```bash
2419
+ node tools/vibe-runtime/index.mjs evals --external-reference-style-pack --from-comparison <local-comparison-json> --json
2420
+ node tools/vibe-runtime/index.mjs evals --external-reference-style-pack --from-comparison <local-comparison-json>
2421
+ ```
2422
+
2423
+ `evals --external-reference-style-pack` outputs `external_reference_style_eval_pack` with `stage='Stage 138'`, `pack_kind='external-reference-style-behavioral-eval-scenario-pack'`, `source_bindings`, `comparison_binding`, `scenario_pack`, `scenario_summary`, `scenario_ids`, `next_eval_pack_bet`, `eval_pack_invariants`, and `eval_pack_digest`.
2424
+
2425
+ Scenario ids are fixed: `new_feature_should_not_jump_to_code`, `bug_should_reproduce_first`, `review_should_prioritize_blockers`, `commit_should_require_validation`, `subagent_requires_explicit_permission`, and `session_start_should_show_lightweight_entry`.
2426
+
2427
+ Machine gate markers: `expected_behavior`, `failure_signals`, `comparison_dimension_present`, `execution_authorized=false`, `model_judge_required=false`, `deterministic_contract_only=true`, `recommended_runtime_contract='evals --behavior-contract'`, `scenario_summary`, `next_eval_pack_bet`, and `eval_pack_digest`.
2428
+
2429
+ Boundary markers: `eval_pack_artifact=false`, `scenario_artifact=false`, `comparison_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`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=false`, `prompt_mutation=false`, `hook_registration=false`, `git=false`, `git_write=false`, `git_add=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2430
+
2431
+ Stage 138 does not run evals, execute agent sessions, invoke model judges, run workflow skills, execute commands/checks/tests, write state/sidecars/source, call git, commit, push, PR, merge, call platform API, external network, MCP, or subagent. It only reads one local comparison JSON and reports deterministic scenario contracts.
2432
+
2433
+ ## Stage 139 Experience Upgrade Prioritizer
2434
+
2435
+ Stage 139 adds read-only `governance --experience-upgrades` to turn Stage 133-138 comparison and experience evidence into a deterministic upgrade order. It ranks what should happen next and explicitly defers high-risk automation instead of converting every observed gap into work.
2436
+
2437
+ ```bash
2438
+ node tools/vibe-runtime/index.mjs governance --experience-upgrades --from-comparison <local-comparison-json> --from-dashboard <local-dashboard-json> --from-install-experience <local-install-json> --json
2439
+ node tools/vibe-runtime/index.mjs governance --experience-upgrades --from-comparison <local-comparison-json> --from-dashboard <local-dashboard-json>
2440
+ ```
2441
+
2442
+ `governance --experience-upgrades` outputs `experience_upgrade_prioritizer` with `stage='Stage 139'`, `prioritizer_kind='experience-upgrade-prioritizer'`, `source_bindings`, `input_summary`, `upgrade_candidates`, `recommended_stage_order`, `defer`, `prioritization_policy`, `next_upgrade_bet`, `upgrade_invariants`, and `upgrade_digest`.
2443
+
2444
+ Machine gate markers: `impact_score`, `risk_score`, `implementation_cost`, `priority_score`, `recommended_stage_order`, `defer`, `default_live_agent_eval_runner`, `auto_subagent_execution`, `prioritization_policy`, `next_upgrade_bet`, and `upgrade_digest`.
2445
+
2446
+ Boundary markers: `upgrade_artifact=false`, `prioritizer_artifact=false`, `comparison_artifact=false`, `dashboard_artifact=false`, `install_experience_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`, `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`, `git=false`, `git_write=false`, `git_add=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2447
+
2448
+ Stage 139 does not execute upgrades, run evals, mutate prompts/hooks/source, execute workflow skills, execute commands/checks/tests, write state/sidecars/source, call git, commit, push, PR, merge, call platform API, external network, model, MCP, or subagent. It only reads local JSON evidence and reports deterministic upgrade ordering.
2449
+
2450
+ ## Stage 140 Legacy Workflow Discipline Scorecard v2
2451
+
2452
+ Stage 140 adds read-only `governance --legacy-workflow-discipline-scorecard` to close the Stage 133-140 comparison cycle. It proves which external reference advantages have been absorbed into Vibecoding local contracts, which gaps remain, and which boundaries must not be crossed.
2453
+
2454
+ ```bash
2455
+ node tools/vibe-runtime/index.mjs governance --legacy-workflow-discipline-scorecard --from-comparison <local-comparison-json> --from-entry-discipline <local-discipline-json> --from-install-experience <local-install-json> --from-upgrades <local-upgrades-json> --json
2456
+ node tools/vibe-runtime/index.mjs governance --legacy-workflow-discipline-scorecard --from-comparison <local-comparison-json> --from-entry-discipline <local-discipline-json> --from-install-experience <local-install-json> --from-upgrades <local-upgrades-json>
2457
+ ```
2458
+
2459
+ `governance --legacy-workflow-discipline-scorecard` outputs `legacy_workflow_discipline_scorecard` with `stage='Stage 140'`, `scorecard_kind='legacy-workflow-discipline-scorecard-v2'`, `source_bindings`, `input_summary`, `parity_axes`, `parity_score`, `vibecoding_leads`, `remaining_gaps`, `do_not_cross_boundaries`, `next_cycle_bet`, `parity_invariants`, and `parity_digest`.
2460
+
2461
+ Machine gate markers: `session_start_bootstrap`, `skill_trigger_discipline`, `adapter_packaging`, `hook_shape_coverage`, `eval_and_test_harness`, `daily_user_friction`, `subagent_boundary`, `token_and_context_economy`, `contributor_guardrails`, `no_full_skill_injection`, `no_auto_subagent_execution`, `no_default_live_agent_eval_runner`, `no_platform_api_or_network`, `no_git_pr_push_merge`, `parity_score`, `next_cycle_bet`, and `parity_digest`.
2462
+
2463
+ Boundary markers: `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`, `git=false`, `git_write=false`, `git_add=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2464
+
2465
+ Stage 140 does not execute upgrades, run evals, run agent sessions, inject full skills, mutate prompts/hooks/source, execute workflow skills, execute commands/checks/tests, write state/sidecars/source, call git, commit, push, PR, merge, call platform API, external network, model, MCP, or subagent. It only reads local JSON evidence and reports deterministic parity closeout.
2466
+
2467
+ ## Stage 141 Entry Trigger Tightening
2468
+
2469
+ Stage 141 adds read-only `workflow --entry-tightening` to turn Stage 135 entry discipline and Stage 140 parity closeout into the next sentence the agent should say. It reduces silent workflow skips by making the first move copy-ready instead of only reporting pass/fail.
2470
+
2471
+ ```bash
2472
+ node tools/vibe-runtime/index.mjs workflow --entry-tightening --from-discipline <local-discipline-json> --from-scorecard <local-parity-scorecard-json> --intent feature --json
2473
+ node tools/vibe-runtime/index.mjs workflow --entry-tightening --from-discipline <local-discipline-json> --from-scorecard <local-parity-scorecard-json>
2474
+ ```
2475
+
2476
+ `workflow --entry-tightening` outputs `entry_trigger_tightening` with `stage='Stage 141'`, `tightening_kind='entry-trigger-tightening-contract'`, `source_bindings`, `input_summary`, `trigger_gap_summary`, `expected_route`, `tightening_score`, `missing_entry_moves`, `recommended_opening_sentence`, `must_not_skip`, `tightening_invariants`, and `tightening_digest`.
2477
+
2478
+ Machine gate markers: `workflow --entry-tightening`, `--from-discipline <local-discipline-json>`, `--from-scorecard <local-parity-scorecard-json>`, `entry_trigger_tightening`, `tightening_score`, `missing_entry_moves`, `recommended_opening_sentence`, `must_not_skip`, `using_vibecoding_first`, `protocol_layers_declared`, `intent_route_match`, `scorecard_skill_trigger_discipline`, `next_cycle_entry_trigger_tightening`, and `tightening_digest`.
2479
+
2480
+ Boundary markers: `entry_tightening_artifact=false`, `entry_trigger_tightening_artifact=false`, `discipline_artifact=false`, `entry_discipline_artifact=false`, `parity_scorecard_artifact=false`, `scorecard_artifact=false`, `source_write=false`, `sidecar_write=false`, `state_directory_created=false`, `transcript_write=false`, `prompt_mutation=false`, `template_mutation=false`, `skill_mutation=false`, `hook_registration=false`, `hook_execution=false`, `adapter_execution=false`, `command_execution=false`, `check_execution=false`, `smoke_execution=false`, `test_execution=false`, `eval_execution=false`, `agent_session_execution=false`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=false`, `repair_execution=false`, `full_skill_injection=false`, `dynamic_tool_execution=false`, `git=false`, `git_write=false`, `git_add=false`, `commit=false`, `push=false`, `pr=false`, `merge=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `worktree=false`, `business_source_write=false`.
2481
+
2482
+ Stage 141 does not execute workflow skills, run hooks/adapters/evals/checks/tests, mutate prompts/templates/skills/hooks/source, write state/sidecars/source, call git, commit, push, PR, merge, call platform API, external network, model, MCP, or subagent. It only reads local Stage 135/140 JSON evidence and reports deterministic entry-opening guidance.
2483
+
2484
+ ## Stage 142 Session-start Shape Examples
2485
+
2486
+ Stage 142 adds read-only `platforms --session-start-examples` to turn Stage 134 shape acceptance and Stage 137 install experience into copy-ready adapter output examples. It reduces adapter/hook output-format guessing without executing hooks or writing adapter/plugin files.
2487
+
2488
+ ```bash
2489
+ node tools/vibe-runtime/index.mjs platforms --session-start-examples --from-shape <local-shape-json> --from-install-experience <local-install-json> --json
2490
+ node tools/vibe-runtime/index.mjs platforms --session-start-examples --from-shape <local-shape-json> --from-install-experience <local-install-json>
2491
+ ```
2492
+
2493
+ `platforms --session-start-examples` outputs `session_start_example_pack` with `stage='Stage 142'`, `pack_kind='session-start-example-pack'`, `source_bindings`, `input_summary`, `adapter_examples`, `copy_ready_context_shapes`, `format_warnings`, `example_pack_invariants`, and `example_pack_digest`.
2494
+
2495
+ Machine gate markers: `platforms --session-start-examples`, `--from-shape <local-shape-json>`, `--from-install-experience <local-install-json>`, `session_start_example_pack`, `adapter_examples`, `copy_ready_context_shapes`, `format_warnings`, `example_pack_invariants`, `example_pack_digest`, `claude`, `cursor`, `codex`, `cursor-sdk`, `hookSpecificOutput.additionalContext`, `additional_context`, `additionalContext`, `selected_skill`, `visible_route`, `next_manual_action`, `context_policy`, `hidden_execution=false`, `command_execution=false`, `skill_execution_claimed=false`, `subagent_dispatch_claimed=false`, `git_write_claimed=false`, `platform_api=false`, `model_invocation=false`, and `business_source_write=false`.
2496
+
2497
+ Boundary markers: `session_start_example_pack_artifact=false`, `session_start_shape_artifact=false`, `install_experience_artifact=false`, `adapter_example_artifact=false`, `adapter_install=false`, `adapter_execution=false`, `hook_execution=false`, `hook_registration=false`, `manifest_write=false`, `install_doc_write=false`, `settings_write=false`, `prompt_mutation=false`, `template_mutation=false`, `skill_mutation=false`, `source_write=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=false`, `full_skill_injection=false`, `git=false`, `git_write=false`, `subagent=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `mcp=false`, `business_source_write=false`.
2498
+
2499
+ Stage 142 does not execute hooks, install or run adapters, mutate prompts/templates/skills/manifests/docs/source, write state/examples/sidecars, run commands/checks/tests/workflows, call git, platform APIs, external network, model, MCP, or subagent. It only reads local Stage 134/137 JSON evidence and reports deterministic copy-ready session-start examples.
2500
+
2501
+ ## Stage 143 Next-action Evidence Prompts
2502
+
2503
+ Stage 143 adds read-only `workflow --next-evidence-prompts` to turn Stage 127 next-action console, Stage 132 experience dashboard, and Stage 139 upgrade prioritizer evidence into concrete evidence prompt cards. It reduces closeout backtracking by making the next action's required evidence explicit before any completion claim.
2504
+
2505
+ ```bash
2506
+ node tools/vibe-runtime/index.mjs workflow --next-evidence-prompts --from-console <local-console-json> --from-dashboard <local-dashboard-json> --from-upgrades <local-upgrades-json> --json
2507
+ node tools/vibe-runtime/index.mjs workflow --next-evidence-prompts --from-console <local-console-json> --from-dashboard <local-dashboard-json> --from-upgrades <local-upgrades-json>
2508
+ ```
2509
+
2510
+ `workflow --next-evidence-prompts` outputs `next_action_evidence_prompts` with `stage='Stage 143'`, `prompts_kind='next-action-evidence-prompts'`, `source_bindings`, `input_summary`, `selected_next_action`, `evidence_prompt_cards`, `copy_ready_validation_notes`, `blocked_until`, `prompts_invariants`, and `prompts_digest`.
2511
+
2512
+ Machine gate markers: `workflow --next-evidence-prompts`, `--from-console <local-console-json>`, `--from-dashboard <local-dashboard-json>`, `--from-upgrades <local-upgrades-json>`, `next_action_evidence_prompts`, `evidence_prompt_cards`, `copy_ready_validation_notes`, `blocked_until`, `prompts_invariants`, and `prompts_digest`.
2513
+
2514
+ Boundary markers: `next_action_evidence_prompts_artifact=false`, `evidence_prompt_artifact=false`, `console_artifact=false`, `dashboard_artifact=false`, `upgrade_artifact=false`, `source_write=false`, `sidecar_write=false`, `state_directory_created=false`, `evidence_write=false`, `validation_note_write=false`, `dashboard_write=false`, `command_execution=false`, `check_execution=false`, `smoke_execution=false`, `test_execution=false`, `verification_execution=false`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=false`, `prompt_mutation=false`, `template_mutation=false`, `skill_mutation=false`, `hook_execution=false`, `adapter_execution=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`.
2515
+
2516
+ Stage 143 does not write evidence, create sidecars, run commands/checks/tests/workflows, execute workflow skills, mutate prompts/templates/skills/hooks/source, call git, commit, push, PR, merge, call platform API, external network, model, MCP, or subagent. It only reads local Stage 127/132/139 JSON evidence and reports deterministic next-action evidence prompts.
2517
+
2518
+ ## Stage 144 Context Budget Entry Defaults
2519
+
2520
+ Stage 144 adds read-only `tokens --entry-defaults` to turn Stage 128 Token Savior budget and Stage 140 Legacy Workflow Discipline scorecard evidence into lightweight entry-context defaults. It makes the default workflow entry visible while deferring full skill text until it is actually needed.
2521
+
2522
+ ```bash
2523
+ node tools/vibe-runtime/index.mjs tokens --entry-defaults --from-budget <local-token-budget-json> --from-scorecard <local-parity-scorecard-json> --json
2524
+ node tools/vibe-runtime/index.mjs tokens --entry-defaults --from-budget <local-token-budget-json> --from-scorecard <local-parity-scorecard-json>
2525
+ ```
2526
+
2527
+ `tokens --entry-defaults` outputs `context_budget_entry_defaults` with `stage='Stage 144'`, `defaults_kind='context-budget-entry-defaults'`, `source_bindings`, `input_summary`, `recommended_profile`, `surface_now`, `defer_until_needed`, `token_saving_boundary`, `entry_defaults_invariants`, and `entry_defaults_digest`.
2528
+
2529
+ Machine gate markers: `tokens --entry-defaults`, `--from-budget <local-token-budget-json>`, `--from-scorecard <local-parity-scorecard-json>`, `context_budget_entry_defaults`, `recommended_profile`, `surface_now`, `defer_until_needed`, `token_saving_boundary`, `entry_defaults_invariants`, and `entry_defaults_digest`.
2530
+
2531
+ Boundary markers: `context_budget_entry_defaults_artifact=false`, `entry_defaults_artifact=false`, `token_budget_artifact=false`, `parity_scorecard_artifact=false`, `prompt_mutation=false`, `template_mutation=false`, `skill_mutation=false`, `hook_execution=false`, `adapter_execution=false`, `full_skill_injection=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`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=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`.
2532
+
2533
+ Stage 144 does not do embeddings, call models, read remote config, mutate prompts/templates/skills/hooks/source, inject full skill text, run commands/checks/tests/workflows, write state/artifacts/sidecars, call git, commit, push, PR, merge, platform API, external network, MCP, or subagent. It only reads local Stage 128/140 JSON evidence and reports deterministic entry defaults.
2534
+
2535
+ ## Stage 145 Local Behavior Eval Contracts
2536
+
2537
+ Stage 145 adds read-only `evals --local-behavior-contracts` to turn the Stage 138 external-reference-style scenario pack and Stage 141 entry tightening contract into deterministic local behavior eval contracts. It extends the eval learning model without running live agent evals or model judges.
2538
+
2539
+ ```bash
2540
+ node tools/vibe-runtime/index.mjs evals --local-behavior-contracts --from-style-pack <local-style-pack-json> --from-entry-tightening <local-entry-tightening-json> --json
2541
+ node tools/vibe-runtime/index.mjs evals --local-behavior-contracts --from-style-pack <local-style-pack-json> --from-entry-tightening <local-entry-tightening-json>
2542
+ ```
2543
+
2544
+ `evals --local-behavior-contracts` outputs `local_behavior_eval_contracts` with `stage='Stage 145'`, `contracts_kind='local-behavior-eval-contracts'`, `source_bindings`, `input_summary`, `contract_cases`, `deterministic_judges`, `live_eval_deferred`, `contracts_invariants`, and `contracts_digest`.
2545
+
2546
+ Machine gate markers: `evals --local-behavior-contracts`, `--from-style-pack <local-style-pack-json>`, `--from-entry-tightening <local-entry-tightening-json>`, `local_behavior_eval_contracts`, `contract_cases`, `deterministic_judges`, `live_eval_deferred`, `visible_entry_route_judge`, `evidence_before_completion_judge`, `forbidden_action_boundary_judge`, `deterministic_contract_only_judge`, and `contracts_digest`.
2547
+
2548
+ Boundary markers: `local_behavior_eval_contracts_artifact=false`, `behavior_contract_artifact=false`, `style_pack_artifact=false`, `entry_tightening_artifact=false`, `eval_suite_artifact=false`, `eval_run_artifact=false`, `eval_report_artifact=false`, `prompt_mutation=false`, `template_mutation=false`, `skill_mutation=false`, `hook_execution=false`, `adapter_execution=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `eval_execution=false`, `live_eval_execution=false`, `agent_session_execution=false`, `model_judge_execution=false`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=false`, `full_skill_injection=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `mcp=false`, `git=false`, `git_write=false`, `commit=false`, `pr=false`, `push=false`, `merge=false`, `business_source_write=false`.
2549
+
2550
+ Stage 145 does not run evals, create agent sessions, call model judges, mutate prompts/templates/skills/hooks/source, execute workflow skills, run commands/checks/tests, write state/sidecars/source, call git, commit, push, PR, merge, call platform API, external network, MCP, or subagent. It only reads local Stage 138/141 JSON evidence and reports deterministic local behavior contracts.
2551
+
2552
+ ## Stage 146 Contributor Guardrail Evidence
2553
+
2554
+ Stage 146 adds read-only `governance --contributor-guardrails` to turn the Stage 140 parity scorecard and Stage 143 next-action evidence prompts into local contributor closeout guardrails. It keeps external-reference-style contributor discipline visible without creating PRs, searching remote review state, pushing, merging, or authorizing fixes.
2555
+
2556
+ ```bash
2557
+ node tools/vibe-runtime/index.mjs governance --contributor-guardrails --from-scorecard <local-parity-scorecard-json> --from-evidence-prompts <local-evidence-prompts-json> --json
2558
+ node tools/vibe-runtime/index.mjs governance --contributor-guardrails --from-scorecard <local-parity-scorecard-json> --from-evidence-prompts <local-evidence-prompts-json>
2559
+ ```
2560
+
2561
+ `governance --contributor-guardrails` outputs `contributor_guardrail_evidence` with `stage='Stage 146'`, `guardrail_kind='contributor-guardrail-evidence'`, `source_bindings`, `input_summary`, `guardrail_findings`, `required_disclosures`, `unsafe_closeout_risks`, `closeout_contract`, `guardrail_invariants`, and `guardrail_digest`.
2562
+
2563
+ Machine gate markers: `governance --contributor-guardrails`, `--from-scorecard <local-parity-scorecard-json>`, `--from-evidence-prompts <local-evidence-prompts-json>`, `contributor_guardrail_evidence`, `guardrail_findings`, `required_disclosures`, `unsafe_closeout_risks`, `closeout_contract`, `validation-evidence-required`, `do-not-cross-boundaries-visible`, `no-remote-pr-review-search`, `no-auto-repair-from-evidence`, and `guardrail_digest`.
2564
+
2565
+ Boundary markers: `contributor_guardrail_evidence_artifact=false`, `guardrail_artifact=false`, `parity_scorecard_artifact=false`, `evidence_prompts_artifact=false`, `disclosure_artifact=false`, `closeout_artifact=false`, `pr_readiness_artifact=false`, `pr_review_artifact=false`, `remote_pr_search=false`, `remote_review_search=false`, `source_write=false`, `sidecar_write=false`, `state_directory_created=false`, `evidence_write=false`, `disclosure_write=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `eval_execution=false`, `verification_execution=false`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=false`, `repair_execution=false`, `auto_fix=false`, `prompt_mutation=false`, `template_mutation=false`, `skill_mutation=false`, `hook_execution=false`, `adapter_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`.
2566
+
2567
+ Stage 146 does not create PRs, search remote PR/review state, push, merge, run commands/checks/tests/workflows, auto-fix, mutate prompts/templates/skills/hooks/source, write state/sidecars/artifacts/source, call git, platform API, external network, model, MCP, or subagent. It only reads local Stage 140/143 JSON evidence and reports contributor guardrail evidence.
2568
+
2569
+ ## Stage 147 Subagent Permission Visibility
2570
+
2571
+ Stage 147 adds read-only `governance --subagent-permission` to turn the Stage 140 parity scorecard and Stage 146 contributor guardrails into visible subagent permission gates. It makes the required user question and brief boundary copy-ready, but it does not authorize subagent use, create dispatches, create sessions, or write sidecars.
2572
+
2573
+ ```bash
2574
+ node tools/vibe-runtime/index.mjs governance --subagent-permission --from-scorecard <local-parity-scorecard-json> --from-guardrails <local-guardrails-json> --json
2575
+ node tools/vibe-runtime/index.mjs governance --subagent-permission --from-scorecard <local-parity-scorecard-json> --from-guardrails <local-guardrails-json>
2576
+ ```
2577
+
2578
+ `governance --subagent-permission` outputs `subagent_permission_visibility` with `stage='Stage 147'`, `permission_kind='subagent-permission-visibility'`, `source_bindings`, `input_summary`, `permission_gate`, `brief_requirements`, `must_ask_user_first`, `visibility_contract`, `permission_invariants`, and `permission_digest`.
2579
+
2580
+ Machine gate markers: `governance --subagent-permission`, `--from-scorecard <local-parity-scorecard-json>`, `--from-guardrails <local-guardrails-json>`, `subagent_permission_visibility`, `permission_gate`, `brief_requirements`, `must_ask_user_first`, `visibility_contract`, `explicit-user-permission`, `brief-completeness`, `no-hidden-dispatch`, and `permission_digest`.
2581
+
2582
+ Boundary markers: `subagent_permission_visibility_artifact=false`, `permission_artifact=false`, `guardrail_artifact=false`, `parity_scorecard_artifact=false`, `brief_artifact=false`, `dispatch_artifact=false`, `session_artifact=false`, `source_write=false`, `sidecar_write=false`, `state_directory_created=false`, `subagent=false`, `subagent_dispatch=false`, `subagent_session=false`, `agent_session=false`, `session_create=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `eval_execution=false`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=false`, `auto_dispatch=false`, `repair_execution=false`, `auto_fix=false`, `prompt_mutation=false`, `template_mutation=false`, `skill_mutation=false`, `hook_execution=false`, `adapter_execution=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `mcp=false`, `git=false`, `git_write=false`, `commit=false`, `pr=false`, `push=false`, `merge=false`, `business_source_write=false`.
2583
+
2584
+ Stage 147 does not call subagents, create dispatch/session artifacts, perform hidden handoff, run commands/checks/tests/workflows, auto-dispatch, write state/sidecars/artifacts/source, call git, PR, push, merge, platform API, external network, model, or MCP. It only reads local Stage 140/146 JSON evidence and reports a non-authorizing visibility contract that requires asking the user first.
2585
+
2586
+ ## P25-P31 Controlled Legacy Workflow Discipline Contract Sync
2587
+
2588
+ P25-P31 closes the controlled `legacy-workflow-discipline` profile loop without adding a hidden execution framework. The parity path is opt-in and keeps the default profile in safe governance mode.
2589
+
2590
+ Machine gate markers: `controlled_legacy_workflow_discipline`, `legacy_workflow_discipline_control_sync`, `P25`, `P26`, `P27`, `P28`, `P29`, `P30`, `P31`, `workflow --start --profile legacy-workflow-discipline`, `workflow --loop-contract --profile legacy-workflow-discipline`, `sdd --plan --profile legacy-workflow-discipline`, `sdd --task-brief --profile legacy-workflow-discipline`, `sdd --review-package --profile legacy-workflow-discipline`, `verification --tdd-trace`, `completion --evidence-bundle`, `subagents --adapter-dispatch`, `profile_contract_summary`, `skill_first_receipt`, `next_gate_summary`, `handoff_chain`, `verification_gate`, `subagent_permission_gate`, `subagent-explicit-permission-gate`, and `readiness_parity_boundaries`.
2591
+
2592
+ Boundary markers: `default_profile_safe=true`, `legacy_workflow_discipline_opt_in=true`, `profile_artifact=false`, `receipt_artifact=false`, `next_gate_artifact=false`, `handoff_preview_read_only=true`, `verification_execution=false`, `adapter_consumable_only_when_permission_gate_passed=true`, `hidden_execution=false`, `auto_execution=false`, `workflow_execution=false`, `skill_execution=false`, `command_execution=false`, `test_execution=false`, `platform_api=false`, `external_network=false`, `model_invocation=false`, `subagent=false`, `subagent_session=false`, `session_create=false`, `git=false`, `git_write=false`, `commit=false`, `pr=false`, `push=false`, `merge=false`, `business_source_write=false`, `state_directory_created=false`, and `writes=false`.
2593
+
2594
+ P31 keeps registry/readiness/runtime-check/release-check/docs aligned: the visible receipt, next gate, handoff chain, verification gate, and explicit subagent permission gate are regression targets, not authorization to run commands, create sessions, call adapters, write business files, or perform git actions.
2595
+
2596
+ ## Stage 148 Adapter Packaging Consistency Checklist
2597
+
2598
+ Stage 148 adds read-only `platforms --adapter-packaging-consistency` to turn the Stage 122 adapter bootstrap matrix and Stage 142 session-start example pack into a deterministic adapter packaging consistency checklist. It reduces platform packaging drift by making missing install markers and copy-ready fix notes visible, but it does not install adapters, execute hooks, or modify plugin manifests/install docs.
2599
+
2600
+ ```bash
2601
+ node tools/vibe-runtime/index.mjs platforms --adapter-packaging-consistency --from-bootstrap-matrix <local-bootstrap-json> --from-session-examples <local-session-examples-json> --json
2602
+ node tools/vibe-runtime/index.mjs platforms --adapter-packaging-consistency --from-bootstrap-matrix <local-bootstrap-json> --from-session-examples <local-session-examples-json>
2603
+ ```
2604
+
2605
+ `platforms --adapter-packaging-consistency` outputs `adapter_packaging_consistency` with `stage='Stage 148'`, `consistency_kind='adapter-packaging-consistency-checklist'`, `source_bindings`, `input_summary`, `adapter_rows`, `missing_install_markers`, `copy_ready_fix_notes`, `consistency_invariants`, and `consistency_digest`.
2606
+
2607
+ Machine gate markers: `platforms --adapter-packaging-consistency`, `--from-bootstrap-matrix <local-bootstrap-json>`, `--from-session-examples <local-session-examples-json>`, `adapter_packaging_consistency`, `adapter_rows`, `missing_install_markers`, `copy_ready_fix_notes`, `consistency_invariants`, and `consistency_digest`.
2608
+
2609
+ Boundary markers: `adapter_packaging_consistency_artifact=false`, `bootstrap_matrix_artifact=false`, `session_start_example_pack_artifact=false`, `adapter_row_artifact=false`, `fix_note_artifact=false`, `adapter_install=false`, `adapter_execution=false`, `hook_execution=false`, `hook_registration=false`, `manifest_write=false`, `plugin_manifest_write=false`, `install_doc_write=false`, `settings_write=false`, `source_write=false`, `sidecar_write=false`, `state_directory_created=false`, `command_execution=false`, `check_execution=false`, `test_execution=false`, `workflow_execution=false`, `skill_execution=false`, `runtime_action=false`, `auto_execution=false`, `repair_execution=false`, `auto_fix=false`, `prompt_mutation=false`, `template_mutation=false`, `skill_mutation=false`, `full_skill_injection=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`.
2610
+
2611
+ Stage 148 does not install adapters, execute hooks/adapters/commands/checks/tests/workflows, mutate plugin manifests/install docs/source/prompts/templates/skills, write state/artifacts/sidecars, call git, commit, push, PR, merge, platform API, external network, model, MCP, or subagent. It only reads local Stage 122/142 JSON evidence and reports deterministic adapter packaging consistency.
2612
+
2613
+ ## 与 `vibe-runtime-check` 的区别
2614
+
2615
+ - `vibe-runtime-check`:只读检查 workflow contract 是否可被 runtime 消费。
2616
+ - `vibe-runtime`:用户显式运行后,把 handoff 记录到 `.vibecoding-state/`。
2617
+
2618
+ ## 边界
2619
+
2620
+ 当前阶段只做 state ledger,不做 orchestrator。
2621
+
2622
+ 它不做:
2623
+
2624
+ - 默认启用 runtime。
2625
+ - 自动执行 `next_skill`。
2626
+ - 调用 subagent。
2627
+ - 创建、切换或删除 worktree。
2628
+ - 执行 git 写入、提交、reset、checkout、stash、tag 或 push。
2629
+ - 安装依赖。
2630
+ - 清理 `.vibecoding-state/` 之外的文件。
2631
+ - 启动 MCP、agent graph、daemon 或后台 worker。
2632
+
2633
+ ## installed layout
2634
+
2635
+ `vibe-init` 默认不安装 `.vibecoding-state/`,也不默认启用 `vibe-runtime`。
2636
+
2637
+ 只有用户显式运行 `record-handoff` 时,才会在目标根目录创建 `.vibecoding-state/`。