@garygentry/feature-forge 0.3.5 → 0.3.7

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 (778) hide show
  1. package/README.md +1 -1
  2. package/adapters/GENERATION-REPORT.md +20 -0
  3. package/adapters/claude/.claude-plugin/plugin.json +16 -0
  4. package/adapters/claude/.feature-forge-bundle.json +1 -1
  5. package/adapters/claude/agents/forge-verifier.md +16 -5
  6. package/adapters/claude/references/forge-config-schema.json +5 -5
  7. package/adapters/claude/references/portable-root.md +20 -16
  8. package/adapters/claude/references/preflight-and-self-heal.md +183 -0
  9. package/adapters/claude/references/process-overview.md +1 -1
  10. package/adapters/claude/references/ralph-loop-contract.md +12 -8
  11. package/adapters/claude/references/select-outcome.md +138 -0
  12. package/adapters/claude/references/shared-conventions.md +176 -23
  13. package/adapters/claude/references/skill-frontmatter.schema.json +3 -1
  14. package/adapters/claude/references/stack-resolution.md +1 -1
  15. package/adapters/claude/references/stage-exit-protocol.md +19 -4
  16. package/adapters/claude/references/templates/root-hygiene/AGENTS.md +14 -0
  17. package/adapters/claude/references/templates/root-hygiene/CLAUDE.md +14 -0
  18. package/adapters/claude/references/templates/specs-hygiene/AGENTS.md +3 -1
  19. package/adapters/claude/references/templates/specs-hygiene/CLAUDE.md +2 -1
  20. package/adapters/claude/references/verifier-patterns/MEMORY.md +35 -0
  21. package/adapters/claude/references/verifier-patterns/pattern_absence_claims.md +36 -0
  22. package/adapters/claude/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  23. package/adapters/claude/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  24. package/adapters/claude/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  25. package/adapters/claude/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  26. package/adapters/claude/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  27. package/adapters/claude/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  28. package/adapters/claude/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  29. package/adapters/claude/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  30. package/adapters/claude/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  31. package/adapters/claude/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  32. package/adapters/claude/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  33. package/adapters/claude/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  34. package/adapters/claude/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  35. package/adapters/claude/references/verifier-patterns/pattern_test_count_units.md +20 -0
  36. package/adapters/claude/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  37. package/adapters/claude/references/verify-state.md +98 -0
  38. package/adapters/claude/scripts/forge-bootstrap.py +23 -2
  39. package/adapters/claude/scripts/forge-root.sh +104 -21
  40. package/adapters/claude/scripts/forge-session.py +620 -6969
  41. package/adapters/claude/scripts/forge_session/__init__.py +11 -0
  42. package/adapters/claude/scripts/forge_session/_common.py +1566 -0
  43. package/adapters/claude/scripts/forge_session/_doctor_util.py +218 -0
  44. package/adapters/claude/scripts/forge_session/cli.py +1067 -0
  45. package/adapters/claude/scripts/forge_session/decisions.py +355 -0
  46. package/adapters/claude/scripts/forge_session/discover.py +472 -0
  47. package/adapters/claude/scripts/forge_session/doctor.py +2144 -0
  48. package/adapters/claude/scripts/forge_session/exit.py +1081 -0
  49. package/adapters/claude/scripts/forge_session/outcomes.py +574 -0
  50. package/adapters/claude/scripts/forge_session/routes.py +1162 -0
  51. package/adapters/claude/scripts/forge_session/state.py +1479 -0
  52. package/adapters/claude/scripts/forge_session/topology.py +443 -0
  53. package/adapters/claude/skills/forge/SKILL.md +7 -7
  54. package/adapters/claude/skills/forge/references/process-overview.md +1 -1
  55. package/adapters/claude/skills/forge/references/shared-conventions.md +176 -23
  56. package/adapters/claude/skills/forge/references/stage-exit-protocol.md +19 -4
  57. package/adapters/claude/skills/forge-0-epic/SKILL.md +7 -7
  58. package/adapters/claude/skills/forge-0-epic/references/edit-mode.md +9 -5
  59. package/adapters/claude/skills/forge-0-epic/references/epic-manifest-subcommands.md +6 -1
  60. package/adapters/claude/skills/forge-0-epic/references/portable-root.md +20 -16
  61. package/adapters/claude/skills/forge-0-epic/references/shared-conventions.md +176 -23
  62. package/adapters/claude/skills/forge-0-epic/references/stage-exit-protocol.md +19 -4
  63. package/adapters/claude/skills/forge-1-prd/SKILL.md +7 -7
  64. package/adapters/claude/skills/forge-1-prd/references/shared-conventions.md +176 -23
  65. package/adapters/claude/skills/forge-1-prd/references/stage-exit-protocol.md +19 -4
  66. package/adapters/claude/skills/forge-2-tech/SKILL.md +7 -7
  67. package/adapters/claude/skills/forge-2-tech/references/shared-conventions.md +176 -23
  68. package/adapters/claude/skills/forge-2-tech/references/stack-resolution.md +1 -1
  69. package/adapters/claude/skills/forge-2-tech/references/stage-exit-protocol.md +19 -4
  70. package/adapters/claude/skills/forge-3-specs/SKILL.md +5 -5
  71. package/adapters/claude/skills/forge-3-specs/references/shared-conventions.md +176 -23
  72. package/adapters/claude/skills/forge-3-specs/references/stage-exit-protocol.md +19 -4
  73. package/adapters/claude/skills/forge-4-backlog/SKILL.md +16 -8
  74. package/adapters/claude/skills/forge-4-backlog/references/shared-conventions.md +176 -23
  75. package/adapters/claude/skills/forge-4-backlog/references/stage-exit-protocol.md +19 -4
  76. package/adapters/claude/skills/forge-4-backlog/references/verify-state.md +98 -0
  77. package/adapters/claude/skills/forge-5-loop/SKILL.md +36 -41
  78. package/adapters/claude/skills/forge-5-loop/references/agent-selection.md +4 -0
  79. package/adapters/claude/skills/forge-5-loop/references/preflight-and-self-heal.md +183 -0
  80. package/adapters/claude/skills/forge-5-loop/references/ralph-loop-contract.md +12 -8
  81. package/adapters/claude/skills/forge-5-loop/references/recovery-procedure.md +10 -0
  82. package/adapters/claude/skills/forge-5-loop/references/runner-contract.md +17 -7
  83. package/adapters/claude/skills/forge-5-loop/references/shared-conventions.md +176 -23
  84. package/adapters/claude/skills/forge-5-loop/references/stage-exit-protocol.md +19 -4
  85. package/adapters/claude/skills/forge-5-loop/references/verify-state.md +98 -0
  86. package/adapters/claude/skills/forge-6-docs/SKILL.md +21 -14
  87. package/adapters/claude/skills/forge-6-docs/references/shared-conventions.md +176 -23
  88. package/adapters/claude/skills/forge-6-docs/references/stage-exit-protocol.md +19 -4
  89. package/adapters/claude/skills/forge-6-docs/references/verify-state.md +98 -0
  90. package/adapters/claude/skills/forge-bootstrap/SKILL.md +19 -10
  91. package/adapters/claude/skills/forge-bootstrap/references/shared-conventions.md +572 -0
  92. package/adapters/claude/skills/forge-fix/SKILL.md +15 -18
  93. package/adapters/claude/skills/forge-fix/references/select-outcome.md +138 -0
  94. package/adapters/claude/skills/forge-fix/references/shared-conventions.md +176 -23
  95. package/adapters/claude/skills/forge-fix/references/stage-exit-protocol.md +19 -4
  96. package/adapters/claude/skills/forge-guide/SKILL.md +87 -1
  97. package/adapters/claude/skills/forge-guide/references/forge-config-schema.json +5 -5
  98. package/adapters/claude/skills/forge-guide/references/preflight-and-self-heal.md +183 -0
  99. package/adapters/claude/skills/forge-guide/references/process-overview.md +1 -1
  100. package/adapters/claude/skills/forge-guide/references/ralph-loop-contract.md +12 -8
  101. package/adapters/claude/skills/forge-guide/references/shared-conventions.md +176 -23
  102. package/adapters/claude/skills/forge-guide/references/stack-resolution.md +1 -1
  103. package/adapters/claude/skills/forge-init/SKILL.md +58 -7
  104. package/adapters/claude/skills/forge-init/references/preflight-and-self-heal.md +183 -0
  105. package/adapters/claude/skills/forge-init/references/shared-conventions.md +572 -0
  106. package/adapters/claude/skills/forge-verify/SKILL.md +25 -26
  107. package/adapters/claude/skills/forge-verify/references/findings-template.md +8 -8
  108. package/adapters/claude/skills/forge-verify/references/select-outcome.md +138 -0
  109. package/adapters/claude/skills/forge-verify/references/shared-conventions.md +176 -23
  110. package/adapters/claude/skills/forge-verify/references/stage-exit-protocol.md +19 -4
  111. package/adapters/claude/skills/forge-verify/references/verification-checklists/epic.md +1 -1
  112. package/adapters/claude/skills/forge-verify/references/verifier-patterns/MEMORY.md +35 -0
  113. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_absence_claims.md +36 -0
  114. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  115. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  116. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  117. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  118. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  119. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  120. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  121. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  122. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  123. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  124. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  125. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  126. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  127. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_test_count_units.md +20 -0
  128. package/adapters/claude/skills/forge-verify/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  129. package/adapters/codex/.feature-forge-bundle.json +1 -1
  130. package/adapters/codex/agents/forge-researcher.toml +1 -1
  131. package/adapters/codex/agents/forge-verifier.toml +17 -6
  132. package/adapters/codex/references/forge-config-schema.json +7 -7
  133. package/adapters/codex/references/portable-root.md +20 -16
  134. package/adapters/codex/references/preflight-and-self-heal.md +183 -0
  135. package/adapters/codex/references/process-overview.md +10 -10
  136. package/adapters/codex/references/ralph-loop-contract.md +12 -8
  137. package/adapters/codex/references/select-outcome.md +138 -0
  138. package/adapters/codex/references/shared-conventions.md +189 -36
  139. package/adapters/codex/references/skill-frontmatter.schema.json +3 -1
  140. package/adapters/codex/references/stack-resolution.md +1 -1
  141. package/adapters/codex/references/stage-exit-protocol.md +22 -7
  142. package/adapters/codex/references/templates/root-hygiene/AGENTS.md +14 -0
  143. package/adapters/codex/references/templates/root-hygiene/CLAUDE.md +14 -0
  144. package/adapters/codex/references/templates/specs-hygiene/AGENTS.md +3 -1
  145. package/adapters/codex/references/templates/specs-hygiene/CLAUDE.md +2 -1
  146. package/adapters/codex/references/verifier-patterns/MEMORY.md +35 -0
  147. package/adapters/codex/references/verifier-patterns/pattern_absence_claims.md +36 -0
  148. package/adapters/codex/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  149. package/adapters/codex/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  150. package/adapters/codex/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  151. package/adapters/codex/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  152. package/adapters/codex/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  153. package/adapters/codex/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  154. package/adapters/codex/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  155. package/adapters/codex/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  156. package/adapters/codex/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  157. package/adapters/codex/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  158. package/adapters/codex/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  159. package/adapters/codex/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  160. package/adapters/codex/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  161. package/adapters/codex/references/verifier-patterns/pattern_test_count_units.md +20 -0
  162. package/adapters/codex/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  163. package/adapters/codex/references/verify-state.md +98 -0
  164. package/adapters/codex/scripts/forge-bootstrap.py +23 -2
  165. package/adapters/codex/scripts/forge-root.sh +104 -21
  166. package/adapters/codex/scripts/forge-session.py +620 -6969
  167. package/adapters/codex/scripts/forge_session/__init__.py +11 -0
  168. package/adapters/codex/scripts/forge_session/_common.py +1566 -0
  169. package/adapters/codex/scripts/forge_session/_doctor_util.py +218 -0
  170. package/adapters/codex/scripts/forge_session/cli.py +1067 -0
  171. package/adapters/codex/scripts/forge_session/decisions.py +355 -0
  172. package/adapters/codex/scripts/forge_session/discover.py +472 -0
  173. package/adapters/codex/scripts/forge_session/doctor.py +2144 -0
  174. package/adapters/codex/scripts/forge_session/exit.py +1081 -0
  175. package/adapters/codex/scripts/forge_session/outcomes.py +574 -0
  176. package/adapters/codex/scripts/forge_session/routes.py +1162 -0
  177. package/adapters/codex/scripts/forge_session/state.py +1479 -0
  178. package/adapters/codex/scripts/forge_session/topology.py +443 -0
  179. package/adapters/codex/skills/forge/SKILL.md +40 -40
  180. package/adapters/codex/skills/forge/references/process-overview.md +10 -10
  181. package/adapters/codex/skills/forge/references/shared-conventions.md +189 -36
  182. package/adapters/codex/skills/forge/references/stage-exit-protocol.md +22 -7
  183. package/adapters/codex/skills/forge-0-epic/SKILL.md +15 -15
  184. package/adapters/codex/skills/forge-0-epic/references/edit-mode.md +14 -10
  185. package/adapters/codex/skills/forge-0-epic/references/epic-manifest-subcommands.md +8 -3
  186. package/adapters/codex/skills/forge-0-epic/references/portable-root.md +20 -16
  187. package/adapters/codex/skills/forge-0-epic/references/shared-conventions.md +189 -36
  188. package/adapters/codex/skills/forge-0-epic/references/stage-exit-protocol.md +22 -7
  189. package/adapters/codex/skills/forge-1-prd/SKILL.md +15 -15
  190. package/adapters/codex/skills/forge-1-prd/references/shared-conventions.md +189 -36
  191. package/adapters/codex/skills/forge-1-prd/references/stage-exit-protocol.md +22 -7
  192. package/adapters/codex/skills/forge-2-tech/SKILL.md +15 -15
  193. package/adapters/codex/skills/forge-2-tech/references/shared-conventions.md +189 -36
  194. package/adapters/codex/skills/forge-2-tech/references/stack-resolution.md +1 -1
  195. package/adapters/codex/skills/forge-2-tech/references/stage-exit-protocol.md +22 -7
  196. package/adapters/codex/skills/forge-3-specs/SKILL.md +10 -10
  197. package/adapters/codex/skills/forge-3-specs/references/shared-conventions.md +189 -36
  198. package/adapters/codex/skills/forge-3-specs/references/stage-exit-protocol.md +22 -7
  199. package/adapters/codex/skills/forge-4-backlog/SKILL.md +19 -11
  200. package/adapters/codex/skills/forge-4-backlog/references/shared-conventions.md +189 -36
  201. package/adapters/codex/skills/forge-4-backlog/references/stage-exit-protocol.md +22 -7
  202. package/adapters/codex/skills/forge-4-backlog/references/verify-state.md +98 -0
  203. package/adapters/codex/skills/forge-5-loop/SKILL.md +48 -53
  204. package/adapters/codex/skills/forge-5-loop/references/agent-selection.md +5 -1
  205. package/adapters/codex/skills/forge-5-loop/references/preflight-and-self-heal.md +183 -0
  206. package/adapters/codex/skills/forge-5-loop/references/ralph-loop-contract.md +12 -8
  207. package/adapters/codex/skills/forge-5-loop/references/recovery-procedure.md +14 -4
  208. package/adapters/codex/skills/forge-5-loop/references/runner-contract.md +20 -10
  209. package/adapters/codex/skills/forge-5-loop/references/shared-conventions.md +189 -36
  210. package/adapters/codex/skills/forge-5-loop/references/stage-exit-protocol.md +22 -7
  211. package/adapters/codex/skills/forge-5-loop/references/verify-state.md +98 -0
  212. package/adapters/codex/skills/forge-6-docs/SKILL.md +27 -20
  213. package/adapters/codex/skills/forge-6-docs/references/shared-conventions.md +189 -36
  214. package/adapters/codex/skills/forge-6-docs/references/stage-exit-protocol.md +22 -7
  215. package/adapters/codex/skills/forge-6-docs/references/verify-state.md +98 -0
  216. package/adapters/codex/skills/forge-bootstrap/SKILL.md +23 -15
  217. package/adapters/codex/skills/forge-bootstrap/references/shared-conventions.md +572 -0
  218. package/adapters/codex/skills/forge-bootstrap/references/templates/hygiene/CLAUDE.md +2 -2
  219. package/adapters/codex/skills/forge-fix/SKILL.md +27 -30
  220. package/adapters/codex/skills/forge-fix/references/select-outcome.md +138 -0
  221. package/adapters/codex/skills/forge-fix/references/shared-conventions.md +189 -36
  222. package/adapters/codex/skills/forge-fix/references/stage-exit-protocol.md +22 -7
  223. package/adapters/codex/skills/forge-guide/SKILL.md +84 -7
  224. package/adapters/codex/skills/forge-guide/references/forge-config-schema.json +7 -7
  225. package/adapters/codex/skills/forge-guide/references/preflight-and-self-heal.md +183 -0
  226. package/adapters/codex/skills/forge-guide/references/process-overview.md +10 -10
  227. package/adapters/codex/skills/forge-guide/references/ralph-loop-contract.md +12 -8
  228. package/adapters/codex/skills/forge-guide/references/shared-conventions.md +189 -36
  229. package/adapters/codex/skills/forge-guide/references/stack-resolution.md +1 -1
  230. package/adapters/codex/skills/forge-init/SKILL.md +62 -12
  231. package/adapters/codex/skills/forge-init/references/preflight-and-self-heal.md +183 -0
  232. package/adapters/codex/skills/forge-init/references/shared-conventions.md +572 -0
  233. package/adapters/codex/skills/forge-verify/SKILL.md +32 -33
  234. package/adapters/codex/skills/forge-verify/references/findings-template.md +8 -8
  235. package/adapters/codex/skills/forge-verify/references/select-outcome.md +138 -0
  236. package/adapters/codex/skills/forge-verify/references/shared-conventions.md +189 -36
  237. package/adapters/codex/skills/forge-verify/references/stage-exit-protocol.md +22 -7
  238. package/adapters/codex/skills/forge-verify/references/verification-checklists/epic.md +2 -2
  239. package/adapters/codex/skills/forge-verify/references/verifier-patterns/MEMORY.md +35 -0
  240. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_absence_claims.md +36 -0
  241. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  242. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  243. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  244. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  245. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  246. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  247. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  248. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  249. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  250. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  251. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  252. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  253. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  254. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_test_count_units.md +20 -0
  255. package/adapters/codex/skills/forge-verify/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  256. package/adapters/copilot/.feature-forge-bundle.json +1 -1
  257. package/adapters/copilot/agents/forge-researcher.md +1 -1
  258. package/adapters/copilot/agents/forge-verifier.md +17 -6
  259. package/adapters/copilot/references/forge-config-schema.json +7 -7
  260. package/adapters/copilot/references/portable-root.md +20 -16
  261. package/adapters/copilot/references/preflight-and-self-heal.md +183 -0
  262. package/adapters/copilot/references/process-overview.md +10 -10
  263. package/adapters/copilot/references/ralph-loop-contract.md +12 -8
  264. package/adapters/copilot/references/select-outcome.md +138 -0
  265. package/adapters/copilot/references/shared-conventions.md +189 -36
  266. package/adapters/copilot/references/skill-frontmatter.schema.json +3 -1
  267. package/adapters/copilot/references/stack-resolution.md +1 -1
  268. package/adapters/copilot/references/stage-exit-protocol.md +22 -7
  269. package/adapters/copilot/references/templates/root-hygiene/AGENTS.md +14 -0
  270. package/adapters/copilot/references/templates/root-hygiene/CLAUDE.md +14 -0
  271. package/adapters/copilot/references/templates/specs-hygiene/AGENTS.md +3 -1
  272. package/adapters/copilot/references/templates/specs-hygiene/CLAUDE.md +2 -1
  273. package/adapters/copilot/references/verifier-patterns/MEMORY.md +35 -0
  274. package/adapters/copilot/references/verifier-patterns/pattern_absence_claims.md +36 -0
  275. package/adapters/copilot/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  276. package/adapters/copilot/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  277. package/adapters/copilot/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  278. package/adapters/copilot/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  279. package/adapters/copilot/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  280. package/adapters/copilot/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  281. package/adapters/copilot/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  282. package/adapters/copilot/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  283. package/adapters/copilot/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  284. package/adapters/copilot/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  285. package/adapters/copilot/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  286. package/adapters/copilot/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  287. package/adapters/copilot/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  288. package/adapters/copilot/references/verifier-patterns/pattern_test_count_units.md +20 -0
  289. package/adapters/copilot/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  290. package/adapters/copilot/references/verify-state.md +98 -0
  291. package/adapters/copilot/scripts/forge-bootstrap.py +23 -2
  292. package/adapters/copilot/scripts/forge-root.sh +104 -21
  293. package/adapters/copilot/scripts/forge-session.py +620 -6969
  294. package/adapters/copilot/scripts/forge_session/__init__.py +11 -0
  295. package/adapters/copilot/scripts/forge_session/_common.py +1566 -0
  296. package/adapters/copilot/scripts/forge_session/_doctor_util.py +218 -0
  297. package/adapters/copilot/scripts/forge_session/cli.py +1067 -0
  298. package/adapters/copilot/scripts/forge_session/decisions.py +355 -0
  299. package/adapters/copilot/scripts/forge_session/discover.py +472 -0
  300. package/adapters/copilot/scripts/forge_session/doctor.py +2144 -0
  301. package/adapters/copilot/scripts/forge_session/exit.py +1081 -0
  302. package/adapters/copilot/scripts/forge_session/outcomes.py +574 -0
  303. package/adapters/copilot/scripts/forge_session/routes.py +1162 -0
  304. package/adapters/copilot/scripts/forge_session/state.py +1479 -0
  305. package/adapters/copilot/scripts/forge_session/topology.py +443 -0
  306. package/adapters/copilot/skills/forge/forge.md +40 -40
  307. package/adapters/copilot/skills/forge/references/process-overview.md +10 -10
  308. package/adapters/copilot/skills/forge/references/shared-conventions.md +189 -36
  309. package/adapters/copilot/skills/forge/references/stage-exit-protocol.md +22 -7
  310. package/adapters/copilot/skills/forge-0-epic/forge-0-epic.md +15 -15
  311. package/adapters/copilot/skills/forge-0-epic/references/edit-mode.md +14 -10
  312. package/adapters/copilot/skills/forge-0-epic/references/epic-manifest-subcommands.md +8 -3
  313. package/adapters/copilot/skills/forge-0-epic/references/portable-root.md +20 -16
  314. package/adapters/copilot/skills/forge-0-epic/references/shared-conventions.md +189 -36
  315. package/adapters/copilot/skills/forge-0-epic/references/stage-exit-protocol.md +22 -7
  316. package/adapters/copilot/skills/forge-1-prd/forge-1-prd.md +15 -15
  317. package/adapters/copilot/skills/forge-1-prd/references/shared-conventions.md +189 -36
  318. package/adapters/copilot/skills/forge-1-prd/references/stage-exit-protocol.md +22 -7
  319. package/adapters/copilot/skills/forge-2-tech/forge-2-tech.md +15 -15
  320. package/adapters/copilot/skills/forge-2-tech/references/shared-conventions.md +189 -36
  321. package/adapters/copilot/skills/forge-2-tech/references/stack-resolution.md +1 -1
  322. package/adapters/copilot/skills/forge-2-tech/references/stage-exit-protocol.md +22 -7
  323. package/adapters/copilot/skills/forge-3-specs/forge-3-specs.md +10 -10
  324. package/adapters/copilot/skills/forge-3-specs/references/shared-conventions.md +189 -36
  325. package/adapters/copilot/skills/forge-3-specs/references/stage-exit-protocol.md +22 -7
  326. package/adapters/copilot/skills/forge-4-backlog/forge-4-backlog.md +19 -11
  327. package/adapters/copilot/skills/forge-4-backlog/references/shared-conventions.md +189 -36
  328. package/adapters/copilot/skills/forge-4-backlog/references/stage-exit-protocol.md +22 -7
  329. package/adapters/copilot/skills/forge-4-backlog/references/verify-state.md +98 -0
  330. package/adapters/copilot/skills/forge-5-loop/forge-5-loop.md +48 -53
  331. package/adapters/copilot/skills/forge-5-loop/references/agent-selection.md +5 -1
  332. package/adapters/copilot/skills/forge-5-loop/references/preflight-and-self-heal.md +183 -0
  333. package/adapters/copilot/skills/forge-5-loop/references/ralph-loop-contract.md +12 -8
  334. package/adapters/copilot/skills/forge-5-loop/references/recovery-procedure.md +14 -4
  335. package/adapters/copilot/skills/forge-5-loop/references/runner-contract.md +20 -10
  336. package/adapters/copilot/skills/forge-5-loop/references/shared-conventions.md +189 -36
  337. package/adapters/copilot/skills/forge-5-loop/references/stage-exit-protocol.md +22 -7
  338. package/adapters/copilot/skills/forge-5-loop/references/verify-state.md +98 -0
  339. package/adapters/copilot/skills/forge-6-docs/forge-6-docs.md +27 -20
  340. package/adapters/copilot/skills/forge-6-docs/references/shared-conventions.md +189 -36
  341. package/adapters/copilot/skills/forge-6-docs/references/stage-exit-protocol.md +22 -7
  342. package/adapters/copilot/skills/forge-6-docs/references/verify-state.md +98 -0
  343. package/adapters/copilot/skills/forge-bootstrap/forge-bootstrap.md +23 -15
  344. package/adapters/copilot/skills/forge-bootstrap/references/shared-conventions.md +572 -0
  345. package/adapters/copilot/skills/forge-bootstrap/references/templates/hygiene/CLAUDE.md +2 -2
  346. package/adapters/copilot/skills/forge-fix/forge-fix.md +27 -30
  347. package/adapters/copilot/skills/forge-fix/references/select-outcome.md +138 -0
  348. package/adapters/copilot/skills/forge-fix/references/shared-conventions.md +189 -36
  349. package/adapters/copilot/skills/forge-fix/references/stage-exit-protocol.md +22 -7
  350. package/adapters/copilot/skills/forge-guide/forge-guide.md +84 -7
  351. package/adapters/copilot/skills/forge-guide/references/forge-config-schema.json +7 -7
  352. package/adapters/copilot/skills/forge-guide/references/preflight-and-self-heal.md +183 -0
  353. package/adapters/copilot/skills/forge-guide/references/process-overview.md +10 -10
  354. package/adapters/copilot/skills/forge-guide/references/ralph-loop-contract.md +12 -8
  355. package/adapters/copilot/skills/forge-guide/references/shared-conventions.md +189 -36
  356. package/adapters/copilot/skills/forge-guide/references/stack-resolution.md +1 -1
  357. package/adapters/copilot/skills/forge-init/forge-init.md +62 -12
  358. package/adapters/copilot/skills/forge-init/references/preflight-and-self-heal.md +183 -0
  359. package/adapters/copilot/skills/forge-init/references/shared-conventions.md +572 -0
  360. package/adapters/copilot/skills/forge-verify/forge-verify.md +32 -33
  361. package/adapters/copilot/skills/forge-verify/references/findings-template.md +8 -8
  362. package/adapters/copilot/skills/forge-verify/references/select-outcome.md +138 -0
  363. package/adapters/copilot/skills/forge-verify/references/shared-conventions.md +189 -36
  364. package/adapters/copilot/skills/forge-verify/references/stage-exit-protocol.md +22 -7
  365. package/adapters/copilot/skills/forge-verify/references/verification-checklists/epic.md +2 -2
  366. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/MEMORY.md +35 -0
  367. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_absence_claims.md +36 -0
  368. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  369. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  370. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  371. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  372. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  373. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  374. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  375. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  376. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  377. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  378. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  379. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  380. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  381. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_test_count_units.md +20 -0
  382. package/adapters/copilot/skills/forge-verify/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  383. package/adapters/cursor/.feature-forge-bundle.json +1 -1
  384. package/adapters/cursor/agents/forge-researcher.mdc +1 -1
  385. package/adapters/cursor/agents/forge-verifier.mdc +17 -6
  386. package/adapters/cursor/references/forge-config-schema.json +7 -7
  387. package/adapters/cursor/references/portable-root.md +20 -16
  388. package/adapters/cursor/references/preflight-and-self-heal.md +183 -0
  389. package/adapters/cursor/references/process-overview.md +10 -10
  390. package/adapters/cursor/references/ralph-loop-contract.md +12 -8
  391. package/adapters/cursor/references/select-outcome.md +138 -0
  392. package/adapters/cursor/references/shared-conventions.md +189 -36
  393. package/adapters/cursor/references/skill-frontmatter.schema.json +3 -1
  394. package/adapters/cursor/references/stack-resolution.md +1 -1
  395. package/adapters/cursor/references/stage-exit-protocol.md +22 -7
  396. package/adapters/cursor/references/templates/root-hygiene/AGENTS.md +14 -0
  397. package/adapters/cursor/references/templates/root-hygiene/CLAUDE.md +14 -0
  398. package/adapters/cursor/references/templates/specs-hygiene/AGENTS.md +3 -1
  399. package/adapters/cursor/references/templates/specs-hygiene/CLAUDE.md +2 -1
  400. package/adapters/cursor/references/verifier-patterns/MEMORY.md +35 -0
  401. package/adapters/cursor/references/verifier-patterns/pattern_absence_claims.md +36 -0
  402. package/adapters/cursor/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  403. package/adapters/cursor/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  404. package/adapters/cursor/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  405. package/adapters/cursor/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  406. package/adapters/cursor/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  407. package/adapters/cursor/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  408. package/adapters/cursor/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  409. package/adapters/cursor/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  410. package/adapters/cursor/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  411. package/adapters/cursor/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  412. package/adapters/cursor/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  413. package/adapters/cursor/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  414. package/adapters/cursor/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  415. package/adapters/cursor/references/verifier-patterns/pattern_test_count_units.md +20 -0
  416. package/adapters/cursor/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  417. package/adapters/cursor/references/verify-state.md +98 -0
  418. package/adapters/cursor/scripts/forge-bootstrap.py +23 -2
  419. package/adapters/cursor/scripts/forge-root.sh +104 -21
  420. package/adapters/cursor/scripts/forge-session.py +620 -6969
  421. package/adapters/cursor/scripts/forge_session/__init__.py +11 -0
  422. package/adapters/cursor/scripts/forge_session/_common.py +1566 -0
  423. package/adapters/cursor/scripts/forge_session/_doctor_util.py +218 -0
  424. package/adapters/cursor/scripts/forge_session/cli.py +1067 -0
  425. package/adapters/cursor/scripts/forge_session/decisions.py +355 -0
  426. package/adapters/cursor/scripts/forge_session/discover.py +472 -0
  427. package/adapters/cursor/scripts/forge_session/doctor.py +2144 -0
  428. package/adapters/cursor/scripts/forge_session/exit.py +1081 -0
  429. package/adapters/cursor/scripts/forge_session/outcomes.py +574 -0
  430. package/adapters/cursor/scripts/forge_session/routes.py +1162 -0
  431. package/adapters/cursor/scripts/forge_session/state.py +1479 -0
  432. package/adapters/cursor/scripts/forge_session/topology.py +443 -0
  433. package/adapters/cursor/skills/forge/forge.mdc +40 -40
  434. package/adapters/cursor/skills/forge/references/process-overview.md +10 -10
  435. package/adapters/cursor/skills/forge/references/shared-conventions.md +189 -36
  436. package/adapters/cursor/skills/forge/references/stage-exit-protocol.md +22 -7
  437. package/adapters/cursor/skills/forge-0-epic/forge-0-epic.mdc +15 -15
  438. package/adapters/cursor/skills/forge-0-epic/references/edit-mode.md +14 -10
  439. package/adapters/cursor/skills/forge-0-epic/references/epic-manifest-subcommands.md +8 -3
  440. package/adapters/cursor/skills/forge-0-epic/references/portable-root.md +20 -16
  441. package/adapters/cursor/skills/forge-0-epic/references/shared-conventions.md +189 -36
  442. package/adapters/cursor/skills/forge-0-epic/references/stage-exit-protocol.md +22 -7
  443. package/adapters/cursor/skills/forge-1-prd/forge-1-prd.mdc +15 -15
  444. package/adapters/cursor/skills/forge-1-prd/references/shared-conventions.md +189 -36
  445. package/adapters/cursor/skills/forge-1-prd/references/stage-exit-protocol.md +22 -7
  446. package/adapters/cursor/skills/forge-2-tech/forge-2-tech.mdc +15 -15
  447. package/adapters/cursor/skills/forge-2-tech/references/shared-conventions.md +189 -36
  448. package/adapters/cursor/skills/forge-2-tech/references/stack-resolution.md +1 -1
  449. package/adapters/cursor/skills/forge-2-tech/references/stage-exit-protocol.md +22 -7
  450. package/adapters/cursor/skills/forge-3-specs/forge-3-specs.mdc +10 -10
  451. package/adapters/cursor/skills/forge-3-specs/references/shared-conventions.md +189 -36
  452. package/adapters/cursor/skills/forge-3-specs/references/stage-exit-protocol.md +22 -7
  453. package/adapters/cursor/skills/forge-4-backlog/forge-4-backlog.mdc +19 -11
  454. package/adapters/cursor/skills/forge-4-backlog/references/shared-conventions.md +189 -36
  455. package/adapters/cursor/skills/forge-4-backlog/references/stage-exit-protocol.md +22 -7
  456. package/adapters/cursor/skills/forge-4-backlog/references/verify-state.md +98 -0
  457. package/adapters/cursor/skills/forge-5-loop/forge-5-loop.mdc +48 -53
  458. package/adapters/cursor/skills/forge-5-loop/references/agent-selection.md +5 -1
  459. package/adapters/cursor/skills/forge-5-loop/references/preflight-and-self-heal.md +183 -0
  460. package/adapters/cursor/skills/forge-5-loop/references/ralph-loop-contract.md +12 -8
  461. package/adapters/cursor/skills/forge-5-loop/references/recovery-procedure.md +14 -4
  462. package/adapters/cursor/skills/forge-5-loop/references/runner-contract.md +20 -10
  463. package/adapters/cursor/skills/forge-5-loop/references/shared-conventions.md +189 -36
  464. package/adapters/cursor/skills/forge-5-loop/references/stage-exit-protocol.md +22 -7
  465. package/adapters/cursor/skills/forge-5-loop/references/verify-state.md +98 -0
  466. package/adapters/cursor/skills/forge-6-docs/forge-6-docs.mdc +27 -20
  467. package/adapters/cursor/skills/forge-6-docs/references/shared-conventions.md +189 -36
  468. package/adapters/cursor/skills/forge-6-docs/references/stage-exit-protocol.md +22 -7
  469. package/adapters/cursor/skills/forge-6-docs/references/verify-state.md +98 -0
  470. package/adapters/cursor/skills/forge-bootstrap/forge-bootstrap.mdc +23 -15
  471. package/adapters/cursor/skills/forge-bootstrap/references/shared-conventions.md +572 -0
  472. package/adapters/cursor/skills/forge-bootstrap/references/templates/hygiene/CLAUDE.md +2 -2
  473. package/adapters/cursor/skills/forge-fix/forge-fix.mdc +27 -30
  474. package/adapters/cursor/skills/forge-fix/references/select-outcome.md +138 -0
  475. package/adapters/cursor/skills/forge-fix/references/shared-conventions.md +189 -36
  476. package/adapters/cursor/skills/forge-fix/references/stage-exit-protocol.md +22 -7
  477. package/adapters/cursor/skills/forge-guide/forge-guide.mdc +84 -7
  478. package/adapters/cursor/skills/forge-guide/references/forge-config-schema.json +7 -7
  479. package/adapters/cursor/skills/forge-guide/references/preflight-and-self-heal.md +183 -0
  480. package/adapters/cursor/skills/forge-guide/references/process-overview.md +10 -10
  481. package/adapters/cursor/skills/forge-guide/references/ralph-loop-contract.md +12 -8
  482. package/adapters/cursor/skills/forge-guide/references/shared-conventions.md +189 -36
  483. package/adapters/cursor/skills/forge-guide/references/stack-resolution.md +1 -1
  484. package/adapters/cursor/skills/forge-init/forge-init.mdc +62 -12
  485. package/adapters/cursor/skills/forge-init/references/preflight-and-self-heal.md +183 -0
  486. package/adapters/cursor/skills/forge-init/references/shared-conventions.md +572 -0
  487. package/adapters/cursor/skills/forge-verify/forge-verify.mdc +32 -33
  488. package/adapters/cursor/skills/forge-verify/references/findings-template.md +8 -8
  489. package/adapters/cursor/skills/forge-verify/references/select-outcome.md +138 -0
  490. package/adapters/cursor/skills/forge-verify/references/shared-conventions.md +189 -36
  491. package/adapters/cursor/skills/forge-verify/references/stage-exit-protocol.md +22 -7
  492. package/adapters/cursor/skills/forge-verify/references/verification-checklists/epic.md +2 -2
  493. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/MEMORY.md +35 -0
  494. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_absence_claims.md +36 -0
  495. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  496. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  497. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  498. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  499. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  500. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  501. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  502. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  503. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  504. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  505. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  506. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  507. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  508. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_test_count_units.md +20 -0
  509. package/adapters/cursor/skills/forge-verify/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  510. package/adapters/gemini/.feature-forge-bundle.json +1 -1
  511. package/adapters/gemini/agents/forge-researcher.md +1 -1
  512. package/adapters/gemini/agents/forge-verifier.md +17 -6
  513. package/adapters/gemini/gemini-extension.json +13 -13
  514. package/adapters/gemini/references/forge-config-schema.json +7 -7
  515. package/adapters/gemini/references/portable-root.md +20 -16
  516. package/adapters/gemini/references/preflight-and-self-heal.md +183 -0
  517. package/adapters/gemini/references/process-overview.md +10 -10
  518. package/adapters/gemini/references/ralph-loop-contract.md +12 -8
  519. package/adapters/gemini/references/select-outcome.md +138 -0
  520. package/adapters/gemini/references/shared-conventions.md +189 -36
  521. package/adapters/gemini/references/skill-frontmatter.schema.json +3 -1
  522. package/adapters/gemini/references/stack-resolution.md +1 -1
  523. package/adapters/gemini/references/stage-exit-protocol.md +22 -7
  524. package/adapters/gemini/references/templates/root-hygiene/AGENTS.md +14 -0
  525. package/adapters/gemini/references/templates/root-hygiene/CLAUDE.md +14 -0
  526. package/adapters/gemini/references/templates/specs-hygiene/AGENTS.md +3 -1
  527. package/adapters/gemini/references/templates/specs-hygiene/CLAUDE.md +2 -1
  528. package/adapters/gemini/references/verifier-patterns/MEMORY.md +35 -0
  529. package/adapters/gemini/references/verifier-patterns/pattern_absence_claims.md +36 -0
  530. package/adapters/gemini/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  531. package/adapters/gemini/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  532. package/adapters/gemini/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  533. package/adapters/gemini/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  534. package/adapters/gemini/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  535. package/adapters/gemini/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  536. package/adapters/gemini/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  537. package/adapters/gemini/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  538. package/adapters/gemini/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  539. package/adapters/gemini/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  540. package/adapters/gemini/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  541. package/adapters/gemini/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  542. package/adapters/gemini/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  543. package/adapters/gemini/references/verifier-patterns/pattern_test_count_units.md +20 -0
  544. package/adapters/gemini/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  545. package/adapters/gemini/references/verify-state.md +98 -0
  546. package/adapters/gemini/scripts/forge-bootstrap.py +23 -2
  547. package/adapters/gemini/scripts/forge-root.sh +104 -21
  548. package/adapters/gemini/scripts/forge-session.py +620 -6969
  549. package/adapters/gemini/scripts/forge_session/__init__.py +11 -0
  550. package/adapters/gemini/scripts/forge_session/_common.py +1566 -0
  551. package/adapters/gemini/scripts/forge_session/_doctor_util.py +218 -0
  552. package/adapters/gemini/scripts/forge_session/cli.py +1067 -0
  553. package/adapters/gemini/scripts/forge_session/decisions.py +355 -0
  554. package/adapters/gemini/scripts/forge_session/discover.py +472 -0
  555. package/adapters/gemini/scripts/forge_session/doctor.py +2144 -0
  556. package/adapters/gemini/scripts/forge_session/exit.py +1081 -0
  557. package/adapters/gemini/scripts/forge_session/outcomes.py +574 -0
  558. package/adapters/gemini/scripts/forge_session/routes.py +1162 -0
  559. package/adapters/gemini/scripts/forge_session/state.py +1479 -0
  560. package/adapters/gemini/scripts/forge_session/topology.py +443 -0
  561. package/adapters/gemini/skills/forge/forge.md +40 -40
  562. package/adapters/gemini/skills/forge/references/process-overview.md +10 -10
  563. package/adapters/gemini/skills/forge/references/shared-conventions.md +189 -36
  564. package/adapters/gemini/skills/forge/references/stage-exit-protocol.md +22 -7
  565. package/adapters/gemini/skills/forge-0-epic/forge-0-epic.md +15 -15
  566. package/adapters/gemini/skills/forge-0-epic/references/edit-mode.md +14 -10
  567. package/adapters/gemini/skills/forge-0-epic/references/epic-manifest-subcommands.md +8 -3
  568. package/adapters/gemini/skills/forge-0-epic/references/portable-root.md +20 -16
  569. package/adapters/gemini/skills/forge-0-epic/references/shared-conventions.md +189 -36
  570. package/adapters/gemini/skills/forge-0-epic/references/stage-exit-protocol.md +22 -7
  571. package/adapters/gemini/skills/forge-1-prd/forge-1-prd.md +15 -15
  572. package/adapters/gemini/skills/forge-1-prd/references/shared-conventions.md +189 -36
  573. package/adapters/gemini/skills/forge-1-prd/references/stage-exit-protocol.md +22 -7
  574. package/adapters/gemini/skills/forge-2-tech/forge-2-tech.md +15 -15
  575. package/adapters/gemini/skills/forge-2-tech/references/shared-conventions.md +189 -36
  576. package/adapters/gemini/skills/forge-2-tech/references/stack-resolution.md +1 -1
  577. package/adapters/gemini/skills/forge-2-tech/references/stage-exit-protocol.md +22 -7
  578. package/adapters/gemini/skills/forge-3-specs/forge-3-specs.md +10 -10
  579. package/adapters/gemini/skills/forge-3-specs/references/shared-conventions.md +189 -36
  580. package/adapters/gemini/skills/forge-3-specs/references/stage-exit-protocol.md +22 -7
  581. package/adapters/gemini/skills/forge-4-backlog/forge-4-backlog.md +19 -11
  582. package/adapters/gemini/skills/forge-4-backlog/references/shared-conventions.md +189 -36
  583. package/adapters/gemini/skills/forge-4-backlog/references/stage-exit-protocol.md +22 -7
  584. package/adapters/gemini/skills/forge-4-backlog/references/verify-state.md +98 -0
  585. package/adapters/gemini/skills/forge-5-loop/forge-5-loop.md +48 -53
  586. package/adapters/gemini/skills/forge-5-loop/references/agent-selection.md +5 -1
  587. package/adapters/gemini/skills/forge-5-loop/references/preflight-and-self-heal.md +183 -0
  588. package/adapters/gemini/skills/forge-5-loop/references/ralph-loop-contract.md +12 -8
  589. package/adapters/gemini/skills/forge-5-loop/references/recovery-procedure.md +14 -4
  590. package/adapters/gemini/skills/forge-5-loop/references/runner-contract.md +20 -10
  591. package/adapters/gemini/skills/forge-5-loop/references/shared-conventions.md +189 -36
  592. package/adapters/gemini/skills/forge-5-loop/references/stage-exit-protocol.md +22 -7
  593. package/adapters/gemini/skills/forge-5-loop/references/verify-state.md +98 -0
  594. package/adapters/gemini/skills/forge-6-docs/forge-6-docs.md +27 -20
  595. package/adapters/gemini/skills/forge-6-docs/references/shared-conventions.md +189 -36
  596. package/adapters/gemini/skills/forge-6-docs/references/stage-exit-protocol.md +22 -7
  597. package/adapters/gemini/skills/forge-6-docs/references/verify-state.md +98 -0
  598. package/adapters/gemini/skills/forge-bootstrap/forge-bootstrap.md +23 -15
  599. package/adapters/gemini/skills/forge-bootstrap/references/shared-conventions.md +572 -0
  600. package/adapters/gemini/skills/forge-bootstrap/references/templates/hygiene/CLAUDE.md +2 -2
  601. package/adapters/gemini/skills/forge-fix/forge-fix.md +27 -30
  602. package/adapters/gemini/skills/forge-fix/references/select-outcome.md +138 -0
  603. package/adapters/gemini/skills/forge-fix/references/shared-conventions.md +189 -36
  604. package/adapters/gemini/skills/forge-fix/references/stage-exit-protocol.md +22 -7
  605. package/adapters/gemini/skills/forge-guide/forge-guide.md +84 -7
  606. package/adapters/gemini/skills/forge-guide/references/forge-config-schema.json +7 -7
  607. package/adapters/gemini/skills/forge-guide/references/preflight-and-self-heal.md +183 -0
  608. package/adapters/gemini/skills/forge-guide/references/process-overview.md +10 -10
  609. package/adapters/gemini/skills/forge-guide/references/ralph-loop-contract.md +12 -8
  610. package/adapters/gemini/skills/forge-guide/references/shared-conventions.md +189 -36
  611. package/adapters/gemini/skills/forge-guide/references/stack-resolution.md +1 -1
  612. package/adapters/gemini/skills/forge-init/forge-init.md +62 -12
  613. package/adapters/gemini/skills/forge-init/references/preflight-and-self-heal.md +183 -0
  614. package/adapters/gemini/skills/forge-init/references/shared-conventions.md +572 -0
  615. package/adapters/gemini/skills/forge-verify/forge-verify.md +32 -33
  616. package/adapters/gemini/skills/forge-verify/references/findings-template.md +8 -8
  617. package/adapters/gemini/skills/forge-verify/references/select-outcome.md +138 -0
  618. package/adapters/gemini/skills/forge-verify/references/shared-conventions.md +189 -36
  619. package/adapters/gemini/skills/forge-verify/references/stage-exit-protocol.md +22 -7
  620. package/adapters/gemini/skills/forge-verify/references/verification-checklists/epic.md +2 -2
  621. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/MEMORY.md +35 -0
  622. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_absence_claims.md +36 -0
  623. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  624. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  625. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  626. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  627. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  628. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  629. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  630. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  631. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  632. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  633. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  634. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  635. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  636. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_test_count_units.md +20 -0
  637. package/adapters/gemini/skills/forge-verify/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  638. package/adapters/pi/.feature-forge-bundle.json +1 -1
  639. package/adapters/pi/agents/forge-verifier.md +16 -5
  640. package/adapters/pi/extensions/forge-invocation-args/README.md +106 -0
  641. package/adapters/pi/extensions/forge-invocation-args/index.ts +31 -0
  642. package/adapters/pi/extensions/forge-invocation-args/wiring.ts +172 -0
  643. package/adapters/pi/extensions/forge-loop-supervisor/events.ts +90 -0
  644. package/adapters/pi/extensions/forge-loop-supervisor/index.ts +114 -0
  645. package/adapters/pi/extensions/forge-loop-supervisor/registry.ts +137 -0
  646. package/adapters/pi/extensions/forge-loop-supervisor/supervisor.ts +185 -0
  647. package/adapters/pi/extensions/forge-loop-supervisor/tailer.ts +137 -0
  648. package/adapters/pi/extensions/forge-loop-supervisor/types.ts +87 -0
  649. package/adapters/pi/extensions/forge-loop-supervisor/wiring.ts +423 -0
  650. package/adapters/pi/package.json +3 -1
  651. package/adapters/pi/references/forge-config-schema.json +5 -5
  652. package/adapters/pi/references/portable-root.md +20 -16
  653. package/adapters/pi/references/preflight-and-self-heal.md +183 -0
  654. package/adapters/pi/references/ralph-loop-contract.md +12 -8
  655. package/adapters/pi/references/select-outcome.md +138 -0
  656. package/adapters/pi/references/shared-conventions.md +176 -23
  657. package/adapters/pi/references/skill-frontmatter.schema.json +3 -1
  658. package/adapters/pi/references/stack-resolution.md +1 -1
  659. package/adapters/pi/references/stage-exit-protocol.md +19 -4
  660. package/adapters/pi/references/templates/root-hygiene/AGENTS.md +14 -0
  661. package/adapters/pi/references/templates/root-hygiene/CLAUDE.md +14 -0
  662. package/adapters/pi/references/templates/specs-hygiene/AGENTS.md +3 -1
  663. package/adapters/pi/references/templates/specs-hygiene/CLAUDE.md +2 -1
  664. package/adapters/pi/references/verifier-patterns/MEMORY.md +35 -0
  665. package/adapters/pi/references/verifier-patterns/pattern_absence_claims.md +36 -0
  666. package/adapters/pi/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  667. package/adapters/pi/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  668. package/adapters/pi/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  669. package/adapters/pi/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  670. package/adapters/pi/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  671. package/adapters/pi/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  672. package/adapters/pi/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  673. package/adapters/pi/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  674. package/adapters/pi/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  675. package/adapters/pi/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  676. package/adapters/pi/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  677. package/adapters/pi/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  678. package/adapters/pi/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  679. package/adapters/pi/references/verifier-patterns/pattern_test_count_units.md +20 -0
  680. package/adapters/pi/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  681. package/adapters/pi/references/verify-state.md +98 -0
  682. package/adapters/pi/scripts/forge-bootstrap.py +23 -2
  683. package/adapters/pi/scripts/forge-root.sh +104 -21
  684. package/adapters/pi/scripts/forge-session.py +620 -6969
  685. package/adapters/pi/scripts/forge_session/__init__.py +11 -0
  686. package/adapters/pi/scripts/forge_session/_common.py +1566 -0
  687. package/adapters/pi/scripts/forge_session/_doctor_util.py +218 -0
  688. package/adapters/pi/scripts/forge_session/cli.py +1067 -0
  689. package/adapters/pi/scripts/forge_session/decisions.py +355 -0
  690. package/adapters/pi/scripts/forge_session/discover.py +472 -0
  691. package/adapters/pi/scripts/forge_session/doctor.py +2144 -0
  692. package/adapters/pi/scripts/forge_session/exit.py +1081 -0
  693. package/adapters/pi/scripts/forge_session/outcomes.py +574 -0
  694. package/adapters/pi/scripts/forge_session/routes.py +1162 -0
  695. package/adapters/pi/scripts/forge_session/state.py +1479 -0
  696. package/adapters/pi/scripts/forge_session/topology.py +443 -0
  697. package/adapters/pi/skills/forge/SKILL.md +13 -9
  698. package/adapters/pi/skills/forge/references/shared-conventions.md +176 -23
  699. package/adapters/pi/skills/forge/references/stage-exit-protocol.md +19 -4
  700. package/adapters/pi/skills/forge-0-epic/SKILL.md +13 -9
  701. package/adapters/pi/skills/forge-0-epic/references/edit-mode.md +9 -5
  702. package/adapters/pi/skills/forge-0-epic/references/epic-manifest-subcommands.md +6 -1
  703. package/adapters/pi/skills/forge-0-epic/references/portable-root.md +20 -16
  704. package/adapters/pi/skills/forge-0-epic/references/shared-conventions.md +176 -23
  705. package/adapters/pi/skills/forge-0-epic/references/stage-exit-protocol.md +19 -4
  706. package/adapters/pi/skills/forge-1-prd/SKILL.md +13 -9
  707. package/adapters/pi/skills/forge-1-prd/references/shared-conventions.md +176 -23
  708. package/adapters/pi/skills/forge-1-prd/references/stage-exit-protocol.md +19 -4
  709. package/adapters/pi/skills/forge-2-tech/SKILL.md +12 -8
  710. package/adapters/pi/skills/forge-2-tech/references/shared-conventions.md +176 -23
  711. package/adapters/pi/skills/forge-2-tech/references/stack-resolution.md +1 -1
  712. package/adapters/pi/skills/forge-2-tech/references/stage-exit-protocol.md +19 -4
  713. package/adapters/pi/skills/forge-3-specs/SKILL.md +11 -7
  714. package/adapters/pi/skills/forge-3-specs/references/shared-conventions.md +176 -23
  715. package/adapters/pi/skills/forge-3-specs/references/stage-exit-protocol.md +19 -4
  716. package/adapters/pi/skills/forge-4-backlog/SKILL.md +22 -10
  717. package/adapters/pi/skills/forge-4-backlog/references/shared-conventions.md +176 -23
  718. package/adapters/pi/skills/forge-4-backlog/references/stage-exit-protocol.md +19 -4
  719. package/adapters/pi/skills/forge-4-backlog/references/verify-state.md +98 -0
  720. package/adapters/pi/skills/forge-5-loop/SKILL.md +47 -45
  721. package/adapters/pi/skills/forge-5-loop/references/agent-selection.md +4 -0
  722. package/adapters/pi/skills/forge-5-loop/references/preflight-and-self-heal.md +183 -0
  723. package/adapters/pi/skills/forge-5-loop/references/ralph-loop-contract.md +12 -8
  724. package/adapters/pi/skills/forge-5-loop/references/recovery-procedure.md +10 -0
  725. package/adapters/pi/skills/forge-5-loop/references/runner-contract.md +22 -9
  726. package/adapters/pi/skills/forge-5-loop/references/shared-conventions.md +176 -23
  727. package/adapters/pi/skills/forge-5-loop/references/stage-exit-protocol.md +19 -4
  728. package/adapters/pi/skills/forge-5-loop/references/verify-state.md +98 -0
  729. package/adapters/pi/skills/forge-6-docs/SKILL.md +27 -16
  730. package/adapters/pi/skills/forge-6-docs/references/shared-conventions.md +176 -23
  731. package/adapters/pi/skills/forge-6-docs/references/stage-exit-protocol.md +19 -4
  732. package/adapters/pi/skills/forge-6-docs/references/verify-state.md +98 -0
  733. package/adapters/pi/skills/forge-bootstrap/SKILL.md +24 -12
  734. package/adapters/pi/skills/forge-bootstrap/references/shared-conventions.md +572 -0
  735. package/adapters/pi/skills/forge-fix/SKILL.md +21 -20
  736. package/adapters/pi/skills/forge-fix/references/select-outcome.md +138 -0
  737. package/adapters/pi/skills/forge-fix/references/shared-conventions.md +176 -23
  738. package/adapters/pi/skills/forge-fix/references/stage-exit-protocol.md +19 -4
  739. package/adapters/pi/skills/forge-guide/SKILL.md +83 -2
  740. package/adapters/pi/skills/forge-guide/references/forge-config-schema.json +5 -5
  741. package/adapters/pi/skills/forge-guide/references/preflight-and-self-heal.md +183 -0
  742. package/adapters/pi/skills/forge-guide/references/ralph-loop-contract.md +12 -8
  743. package/adapters/pi/skills/forge-guide/references/shared-conventions.md +176 -23
  744. package/adapters/pi/skills/forge-guide/references/stack-resolution.md +1 -1
  745. package/adapters/pi/skills/forge-init/SKILL.md +63 -9
  746. package/adapters/pi/skills/forge-init/references/preflight-and-self-heal.md +183 -0
  747. package/adapters/pi/skills/forge-init/references/shared-conventions.md +572 -0
  748. package/adapters/pi/skills/forge-verify/SKILL.md +26 -23
  749. package/adapters/pi/skills/forge-verify/references/findings-template.md +7 -7
  750. package/adapters/pi/skills/forge-verify/references/select-outcome.md +138 -0
  751. package/adapters/pi/skills/forge-verify/references/shared-conventions.md +176 -23
  752. package/adapters/pi/skills/forge-verify/references/stage-exit-protocol.md +19 -4
  753. package/adapters/pi/skills/forge-verify/references/verification-checklists/epic.md +1 -1
  754. package/adapters/pi/skills/forge-verify/references/verifier-patterns/MEMORY.md +35 -0
  755. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_absence_claims.md +36 -0
  756. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_carveout_sibling_semantics.md +34 -0
  757. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_deviation_judgment.md +36 -0
  758. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_enum_vocabulary_ripple.md +43 -0
  759. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_extend_the_existing.md +31 -0
  760. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_guard_substitution_detection.md +34 -0
  761. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_mechanical_rewrite_damage.md +30 -0
  762. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_postfix_reverify.md +82 -0
  763. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_proximity_window_guards.md +26 -0
  764. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_scratch_root_probes.md +40 -0
  765. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_self_referential_control.md +26 -0
  766. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_sibling_docstring_sweep.md +28 -0
  767. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_spec_literals_are_claims.md +45 -0
  768. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_stale_counts_after_split.md +36 -0
  769. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_test_count_units.md +20 -0
  770. package/adapters/pi/skills/forge-verify/references/verifier-patterns/pattern_vacuous_self_reading_tests.md +32 -0
  771. package/dist/manifest.d.ts +1 -1
  772. package/dist/rauf.d.ts +3 -3
  773. package/dist/rauf.js +2 -2
  774. package/dist/source.d.ts +5 -2
  775. package/dist/source.js +5 -2
  776. package/dist/types.d.ts +1 -1
  777. package/dist/types.js +1 -1
  778. package/package.json +9 -2
