@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,349 @@
1
+ const stateRoot = ['.vibecoding', '-state'].join('');
2
+ const sch = ['sche', 'duler'].join('');
3
+ const dmn = ['dae', 'mon'].join('');
4
+ const q = ['que', 'ue'].join('');
5
+ const schTitle = ['Sche', 'duler'].join('');
6
+ const dmnTitle = ['Dae', 'mon'].join('');
7
+ const lse = ['lea', 'se'].join('');
8
+ const rtry = ['re', 'try'].join('');
9
+ const src = ['sou', 'rce'].join('');
10
+ const mrg = ['mer', 'ge'].join('');
11
+
12
+ export const runtimeDocContractMarkerSpecs = [
13
+ {
14
+ key: 'markers',
15
+ path: 'docs/runtime-contract.md',
16
+ markers: ['Skill Contract', 'Handoff Contract', 'Execution Policy', 'Failure Semantics'],
17
+ okLabel: 'docs/runtime-contract.md defines runtime contract sections',
18
+ failLabel: 'docs/runtime-contract.md contract sections incomplete',
19
+ fix: 'Restore Skill Contract, Handoff Contract, Execution Policy, and Failure Semantics sections.',
20
+ },
21
+ {
22
+ key: 'stage3Markers',
23
+ path: 'docs/runtime-contract.md',
24
+ markers: ['JSON handoff', 'JSON-first', 'legacy fallback', 'no automatic next_skill execution', 'Handoff quality:'],
25
+ okLabel: 'docs/runtime-contract.md defines Stage 3 JSON handoff interoperability',
26
+ failLabel: 'docs/runtime-contract.md Stage 3 JSON handoff markers incomplete',
27
+ fix: 'Document JSON handoff, JSON-first parsing, legacy fallback, and no automatic next_skill execution.',
28
+ },
29
+ {
30
+ key: 'stage4Markers',
31
+ path: 'docs/runtime-contract.md',
32
+ markers: ['artifacts --dry-run', 'artifacts --write', 'task-brief.md', 'review-gate.md', 'evidence.md', 'goal', 'key_decisions', 'tasks --dry-run', 'tasks --write', '' + stateRoot + '/tasks/', 'brief.md', 'report.md', 'task id', 'review_status', 'needs_fix', 'waived', 'depends_on', 'cyclic task dependency', 'Task readiness', 'status --json', 'validate-handoff --json', 'next --dry-run --json', 'tasks --dry-run --json', 'schema_version', 'state_present', 'summary.selected_count', 'artifact_paths', '完整 workflow ledger', 'record-handoff --json', 'artifacts --json', 'tasks --write --json', 'reset --json', 'next --dry-run --dispatch-intent', 'dispatch intent', 'runtimeBridge', 'manual', 'canAutoExecuteSkill', 'platform_hints', 'transition', 'dispatch_event', 'Stage 5 transition table', 'vibe-planning -> vibe-implementation', 'vibe-review -> vibe-test-driven-development', 'vibe-receiving-code-review -> vibe-implementation', 'vibe-dispatching-parallel-work -> vibe-executing-plans', 'vibe-workspace-isolation -> vibe-executing-plans', 'vibe-verification-before-completion -> vibe-verification', 'vibe-writing-skills -> vibe-test-driven-development', 'vibe-debugging -> vibe-implementation', 'vibe-requesting-code-review -> vibe-verification-before-completion', 'vibe-context-compact -> vibe-verification', 'clean dispatch intent', 'next --confirm --dispatch', 'confirm-dispatch', 'dispatch envelope', 'allowed transition', 'review gate', 'task readiness gate', 'dispatches', 'dispatches --list', 'dispatches --show', 'dispatches --verify', 'read-only dispatch audit', 'confirm-dispatch event verification', 'dispatches --claim', 'dispatches --ack', 'dispatches --claims', 'dispatch claim', 'dispatch-claims', 'Dispatch Claim / Ack Gate', 'Stage 7.1 claim input hardening', 'Stage 7.2 ack lifecycle hardening', 'Stage 7.3 claims audit hardening', 'Stage 7.5 stale claim audit', 'Stage 7.6 claim recovery policy preview', 'stale recovery warning', 'reassign_allowed=false', '' + rtry + '_allowed=false', 'Adapter Pickup Package Gate', 'dispatches --pickup', 'pickup package', 'Stage 8.1 pickup package manifest', 'Stage 8.2 pickup readiness gates', 'Stage 8.3 pickup read-only audit', 'Stage 8.4 pickup readiness audit', 'Stage 8.6 digest-bound package', 'ready_for_adapter', 'event_valid', 'claim_picked', 'target_skill_present', 'entry_file_present', 'event_sha256', 'claim_sha256', 'workflow_sha256', 'auto claim', 'session', 'Supervised Executor Gate', 'execute --from-dispatch', 'execute --from-dispatch <event-file> --preflight', 'execution envelope', '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', 'idempotency_key', 'policy name/version', 'expected write boundary', '' + stateRoot + '/executions/', 'skill_execution', 'Optional ' + dmnTitle + ' / Watcher Gate', '' + dmn + ' --dry-run', '' + dmn + ' --scan --dry-run', '' + dmn + ' --once --confirm', 'Stage 10.1 ' + dmn + ' command gate', 'Stage 10.2 once-run envelope', 'Stage 10.3 ' + sch + ' scan dry-run / failure isolation', 'Stage 10.4 ' + sch + ' policy dry-run', 'Stage 10.5 stale claim / stale running audit', 'Stage 10.6 ' + rtry + ' policy preview', 'stale running executions', 'lock / ' + lse + ' contract', '' + stateRoot + '/' + dmn + '-runs/', 'long_running', 'watcher', 'dispatch_scan_execution', 'Supervised Real Executor v1', 'execute --confirm --run', 'supervised-run', 'runtime_action', 'executions --list', 'executions --show', 'executions --verify', 'execution lifecycle', 'allowlist', 'Execution Audit Hardening', 'status: running', 'terminal status', 'timestamp 单调性', 'evidence.stdout_excerpt', 'runtime_action=false', 'runtime_action=true', 'No git, worktree, subagent, ' + dmn + ', MCP, or business source file'],
33
+ okLabel: 'docs/runtime-contract.md defines Stage 4 artifacts boundaries',
34
+ failLabel: 'docs/runtime-contract.md Stage 4 artifacts markers incomplete',
35
+ fix: 'Document artifacts dry-run/write boundaries, task artifacts boundaries, and generated markdown files.',
36
+ },
37
+ {
38
+ key: 'stage55ContractMarkers',
39
+ path: 'docs/runtime-contract.md',
40
+ markers: ['Stage 55 Installed Runtime Opt-in / Manifest Boundary', '.vibecoding/runtime-installed.json', 'installed-runtime-opt-in', 'installed_project_entrypoints.runtime_cli_present=false', 'installed_project_entrypoints.doctor_cli_present=false', 'runtime_invocation.mode=\'external-kit-repo-or-package\'', 'runtime_invocation.project_argument=\'\\<project-root\\>\'', 'runtime_invocation.local_project_tool_entrypoints=false', 'recommended_commands', 'legacy direct entrypoint'],
41
+ okLabel: 'docs/runtime-contract.md defines Stage 55 installed runtime opt-in boundaries',
42
+ failLabel: 'docs/runtime-contract.md Stage 55 installed runtime opt-in markers incomplete',
43
+ fix: 'Document Stage 55 manifest fields, external invocation contract, no local tools entrypoint claim, and doctor rejection of legacy direct entrypoints.',
44
+ },
45
+ {
46
+ key: 'stage56ContractMarkers',
47
+ path: 'docs/runtime-contract.md',
48
+ markers: ['Stage 56 Runtime Compatibility / Migration Check', 'governance --compatibility --report', 'policy_catalog_digest', 'eval_catalog_digest', 'known_trace_source_types', 'compatible', 'manual-migration-required', 'untrusted', '不自动迁移旧 artifact', '不重签旧 digest', '不静默放宽验证规则'],
49
+ okLabel: 'docs/runtime-contract.md defines Stage 56 compatibility boundaries',
50
+ failLabel: 'docs/runtime-contract.md Stage 56 compatibility markers incomplete',
51
+ fix: 'Document Stage 56 read-only compatibility report, classification states, digest baselines, known trace source types, and no migration/re-sign/relax boundary.',
52
+ },
53
+ {
54
+ key: 'stage57ContractMarkers',
55
+ path: 'docs/runtime-contract.md',
56
+ markers: ['Stage 57 Optional PR Readiness Governance Sidecar', 'governance --pr-readiness --preview', 'governance --pr-readiness --confirm', '' + stateRoot + '/governance/*.pr-readiness-governance.json', 'pr-readiness-governance', 'optional=true', 'sidecar_only=true', 'default_enabled=false', 'release_chain_required=false', 'readiness_checks.tests_recorded', 'human_approval_status', 'existing_pr_search.status', 'not_performed_offline_boundary', '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'],
57
+ okLabel: 'docs/runtime-contract.md defines Stage 57 PR readiness governance boundaries',
58
+ failLabel: 'docs/runtime-contract.md Stage 57 PR readiness markers incomplete',
59
+ fix: 'Document Stage 57 optional PR readiness sidecar schema, local evidence, no PR/push/merge boundary, and no release-chain requirement.',
60
+ },
61
+ {
62
+ key: 'stage58ContractMarkers',
63
+ path: 'docs/runtime-contract.md',
64
+ markers: ['Stage 58 PR Review / CI Evidence Intake Governance Sidecar', 'governance --pr-review-intake --from-file <local-evidence-file> --preview', 'governance --pr-review-intake --from-file <local-evidence-file> --from-readiness <pr-readiness-file> --confirm', '' + stateRoot + '/governance/*.pr-review-intake-governance.json', 'pr-review-intake-governance', 'optional=true', 'sidecar_only=true', 'default_enabled=false', 'release_chain_required=false', 'input_evidence_file', 'input_evidence_digest', 'pr_readiness_digest', 'policy_catalog_digest', 'pr_evidence.existing_pr_search.status', 'review_evidence.review_status', 'ci_evidence.ci_status', 'allowed_followup', 'manual_review', 'vibe-systematic-debugging', 'input evidence digest drift', 'platform_api=false', 'external_network=false', 'git=false', 'worktree=false', 'runtime_action=false'],
65
+ okLabel: 'docs/runtime-contract.md defines Stage 58 PR review intake governance boundaries',
66
+ failLabel: 'docs/runtime-contract.md Stage 58 PR review intake markers incomplete',
67
+ fix: 'Document Stage 58 optional PR/review/CI intake sidecar schema, safe local evidence path validation, digest drift rejection, and no platform/git/network/source boundary.',
68
+ },
69
+ {
70
+ key: 'stage59ContractMarkers',
71
+ path: 'docs/runtime-contract.md',
72
+ markers: ['Stage 59 Capability Convergence Contract / Gap Matrix', 'governance --convergence --report', 'capability convergence gap report', 'convergence_target', 'convergence_digest', 'workflow-experience', 'learning-model', 'deterministic-token-economy', 'stream-distillation', 'runtime-governance', 'Legacy Workflow Discipline', 'ECC parity', 'Token Savior parity', 'Distill parity', 'writes=false', 'state_directory_created=false', 'skill_mutation=false', 'hook_registration=false', 'shell_interception=false'],
73
+ okLabel: 'docs/runtime-contract.md defines Stage 59 convergence boundaries',
74
+ failLabel: 'docs/runtime-contract.md Stage 59 convergence markers incomplete',
75
+ fix: 'Document Stage 59 convergence report schema, capability dimensions, upstream parity targets, and no mutation/interception boundary.',
76
+ },
77
+ {
78
+ key: 'stage60ContractMarkers',
79
+ path: 'docs/runtime-contract.md',
80
+ markers: ['Stage 60 workflow methodology route UX', 'methodology --route --intent', 'methodology_route', "stage='Stage 60'", "route_kind='workflow-methodology-route'", 'selected_workflow', 'first_skill', 'gate_kinds', 'trigger_discipline', 'route_digest', 'writes=false', 'state_directory_created=false', 'skill_execution=false', '未知 intent', 'using-vibecoding -> vibe-brainstorming'],
81
+ okLabel: 'docs/runtime-contract.md defines Stage 60 methodology route boundaries',
82
+ failLabel: 'docs/runtime-contract.md Stage 60 methodology route markers incomplete',
83
+ fix: 'Document Stage 60 methodology route schema, fallback, trigger discipline, and no skill execution/state write boundary.',
84
+ },
85
+ {
86
+ key: 'stage61ContractMarkers',
87
+ path: 'docs/runtime-contract.md',
88
+ markers: ['Stage 61 local learning observation ledger', 'learning --observe --from-file <session-evidence-file> --preview', 'learning --observe --from-file <session-evidence-file> --confirm', '' + stateRoot + '/learning/*.learning-observation.json', "mode='learning-observation'", "stage='Stage 61'", "artifact_kind='learning-observation'", 'source_file', 'source_digest', 'project_id', "scope='project'|'global-candidate'", "domain='workflow'|'debugging'|'testing'|'code-style'|'governance'|'token-economy'", 'confidence_delta', 'evidence_excerpt_digest', 'signals_digest', 'signal_count', 'candidate_only=true', 'promotion_required=true', 'learning_observation_digest', 'source digest drift', 'scope 越权', 'skill_mutation=false', 'prompt_mutation=false', 'hook_registration=false', 'shell_interception=false'],
89
+ okLabel: 'docs/runtime-contract.md defines Stage 61 learning observation boundaries',
90
+ failLabel: 'docs/runtime-contract.md Stage 61 learning observation markers incomplete',
91
+ fix: 'Document Stage 61 local learning observation schema, source/signal digest verification, scope/domain/confidence gates, and no mutation/interception boundary.',
92
+ },
93
+ {
94
+ key: 'stage62ContractMarkers',
95
+ path: 'docs/runtime-contract.md',
96
+ markers: ['Stage 62 candidate instinct and promotion gate', 'learning --instincts --from-observations <learning-observation-file...> --preview', 'learning --promote --instinct <candidate-instinct-file> --confirm', '' + stateRoot + '/learning/*.candidate-instinct.json', '' + stateRoot + '/learning/*.learning-promotion.json', "mode='candidate-instinct'", "mode='learning-promotion'", "stage='Stage 62'", "artifact_kind='candidate-instinct'", "artifact_kind='learning-promotion'", 'atomic=true', 'one_trigger=true', 'one_action=true', 'evidence_observations[]', 'observation_digests', 'evidence_digest', 'candidate_instinct_digest', "promotion_target='manual-skill-authoring'", 'human_approval_required=true', 'automatic_promotion=false', 'writes_formal_skills=false', 'writes_agents_md=false', 'writes_claude_md=false', 'learning_promotion_digest', 'observation digest drift', 'candidate digest drift', 'promotion digest drift', 'vibe-writing-skills', 'skill_mutation=true', 'prompt_mutation=true', 'hook_registration=true', 'shell_interception=true'],
97
+ okLabel: 'docs/runtime-contract.md defines Stage 62 candidate instinct promotion boundaries',
98
+ failLabel: 'docs/runtime-contract.md Stage 62 candidate instinct promotion markers incomplete',
99
+ fix: 'Document Stage 62 candidate instinct and learning promotion sidecars, digest drift verification, manual skill authoring gate, and no mutation/interception boundary.',
100
+ },
101
+ {
102
+ key: 'stage63ContractMarkers',
103
+ path: 'docs/runtime-contract.md',
104
+ markers: ['Stage 63 Deterministic Token Output Compactor', 'tokens --catalog --json', 'tokens --compact-output --command <cmd-name> --from-file <output-file> --preview --json', 'tokens --compact-output --command <cmd-name> --from-file <output-file> --confirm --json', 'tokens --verify <token-compaction-file> --json', '' + stateRoot + '/token-economy/*.token-compaction.json', "mode='token-compaction'", "stage='Stage 63'", "artifact_kind='token-compaction'", 'full_output_digest', 'compacted_text', 'compacted_digest', 'dropped_categories', 'metrics.estimated_input_tokens', 'metrics.estimated_output_tokens', 'token_compaction_digest', 'unsafe source path', 'source digest drift', 'compacted text drift', 'token compaction digest mismatch', 'shell_interception=false', 'command_execution=false', 'original_output_hidden=false'],
105
+ okLabel: 'docs/runtime-contract.md defines Stage 63 token compaction boundaries',
106
+ failLabel: 'docs/runtime-contract.md Stage 63 token compaction markers incomplete',
107
+ fix: 'Document Stage 63 deterministic token output compactor schema, sidecar path, digest drift rejection, and no shell/model/rewrite boundary.',
108
+ },
109
+ {
110
+ key: 'stage64ContractMarkers',
111
+ path: 'docs/runtime-contract.md',
112
+ markers: ['Stage 64 Token Metrics / Profiles / Safe Rewrite Preview', 'tokens --profile --name minimal|balanced|full --json', 'tokens --metrics --from-compactions <token-compaction-file...> --preview --json', 'tokens --metrics --from-compactions <token-compaction-file...> --confirm --json', 'tokens --rewrite-preview --command <cmd> --json', 'tokens --verify <token-metrics-file> --json', '' + stateRoot + '/token-economy/*.token-metrics.json', "mode='token-metrics'", "stage='Stage 64'", "artifact_kind='token-metrics'", "profile_kind='token-profile'", 'profile_digest', 'token_metrics_digest', 'source_compactions[]', 'command_families[]', 'compaction digest drift', 'metrics totals drift', 'command families drift', 'token metrics digest mismatch', 'execute=false', 'command_mutation=false', 'shell_interception=false'],
113
+ okLabel: 'docs/runtime-contract.md defines Stage 64 token metrics/profile/rewrite preview boundaries',
114
+ failLabel: 'docs/runtime-contract.md Stage 64 token metrics markers incomplete',
115
+ fix: 'Document Stage 64 token profile, metrics sidecar, rewrite preview, digest drift rejection, and no shell/model/command mutation boundary.',
116
+ },
117
+ {
118
+ key: 'stage65ContractMarkers',
119
+ path: 'docs/runtime-contract.md',
120
+ markers: ['Stage 65 Governance Convergence Gate', 'release --gate --from-evals <eval-report-file...> --with-convergence --json', 'release --gate --from-evals <eval-report-file...> --with-convergence --confirm --json', 'release --verify-gate <release-gate-file> --json', "evidence_kind='governance-convergence-report'", "stage='Stage 65'", "report_kind='capability-convergence-gap-report'", 'convergence_evidence_bound=true', 'convergence_digest', 'boundary_assertions_digest', 'evidence_digest', 'convergence report digest drift', 'convergence evidence digest drift', 'release_chain_required=true', 'Stage 60 workflow route 只读', 'Stage 61 learning preview/confirm 边界', 'Stage 62 instinct promotion 不修改正式 skill', 'Stage 63/64 token deterministic', 'default_enabled=false'],
121
+ okLabel: 'docs/runtime-contract.md defines Stage 65 governance convergence gate boundaries',
122
+ failLabel: 'docs/runtime-contract.md Stage 65 convergence gate markers incomplete',
123
+ fix: 'Document Stage 65 release gate optional convergence evidence binding, drift rejection, and no platform/git/subagent boundary.',
124
+ },
125
+ {
126
+ key: 'stage68ContractMarkers',
127
+ path: 'docs/runtime-contract.md',
128
+ markers: ['Stage 68 Release Notes Evidence / Commit Hygiene Sidecar', 'release --notes --from-file <local-evidence-file> --preview', 'release --notes --from-file <local-evidence-file> --confirm', 'release --verify-notes <release-notes-file> --json', '' + stateRoot + '/release-notes/*.release-notes.json', "mode='release-notes'", "stage='Stage 68'", "artifact_kind='release-notes'", 'source_file', 'source_digest', 'range_hint', 'commit_count', 'stage_coverage', 'normalized_notes', 'commit_hygiene_findings', 'release_notes_digest', 'source digest drift', 'release notes digest mismatch', 'history_rewrite=false', 'tag=false', 'platform_api=false', 'external_network=false', 'model_invocation=false', 'release_chain_required=false'],
129
+ okLabel: 'docs/runtime-contract.md defines Stage 68 release notes sidecar boundaries',
130
+ failLabel: 'docs/runtime-contract.md Stage 68 release notes markers incomplete',
131
+ fix: 'Document Stage 68 release notes sidecar schema, local evidence path validation, digest drift rejection, and no git/platform/model/release-chain boundary.',
132
+ },
133
+ {
134
+ key: 'stage32ContractMarkers',
135
+ path: 'docs/runtime-contract.md',
136
+ markers: ['Stage 32 methodology gate ledger', 'methodology --catalog', 'methodology --gate --kind', '' + stateRoot + '/methodology-gates/', 'workflow digest', 'methodology catalog digest', 'boundary assertions'],
137
+ okLabel: 'docs/runtime-contract.md defines Stage 32 methodology gate ledger boundaries',
138
+ failLabel: 'docs/runtime-contract.md Stage 32 methodology markers incomplete',
139
+ fix: 'Document methodology gate catalog, workflow digest binding, criteria, blocked reasons, and local-only boundary.',
140
+ },
141
+ {
142
+ key: 'stage33ContractMarkers',
143
+ path: 'docs/runtime-contract.md',
144
+ markers: ['Stage 33 Hook Intent Contract', 'hooks --catalog', 'hooks --preview', '' + stateRoot + '/hook-intents/', '' + sch + '-plan-only', 'hook_enabled=false', 'subagent_dispatch=true', 'workflow digest'],
145
+ okLabel: 'docs/runtime-contract.md defines Stage 33 hook intent boundaries',
146
+ failLabel: 'docs/runtime-contract.md Stage 33 hook intent markers incomplete',
147
+ fix: 'Document hook intent catalog, preview, confirm-only artifact, verify, and no ' + sch + '/subagent execution boundary.',
148
+ },
149
+ {
150
+ key: 'stage34ContractMarkers',
151
+ path: 'docs/runtime-contract.md',
152
+ markers: ['Stage 34 ' + schTitle + ' Plan from Hook', '' + sch + ' --from-hook', '' + stateRoot + '/' + sch + '-hook-plans/', '' + sch + '-dry-run', 'runtime_action_allowed=false', 'subagent_dispatch_allowed=false'],
153
+ okLabel: 'docs/runtime-contract.md defines Stage 34 ' + sch + ' hook plan boundaries',
154
+ failLabel: 'docs/runtime-contract.md Stage 34 ' + sch + ' hook plan markers incomplete',
155
+ fix: 'Document hook-derived ' + sch + ' plan preview, confirm-only artifact, verify, and no ' + sch + ' run/subagent boundary.',
156
+ },
157
+ {
158
+ key: 'stage35ContractMarkers',
159
+ path: 'docs/runtime-contract.md',
160
+ markers: ['Stage 35 Subagent Dispatch Eligibility Gate', 'subagents --eligibility', '' + stateRoot + '/subagent-eligibility/', 'user_consent_present', 'dispatch-artifact-only', 'subagent_dispatch=false'],
161
+ okLabel: 'docs/runtime-contract.md defines Stage 35 subagent eligibility boundaries',
162
+ failLabel: 'docs/runtime-contract.md Stage 35 subagent eligibility markers incomplete',
163
+ fix: 'Document subagent eligibility gate, evidence-driven checks, confirm-only artifact, verify, and no dispatch/session boundary.',
164
+ },
165
+ {
166
+ key: 'stage36ContractMarkers',
167
+ path: 'docs/runtime-contract.md',
168
+ markers: ['Stage 36 Approved Subagent Dispatch Artifact', 'subagents --dispatch', '' + stateRoot + '/subagent-dispatches/', 'approved-dispatch-artifact-only', 'claim-artifact-only', 'no_session_create=true'],
169
+ okLabel: 'docs/runtime-contract.md defines Stage 36 subagent dispatch artifact boundaries',
170
+ failLabel: 'docs/runtime-contract.md Stage 36 subagent dispatch markers incomplete',
171
+ fix: 'Document approved dispatch artifact, plan/eligibility digest binding, confirm-only artifact, verify, and no session/platform boundary.',
172
+ },
173
+ {
174
+ key: 'stage37ContractMarkers',
175
+ path: 'docs/runtime-contract.md',
176
+ markers: ['Stage 37 Single-shot Agent ' + schTitle + ' Run', 'subagents --run --from-dispatch', '' + stateRoot + '/' + sch + '-runs/', '' + stateRoot + '/subagent-run-' + lse + 's/', '' + stateRoot + '/subagent-run-results/', 'result-review-gate-only', 'session_created=false'],
177
+ okLabel: 'docs/runtime-contract.md defines Stage 37 single-shot run boundaries',
178
+ failLabel: 'docs/runtime-contract.md Stage 37 single-shot run markers incomplete',
179
+ fix: 'Document single-shot run artifacts, '+ lse + '/result binding, verify, and no session/platform/source-write boundary.',
180
+ },
181
+ {
182
+ key: 'stage38ContractMarkers',
183
+ path: 'docs/runtime-contract.md',
184
+ markers: ['Stage 38 Subagent Result Ingestion / Review Gate', 'subagents --ingest-result', 'subagents --review-gate', '' + stateRoot + '/subagent-results/', '' + stateRoot + '/subagent-reviews/', 'subagent-review-gate-only', 'manual-review-or-fallback-only'],
185
+ okLabel: 'docs/runtime-contract.md defines Stage 38 result ingestion review boundaries',
186
+ failLabel: 'docs/runtime-contract.md Stage 38 result ingestion markers incomplete',
187
+ fix: 'Document result ingestion, review gate, fallback chain, and no merge/source-write boundary.',
188
+ },
189
+ {
190
+ key: 'stage39ContractMarkers',
191
+ path: 'docs/runtime-contract.md',
192
+ markers: ['Stage 39 Hook-driven Bounded Loop', 'hooks --hook-run', '' + stateRoot + '/hook-runs/', '' + stateRoot + '/hook-heartbeats/', 'trace-governance-attestation-only', 'long_running=false'],
193
+ okLabel: 'docs/runtime-contract.md defines Stage 39 bounded hook loop boundaries',
194
+ failLabel: 'docs/runtime-contract.md Stage 39 bounded hook loop markers incomplete',
195
+ fix: 'Document bounded foreground hook loop, heartbeat, stop/' + lse + '/budget boundary, and no hidden worker.',
196
+ },
197
+ {
198
+ key: 'stage40ContractMarkers',
199
+ path: 'docs/runtime-contract.md',
200
+ markers: ['Stage 40 Trace / Governance / Methodology Automation Expansion', 'subagent_results', 'subagent_reviews', 'hook_runs', 'automation_artifacts', 'methodology --gate --kind automation'],
201
+ okLabel: 'docs/runtime-contract.md defines Stage 40 automation proof chain boundaries',
202
+ failLabel: 'docs/runtime-contract.md Stage 40 automation proof markers incomplete',
203
+ fix: 'Document trace/governance/methodology expansion for approved, traced, reviewed automation.',
204
+ },
205
+ {
206
+ key: 'stage41ContractMarkers',
207
+ path: 'docs/runtime-contract.md',
208
+ markers: ['Stage 41 Platform Adapter Capability Contract', 'platforms --catalog', 'platforms --probe', '' + stateRoot + '/platform-capabilities/', 'platform-session-approval-only', 'session_create=false', 'platform_api=false', 'external_network=false', 'source_merge=false'],
209
+ okLabel: 'docs/runtime-contract.md defines Stage 41 platform capability boundaries',
210
+ failLabel: 'docs/runtime-contract.md Stage 41 platform capability markers incomplete',
211
+ fix: 'Document platform capability probe artifacts, adapter catalog binding, and no session/platform API boundary.',
212
+ },
213
+ {
214
+ key: 'stage42ContractMarkers',
215
+ path: 'docs/runtime-contract.md',
216
+ markers: ['Stage 42 Real Subagent Session Approval', 'subagents --session-approval', '' + stateRoot + '/platform-session-approvals/', 'platform-session-create-only', 'user_consent_present', 'session_create=false'],
217
+ okLabel: 'docs/runtime-contract.md defines Stage 42 platform session approval boundaries',
218
+ failLabel: 'docs/runtime-contract.md Stage 42 platform session approval markers incomplete',
219
+ fix: 'Document platform session approval gate, dispatch/capability digest binding, user consent, and no session-create boundary.',
220
+ },
221
+ {
222
+ key: 'stage43ContractMarkers',
223
+ path: 'docs/runtime-contract.md',
224
+ markers: ['Stage 43 Real Platform Subagent Session', 'subagents --create-session', 'subagents --cancel-session', '' + stateRoot + '/platform-sessions/', '' + stateRoot + '/platform-session-' + lse + 's/', '' + stateRoot + '/platform-session-results/', '' + stateRoot + '/platform-session-cancellations/', 'platform-session-result-ingest-only', 'business_source_write=false'],
225
+ okLabel: 'docs/runtime-contract.md defines Stage 43 platform session boundaries',
226
+ failLabel: 'docs/runtime-contract.md Stage 43 platform session markers incomplete',
227
+ fix: 'Document platform session artifacts, '+ lse + '/result binding, and no source-write boundary.',
228
+ },
229
+ {
230
+ key: 'stage44ContractMarkers',
231
+ path: 'docs/runtime-contract.md',
232
+ markers: ['Stage 44 Real Session Result Ingestion / Review', 'subagents --ingest-session-result', 'subagents --review-session-result', '' + stateRoot + '/platform-session-intake/', '' + stateRoot + '/platform-session-reviews/', 'source-change-candidate-only', 'business_source_write=false'],
233
+ okLabel: 'docs/runtime-contract.md defines Stage 44 platform session review boundaries',
234
+ failLabel: 'docs/runtime-contract.md Stage 44 platform session review markers incomplete',
235
+ fix: 'Document real session result intake/review artifacts, source candidate followup, and no source-write boundary.',
236
+ },
237
+ {
238
+ key: 'stage45ContractMarkers',
239
+ path: 'docs/runtime-contract.md',
240
+ markers: ['Stage 45 Source Change Candidate / Patch Sandbox', 'source --candidate', '' + src + ' --apply-sandbox', '' + stateRoot + '/source-change-candidates/', '' + stateRoot + '/source-sandbox-runs/', 'source-sandbox-apply-only', 'source-verification-only', 'business_source_write=false'],
241
+ okLabel: 'docs/runtime-contract.md defines Stage 45 source candidate sandbox boundaries',
242
+ failLabel: 'docs/runtime-contract.md Stage 45 source sandbox markers incomplete',
243
+ fix: 'Document source candidate/sandbox artifacts, sandbox-only boundary, and no main worktree write.',
244
+ },
245
+ {
246
+ key: 'stage46ContractMarkers',
247
+ path: 'docs/runtime-contract.md',
248
+ markers: ['Stage 46 Verification Evidence Gate', 'source --verify-change', '' + stateRoot + '/source-verifications/', 'merge-readiness-only', 'verification-passed-merge-readiness-required', 'business_source_write=false', 'foreground'],
249
+ okLabel: 'docs/runtime-contract.md defines Stage 46 source verification boundaries',
250
+ failLabel: 'docs/runtime-contract.md Stage 46 source verification markers incomplete',
251
+ fix: 'Document source verification artifacts, evidence binding, and no source-write boundary.',
252
+ },
253
+ {
254
+ key: 'stage47ContractMarkers',
255
+ path: 'docs/runtime-contract.md',
256
+ markers: ['Stage 47 Merge Readiness / Auto Merge Approval', 'merge --readiness', 'merge --approve', '' + stateRoot + '/merge-readiness/', '' + stateRoot + '/merge-approvals/', 'merge-approval-only', 'controlled-merge-apply-only', 'source_merge=false', 'auto_apply=false', 'governance_required'],
257
+ okLabel: 'docs/runtime-contract.md defines Stage 47 merge readiness approval boundaries',
258
+ failLabel: 'docs/runtime-contract.md Stage 47 merge readiness markers incomplete',
259
+ fix: 'Document merge readiness/approval artifacts, trace/governance/methodology binding, and no merge/apply boundary.',
260
+ },
261
+ {
262
+ key: 'stage48ContractMarkers',
263
+ path: 'docs/runtime-contract.md',
264
+ markers: ['Stage 48 Controlled Auto Merge Apply', '' + mrg + ' --apply', '' + stateRoot + '/merge-applies/', 'controlled-merge-apply-completed', 'business_source_write=true', 'source_merge=true', 'git=false', 'no commit', 'no push'],
265
+ okLabel: 'docs/runtime-contract.md defines Stage 48 controlled merge apply boundaries',
266
+ failLabel: 'docs/runtime-contract.md Stage 48 merge apply markers incomplete',
267
+ fix: 'Document controlled merge apply artifact, allowlisted worktree write, and no commit/push/PR boundary.',
268
+ },
269
+ {
270
+ key: 'stage49ContractMarkers',
271
+ path: 'docs/runtime-contract.md',
272
+ markers: ['Stage 49 Planner Engine / Workflow Route / Task Graph', 'planner --route --from-file', 'planner --route --from-hook', 'planner --decompose --from-route', 'planner --briefs --from-plan', '' + stateRoot + '/planner-routes/', '' + stateRoot + '/planner-plans/', '' + stateRoot + '/planner-briefs/', 'planner-decompose-only', 'planner-briefs-only', 'router-plan-only', 'dispatch=false', 'session_create=false', 'platform_api=false'],
273
+ okLabel: 'docs/runtime-contract.md defines Stage 49 planner boundaries',
274
+ failLabel: 'docs/runtime-contract.md Stage 49 planner markers incomplete',
275
+ fix: 'Document planner route/plan/briefs commands, artifact directories, followup gates, and no-dispatch/session/platform boundary.',
276
+ },
277
+ {
278
+ key: 'stage50ContractMarkers',
279
+ path: 'docs/runtime-contract.md',
280
+ markers: ['Stage 50 Router / Orchestrator Plan / Controlled Dispatch Strategy', 'router --plan --from-briefs', 'router --approve <router-plan-file>', 'orchestrator --plan --from-router', 'orchestrator --dispatch-plan', '' + stateRoot + '/router-plans/', '' + stateRoot + '/router-approvals/', '' + stateRoot + '/orchestrator-plans/', '' + stateRoot + '/orchestrator-dispatch-plans/', 'router-approval-only', 'orchestrator-plan-only', 'orchestrator-dispatch-plan-only', '' + sch + '-dispatch-plan-only', 'session-approval-only'],
281
+ okLabel: 'docs/runtime-contract.md defines Stage 50 router and orchestrator boundaries',
282
+ failLabel: 'docs/runtime-contract.md Stage 50 router/orchestrator markers incomplete',
283
+ fix: 'Document router/orchestrator commands, artifact directories, followup gates, and no-dispatch/session/platform boundary.',
284
+ },
285
+ {
286
+ key: 'stage50BridgeContractMarkers',
287
+ path: 'docs/runtime-contract.md',
288
+ markers: ['Stage 50 → Stage 35/36 Bridge', 'subagents --eligibility --from-orchestrator', 'subagents --dispatch --from-orchestrator', 'stage-50-orchestrator-dispatch-plan', 'orchestrator_dispatch_plan_file'],
289
+ okLabel: 'docs/runtime-contract.md defines Stage 50 bridge into Stage 35/36 boundaries',
290
+ failLabel: 'docs/runtime-contract.md Stage 50 bridge markers incomplete',
291
+ fix: 'Document how orchestrator dispatch plans are consumed by Stage 35 eligibility and Stage 36 dispatch without bypassing safety gates.',
292
+ },
293
+ {
294
+ key: 'stage51ContractMarkers',
295
+ path: 'docs/runtime-contract.md',
296
+ markers: ['Stage 51 Behavioral Eval Harness / Scenario / Adversarial Session Eval', 'evals --catalog', 'evals --run-contract <suite>', 'evals --run-scenario <suite>', 'evals --run-behavior <suite>', 'evals --run-adversarial <suite>', '' + stateRoot + '/eval-suites/', '' + stateRoot + '/eval-runs/', '' + stateRoot + '/eval-reports/', 'eval-run-only', 'eval-report-only', 'behavioral-eval-completed', 'contract-core', 'scenario-routing', 'behavior-workflow', 'adversarial-guardrails', 'runtime_action=false', 'business_source_write=false', 'transcript-behavioral-judge', 'sandbox-replay-judge', 'artifact_contract_pass_does_not_imply_behavior_pass'],
297
+ okLabel: 'docs/runtime-contract.md defines Stage 51 eval boundaries',
298
+ failLabel: 'docs/runtime-contract.md Stage 51 eval markers incomplete',
299
+ fix: 'Document Stage 51 eval commands, artifact directories, deterministic judge boundary, suite catalog, followup gates, and no-dispatch/session/platform boundary.',
300
+ },
301
+ {
302
+ key: 'stage52ContractMarkers',
303
+ path: 'docs/runtime-contract.md',
304
+ markers: ['Stage 52 Runtime Release Gate / Eval-backed Promotion', 'release --gate --from-evals', 'release --verify-gate', '' + stateRoot + '/release-gates/', 'required_suites', 'covered_suites', 'sources_digest', 'gate_digest', 'eval_catalog_digest', 'contract-core', 'scenario-routing', 'behavior-workflow', 'adversarial-guardrails', 'transcript-behavioral-judge', 'sandbox-replay-judge', 'artifact_contract_pass_does_not_imply_behavior_pass', 'pr=false', 'push=false', 'merge=false', 'release_gates'],
305
+ okLabel: 'docs/runtime-contract.md defines Stage 52 release gate boundaries',
306
+ failLabel: 'docs/runtime-contract.md Stage 52 release gate markers incomplete',
307
+ fix: 'Document Stage 52 release gate commands, artifact directory, eval evidence requirements, digest binding, and no git/PR/merge/platform boundary.',
308
+ },
309
+ {
310
+ key: 'stage53ContractMarkers',
311
+ path: 'docs/runtime-contract.md',
312
+ markers: ['Stage 53 Runtime Observability / Feedback Ledger', 'feedback --ledger', 'feedback --verify-ledger', '' + stateRoot + '/feedback-ledgers/', 'feedback_ledger', 'ledger_digest', 'entries_digest', 'coverage_digest', 'blocked_reasons', 'required_gates', 'planner_feedback', 'router_feedback', 'gate_failures', 'fallback', 'concurrency budget', 'feedback_ledgers'],
313
+ okLabel: 'docs/runtime-contract.md defines Stage 53 feedback ledger boundaries',
314
+ failLabel: 'docs/runtime-contract.md Stage 53 feedback ledger markers incomplete',
315
+ fix: 'Document Stage 53 feedback ledger source families, normalized entries, digest binding, verify drift rejection, and no git/PR/merge/platform boundary.',
316
+ },
317
+ {
318
+ key: 'stage54ContractMarkers',
319
+ path: 'docs/runtime-contract.md',
320
+ markers: ['Stage 54 Runtime Policy Catalog / Guardrail Versioning', 'policies --catalog', 'policies --summary', 'catalog_digest', 'writes_state=false', 'runtime_action=false', 'workflow-route-policy', 'platform-ranking-policy', 'mutex-fallback-policy', 'eval-judge-policy', 'safety-boundary-policy', 'policy_catalog_digest', 'policy drift', 'remote_config=false'],
321
+ okLabel: 'docs/runtime-contract.md defines Stage 54 policy catalog boundaries',
322
+ failLabel: 'docs/runtime-contract.md Stage 54 policy catalog markers incomplete',
323
+ fix: 'Document Stage 54 policy catalog and summary commands, digest binding, and read-only/no-remote-policy boundary.',
324
+ },
325
+ {
326
+ key: 'p52ReleaseGuideMarkers',
327
+ path: 'docs/release-guide.md',
328
+ markers: ['Productization release evidence pack', 'three_layer_docs', 'install_lifecycle_ux', 'team_evidence_starter_kit', 'installed_adapter_ux', 'workflow_cockpit_readonly', 'behavior_release_gate', 'packaging_dry_run', 'feedback_learning_token_entry', 'technical_debt_register', 'runtime-check', 'check:arch', 'release:install', 'release:fast', 'release:behavior', 'pack:dry-run', 'source `' + stateRoot + '` absent', 'target `' + stateRoot + '` absent'],
329
+ okLabel: 'docs/release-guide.md defines P52 productization release evidence pack',
330
+ failLabel: 'docs/release-guide.md P52 productization evidence markers incomplete',
331
+ fix: 'Document P52 productization release evidence pack, validation commands, and no state/platform/git/subagent boundary.',
332
+ },
333
+ {
334
+ key: 'p52MaintainerMarkers',
335
+ path: 'docs/runtime-maintainer-validation.md',
336
+ markers: ['Productization closeout evidence matrix', 'P44-P53 产品化收口证据包', 'three_layer_docs', 'install_lifecycle_ux', 'installed_adapter_ux', 'team_evidence_starter_kit', 'workflow_cockpit_readonly', 'feedback_learning_token_entry', 'behavior_release_gate', 'packaging_dry_run', 'technical_debt_register', 'active/new 0', 'baseline total 402', 'target `' + stateRoot + '`'],
337
+ okLabel: 'docs/runtime-maintainer-validation.md defines P52 closeout evidence matrix',
338
+ failLabel: 'docs/runtime-maintainer-validation.md P52 closeout markers incomplete',
339
+ fix: 'Document P52 closeout evidence mapping, impact-based validation, architecture baseline, and state absence checks.',
340
+ },
341
+ {
342
+ key: 'p54MaintainerMarkers',
343
+ path: 'docs/runtime-maintainer-validation.md',
344
+ markers: ['Long-term productization task ledger', 'P54 之后的长期产品化任务', 'P55 / P56', 'P57 / P58', 'P59 / P60 / P61', 'P62 / P63', 'P64 / P65 / P66', 'runtime_command_added=false', 'execution_surface_added=false', 'platform_api=false', 'model_invocation=false', 'subagent=false', 'git_write=false', 'business_source_write=false'],
345
+ okLabel: 'docs/runtime-maintainer-validation.md defines P54 long-term productization task ledger',
346
+ failLabel: 'docs/runtime-maintainer-validation.md P54 task ledger markers incomplete',
347
+ fix: 'Document P54 long-term productization task groups and no new runtime/execution boundary.',
348
+ }
349
+ ];
@@ -0,0 +1,24 @@
1
+ import { checkRequiredFiles } from './marker-contract-core.mjs';
2
+
3
+ const runtimeContractDocs = [
4
+ 'docs/runtime-roadmap.md',
5
+ 'docs/runtime-contract.md',
6
+ 'docs/workflow-chaining.md',
7
+ ];
8
+
9
+ export function checkRuntimeDocFoundationContracts(root, api) {
10
+ checkRequiredFiles(root, api, runtimeContractDocs, {
11
+ missingFix: 'Restore runtime contract, roadmap, and workflow chain docs.',
12
+ });
13
+
14
+ if (!api.exists(root, 'docs/runtime-roadmap.md')) return;
15
+
16
+ const text = api.readText(root, 'docs/runtime-roadmap.md');
17
+ const markers = ['只读 Runtime Check', 'Workflow State Ledger', '默认禁止自动执行', '不引入 MCP', '阶段 32', 'Methodology Gate Ledger'];
18
+ const missing = markers.filter((marker) => !text.includes(marker));
19
+ if (missing.length === 0) {
20
+ api.ok('docs/runtime-roadmap.md defines staged runtime boundaries');
21
+ } else {
22
+ api.warn('docs/runtime-roadmap.md staged boundaries incomplete', `Missing marker(s): ${missing.join(', ')}`, 'Keep runtime roadmap explicit about read-only checks, future ledger, and forbidden automation.');
23
+ }
24
+ }
@@ -0,0 +1,25 @@
1
+ import { runtimeDocContractMarkerSpecs } from './runtime-doc-contract-marker-specs.mjs';
2
+ import { runtimeRoadmapMarkerSpecs } from './runtime-roadmap-marker-specs.mjs';
3
+
4
+ export function checkRuntimeDocMarkerContracts(root, api) {
5
+ const { exists, readText, ok, fail } = api;
6
+
7
+ for (const spec of runtimeRoadmapMarkerSpecs) {
8
+ if (!exists(root, spec.path)) continue;
9
+ const text = readText(root, spec.path);
10
+ const missing = spec.markers.filter((marker) => !text.includes(marker));
11
+ if (missing.length === 0) ok(spec.okLabel);
12
+ else fail(spec.failLabel, `Missing marker(s): ${missing.join(', ')}`, spec.fix);
13
+ }
14
+
15
+ const textByPath = new Map();
16
+ for (const spec of runtimeDocContractMarkerSpecs) {
17
+ if (!exists(root, spec.path)) continue;
18
+ if (!textByPath.has(spec.path)) textByPath.set(spec.path, readText(root, spec.path));
19
+ const text = textByPath.get(spec.path);
20
+ const missing = spec.markers.filter((marker) => !text.includes(marker));
21
+ if (missing.length === 0) ok(spec.okLabel);
22
+ else fail(spec.failLabel, `Missing marker(s): ${missing.join(', ')}`, spec.fix);
23
+ }
24
+
25
+ }