@@ -0,0 +1,98 @@
1
+ # `verify-state` — deterministic upstream-verification classification
2
+
3
+ `forge-4-backlog`, `forge-5-loop` and `forge-6-docs` each open by reading a served
4
+ stage's `stages.forge-verify-*` entry to answer one question — *has the upstream
5
+ artifact been verified, and what do I say if not?* Each answered it with its own
6
+ hand-rolled branch set: forge-4-backlog a binary verified/not check, forge-5-loop
7
+ four cases, forge-6-docs five. `forge-session.py verify-state` derives that answer
8
+ from the authoritative on-disk entry instead — one case enum, one message table,
9
+ the same "never eyeball the graph" move `select-outcome` makes for the exit outcome
10
+ (issue #277, part of the #265 guard-first program).
11
+
12
+ The verb reads, never writes. It reads the **raw** `forge-verify-{token}` status the
13
+ gates key on — it does **not** apply the version-aware freshness `verify_state()`
14
+ computes for the navigator's most-recent-stage gate. A `passed` entry classifies
15
+ `passed` regardless of the stage version, because that is exactly what the gates read
16
+ today; layering re-verify-on-revision onto them would be a behaviour change, not an
17
+ additive one.
18
+
19
+ ## Synopsis
20
+
21
+ ```
22
+ python3 forge-session.py verify-state \
23
+ --feature F --for-stage S [--specs-dir DIR] [--epic E] [--json]
24
+ ```
25
+
26
+ `--for-stage` is one of the five verify-token production stages (`forge-1-prd`,
27
+ `forge-2-tech`, `forge-3-specs`, `forge-4-backlog`, `forge-5-loop`) — the stage whose
28
+ `forge-verify-{token}` entry is classified. `forge-0-epic` (verification lives in
29
+ `.epic-state.json`) and `forge-6-docs` (no verify token) are **out of scope** and
30
+ rejected at parse time.
31
+
32
+ Output — always `{case, verified, stale, message, nextCommand}`:
33
+
34
+ ```json
35
+ {
36
+ "case": "findings-applied",
37
+ "verified": false,
38
+ "stale": true,
39
+ "message": "Fixes were applied to auth's forge-4-backlog but nothing re-verified them; re-verification is still outstanding — run forge-verify auth backlog.",
40
+ "nextCommand": "forge-verify auth backlog"
41
+ }
42
+ ```
43
+
44
+ - **`case`** — one `VerifyStateCase`, the union of the cases the three gates spell out.
45
+ - **`verified`** — `true` only for `passed`. An explicit `skipped` is resolved but *not*
46
+ verified, so it is `false`.
47
+ - **`stale`** — `true` only for `findings-applied`: fixes landed but nothing re-verified
48
+ them, so a re-verify is still owed.
49
+ - **`message`** — the single canonical operator sentence for the case.
50
+ - **`nextCommand`** — the forge-verify retry for every unresolved case; `null` for
51
+ `passed`, which needs no action.
52
+
53
+ ## The case enum
54
+
55
+ `VerifyStateCase` is the union of the raw `forge-verify-*` statuses the three gates
56
+ key on, plus `never` for the absent / `pending` / unrecognized bucket every gate
57
+ folds into "not verified". `tests/test_verify_state.py` pins the enum to the
58
+ enumerating gate bodies, both directions, so a gate cannot grow a seventh case or
59
+ spell an existing one differently.
60
+
61
+ | `case` | on-disk status | `verified` | `stale` | meaning |
62
+ | --- | --- | :---: | :---: | --- |
63
+ | `passed` | `passed` | ✓ | | verification passed — proceed |
64
+ | `findings-reported` | `findings-reported` | | | blocking findings live and unresolved |
65
+ | `findings-applied` | `findings-applied` | | ✓ | fixes applied, re-verify still owed |
66
+ | `auto-verify-pending` | `auto-verify-pending` | | | scheduled automatic verification, owed but unrun |
67
+ | `skipped` | `skipped` | | | user explicitly proceeded without verifying |
68
+ | `never` | absent / `pending` / unrecognized | | | never verified |
69
+
70
+ ## Classification
71
+
72
+ The status ordering mirrors `verify_state()` — an explicit `skipped` and recorded
73
+ `auto-verify-pending` debt are tested **before** the generic bucket, so neither can
74
+ fall through to `never`:
75
+
76
+ 1. `skipped` → **skipped**.
77
+ 2. `auto-verify-pending` → **auto-verify-pending**. Unusable scheduling metadata
78
+ (missing/malformed `scheduledStageVersion`) warns once (REQ-DEBT-02) but the debt
79
+ stays owed — degrading it to `never` is exactly the conflation that requirement
80
+ forbids.
81
+ 3. `findings-reported` → **findings-reported**.
82
+ 4. `findings-applied` → **findings-applied**.
83
+ 5. `passed` → **passed**.
84
+ 6. anything else (absent, `pending`, or an out-of-vocabulary status) → **never**. A
85
+ present-but-unrecognized status is flagged once (#148) then treated as unverified,
86
+ the same answer an absent entry gets; a known `pending` (or an absent entry) is
87
+ quiet.
88
+
89
+ A missing, unreadable, or torn state file never raises — the entry reads as absent
90
+ and classifies `never`, the same fail-safe the three gates take.
91
+
92
+ ## Messages
93
+
94
+ `VERIFY_STATE_MESSAGES` holds one canonical sentence per case; the `auto-verify-pending`
95
+ case reuses `AUTO_PENDING_DIAGNOSTIC` — the single normative owed-debt sentence every
96
+ read-side emitter already shares — and appends the revision-advance clause when the
97
+ recorded schedule predates the current artifact. `{subject}` is the feature (or epic
98
+ member), `{stage}` the served production stage, `{command}` the forge-verify retry.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  # GENERATED — DO NOT EDIT. Source: skills/forge-bootstrap/SKILL.md. Regenerate: python3 scripts/build-adapters.py
3
3
  name: forge-bootstrap
4
- description: Scaffold a brand-new empty repository to a pipeline-ready, green baseline (structure, toolchain, passing lint+test, forge.config.json), then optionally chain into the pipeline. Use when the user runs /feature-forge:forge-bootstrap or asks to bootstrap/scaffold a new empty project for forge. Do NOT trigger on a non-empty repo (that is forge-init), or for general project setup outside the forge pipeline.
4
+ description: Scaffold a brand-new empty repository to a pipeline-ready, green baseline (structure, toolchain, passing lint+test, forge.config.json), then optionally chain into the pipeline. Use when the user runs forge-bootstrap or asks to bootstrap/scaffold a new empty project for forge. Do NOT trigger on a non-empty repo (that is forge-init), or for general project setup outside the forge pipeline.
5
5
  ---
6
6
 
7
7
  # Bootstrap a Greenfield Repo
@@ -28,9 +28,12 @@ marked — then **stop and wait for a single text reply**. Parse the reply posit
28
28
  (answer N → question N); re-prompt only the unparseable items. The question content (text,
29
29
  options, defaults) and the conditional gating (Q4 skipped for go/rust/generic; Q6a only for
30
30
  monorepo; Q8 only after a verified-green baseline) are **identical** across both paths — only
31
- the rendering changes. Never assume answers; always wait for the reply.
31
+ the rendering changes. Never assume answers; always wait for the reply. At rung 3
32
+ (genuinely non-interactive — Interaction Capability Ladder, `references/shared-conventions.md`),
33
+ this interview has no sane unattended default: `no-default: abort — the bootstrap interview
34
+ requires a human answer`.
32
35
 
33
- Emit any context as plain text, then route **all** questions through the host's question mechanism (or the
36
+ Emit any context as plain text, then route **all** questions through host's question mechanism (or the
34
37
  fallback) — never as inline prose questions, which stall the session.
35
38
 
36
39
  ## Flow (Mode A — default)
@@ -58,7 +61,7 @@ Every bash invocation begins with the byte-identical portable-root prelude, then
58
61
  helper. Pass `--specs-dir ./specs` (the default) so the gate allow-lists the specs directory.
59
62
 
60
63
  ```bash
61
- R="$(bash -c 'for d in "${FEATURE_FORGE_ROOT:-}" "$HOME"/.claude/skills/feature-forge "$HOME"/.claude/plugins/cache/*/feature-forge/* "$HOME"/.claude/plugins/*/feature-forge "$HOME"/.agents/skills/feature-forge ./.agents/skills/feature-forge; do [ -x "$d/scripts/forge-root.sh" ] && exec "$d/scripts/forge-root.sh"; done')"
64
+ R="$(bash -c '[ -z "${FEATURE_FORGE_ROOT:-}" ] || [ -x "$FEATURE_FORGE_ROOT/scripts/forge-root.sh" ] || { echo "feature-forge: FEATURE_FORGE_ROOT=$FEATURE_FORGE_ROOT has no scripts/forge-root.sh" >&2; exit 2; }; for d in "${FEATURE_FORGE_ROOT:-}" "${CLAUDE_PLUGIN_ROOT:-}" "$HOME"/.claude/skills/feature-forge "$HOME"/.claude/plugins/cache/*/feature-forge/* "$HOME"/.claude/plugins/*/feature-forge "$HOME"/.agents/skills/feature-forge ./.agents/skills/feature-forge; do [ -x "$d/scripts/forge-root.sh" ] && exec "$d/scripts/forge-root.sh"; done')"
62
65
  [ -n "$R" ] || { echo "feature-forge: cannot locate plugin root" >&2; exit 1; }
63
66
  python3 "$R/scripts/forge-bootstrap.py" check "<target-dir>" --json --specs-dir ./specs
64
67
  ```
@@ -78,8 +81,8 @@ Read `CheckResult{eligible, disqualifying[], resumeMarker}`.
78
81
  Disqualifying files found:
79
82
  - package.json
80
83
  - src/index.ts
81
- To set forge up on an existing project, run: /feature-forge:forge-init
82
- Then start the pipeline with: /feature-forge:forge-1-prd <feature>
84
+ To set forge up on an existing project, run: forge-init
85
+ Then start the pipeline with: forge-1-prd <feature>
83
86
  ```
84
87
 
85
88
  - **`resumeMarker != null` → Partial-state detected.** A `.forge-bootstrap.json` sentinel
@@ -129,13 +132,18 @@ it null.
129
132
  `layout`, `license`, `members[]`, `modeB`, `modeBTarget`, `ci`, `commitStyle`, `author`,
130
133
  `host` — and pass it verbatim to `scaffold --answers '<json>'`. Invent no fields beyond that
131
134
  schema. Two fields come from your runtime, not the interview: `author` from `git config
132
- user.name` (else the project name; it is the LICENSE copyright holder), and `host` — `"claude"`
133
- when running under a Claude host (e.g. the host's question mechanism is available), else `"codex"`/`"other"`.
134
- `host` drives the host-conditional agent file: the helper always emits `AGENTS.md` and adds
135
- `CLAUDE.md` only when `host == "claude"`.
135
+ user.name` (else the project name; it is the LICENSE copyright holder), and `host` —
136
+ `"claude"` when you are running as Claude, else `"codex"`/`"other"`. Use your own runtime
137
+ identity, never a capability proxy: **do not** infer `"claude"` from host's question mechanism
138
+ availability alone — Pi's compatibility extension registers it too, so an available
139
+ question tool does not prove you are Claude specifically (host never implies, and is
140
+ never implied by, a capability; Interaction Capability Ladder,
141
+ `references/shared-conventions.md`). `host` drives the
142
+ host-conditional agent file: the helper always emits `AGENTS.md` and adds `CLAUDE.md` only
143
+ when `host == "claude"`.
136
144
 
137
145
  ```bash
138
- R="$(bash -c 'for d in "${FEATURE_FORGE_ROOT:-}" "$HOME"/.claude/skills/feature-forge "$HOME"/.claude/plugins/cache/*/feature-forge/* "$HOME"/.claude/plugins/*/feature-forge "$HOME"/.agents/skills/feature-forge ./.agents/skills/feature-forge; do [ -x "$d/scripts/forge-root.sh" ] && exec "$d/scripts/forge-root.sh"; done')"
146
+ R="$(bash -c '[ -z "${FEATURE_FORGE_ROOT:-}" ] || [ -x "$FEATURE_FORGE_ROOT/scripts/forge-root.sh" ] || { echo "feature-forge: FEATURE_FORGE_ROOT=$FEATURE_FORGE_ROOT has no scripts/forge-root.sh" >&2; exit 2; }; for d in "${FEATURE_FORGE_ROOT:-}" "${CLAUDE_PLUGIN_ROOT:-}" "$HOME"/.claude/skills/feature-forge "$HOME"/.claude/plugins/cache/*/feature-forge/* "$HOME"/.claude/plugins/*/feature-forge "$HOME"/.agents/skills/feature-forge ./.agents/skills/feature-forge; do [ -x "$d/scripts/forge-root.sh" ] && exec "$d/scripts/forge-root.sh"; done')"
139
147
  [ -n "$R" ] || { echo "feature-forge: cannot locate plugin root" >&2; exit 1; }
140
148
  python3 "$R/scripts/forge-bootstrap.py" scaffold "<target-dir>" --json --answers '<Answers JSON>'
141
149
  ```
@@ -143,7 +151,7 @@ python3 "$R/scripts/forge-bootstrap.py" scaffold "<target-dir>" --json --answers
143
151
  ### Step 5 — verify
144
152
 
145
153
  ```bash
146
- R="$(bash -c 'for d in "${FEATURE_FORGE_ROOT:-}" "$HOME"/.claude/skills/feature-forge "$HOME"/.claude/plugins/cache/*/feature-forge/* "$HOME"/.claude/plugins/*/feature-forge "$HOME"/.agents/skills/feature-forge ./.agents/skills/feature-forge; do [ -x "$d/scripts/forge-root.sh" ] && exec "$d/scripts/forge-root.sh"; done')"
154
+ R="$(bash -c '[ -z "${FEATURE_FORGE_ROOT:-}" ] || [ -x "$FEATURE_FORGE_ROOT/scripts/forge-root.sh" ] || { echo "feature-forge: FEATURE_FORGE_ROOT=$FEATURE_FORGE_ROOT has no scripts/forge-root.sh" >&2; exit 2; }; for d in "${FEATURE_FORGE_ROOT:-}" "${CLAUDE_PLUGIN_ROOT:-}" "$HOME"/.claude/skills/feature-forge "$HOME"/.claude/plugins/cache/*/feature-forge/* "$HOME"/.claude/plugins/*/feature-forge "$HOME"/.agents/skills/feature-forge ./.agents/skills/feature-forge; do [ -x "$d/scripts/forge-root.sh" ] && exec "$d/scripts/forge-root.sh"; done')"
147
155
  [ -n "$R" ] || { echo "feature-forge: cannot locate plugin root" >&2; exit 1; }
148
156
  python3 "$R/scripts/forge-bootstrap.py" verify "<target-dir>" --json --answers '<Answers JSON>'
149
157
  ```
@@ -169,7 +177,7 @@ and removes the sentinel before staging so it never enters history. Read
169
177
  leave the sentinel in-progress (resumable) — do **not** declare success.
170
178
 
171
179
  ```bash
172
- R="$(bash -c 'for d in "${FEATURE_FORGE_ROOT:-}" "$HOME"/.claude/skills/feature-forge "$HOME"/.claude/plugins/cache/*/feature-forge/* "$HOME"/.claude/plugins/*/feature-forge "$HOME"/.agents/skills/feature-forge ./.agents/skills/feature-forge; do [ -x "$d/scripts/forge-root.sh" ] && exec "$d/scripts/forge-root.sh"; done')"
180
+ R="$(bash -c '[ -z "${FEATURE_FORGE_ROOT:-}" ] || [ -x "$FEATURE_FORGE_ROOT/scripts/forge-root.sh" ] || { echo "feature-forge: FEATURE_FORGE_ROOT=$FEATURE_FORGE_ROOT has no scripts/forge-root.sh" >&2; exit 2; }; for d in "${FEATURE_FORGE_ROOT:-}" "${CLAUDE_PLUGIN_ROOT:-}" "$HOME"/.claude/skills/feature-forge "$HOME"/.claude/plugins/cache/*/feature-forge/* "$HOME"/.claude/plugins/*/feature-forge "$HOME"/.agents/skills/feature-forge ./.agents/skills/feature-forge; do [ -x "$d/scripts/forge-root.sh" ] && exec "$d/scripts/forge-root.sh"; done')"
173
181
  [ -n "$R" ] || { echo "feature-forge: cannot locate plugin root" >&2; exit 1; }
174
182
  python3 "$R/scripts/forge-bootstrap.py" commit "<target-dir>" --json --answers '<Answers JSON>' [--stage-only]
175
183
  ```
@@ -191,7 +199,7 @@ Bootstrap complete — pipeline-ready baseline.
191
199
  Kept: (none — README/LICENSE generated fresh)
192
200
  Verification: green (mypy ✓ pytest ✓)
193
201
  Commit: baseline committed (a1b2c3d)
194
- Next step: /feature-forge:forge-1-prd <feature>
202
+ Next step: forge-1-prd <feature>
195
203
  ```
196
204
 
197
205
  Unverified variant:
@@ -244,6 +252,6 @@ no run ends silently:
244
252
 
245
253
  This skill was authored Claude-first; the body above refers to "the host's question mechanism", "the host's subagent mechanism", and "the host's background-execution mechanism". Use your runtime's equivalent for each — and if your runtime has no such tool:
246
254
 
247
- - **User input:** ask the question directly and wait for the answer before proceeding. Do not skip a required question or assume an answer.
255
+ - **User input:** ask the question directly and wait for the answer when your runtime can prompt and wait; never assume one. Read whether it can from the Interaction Capability Ladder's `interaction-mode` record rather than judging it. When your runtime is genuinely non-interactive, take the Interaction Capability Ladder's declared conservative default, state it in your output, and use `no-default: abort — <question> requires a human answer` for an interview question with no sane default (`references/shared-conventions.md`).
248
256
  - **Subagents:** if your host cannot dispatch the named custom agent, run that step inline yourself.
249
257
  - **Background / monitoring:** run long-lived commands in the foreground (or your host's background facility) and report progress as it arrives.