@hassangameryt/freeflow 0.1.0 → 0.3.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 (630) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.claude-plugin/marketplace.json +2 -2
  3. package/{plugins/freeflow/.claude-plugin → .claude-plugin}/plugin.json +1 -1
  4. package/{plugins/freeflow/.codex-plugin → .codex-plugin}/plugin.json +1 -1
  5. package/README.md +25 -16
  6. package/assets/freeflow-plugin-icon.png +0 -0
  7. package/{plugins/freeflow/command-surface.json → command-surface.json} +10 -10
  8. package/evals/README.md +32 -0
  9. package/evals/fixtures/copy-conventions.md +31 -0
  10. package/evals/fixtures/output-router/README.md +12 -0
  11. package/evals/fixtures/output-router/failed-command-output.txt +9 -0
  12. package/evals/fixtures/output-router/large-router-manual.md +63 -0
  13. package/evals/fixtures/output-router/native-large-output.txt +40 -0
  14. package/evals/fixtures/output-router/noisy-test-output.txt +30 -0
  15. package/evals/fixtures/output-router/verification-output.txt +8 -0
  16. package/evals/fixtures/tiny-artifact-review-app/README.md +5 -0
  17. package/evals/fixtures/tiny-artifact-review-app/docs/billing-policy.md +10 -0
  18. package/evals/fixtures/tiny-artifact-review-app/docs/specs/billing-webhook-api-draft.md +21 -0
  19. package/evals/fixtures/tiny-artifact-review-app/docs/specs/failed-payment-grace-period.md +24 -0
  20. package/evals/fixtures/tiny-artifact-review-app/docs/specs/immediate-downgrade.md +17 -0
  21. package/evals/fixtures/tiny-artifact-review-app/tests/billing.test.md +8 -0
  22. package/evals/fixtures/tiny-commit-ambiguous-app/.freeflow-eval-setup.sh +15 -0
  23. package/evals/fixtures/tiny-commit-ambiguous-app/README.md +3 -0
  24. package/evals/fixtures/tiny-commit-ambiguous-app/src/billing.ts +5 -0
  25. package/evals/fixtures/tiny-commit-ambiguous-app/src/settings-page.ts +1 -0
  26. package/evals/fixtures/tiny-commit-ambiguous-app/tests/settings.test.md +5 -0
  27. package/evals/fixtures/tiny-commit-app/.freeflow-eval-setup.sh +14 -0
  28. package/evals/fixtures/tiny-commit-app/README.md +3 -0
  29. package/evals/fixtures/tiny-commit-app/docs/specs/settings-title.md +5 -0
  30. package/evals/fixtures/tiny-commit-app/src/billing.ts +5 -0
  31. package/evals/fixtures/tiny-commit-app/src/settings-page.ts +1 -0
  32. package/evals/fixtures/tiny-commit-app/tests/settings.test.md +5 -0
  33. package/evals/fixtures/tiny-commit-everything-app/.freeflow-eval-setup.sh +15 -0
  34. package/evals/fixtures/tiny-commit-everything-app/README.md +3 -0
  35. package/evals/fixtures/tiny-commit-everything-app/docs/specs/settings-title.md +5 -0
  36. package/evals/fixtures/tiny-commit-everything-app/src/billing.ts +5 -0
  37. package/evals/fixtures/tiny-commit-everything-app/src/settings-page.ts +1 -0
  38. package/evals/fixtures/tiny-commit-everything-app/tests/settings.test.md +5 -0
  39. package/evals/fixtures/tiny-commit-staged-app/.freeflow-eval-setup.sh +15 -0
  40. package/evals/fixtures/tiny-commit-staged-app/README.md +3 -0
  41. package/evals/fixtures/tiny-commit-staged-app/docs/specs/settings-title.md +5 -0
  42. package/evals/fixtures/tiny-commit-staged-app/src/billing.ts +5 -0
  43. package/evals/fixtures/tiny-commit-staged-app/src/settings-page.ts +1 -0
  44. package/evals/fixtures/tiny-commit-staged-app/tests/settings.test.md +5 -0
  45. package/evals/fixtures/tiny-commit-staged-mixed-app/.freeflow-eval-setup.sh +15 -0
  46. package/evals/fixtures/tiny-commit-staged-mixed-app/README.md +3 -0
  47. package/evals/fixtures/tiny-commit-staged-mixed-app/docs/billing-policy.md +3 -0
  48. package/evals/fixtures/tiny-commit-staged-mixed-app/docs/release-notes.md +3 -0
  49. package/evals/fixtures/tiny-commit-staged-mixed-app/src/billing.ts +5 -0
  50. package/evals/fixtures/tiny-dashboard-stale-app/README.md +11 -0
  51. package/evals/fixtures/tiny-dashboard-stale-app/src/api-client.ts +13 -0
  52. package/evals/fixtures/tiny-dashboard-stale-app/src/dashboard-data.ts +19 -0
  53. package/evals/fixtures/tiny-dashboard-stale-app/tests/dashboard-data.test.md +9 -0
  54. package/evals/fixtures/tiny-decision-destination-app/README.md +6 -0
  55. package/evals/fixtures/tiny-decision-destination-app/src/risk.ts +8 -0
  56. package/evals/fixtures/tiny-decision-destination-app/tests/risk.test.md +4 -0
  57. package/evals/fixtures/tiny-design-depth-app/README.md +15 -0
  58. package/evals/fixtures/tiny-design-depth-app/src/routes.ts +25 -0
  59. package/evals/fixtures/tiny-design-depth-app/src/sendEmail.ts +3 -0
  60. package/evals/fixtures/tiny-design-depth-app/src/sendSms.ts +3 -0
  61. package/evals/fixtures/tiny-design-depth-app/src/telemetry.ts +3 -0
  62. package/evals/fixtures/tiny-design-depth-app/tests/routes.test.md +12 -0
  63. package/evals/fixtures/tiny-eval-method-app/README.md +8 -0
  64. package/evals/fixtures/tiny-eval-method-app/evals/reports/review-pr-eval-result.md +5 -0
  65. package/evals/fixtures/tiny-eval-method-app/evals/reports/triage-question-failure.md +17 -0
  66. package/evals/fixtures/tiny-eval-method-app/evals/runs/review-pr-with-skill-output.diff +11 -0
  67. package/evals/fixtures/tiny-eval-method-app/evals/runs/review-pr-with-skill-output.md +3 -0
  68. package/evals/fixtures/tiny-eval-method-app/skills/review-pr/SKILL.md +10 -0
  69. package/evals/fixtures/tiny-eval-method-app/skills/triage-question/SKILL.md +10 -0
  70. package/evals/fixtures/tiny-execute-plan-app/README.md +5 -0
  71. package/evals/fixtures/tiny-execute-plan-app/checks/settings-and-billing-check.sh +5 -0
  72. package/evals/fixtures/tiny-execute-plan-app/docs/billing-policy.md +10 -0
  73. package/evals/fixtures/tiny-execute-plan-app/docs/plans/immediate-downgrade-plan.md +11 -0
  74. package/evals/fixtures/tiny-execute-plan-app/docs/plans/settings-title-plan.md +12 -0
  75. package/evals/fixtures/tiny-execute-plan-app/docs/plans/settings-title-with-bad-check.md +15 -0
  76. package/evals/fixtures/tiny-execute-plan-app/docs/plans/unverified-billing-plan.md +9 -0
  77. package/evals/fixtures/tiny-execute-plan-app/docs/specs/failed-payment-grace-period.md +9 -0
  78. package/evals/fixtures/tiny-execute-plan-app/docs/specs/settings-title.md +9 -0
  79. package/evals/fixtures/tiny-execute-plan-app/src/billing.ts +7 -0
  80. package/evals/fixtures/tiny-execute-plan-app/src/settings-page.ts +1 -0
  81. package/evals/fixtures/tiny-execute-plan-app/tests/billing.test.md +7 -0
  82. package/evals/fixtures/tiny-execute-plan-app/tests/settings.test.md +5 -0
  83. package/evals/fixtures/tiny-execute-review-loop-app/README.md +5 -0
  84. package/evals/fixtures/tiny-execute-review-loop-app/docs/billing-policy.md +9 -0
  85. package/evals/fixtures/tiny-execute-review-loop-app/docs/plans/settings-title-plan.md +12 -0
  86. package/evals/fixtures/tiny-execute-review-loop-app/docs/review/previous-agent-summary.md +15 -0
  87. package/evals/fixtures/tiny-execute-review-loop-app/docs/review/review-pass-1-non-pass.md +11 -0
  88. package/evals/fixtures/tiny-execute-review-loop-app/docs/specs/settings-title.md +9 -0
  89. package/evals/fixtures/tiny-execute-review-loop-app/src/billing.ts +7 -0
  90. package/evals/fixtures/tiny-execute-review-loop-app/src/settings-page.ts +1 -0
  91. package/evals/fixtures/tiny-execute-review-loop-app/tests/billing.test.md +7 -0
  92. package/evals/fixtures/tiny-execute-review-loop-app/tests/settings.test.md +5 -0
  93. package/evals/fixtures/tiny-flaky-session-app/README.md +10 -0
  94. package/evals/fixtures/tiny-flaky-session-app/src/session-timeout.ts +13 -0
  95. package/evals/fixtures/tiny-flaky-session-app/tests/session-timeout.test.md +8 -0
  96. package/evals/fixtures/tiny-handoff-app/README.md +5 -0
  97. package/evals/fixtures/tiny-handoff-app/docs/billing-policy.md +10 -0
  98. package/evals/fixtures/tiny-handoff-app/docs/handoffs/old-agent-handoff.md +8 -0
  99. package/evals/fixtures/tiny-handoff-app/docs/plans/billing-retry-plan.md +11 -0
  100. package/evals/fixtures/tiny-handoff-app/src/billing.ts +7 -0
  101. package/evals/fixtures/tiny-handoff-report-app/README.md +3 -0
  102. package/evals/fixtures/tiny-handoff-report-app/evals/runs/handoff-3/hof-003/with-skill-output.diff +1 -0
  103. package/evals/fixtures/tiny-handoff-report-app/evals/runs/handoff-3/hof-003/with-skill-output.md +1 -0
  104. package/evals/fixtures/tiny-handoff-report-app/evals/scores/hof-003-score.txt +4 -0
  105. package/evals/fixtures/tiny-plan-app/README.md +5 -0
  106. package/evals/fixtures/tiny-plan-app/docs/billing-policy.md +10 -0
  107. package/evals/fixtures/tiny-plan-app/docs/specs/failed-payment-grace-period.md +25 -0
  108. package/evals/fixtures/tiny-plan-app/src/billing.ts +17 -0
  109. package/evals/fixtures/tiny-plan-app/src/settings-page.ts +1 -0
  110. package/evals/fixtures/tiny-plan-app/tests/billing.test.md +8 -0
  111. package/evals/fixtures/tiny-plan-app/tests/settings.test.md +5 -0
  112. package/evals/fixtures/tiny-plan-strict-api-app/README.md +3 -0
  113. package/evals/fixtures/tiny-plan-strict-api-app/docs/billing-policy.md +5 -0
  114. package/evals/fixtures/tiny-plan-strict-api-app/docs/specs/billing-webhook-api.md +25 -0
  115. package/evals/fixtures/tiny-plan-strict-api-app/src/billing.ts +5 -0
  116. package/evals/fixtures/tiny-plan-strict-api-app/src/webhooks.ts +3 -0
  117. package/evals/fixtures/tiny-plan-strict-api-app/tests/billing-webhook.test.md +8 -0
  118. package/evals/fixtures/tiny-post-setup-invalid-config-app/.freeflow/config.json +3 -0
  119. package/evals/fixtures/tiny-post-setup-invalid-config-app/AGENTS.md +15 -0
  120. package/evals/fixtures/tiny-post-setup-invalid-config-app/README.md +16 -0
  121. package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/auth-review.md +15 -0
  122. package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/billing-policy.md +10 -0
  123. package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/copy-conventions.md +15 -0
  124. package/evals/fixtures/tiny-post-setup-invalid-config-app/src/auth-middleware.ts +12 -0
  125. package/evals/fixtures/tiny-post-setup-invalid-config-app/src/billing.ts +20 -0
  126. package/evals/fixtures/tiny-post-setup-invalid-config-app/src/login-copy.ts +1 -0
  127. package/evals/fixtures/tiny-post-setup-invalid-config-app/src/settings-page.ts +1 -0
  128. package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/auth-middleware.test.md +8 -0
  129. package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/billing.test.md +8 -0
  130. package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/copy.test.md +7 -0
  131. package/evals/fixtures/tiny-post-setup-missing-config-app/AGENTS.md +15 -0
  132. package/evals/fixtures/tiny-post-setup-missing-config-app/README.md +16 -0
  133. package/evals/fixtures/tiny-post-setup-missing-config-app/docs/auth-review.md +15 -0
  134. package/evals/fixtures/tiny-post-setup-missing-config-app/docs/billing-policy.md +10 -0
  135. package/evals/fixtures/tiny-post-setup-missing-config-app/docs/copy-conventions.md +15 -0
  136. package/evals/fixtures/tiny-post-setup-missing-config-app/src/auth-middleware.ts +12 -0
  137. package/evals/fixtures/tiny-post-setup-missing-config-app/src/billing.ts +20 -0
  138. package/evals/fixtures/tiny-post-setup-missing-config-app/src/login-copy.ts +1 -0
  139. package/evals/fixtures/tiny-post-setup-missing-config-app/src/settings-page.ts +1 -0
  140. package/evals/fixtures/tiny-post-setup-missing-config-app/tests/auth-middleware.test.md +8 -0
  141. package/evals/fixtures/tiny-post-setup-missing-config-app/tests/billing.test.md +8 -0
  142. package/evals/fixtures/tiny-post-setup-missing-config-app/tests/copy.test.md +7 -0
  143. package/evals/fixtures/tiny-post-setup-source-conflict-app/.freeflow/config.json +3 -0
  144. package/evals/fixtures/tiny-post-setup-source-conflict-app/AGENTS.md +15 -0
  145. package/evals/fixtures/tiny-post-setup-source-conflict-app/README.md +16 -0
  146. package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/auth-review.md +15 -0
  147. package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/billing-policy.md +10 -0
  148. package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/copy-conventions.md +15 -0
  149. package/evals/fixtures/tiny-post-setup-source-conflict-app/src/auth-middleware.ts +12 -0
  150. package/evals/fixtures/tiny-post-setup-source-conflict-app/src/billing.ts +20 -0
  151. package/evals/fixtures/tiny-post-setup-source-conflict-app/src/login-copy.ts +1 -0
  152. package/evals/fixtures/tiny-post-setup-source-conflict-app/src/settings-page.ts +1 -0
  153. package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/auth-middleware.test.md +8 -0
  154. package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/billing.test.md +8 -0
  155. package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/copy.test.md +7 -0
  156. package/evals/fixtures/tiny-report-performance-app/README.md +11 -0
  157. package/evals/fixtures/tiny-report-performance-app/docs/performance.md +10 -0
  158. package/evals/fixtures/tiny-report-performance-app/src/report-summary.ts +29 -0
  159. package/evals/fixtures/tiny-report-performance-app/tests/report-performance.test.md +8 -0
  160. package/evals/fixtures/tiny-review-request-app/README.md +3 -0
  161. package/evals/fixtures/tiny-review-request-app/docs/billing-policy.md +5 -0
  162. package/evals/fixtures/tiny-review-request-app/docs/plans/billing-webhook-api.md +19 -0
  163. package/evals/fixtures/tiny-review-request-app/docs/review/previous-agent-summary.md +20 -0
  164. package/evals/fixtures/tiny-review-request-app/docs/specs/billing-webhook-api.md +25 -0
  165. package/evals/fixtures/tiny-review-request-app/src/billing.ts +11 -0
  166. package/evals/fixtures/tiny-review-request-app/src/webhooks.ts +19 -0
  167. package/evals/fixtures/tiny-review-request-app/tests/billing-webhook.test.md +8 -0
  168. package/evals/fixtures/tiny-review-work-app/README.md +5 -0
  169. package/evals/fixtures/tiny-review-work-app/docs/billing-policy.md +9 -0
  170. package/evals/fixtures/tiny-review-work-app/docs/plans/settings-title-plan.md +12 -0
  171. package/evals/fixtures/tiny-review-work-app/docs/review/previous-agent-summary.md +15 -0
  172. package/evals/fixtures/tiny-review-work-app/docs/specs/settings-title.md +9 -0
  173. package/evals/fixtures/tiny-review-work-app/src/billing.ts +7 -0
  174. package/evals/fixtures/tiny-review-work-app/src/settings-page.ts +1 -0
  175. package/evals/fixtures/tiny-review-work-app/tests/billing.test.md +7 -0
  176. package/evals/fixtures/tiny-review-work-app/tests/settings.test.md +5 -0
  177. package/evals/fixtures/tiny-saas-app/README.md +16 -0
  178. package/evals/fixtures/tiny-saas-app/docs/auth-review.md +15 -0
  179. package/evals/fixtures/tiny-saas-app/docs/billing-policy.md +10 -0
  180. package/evals/fixtures/tiny-saas-app/docs/copy-conventions.md +15 -0
  181. package/evals/fixtures/tiny-saas-app/docs/specs/settings-title.md +13 -0
  182. package/evals/fixtures/tiny-saas-app/src/auth-middleware.ts +12 -0
  183. package/evals/fixtures/tiny-saas-app/src/billing.ts +20 -0
  184. package/evals/fixtures/tiny-saas-app/src/login-copy.ts +1 -0
  185. package/evals/fixtures/tiny-saas-app/src/settings-page.ts +1 -0
  186. package/evals/fixtures/tiny-saas-app/tests/auth-middleware.test.md +8 -0
  187. package/evals/fixtures/tiny-saas-app/tests/billing.test.md +8 -0
  188. package/evals/fixtures/tiny-saas-app/tests/copy.test.md +7 -0
  189. package/evals/fixtures/tiny-setup-agents-app/AGENTS.md +6 -0
  190. package/evals/fixtures/tiny-setup-both-app/AGENTS.md +5 -0
  191. package/evals/fixtures/tiny-setup-both-app/CLAUDE.md +5 -0
  192. package/evals/fixtures/tiny-setup-claude-app/CLAUDE.md +6 -0
  193. package/evals/fixtures/tiny-setup-codex-rules-app/.codex/rules/shell.rules +5 -0
  194. package/evals/fixtures/tiny-setup-codex-rules-app/AGENTS.md +6 -0
  195. package/evals/fixtures/tiny-setup-conflict-app/AGENTS.md +6 -0
  196. package/evals/fixtures/tiny-setup-existing-block-app/AGENTS.md +14 -0
  197. package/evals/fixtures/tiny-setup-four-rules-app/CLAUDE.md +6 -0
  198. package/evals/fixtures/tiny-skill-dev-app/README.md +10 -0
  199. package/evals/fixtures/tiny-skill-dev-app/evals/prompts/review-pr-001.txt +8 -0
  200. package/evals/fixtures/tiny-skill-dev-app/evals/reports/review-pr-failure.md +17 -0
  201. package/evals/fixtures/tiny-skill-dev-app/skills/review-pr/SKILL.md +13 -0
  202. package/evals/fixtures/tiny-team-app/README.md +5 -0
  203. package/evals/fixtures/tiny-team-app/docs/product.md +6 -0
  204. package/evals/fixtures/tiny-team-app/src/teams.ts +9 -0
  205. package/evals/fixtures/tiny-team-app/src/users.ts +5 -0
  206. package/evals/fixtures/tiny-team-app/tests/teams.test.md +7 -0
  207. package/evals/fixtures/tiny-verify-app/README.md +5 -0
  208. package/evals/fixtures/tiny-verify-app/src/settings-nav.ts +1 -0
  209. package/evals/fixtures/tiny-verify-app/src/settings-page.ts +1 -0
  210. package/evals/fixtures/tiny-verify-app/tests/settings.test.md +7 -0
  211. package/evals/prompts/aon-001.txt +2 -0
  212. package/evals/prompts/byp-001.txt +2 -0
  213. package/evals/prompts/byp-002.txt +2 -0
  214. package/evals/prompts/cap-001.txt +3 -0
  215. package/evals/prompts/cap-002.txt +3 -0
  216. package/evals/prompts/cmd-001.txt +3 -0
  217. package/evals/prompts/cmd-002.txt +3 -0
  218. package/evals/prompts/cmd-003.txt +6 -0
  219. package/evals/prompts/cmd-004.txt +5 -0
  220. package/evals/prompts/cmd-005.txt +5 -0
  221. package/evals/prompts/cmd-006.txt +5 -0
  222. package/evals/prompts/cmd-007.txt +5 -0
  223. package/evals/prompts/cmd-008.txt +5 -0
  224. package/evals/prompts/cmd-009.txt +8 -0
  225. package/evals/prompts/cmd-010.txt +5 -0
  226. package/evals/prompts/cmd-011.txt +5 -0
  227. package/evals/prompts/cmd-012.txt +5 -0
  228. package/evals/prompts/cmd-013.txt +5 -0
  229. package/evals/prompts/cmd-014.txt +7 -0
  230. package/evals/prompts/cmd-015.txt +7 -0
  231. package/evals/prompts/cmd-016.txt +5 -0
  232. package/evals/prompts/cmt-001.txt +1 -0
  233. package/evals/prompts/cmt-002.txt +1 -0
  234. package/evals/prompts/cmt-003.txt +1 -0
  235. package/evals/prompts/cmt-004.txt +1 -0
  236. package/evals/prompts/cmt-005.txt +1 -0
  237. package/evals/prompts/dfd-001.txt +3 -0
  238. package/evals/prompts/dia-001.txt +3 -0
  239. package/evals/prompts/dia-002.txt +3 -0
  240. package/evals/prompts/dia-003.txt +3 -0
  241. package/evals/prompts/dis-001.txt +5 -0
  242. package/evals/prompts/dis-002.txt +5 -0
  243. package/evals/prompts/esk-001.txt +5 -0
  244. package/evals/prompts/esk-002.txt +5 -0
  245. package/evals/prompts/esk-003.txt +5 -0
  246. package/evals/prompts/grc-001.txt +3 -0
  247. package/evals/prompts/hof-001.txt +3 -0
  248. package/evals/prompts/hof-002.txt +1 -0
  249. package/evals/prompts/hof-003.txt +1 -0
  250. package/evals/prompts/hof-004.txt +1 -0
  251. package/evals/prompts/hof-005.txt +1 -0
  252. package/evals/prompts/ivg-001.txt +1 -0
  253. package/evals/prompts/ivg-002.txt +11 -0
  254. package/evals/prompts/ivg-003.txt +1 -0
  255. package/evals/prompts/ivg-004.txt +1 -0
  256. package/evals/prompts/mode-001.txt +3 -0
  257. package/evals/prompts/mode-002.txt +1 -0
  258. package/evals/prompts/mode-003.txt +3 -0
  259. package/evals/prompts/mode-004.txt +3 -0
  260. package/evals/prompts/mode-005.txt +3 -0
  261. package/evals/prompts/mode-006.txt +3 -0
  262. package/evals/prompts/mode-007.txt +3 -0
  263. package/evals/prompts/otr-001.txt +3 -0
  264. package/evals/prompts/otr-002.txt +3 -0
  265. package/evals/prompts/rar-001.txt +5 -0
  266. package/evals/prompts/rar-002.txt +3 -0
  267. package/evals/prompts/rar-003.txt +6 -0
  268. package/evals/prompts/rar-004.txt +15 -0
  269. package/evals/prompts/rar-005.txt +10 -0
  270. package/evals/prompts/rbr-001.txt +3 -0
  271. package/evals/prompts/rbr-002.txt +3 -0
  272. package/evals/prompts/rbr-003.txt +7 -0
  273. package/evals/prompts/rev-001.txt +3 -0
  274. package/evals/prompts/rev-002.txt +5 -0
  275. package/evals/prompts/rev-003.txt +6 -0
  276. package/evals/prompts/rev-004.txt +1 -0
  277. package/evals/prompts/rev-005.txt +15 -0
  278. package/evals/prompts/rev-006.txt +5 -0
  279. package/evals/prompts/stp-001.txt +1 -0
  280. package/evals/prompts/stp-002.txt +1 -0
  281. package/evals/prompts/stp-003.txt +1 -0
  282. package/evals/prompts/stp-004.txt +1 -0
  283. package/evals/prompts/stp-005.txt +1 -0
  284. package/evals/prompts/stp-006.txt +1 -0
  285. package/evals/prompts/stp-007.txt +1 -0
  286. package/evals/prompts/stp-008.txt +1 -0
  287. package/evals/prompts/stp-009.txt +1 -0
  288. package/evals/prompts/stp-010.txt +1 -0
  289. package/evals/prompts/stp-011.txt +1 -0
  290. package/evals/prompts/vfy-003.txt +1 -0
  291. package/evals/prompts/wpl-001.txt +3 -0
  292. package/evals/prompts/wpl-002.txt +5 -0
  293. package/evals/prompts/wpl-003.txt +3 -0
  294. package/evals/prompts/wpl-004.txt +5 -0
  295. package/evals/prompts/wpl-005.txt +1 -0
  296. package/evals/prompts/wrc-001.txt +10 -0
  297. package/evals/prompts/wrc-002.txt +3 -0
  298. package/evals/prompts/wsk-001.txt +6 -0
  299. package/evals/prompts/wsp-001.txt +5 -0
  300. package/evals/prompts/wsp-002.txt +15 -0
  301. package/evals/prompts/wsp-003.txt +3 -0
  302. package/evals/prompts/wsp-004.txt +15 -0
  303. package/evals/prompts/wsp-005.txt +5 -0
  304. package/evals/prompts/wsp-006.txt +12 -0
  305. package/evals/prompts/wsp-007.txt +9 -0
  306. package/evals/prompts/wsp-008.txt +13 -0
  307. package/evals/prompts/xpl-001.txt +1 -0
  308. package/evals/prompts/xpl-002.txt +3 -0
  309. package/evals/prompts/xpl-003.txt +3 -0
  310. package/evals/prompts/xpl-004.txt +3 -0
  311. package/evals/prompts/xpl-005.txt +5 -0
  312. package/evals/prompts/xpl-006.txt +3 -0
  313. package/evals/registries/adversarial-evals.json +39 -0
  314. package/evals/registries/fixture-evals.json +2513 -0
  315. package/evals/registries/handoff-evals.json +74 -0
  316. package/evals/registries/legacy-evals.json +147 -0
  317. package/evals/registries/skill-evidence.json +193 -0
  318. package/evals/registries/verify-work-evals.json +46 -0
  319. package/evals/reports/acceptance/v0.1-acceptance-report.md +130 -0
  320. package/evals/reports/by-command-surface/command-surface-1-report.md +45 -0
  321. package/evals/reports/by-command-surface/command-surface-10-report.md +76 -0
  322. package/evals/reports/by-command-surface/command-surface-11-report.md +77 -0
  323. package/evals/reports/by-command-surface/command-surface-12-report.md +91 -0
  324. package/evals/reports/by-command-surface/command-surface-13-report.md +64 -0
  325. package/evals/reports/by-command-surface/command-surface-14-report.md +66 -0
  326. package/evals/reports/by-command-surface/command-surface-15-report.md +124 -0
  327. package/evals/reports/by-command-surface/command-surface-16-report.md +39 -0
  328. package/evals/reports/by-command-surface/command-surface-2-report.md +80 -0
  329. package/evals/reports/by-command-surface/command-surface-3-report.md +86 -0
  330. package/evals/reports/by-command-surface/command-surface-4-report.md +76 -0
  331. package/evals/reports/by-command-surface/command-surface-5-report.md +80 -0
  332. package/evals/reports/by-command-surface/command-surface-6-report.md +74 -0
  333. package/evals/reports/by-command-surface/command-surface-7-report.md +84 -0
  334. package/evals/reports/by-command-surface/command-surface-8-report.md +79 -0
  335. package/evals/reports/by-command-surface/command-surface-9-report.md +79 -0
  336. package/evals/reports/by-command-surface/command-surface-matrix.md +91 -0
  337. package/evals/reports/by-skill/bypass-1-report.md +124 -0
  338. package/evals/reports/by-skill/capture-decisions-1-report.md +99 -0
  339. package/evals/reports/by-skill/capture-decisions-2-report.md +102 -0
  340. package/evals/reports/by-skill/commit-work-1-report.md +165 -0
  341. package/evals/reports/by-skill/commit-work-2-report.md +109 -0
  342. package/evals/reports/by-skill/design-for-depth-1-report.md +95 -0
  343. package/evals/reports/by-skill/diagnose-failure-1-report.md +91 -0
  344. package/evals/reports/by-skill/diagnose-failure-2-report.md +94 -0
  345. package/evals/reports/by-skill/discover-1-report.md +118 -0
  346. package/evals/reports/by-skill/evaluate-skill-2-report.md +71 -0
  347. package/evals/reports/by-skill/execute-plan-1-report.md +103 -0
  348. package/evals/reports/by-skill/execute-plan-2-report.md +112 -0
  349. package/evals/reports/by-skill/execute-plan-3-report.md +87 -0
  350. package/evals/reports/by-skill/grill-context-1-report.md +103 -0
  351. package/evals/reports/by-skill/handoff-1-report.md +123 -0
  352. package/evals/reports/by-skill/handoff-2-report.md +105 -0
  353. package/evals/reports/by-skill/handoff-3-report.md +100 -0
  354. package/evals/reports/by-skill/handoff-7-report.md +77 -0
  355. package/evals/reports/by-skill/interview-gate-1-report.md +63 -0
  356. package/evals/reports/by-skill/interview-gate-2-report.md +105 -0
  357. package/evals/reports/by-skill/mode-contract-1-report.md +74 -0
  358. package/evals/reports/by-skill/mode-contract-2-report.md +87 -0
  359. package/evals/reports/by-skill/mode-contract-3-report.md +65 -0
  360. package/evals/reports/by-skill/mode-contract-4-report.md +71 -0
  361. package/evals/reports/by-skill/mode-contract-5-report.md +70 -0
  362. package/evals/reports/by-skill/output-router-1-report.md +76 -0
  363. package/evals/reports/by-skill/output-router-2-report.md +65 -0
  364. package/evals/reports/by-skill/research-1-report.md +144 -0
  365. package/evals/reports/by-skill/research-brief-1-report.md +94 -0
  366. package/evals/reports/by-skill/research-brief-2-report.md +75 -0
  367. package/evals/reports/by-skill/review-artifact-1-report.md +91 -0
  368. package/evals/reports/by-skill/review-artifact-2-report.md +79 -0
  369. package/evals/reports/by-skill/review-artifact-3-report.md +120 -0
  370. package/evals/reports/by-skill/review-artifact-4-report.md +89 -0
  371. package/evals/reports/by-skill/review-artifact-5-report.md +66 -0
  372. package/evals/reports/by-skill/review-work-1-report.md +85 -0
  373. package/evals/reports/by-skill/review-work-2-report.md +87 -0
  374. package/evals/reports/by-skill/review-work-3-report.md +104 -0
  375. package/evals/reports/by-skill/review-work-4-report.md +108 -0
  376. package/evals/reports/by-skill/review-work-5-report.md +73 -0
  377. package/evals/reports/by-skill/review-work-6-report.md +66 -0
  378. package/evals/reports/by-skill/setup-freeflow-1-report.md +199 -0
  379. package/evals/reports/by-skill/setup-freeflow-2-report.md +105 -0
  380. package/evals/reports/by-skill/setup-freeflow-3-report.md +105 -0
  381. package/evals/reports/by-skill/setup-freeflow-4-report.md +88 -0
  382. package/evals/reports/by-skill/setup-freeflow-5-report.md +115 -0
  383. package/evals/reports/by-skill/skill-authoring-1-report.md +81 -0
  384. package/evals/reports/by-skill/verify-work-1-report.md +111 -0
  385. package/evals/reports/by-skill/verify-work-2-report.md +120 -0
  386. package/evals/reports/by-skill/workflow-1-report.md +65 -0
  387. package/evals/reports/by-skill/write-plan-1-report.md +123 -0
  388. package/evals/reports/by-skill/write-plan-2-report.md +98 -0
  389. package/evals/reports/by-skill/write-plan-3-report.md +110 -0
  390. package/evals/reports/by-skill/write-spec-1-report.md +88 -0
  391. package/evals/reports/by-skill/write-spec-2-report.md +89 -0
  392. package/evals/reports/by-skill/write-spec-3-report.md +90 -0
  393. package/evals/reports/by-skill/write-spec-4-report.md +167 -0
  394. package/evals/reports/harness/claude-harness-1-report.md +103 -0
  395. package/evals/reports/harness/eval-harness-1-report.md +91 -0
  396. package/evals/reports/iterations/iteration-1-report.md +71 -0
  397. package/evals/reports/iterations/iteration-2-report.md +78 -0
  398. package/evals/reports/iterations/iteration-3-report.md +118 -0
  399. package/evals/reports/iterations/iteration-4-report.md +131 -0
  400. package/evals/reports/iterations/iteration-5-report.md +149 -0
  401. package/evals/reports/iterations/iteration-6-report.md +136 -0
  402. package/evals/reports/runtime/always-on-runtime-1-report.md +107 -0
  403. package/evals/reports/runtime/context-mode-normalized-benchmark-1-report.md +52 -0
  404. package/evals/reports/runtime/context-mode-real-deep-baseline-1-report.md +410 -0
  405. package/evals/reports/runtime/context-mode-real-deep-final-slice-11-report.md +203 -0
  406. package/evals/reports/runtime/context-mode-real-deep-final-slice-11-review.md +51 -0
  407. package/evals/reports/runtime/context-saving-native-tools-baseline-1-report.md +99 -0
  408. package/evals/reports/runtime/eryx-python-compatibility-reprobe-1-report.md +166 -0
  409. package/evals/reports/runtime/eryx-python-proof-spike-1-report.md +96 -0
  410. package/evals/reports/runtime/eryx-python-proof-spike-2-report.md +151 -0
  411. package/evals/reports/runtime/eryx-python-script-derive-execution-1-report.md +233 -0
  412. package/evals/reports/runtime/jq-script-derive-execution-1-report.md +215 -0
  413. package/evals/reports/runtime/jq-wasm-proof-spike-1-report.md +67 -0
  414. package/evals/reports/runtime/output-router-benchmark-1-report.md +81 -0
  415. package/evals/reports/runtime/output-router-capture-derive-provider-eval-1-report.md +35 -0
  416. package/evals/reports/runtime/output-router-codex-large-index-sqlite-adhoc-report.md +150 -0
  417. package/evals/reports/runtime/output-router-codex-qa-benchmark-1-report.md +46 -0
  418. package/evals/reports/runtime/output-router-command-benchmark-1-report.md +62 -0
  419. package/evals/reports/runtime/output-router-index-benchmark-1-report.md +64 -0
  420. package/evals/reports/runtime/output-router-regression-1-report.md +81 -0
  421. package/evals/reports/runtime/output-router-transform-eval-1-report.md +28 -0
  422. package/evals/reports/runtime/pi-observed-routing-eval-1-report.md +44 -0
  423. package/evals/reports/runtime/quickjs-script-derive-execution-1-report.md +159 -0
  424. package/evals/reports/runtime/quickjs-wasi-proof-spike-1-report.md +55 -0
  425. package/evals/reports/runtime/render-format-row-protocol-1-report.md +58 -0
  426. package/evals/reports/runtime/script-sandbox-adapter-selection-review-1-report.md +84 -0
  427. package/evals/reports/runtime/script-sandbox-probe-resource-hardening-1-report.md +51 -0
  428. package/evals/reports/runtime/storage-policy-benchmark-1-report.md +176 -0
  429. package/evals/reports/runtime/vault-index-storage-spike-1-report.md +39 -0
  430. package/evals/reports/runtime/workflow-context-hook-1-report.md +82 -0
  431. package/evals/runbooks/adversarial-eval-runbook.md +28 -0
  432. package/evals/runbooks/fixture-eval-runbook.md +137 -0
  433. package/evals/runbooks/handoff-eval-runbook.md +22 -0
  434. package/evals/runbooks/verify-work-eval-runbook.md +27 -0
  435. package/evals/scripts/audit-command-surface.sh +160 -0
  436. package/evals/scripts/check-activation-contract.sh +121 -0
  437. package/evals/scripts/check-runtime-context-hook.sh +183 -0
  438. package/evals/scripts/grade-fixture-eval.sh +446 -0
  439. package/evals/scripts/run-claude-fixture-eval.sh +26 -0
  440. package/evals/scripts/run-codex-fixture-eval.sh +26 -0
  441. package/evals/scripts/run-eryx-python-proof-spike.js +559 -0
  442. package/evals/scripts/run-fixture-eval-by-id.sh +23 -0
  443. package/evals/scripts/run-fixture-eval.sh +464 -0
  444. package/evals/scripts/run-jq-wasm-proof-spike.js +299 -0
  445. package/evals/scripts/run-output-router-transform-eval.js +115 -0
  446. package/evals/scripts/run-pi-observed-routing-eval.js +478 -0
  447. package/evals/scripts/run-quickjs-wasi-proof-spike.js +339 -0
  448. package/evals/scripts/skill-evidence.sh +316 -0
  449. package/evals/scripts/validate-release-metadata.sh +486 -0
  450. package/evals/suites/v0.1-acceptance-suite.md +131 -0
  451. package/{plugins/freeflow/hooks → hooks}/freeflow-runtime-context.mjs +65 -14
  452. package/package.json +46 -13
  453. package/pi-extension/dist/host-producer-identification.js +186 -0
  454. package/pi-extension/dist/index.js +85 -0
  455. package/pi-extension/dist/mcp-config.js +30 -0
  456. package/pi-extension/dist/native-safety-net.js +209 -0
  457. package/pi-extension/dist/observed-tool-routing.js +114 -0
  458. package/pi-extension/dist/renderers.js +835 -0
  459. package/pi-extension/dist/router-tools.js +438 -0
  460. package/pi-extension/dist/runtime-context.js +288 -0
  461. package/pi-extension/dist/schemas.js +254 -0
  462. package/pi-extension/dist/status.js +449 -0
  463. package/pi-extension/dist/utils.js +467 -0
  464. package/pi-extension/src/host-producer-identification.ts +226 -0
  465. package/pi-extension/src/index.ts +121 -0
  466. package/pi-extension/src/mcp-config.ts +32 -0
  467. package/pi-extension/src/native-safety-net.ts +252 -0
  468. package/pi-extension/src/observed-tool-routing.ts +126 -0
  469. package/pi-extension/src/renderers.ts +917 -0
  470. package/pi-extension/src/router-tools.ts +478 -0
  471. package/pi-extension/src/runtime-context.ts +347 -0
  472. package/pi-extension/src/schemas.ts +259 -0
  473. package/pi-extension/src/status.ts +505 -0
  474. package/pi-extension/src/utils.ts +492 -0
  475. package/pi-extension/tsconfig.json +16 -0
  476. package/plugin-docs/README.md +40 -0
  477. package/plugin-docs/adr/0002-evals-before-hooks.md +17 -0
  478. package/{plugins/freeflow/docs → plugin-docs}/adr/0003-release-boundary.md +2 -2
  479. package/plugin-docs/adr/0004-discover-replaces-shallow-discovery-skills.md +26 -0
  480. package/plugin-docs/adr/README.md +10 -0
  481. package/plugin-docs/architecture.md +89 -0
  482. package/plugin-docs/output-router.md +396 -0
  483. package/plugin-docs/release-evidence.md +77 -0
  484. package/{plugins/freeflow/docs → plugin-docs}/skills.md +7 -7
  485. package/{plugins/freeflow/docs → plugin-docs}/workflow.md +4 -4
  486. package/router/dist/benchmarks/benchmark-harness.d.ts +32 -0
  487. package/router/dist/benchmarks/benchmark-harness.js +92 -0
  488. package/router/dist/benchmarks/benchmarks.d.ts +102 -0
  489. package/router/dist/benchmarks/benchmarks.js +880 -0
  490. package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +91 -0
  491. package/router/dist/benchmarks/codex-qa-benchmarks.js +461 -0
  492. package/router/dist/benchmarks/command-benchmarks.d.ts +128 -0
  493. package/router/dist/benchmarks/command-benchmarks.js +653 -0
  494. package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +74 -0
  495. package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +707 -0
  496. package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +124 -0
  497. package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +1295 -0
  498. package/router/dist/benchmarks/context-saving-baseline.d.ts +54 -0
  499. package/router/dist/benchmarks/context-saving-baseline.js +439 -0
  500. package/router/dist/benchmarks/index-benchmarks.d.ts +98 -0
  501. package/router/dist/benchmarks/index-benchmarks.js +762 -0
  502. package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +90 -0
  503. package/router/dist/benchmarks/storage-policy-benchmarks.js +538 -0
  504. package/router/dist/benchmarks/vault-index-benchmarks.d.ts +47 -0
  505. package/router/dist/benchmarks/vault-index-benchmarks.js +257 -0
  506. package/router/dist/config/config.d.ts +96 -0
  507. package/router/dist/config/config.js +453 -0
  508. package/router/dist/config/router-contract.d.ts +10 -0
  509. package/router/dist/config/router-contract.js +54 -0
  510. package/router/dist/config/schema.d.ts +18 -0
  511. package/router/dist/config/schema.js +600 -0
  512. package/router/dist/config/types.d.ts +521 -0
  513. package/router/dist/config/types.js +30 -0
  514. package/router/dist/evidence/bounded-evidence.d.ts +40 -0
  515. package/router/dist/evidence/bounded-evidence.js +310 -0
  516. package/router/dist/evidence/evidence-range-selector.d.ts +22 -0
  517. package/router/dist/evidence/evidence-range-selector.js +231 -0
  518. package/router/dist/evidence/evidence-search.d.ts +25 -0
  519. package/router/dist/evidence/evidence-search.js +466 -0
  520. package/router/dist/evidence/evidence.d.ts +38 -0
  521. package/router/dist/evidence/evidence.js +196 -0
  522. package/router/dist/evidence/failure-contracts.d.ts +27 -0
  523. package/router/dist/evidence/failure-contracts.js +160 -0
  524. package/router/dist/evidence/line-ranges.d.ts +22 -0
  525. package/router/dist/evidence/line-ranges.js +22 -0
  526. package/router/dist/experiments/local-index.d.ts +58 -0
  527. package/router/dist/experiments/local-index.js +562 -0
  528. package/router/dist/index.d.ts +30 -0
  529. package/router/dist/index.js +32 -0
  530. package/router/dist/processing/engine.d.ts +108 -0
  531. package/router/dist/processing/engine.js +435 -0
  532. package/router/dist/processing/reducers.d.ts +266 -0
  533. package/router/dist/processing/reducers.js +1495 -0
  534. package/router/dist/processing/renderers.d.ts +25 -0
  535. package/router/dist/processing/renderers.js +186 -0
  536. package/router/dist/processing/scripts.d.ts +78 -0
  537. package/router/dist/processing/scripts.js +333 -0
  538. package/router/dist/repo/repo-traversal.d.ts +18 -0
  539. package/router/dist/repo/repo-traversal.js +242 -0
  540. package/router/dist/routing/observed-reducers.d.ts +35 -0
  541. package/router/dist/routing/observed-reducers.js +647 -0
  542. package/router/dist/routing/observed-routing.d.ts +17 -0
  543. package/router/dist/routing/observed-routing.js +377 -0
  544. package/router/dist/routing/parsers.d.ts +16 -0
  545. package/router/dist/routing/parsers.js +473 -0
  546. package/router/dist/routing/run-filters.d.ts +56 -0
  547. package/router/dist/routing/run-filters.js +230 -0
  548. package/router/dist/routing/run-reducers.d.ts +30 -0
  549. package/router/dist/routing/run-reducers.js +110 -0
  550. package/router/dist/sandbox/adapter-roots.d.ts +38 -0
  551. package/router/dist/sandbox/adapter-roots.js +64 -0
  552. package/router/dist/sandbox/eryx-python-adapter.d.ts +9 -0
  553. package/router/dist/sandbox/eryx-python-adapter.js +797 -0
  554. package/router/dist/sandbox/jq-wasm-adapter.d.ts +9 -0
  555. package/router/dist/sandbox/jq-wasm-adapter.js +421 -0
  556. package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +9 -0
  557. package/router/dist/sandbox/quickjs-wasi-adapter.js +381 -0
  558. package/router/dist/sandbox/script-sandbox.d.ts +113 -0
  559. package/router/dist/sandbox/script-sandbox.js +303 -0
  560. package/router/dist/setup/script-transform-adapters.d.ts +28 -0
  561. package/router/dist/setup/script-transform-adapters.js +259 -0
  562. package/router/dist/tools/batch.d.ts +22 -0
  563. package/router/dist/tools/batch.js +509 -0
  564. package/router/dist/tools/run.d.ts +50 -0
  565. package/router/dist/tools/run.js +1219 -0
  566. package/router/dist/tools/search.d.ts +44 -0
  567. package/router/dist/tools/search.js +1205 -0
  568. package/router/dist/transform/engine.d.ts +143 -0
  569. package/router/dist/transform/engine.js +1955 -0
  570. package/router/dist/vault/vault-index.d.ts +106 -0
  571. package/router/dist/vault/vault-index.js +411 -0
  572. package/router/dist/vault/vault.d.ts +103 -0
  573. package/router/dist/vault/vault.js +635 -0
  574. package/{plugins/freeflow/skills → skills}/commit-work/SKILL.md +17 -16
  575. package/{plugins/freeflow/skills → skills}/commit-work/references/staging-decisions.md +3 -3
  576. package/skills/design-for-depth/SKILL.md +90 -0
  577. package/skills/design-for-depth/references/design-pressure-signals.md +265 -0
  578. package/skills/design-for-depth/references/software-design-philosophy.md +219 -0
  579. package/{plugins/freeflow/skills → skills}/diagnose-failure/SKILL.md +6 -1
  580. package/skills/discover/ARTIFACT-DESTINATIONS.md +58 -0
  581. package/skills/discover/CHECKPOINTS.md +74 -0
  582. package/skills/discover/SKILL.md +173 -0
  583. package/skills/execute-plan/SKILL.md +133 -0
  584. package/skills/execute-plan/references/execution-map.md +122 -0
  585. package/{plugins/freeflow/skills → skills}/mode-contract/SKILL.md +10 -5
  586. package/skills/output-router/SKILL.md +202 -0
  587. package/skills/output-router/references/safety-policy.md +40 -0
  588. package/{plugins/freeflow/skills → skills}/review-artifact/SKILL.md +37 -1
  589. package/{plugins/freeflow/skills → skills}/review-artifact/references/reviewer-prompt.md +14 -2
  590. package/skills/review-work/SKILL.md +101 -0
  591. package/{plugins/freeflow/skills → skills}/review-work/references/reviewer-prompt.md +8 -0
  592. package/skills/setup-freeflow/SKILL.md +106 -0
  593. package/{plugins/freeflow/skills → skills}/setup-freeflow/references/activation-contract.md +14 -8
  594. package/{plugins/freeflow/skills → skills}/setup-freeflow/references/host-setup.md +5 -3
  595. package/skills/setup-freeflow/references/output-router-setup.md +102 -0
  596. package/{plugins/freeflow/skills → skills}/verify-work/SKILL.md +3 -1
  597. package/{plugins/freeflow/skills → skills}/workflow/SKILL.md +23 -13
  598. package/{plugins/freeflow/skills → skills}/workflow/references/workflow-map.md +21 -20
  599. package/{plugins/freeflow/skills → skills}/write-plan/SKILL.md +9 -1
  600. package/{plugins/freeflow/skills → skills}/write-skill/SKILL.md +1 -1
  601. package/{plugins/freeflow/skills → skills}/write-spec/SKILL.md +9 -6
  602. package/plugins/freeflow/docs/README.md +0 -39
  603. package/plugins/freeflow/docs/adr/0002-evals-before-hooks.md +0 -17
  604. package/plugins/freeflow/docs/adr/README.md +0 -7
  605. package/plugins/freeflow/docs/architecture.md +0 -86
  606. package/plugins/freeflow/docs/release-evidence.md +0 -49
  607. package/plugins/freeflow/pi-extension/index.js +0 -250
  608. package/plugins/freeflow/skills/capture-decisions/SKILL.md +0 -95
  609. package/plugins/freeflow/skills/capture-decisions/references/destination-guide.md +0 -65
  610. package/plugins/freeflow/skills/execute-plan/SKILL.md +0 -67
  611. package/plugins/freeflow/skills/grill-context/SKILL.md +0 -79
  612. package/plugins/freeflow/skills/grill-context/references/approach-framing.md +0 -52
  613. package/plugins/freeflow/skills/research-brief/SKILL.md +0 -69
  614. package/plugins/freeflow/skills/review-work/SKILL.md +0 -73
  615. package/plugins/freeflow/skills/setup-freeflow/SKILL.md +0 -84
  616. /package/{plugins/freeflow/assets → assets}/freeflow-plugin-icon-transparent.png +0 -0
  617. /package/{plugins/freeflow/hooks → hooks}/hooks.json +0 -0
  618. /package/{plugins/freeflow/docs → plugin-docs}/adr/0001-three-modes.md +0 -0
  619. /package/{plugins/freeflow/skills → skills}/bypass/SKILL.md +0 -0
  620. /package/{plugins/freeflow/skills → skills}/diagnose-failure/references/feedback-loop-catalog.md +0 -0
  621. /package/{plugins/freeflow/skills → skills}/diagnose-failure/references/flaky-and-performance.md +0 -0
  622. /package/{plugins/freeflow/skills → skills}/evaluate-skill/SKILL.md +0 -0
  623. /package/{plugins/freeflow/skills → skills}/evaluate-skill/references/eval-patterns.md +0 -0
  624. /package/{plugins/freeflow/skills → skills}/evaluate-skill/references/grading-priority.md +0 -0
  625. /package/{plugins/freeflow/skills → skills}/handoff/SKILL.md +0 -0
  626. /package/{plugins/freeflow/skills → skills}/handoff/references/templates.md +0 -0
  627. /package/{plugins/freeflow/skills → skills}/interview-gate/SKILL.md +0 -0
  628. /package/{plugins/freeflow/skills → skills}/write-plan/references/plan-shapes.md +0 -0
  629. /package/{plugins/freeflow/skills → skills}/write-spec/references/artifact-standards.md +0 -0
  630. /package/{plugins/freeflow/skills → skills}/write-spec/references/spec-shapes.md +0 -0
@@ -10,6 +10,7 @@ Use this Markdown reference as the v0.1 contract module:
10
10
  getActivationContract(defaultMode) -> ActivationContract
11
11
  planActivation(contract, repoState, request) -> ActivationPlan | ActivationStop
12
12
  renderActivation(contract, target) -> rendered text or checks
13
+ planOptionalEvidenceRoutingConfig(request) -> EvidenceRoutingConfigPlan | ActivationStop
13
14
  ```
14
15
 
15
16
  Do not add a code module until setup behavior needs logic that cannot be kept clear in the skill and this reference.
@@ -17,7 +18,8 @@ Do not add a code module until setup behavior needs logic that cannot be kept cl
17
18
  ## Invariants
18
19
 
19
20
  - Activation text contains always-on invariants only, not the full workflow spine.
20
- - Config has exactly one field: `defaultMode`.
21
+ - Minimal config has exactly one field: `defaultMode`.
22
+ - Optional `outputRouter`, `observedRouting`, and `scriptTransform` config is allowed only after the capabilities decision point or an explicit request. Removed `capture` and `providers` config is not written by setup.
21
23
  - Valid defaults are exactly `conversation`, `workflow`, and `strict-workflow`.
22
24
  - Default mode is `workflow` unless the user explicitly persists another valid mode.
23
25
  - Codex activation writes `AGENTS.md`, not `.codex/rules`.
@@ -25,9 +27,9 @@ Do not add a code module until setup behavior needs logic that cannot be kept cl
25
27
  - Multi-agent setup updates both host surfaces only on explicit request and reports drift risk.
26
28
  - Existing repo instructions remain source truth.
27
29
  - Setup hard-stops before unresolved host ambiguity or repo-rule conflict.
28
- - Setup does not create repo-local hooks, docs inventories, state files, handoffs, empty `CONTEXT.md`, skill inventories, version metadata, activation path, current task, or current phase.
29
- - Plugin-bundled context hooks may load workflow and interview-gate context at session start, but they are package runtime, not setup output.
30
- - After successful setup verification, setup reads the workflow skill, workflow map, and interview-gate skill before its final response so the current session is immediately usable.
30
+ - Setup does not create repo-local hooks, docs inventories, state files, handoffs, empty `CONTEXT.md`, skill inventories, `setup-output-router` skills, version metadata, activation path, current task, or current phase.
31
+ - Plugin-bundled context hooks may load mode-contract, workflow, interview-gate, discover, and output-router context at session start, but they are package runtime, not setup output.
32
+ - After successful setup verification, setup reads the mode-contract, workflow, interview-gate, discover, and output-router skills before its final response so the current session is immediately usable.
31
33
 
32
34
  ## Host Adapters
33
35
 
@@ -46,8 +48,12 @@ Claude adapter:
46
48
  Config adapter:
47
49
 
48
50
  - Create or update `.freeflow/config.json`.
49
- - Write exactly `{ "defaultMode": "<mode>" }`.
51
+ - For minimal setup, write exactly `{ "defaultMode": "<mode>" }`.
50
52
  - Use `workflow` unless the user explicitly asks to persist `conversation` or `strict-workflow`.
53
+ - Add `outputRouter`, `observedRouting`, or `scriptTransform` only after the capabilities decision point or an explicit request, using `output-router-setup.md`. Do not write removed `capture` or `providers` config.
54
+ - Missing `outputRouter`, `observedRouting`, and `scriptTransform` means built-in defaults, not a setup warning.
55
+ - Never enable observed routing or native safety-net routing by default.
56
+ - Observed routing requires explicit producer/server entries and user-chosen persistence: `exact`, `metadata-only`, or `none`. Do not offer or write `redacted`.
51
57
 
52
58
  ## Codex Core Block
53
59
 
@@ -81,14 +87,14 @@ Verify before completion claims. Capture only stable decisions, glossary terms,
81
87
 
82
88
  ## Drift Checks
83
89
 
84
- Run `plugins/freeflow/evals/scripts/check-activation-contract.sh` when changing setup behavior, post-setup fixtures, setup eval assertions, or docs that quote setup behavior.
85
- Run `plugins/freeflow/evals/scripts/check-runtime-context-hook.sh` when changing plugin-bundled runtime context hooks.
90
+ Run `evals/scripts/check-activation-contract.sh` when changing setup behavior, post-setup fixtures, setup eval assertions, or docs that quote setup behavior.
91
+ Run `evals/scripts/check-runtime-context-hook.sh` when changing plugin-bundled runtime context hooks.
86
92
 
87
93
  The check keeps these surfaces aligned:
88
94
 
89
95
  - this canonical reference
90
96
  - `setup-freeflow/SKILL.md`
91
97
  - `setup-freeflow/references/host-setup.md`
92
- - `docs/freeflow-runtime-and-lifecycle.md`
98
+ - `docs/freeflow-runtime-and-lifecycle.md` in the Freeflow development repo
93
99
  - post-setup `AGENTS.md` fixtures
94
100
  - setup eval assertions that depend on canonical activation text
@@ -16,6 +16,8 @@ Current runtime is not enough to choose a host when both `AGENTS.md` and `CLAUDE
16
16
 
17
17
  Solo setup is the default: one host target, compact activation, `defaultMode: "workflow"`, no extra docs.
18
18
 
19
+ Evidence-routing setup is an opt-in config branch inside normal setup, not a separate host profile. Use `output-router-setup.md`; keep minimal setup config unchanged unless the user accepts the capabilities decision point or explicitly asks for output-router/observed-routing/script-transform config.
20
+
19
21
  Team setup still uses compact activation. Add both hosts only if requested. Do not add team standards, onboarding docs, owners, approvers, repo-local hooks, or CLI checks as part of setup unless the user separately asks and the repo has a validated path for them.
20
22
 
21
23
  Strict setup changes `.freeflow/config.json` to `strict-workflow` only when the user explicitly asks to make that the repo default. Otherwise recommend strict-workflow for high-risk work without persisting it.
@@ -24,10 +26,10 @@ Valid persisted defaults are exactly `conversation`, `workflow`, and `strict-wor
24
26
 
25
27
  ## Not Setup
26
28
 
27
- Do not install repo-local hooks, CLI commands, lint rules, global standards, docs inventories, or state files during setup.
29
+ Do not install repo-local hooks, CLI commands, lint rules, global standards, docs inventories, setup-output-router skills, or state files during setup.
28
30
 
29
- Freeflow's plugin-bundled context hooks are package runtime. They load workflow and interview-gate context at session start, but setup should not copy hook files into the target repo.
31
+ Freeflow's plugin-bundled context hooks are package runtime. They load mode-contract, workflow, interview-gate, discover, and output-router context at session start, but setup should not copy hook files into the target repo.
30
32
 
31
- After successful setup verification, setup should read the workflow skill, workflow map, and interview-gate skill before the final response. If session-start runtime context does not load in later sessions, tell the user to review/trust the installed Freeflow plugin hooks or start a fresh/compacted session. Do not create repo-local hook files as a workaround.
33
+ After successful setup verification, setup should read the mode-contract, workflow, interview-gate, discover, and output-router skills before the final response. If session-start runtime context does not load in later sessions, tell the user to review/trust the installed Freeflow plugin hooks or start a fresh/compacted session. Do not create repo-local hook files as a workaround.
32
34
 
33
35
  If the user asks for enforcement, say Freeflow setup is instruction-only for now and ask whether to handle enforcement as a separate task.
@@ -0,0 +1,102 @@
1
+ # Output Router Setup
2
+
3
+ Use this when setup reaches the optional capabilities branch or explicitly asks for output-router, observed-routing, generated-path, native safety-net, vault, threshold, script-transform adapters, or script-transform repo config (`scriptTransform`).
4
+
5
+ ## Defaults
6
+
7
+ - The output router has built-in defaults. A repo does not need optional config for normal search/run/transform behavior.
8
+ - Minimal `/setup-freeflow` must still write only `defaultMode`.
9
+ - Ask one capabilities decision point. If declined, do not write `outputRouter`, `observedRouting`, or `scriptTransform`, and do not install script adapters.
10
+ - Observed routing is opt-in per producer/server. The user must choose persistence for each enabled entry before setup writes config.
11
+ - Do not create a separate `setup-output-router` skill.
12
+
13
+ If the user says only “set up the output router” with no requested knobs, say the router works with built-in defaults and ask which optional config they want persisted. Recommend no repo config unless they need observed routing, repo-specific hints, script transform setup, or safety-net behavior.
14
+
15
+ ## Config Shape
16
+
17
+ Write only keys the user explicitly requests. Do not dump all defaults and do not create empty `outputRouter`, `observedRouting`, or `scriptTransform` objects. Do not write removed `capture` or `providers` config.
18
+
19
+ Supported high-level repo config keys:
20
+
21
+ ```json
22
+ {
23
+ "defaultMode": "workflow",
24
+ "outputRouter": {
25
+ "enabled": true,
26
+ "profile": "standard",
27
+ "postToolRouting": "off",
28
+ "largeOutputBytes": 64000,
29
+ "largeOutputLines": 1000,
30
+ "vaultRoot": "~/.cache/freeflow-router/vault",
31
+ "vaultRetentionDays": 7,
32
+ "generatedPaths": ["graphify-out/**"],
33
+ "noisyCommandHints": ["npm test"]
34
+ },
35
+ "observedRouting": {
36
+ "enabled": true,
37
+ "onRoutingFailure": "fail-open",
38
+ "mcp": {
39
+ "servers": {
40
+ "github": { "enabled": true, "persistence": "exact" },
41
+ "gmail": { "enabled": true, "persistence": "metadata-only" }
42
+ }
43
+ },
44
+ "web": { "enabled": true, "persistence": "exact" },
45
+ "fetch": { "enabled": true, "persistence": "exact" },
46
+ "codeSearch": { "enabled": true, "persistence": "exact" }
47
+ },
48
+ "scriptTransform": {
49
+ "enabled": true,
50
+ "sandbox": "auto",
51
+ "languages": ["javascript", "python", "jq"],
52
+ "network": "off",
53
+ "limits": {
54
+ "timeoutMs": 5000,
55
+ "maxInputBytes": 1048576,
56
+ "maxOutputBytes": 65536
57
+ },
58
+ "rawScriptPersistence": "disabled"
59
+ }
60
+ }
61
+ ```
62
+
63
+ Rules:
64
+
65
+ - `outputRouter.enabled` defaults to `true`; write it only as an intentional high-level decision.
66
+ - `outputRouter.profile` currently supports `standard`; write it only when the user chooses the evidence-routing branch.
67
+ - `postToolRouting` defaults to `off`. Use `safety-net` only when explicitly requested. Treat `strict` as reserved; ask before writing it.
68
+ - `largeOutputBytes`, `largeOutputLines`, and `vaultRetentionDays` must be positive integers.
69
+ - `vaultRoot` must be a non-empty string. Repo-local storage requires explicit user choice.
70
+ - `generatedPaths` are broad-scan generated-path hints. Explicit file or directory retrieval must remain available.
71
+ - `noisyCommandHints` is parsed as hint config. Do not add it unless the user explicitly asks for command-pattern hints.
72
+ - `observedRouting.enabled` defaults to `false`; write it only when the user chooses observed routing.
73
+ - `observedRouting.onRoutingFailure` currently supports `fail-open`; write it only when persisting observed routing.
74
+ - `observedRouting.mcp.servers` must contain explicit server entries only. Setup may discover configured servers for a multi-select, but must not persist a volatile inventory of every installed tool.
75
+ - `observedRouting.web`, `observedRouting.fetch`, and `observedRouting.codeSearch` are Pi observed-routing producers. Enable only the producers the user chose.
76
+ - Every enabled observed-routing entry needs a user-chosen persistence mode: `exact`, `metadata-only`, or `none`.
77
+ - Recommend `exact` for public-ish evidence producers such as GitHub, web, fetch, and code search. Recommend `metadata-only` for sensitive or unknown producers such as Gmail, Slack, private customer systems, or likely-secret outputs.
78
+ - Do not offer or write `redacted`; it is reserved for future work and currently falls back to `metadata-only` with a warning if hand-edited.
79
+ - Pi public `freeflow_capture` and the separate `providers` setup surface have been removed. Do not write removed `capture` or `providers` config.
80
+ - `scriptTransform.enabled` defaults to `false`; write it only after an explicit script-execution opt-in.
81
+ - If the user opts into script transform setup and adapters are missing or unavailable, recommend installing global adapters. On consent, resolve `../../router/dist/setup/script-transform-adapters.js` relative to `skills/setup-freeflow/SKILL.md` and run `node <plugin-root>/router/dist/setup/script-transform-adapters.js install --config .freeflow/config.json`.
82
+ - The installer uses `~/.cache/freeflow-script-adapters` by default, or `FREEFLOW_SCRIPT_TRANSFORM_ADAPTERS_HOME` when set. It installs `quickjs-wasi@3.0.1`, `jq-wasm@1.2.0-jq-1.8.2`, `@bsull/eryx@0.5.0`, and `node@24` for the Python JSPI child runner, writes `freeflow-adapter-env.sh`, probes sandbox proofs, and updates `scriptTransform.languages` with only proof-passing languages.
83
+ - Freeflow auto-discovers adapters from that global cache. The explicit roots `FREEFLOW_QUICKJS_WASI_ROOT`, `FREEFLOW_JQ_WASM_ROOT`, and `FREEFLOW_ERYX_ROOT` remain overrides for custom installs.
84
+ - Python/Eryx is installed by setup and uses the setup-installed child Node process launched with `--experimental-wasm-jspi` when the host process lacks JSPI. It must not be marked available unless that child runner passes the required sandbox probes.
85
+ - `scriptTransform.languages` supports `javascript`, `python`, and `jq`; enable only languages whose adapters passed sandbox proofs.
86
+ - `scriptTransform.sandbox` currently supports `auto`, `network` supports only `off`, and `rawScriptPersistence` supports only `disabled`.
87
+ - `scriptTransform.limits.timeoutMs`, `maxInputBytes`, and `maxOutputBytes` must be positive integers within product caps. Per-call script limits may only tighten configured values.
88
+
89
+ ## Verify
90
+
91
+ After writing optional evidence-routing config, use `freeflow_status` or equivalent direct inspection to verify effective behavior:
92
+
93
+ - JSON parses.
94
+ - `defaultMode` is valid.
95
+ - Minimal setup still contains only `defaultMode` when capabilities were declined.
96
+ - Optional `outputRouter`, `observedRouting`, and `scriptTransform` sections contain only requested keys.
97
+ - Invalid router/observed-routing/script-transform values are not written.
98
+ - Observed routing, native safety-net routing, and script transform are not enabled unless explicitly requested.
99
+ - If script transform setup was accepted, global adapter install completed or a clear install/probe failure was reported, and enabled languages match proof-passing adapters.
100
+ - No observed-routing entry uses `redacted`, and every enabled entry has explicit persistence.
101
+ - `freeflow_status` shows effective defaults and migration recommendations without rewriting config.
102
+ - No repo-local hooks, skill files, setup-output-router skill, docs inventories, or repo-local storage directories were created.
@@ -57,6 +57,8 @@ Not verified: ...
57
57
  Next: ...
58
58
  ```
59
59
 
60
- For completed consequential work, `Next:` is mandatory. Omit it only for direct question answers, mid-task status, or clarification-only turns.
60
+ For completed consequential work, include `Next:` because completion leaves a route decision. Omit it only for direct question answers, mid-task status, clarification-only turns, or direct owner-decision questions.
61
+
62
+ For pure questions, include `Next:` only when a concrete next route helps.
61
63
 
62
64
  Keep it short.
@@ -1,16 +1,18 @@
1
1
  ---
2
2
  name: workflow
3
- description: Use when doing consequential work such as implementation, bug fixing, planning, research-for-action, review, verification, or handoff.
3
+ description: Use when doing consequential work such as implementation, bug fixing, planning, discovery-for-action, review, verification, or handoff.
4
4
  ---
5
5
 
6
6
  # Workflow
7
7
 
8
8
  Follow a lightweight forward workflow. Scale process to task risk.
9
9
 
10
+ Move forward when context is sufficient. Re-enter clarification when new ambiguity would change the next action.
11
+
10
12
  Question means answer. Do not turn a question into a file edit, report, plan, or implementation.
11
13
 
12
14
  ```text
13
- Clarify / Research
15
+ Clarify / Discover
14
16
  -> Decision / Spec
15
17
  -> Plan
16
18
  -> Execute
@@ -21,33 +23,37 @@ Clarify / Research
21
23
 
22
24
  This is a guide, not ceremony. Small reversible work can skip spec/plan artifacts.
23
25
 
26
+ Method skills and lenses such as TDD, diagnosis, execute-plan, or design-for-depth run inside the current workflow phase. Workflow owns routing, source-truth conflicts, user-owned decisions, review, verification, and handoff boundaries.
27
+
24
28
  Read `references/workflow-map.md` when the user asks for the full pipeline, public docs need a diagram, or the next workflow entry point is unclear.
25
29
 
26
30
  ## Route Closeout
27
31
 
28
- When a consequential workflow phase completes, name the next route.
32
+ Use `Next:` to name a helpful next route for the user. It is general routing, not only a workflow-phase label.
33
+
34
+ Do not add `Next:` to every reply. Questions get answers first; add `Next:` only when the answer leaves a concrete next action, choice, stop condition, or route worth naming.
29
35
 
30
- Use `Next:` in the final response unless this is a direct question answer, mid-task status, or clarification-only turn.
36
+ For completed consequential work or workflow phases, include `Next:` unless this is a direct question answer, mid-task status, clarification-only turn, or the final line must be a direct owner-decision question.
31
37
 
32
38
  Choose one:
33
39
 
34
- - Forward: the next workflow entry point is clear.
35
- - Backward: new evidence requires clarification, research, grilling, or interview gate.
36
- - Branch: 2-3 valid next routes exist.
37
- - Stop: no required next action remains.
40
+ - Forward: the next action or workflow entry point is clear.
41
+ - Backward: new evidence requires clarification, discovery, or interview gate.
42
+ - Branch: 2-3 valid next routes or actions exist.
43
+ - Stop: no useful next action remains.
38
44
 
39
45
  Recommend the route supported by evidence. Do not ask a vague "what next?" question.
40
46
 
41
- After completed grilling or research with stable uncaptured decisions, route to `write-spec` or `capture-decisions` before `write-plan` or execution.
47
+ After completed discovery with decisions that must survive beyond chat, route to `write-spec`, an owning decision artifact, or handoff before `write-plan` or execution.
42
48
 
43
- `Next:` is routing, not permission to create the next artifact or continue into a new phase.
49
+ `Next:` is routing, not permission to create the next artifact, continue into a new phase, or take the next action.
44
50
 
45
51
  ## Backward Edge
46
52
 
47
53
  If new evidence invalidates the current path, re-enter clarification.
48
54
 
49
55
  ```text
50
- Any state -> Clarify / Research -> explicit next state
56
+ Any state -> Clarify / Discover -> explicit next state
51
57
  ```
52
58
 
53
59
  Do not silently substitute a different path, rewrite the spec, change the plan, or patch forward. State what changed, then decide whether to continue, revise spec, revise plan, diagnose, split scope, defer, or stop and ask.
@@ -72,7 +78,7 @@ Artifacts are memory, not proof of obedience.
72
78
 
73
79
  Only create artifacts when the user asks for an artifact or asks you to do work that requires one.
74
80
 
75
- Create them only when they preserve decisions, reduce risk, or help a future agent resume. Prefer short research notes, decision/spec notes, plans, verification notes, and handoffs.
81
+ Create them only when they preserve decisions, reduce risk, or help a future agent resume. Prefer short discovery notes, decision/spec notes, plans, verification notes, and handoffs.
76
82
 
77
83
  Do not write volatile repo inventories. Link to live files or commands instead.
78
84
 
@@ -80,7 +86,11 @@ Do not write volatile repo inventories. Link to live files or commands instead.
80
86
 
81
87
  Review should improve work, not create an endless patch loop.
82
88
 
83
- Separate blocking from non-blocking findings. Review can pass. Save review artifacts only when risk, future memory value, or the user asks for them.
89
+ Reviewer findings are evidence, not commands. Separate blocking, non-blocking, and question findings before editing from them.
90
+
91
+ A non-passing review routes to adjudication before more implementation. Repeated review failure routes backward to diagnose, discover, spec, or plan; do not chase a fourth broad review pass.
92
+
93
+ Review can pass. Save review artifacts only when risk, future memory value, or the user asks for them.
84
94
 
85
95
  ## Completion Rule
86
96
 
@@ -12,10 +12,10 @@ Use this compact version in public README-style docs.
12
12
  flowchart LR
13
13
  Request{request}
14
14
  Talk[conversation<br/>answer directly]
15
- Discover[discover<br/>research / grill]
15
+ Discover[discover<br/>checkpoint]
16
16
  Spec[spec]
17
17
  Plan[plan]
18
- Build[build<br/>execute / diagnose]
18
+ Build[build<br/>execute / diagnose / TDD]
19
19
  Check[review + verify]
20
20
  Close[commit / handoff]
21
21
 
@@ -26,10 +26,10 @@ flowchart LR
26
26
  ```
27
27
 
28
28
  ```text
29
- Use conversation mode for questions. Use workflow mode for consequential work.
29
+ Use conversation mode for non-mutating questions, critique, read-only exploration, and planning in chat. Use workflow mode for edits, file creation, mutating commands, or other consequential work.
30
30
  Use strict-workflow for risky work; same spine, stronger gates.
31
31
  Loop back when new evidence, source conflicts, user-owned decisions, or failed checks change the path.
32
- After each completed consequential phase, name the next route: forward, backward, branch, or stop.
32
+ Use `Next:` when a response leaves a useful next route. Completed consequential phases should close with forward, backward, branch, or stop unless the reply is only an answer, status update, clarification, or direct owner-decision question.
33
33
  ```
34
34
 
35
35
  ## Reference Map
@@ -49,17 +49,17 @@ flowchart TD
49
49
  Workflow --> Entry{Choose entry point}
50
50
  Strict --> Entry
51
51
 
52
- Entry --> Discovery[Discovery<br/>research-brief<br/>grill-context<br/>interview-gate]
52
+ Entry --> Discovery[Discovery<br/>discover<br/>interview-gate]
53
53
  Entry --> Spec[Spec<br/>write-spec<br/>review-artifact]
54
54
  Entry --> Plan[Plan<br/>write-plan<br/>review-artifact]
55
- Entry --> Build[Build or diagnose<br/>execute-plan<br/>diagnose-failure]
55
+ Entry --> Build[Build, diagnose, or TDD<br/>execute-plan<br/>diagnose-failure]
56
56
  Entry --> Closeout[Closeout<br/>review-work<br/>verify-work<br/>commit-work]
57
57
 
58
58
  Discovery --> Spec
59
59
  Spec --> Plan
60
60
  Plan --> Build
61
61
  Build --> Closeout
62
- Closeout --> Handoff[handoff<br/>capture-decisions when durable]
62
+ Closeout --> Handoff[handoff<br/>durable checkpoint when needed]
63
63
  Handoff --> Done
64
64
 
65
65
  Reenter[Re-enter discovery<br/>new evidence, owner decision,<br/>source conflict, or failed check]
@@ -75,29 +75,30 @@ flowchart TD
75
75
 
76
76
  ## Common Entry Points
77
77
 
78
- - Use `conversation mode` when the user asks a question, wants critique, or is exploring.
79
- - Use `research-brief` when repo, domain, evidence, or current facts are unknown.
80
- - Use `grill-context` or `interview-gate` when direction is vague, source truth conflicts, or user-owned decisions are still open.
78
+ - Use `conversation mode` when the user asks a question, wants critique, or is doing non-mutating exploration or planning in chat. If the user asks to edit, create files, run mutating commands, commit, push, or otherwise change repo/system state, require `workflow` or `strict-workflow` before acting.
79
+ - Use `discover` when repo, domain, evidence, current facts, brainstorming, targeted questions, or a decision checkpoint are needed before spec, plan, build, or durable memory.
80
+ - Use `interview-gate` when direction is vague, source truth conflicts, or user-owned decisions are still open.
81
81
  - Use `write-spec` when requirements are agreed but not durable.
82
82
  - Use `review-artifact` when a spec, plan, handoff, or decision note must guide future work.
83
83
  - Use `write-plan` when an approved spec or explicit task context exists.
84
- - Use `execute-plan` when an approved plan exists.
84
+ - Use `execute-plan` when an approved plan exists; method skills like TDD run inside that build phase when requested or appropriate.
85
85
  - Use `diagnose-failure` when behavior is broken, failing, flaky, slow, or unclear.
86
86
  - Use `review-work` and `verify-work` before claiming consequential work is ready.
87
87
  - Use `commit-work` only after the intended diff is reviewed and verification evidence exists.
88
88
  - Use `handoff` when pausing, compacting, or transferring context.
89
- - Use `capture-decisions` only for stable decisions, glossary terms, rejected approaches, or ADR-worthy tradeoffs.
90
89
  - Use `bypass` only to skip unnecessary ceremony. It cannot skip user-owned decisions, source-truth conflicts, risky checks, or verification claims.
91
90
 
92
- ## Phase Exits
91
+ ## Route Closeout
93
92
 
94
- End completed consequential phases with `Next:` unless this is a direct answer, mid-task status, or clarification-only turn.
93
+ Use `Next:` when naming the next route helps the user, not only when a workflow phase changes. Do not force it onto every reply.
95
94
 
96
- - Forward: name the next entry point, such as `write-spec`, `write-plan`, `execute-plan`, `review-work`, `verify-work`, `commit-work`, or `handoff`.
97
- - Backward: return to `interview-gate`, `research-brief`, or `grill-context` when evidence changes the path.
98
- - Branch: show 2-3 valid next routes when more than one is reasonable.
99
- - Stop: say no required next action remains.
95
+ Completed consequential work and phase exits should include `Next:` unless the reply is only a direct answer, mid-task status, clarification-only turn, or direct owner-decision question.
100
96
 
101
- After completed grilling or research with stable uncaptured decisions, prefer `write-spec` or `capture-decisions` before planning or execution.
97
+ - Forward: name the next action or entry point, such as `write-spec`, `write-plan`, `execute-plan`, `review-work`, `verify-work`, `commit-work`, or `handoff`.
98
+ - Backward: return to `interview-gate`, `discover`, `diagnose-failure`, or plan/spec revision when evidence, failed checks, or repeated review findings change the path.
99
+ - Branch: show 2-3 valid next routes or actions when more than one is reasonable.
100
+ - Stop: say no useful next action remains.
102
101
 
103
- Do not create the next artifact just because it is the next route.
102
+ After completed discovery with decisions that must survive beyond chat, prefer `write-spec`, an owning decision artifact, or handoff before planning or execution.
103
+
104
+ Do not create the next artifact or take the next action just because it is the next route.
@@ -11,7 +11,7 @@ Classify the plan request first:
11
11
  - Bug without feedback loop: ask for or propose the feedback loop. Do not write or save a fix plan.
12
12
  - Hidden owner decision or source conflict: name it and do not write the plan.
13
13
  - Context-backed: say a spec is preferred, then write a lightweight plan.
14
- - Missing source context: ask for context or start grilling.
14
+ - Missing source context: ask for context or route to `discover`.
15
15
 
16
16
  A plan executes source truth. It does not create it.
17
17
 
@@ -47,6 +47,12 @@ If a bug report has no repro or feedback loop, answer in chat. Ask for evidence
47
47
 
48
48
  Use vertical slices. Each slice should produce something testable.
49
49
 
50
+ Slices are execution boundaries, not scope reductions. Do not recast agreed scope as `v1`/`v2`, MVP, release, or roadmap framing unless the spec, user, or source context already chose that framing.
51
+
52
+ When full scope is too large for one safe plan, split it into implementation slices, implementation phases, checklists, or multiple plan artifacts. Ask before changing the user's scope or adopting versioned shipping.
53
+
54
+ When slice boundaries, seams, interfaces, or locality are unclear, use `../design-for-depth/SKILL.md` before writing executable steps. Do not hide unresolved design choices inside implementation detail.
55
+
50
56
  ## Stop Conditions
51
57
 
52
58
  Stop before writing when the plan would:
@@ -58,6 +64,7 @@ Stop before writing when the plan would:
58
64
  - Plan a bug fix without a repro, failing test, feedback loop, or accepted diagnostic risk.
59
65
  - Turn a missing bug repro into guessed fix steps, TTLs, invalidation rules, concurrency rules, or instrumentation requirements.
60
66
  - Hide uncertainty inside implementation steps.
67
+ - Replace agreed scope with an agent-invented `v1`, MVP, roadmap, or later-version split.
61
68
 
62
69
  Name the missing decision or conflict. Ask which path to follow. Recommend the path supported by evidence.
63
70
 
@@ -71,6 +78,7 @@ Adapt the plan to risk. Prefer:
71
78
  - Goal.
72
79
  - Source spec or context.
73
80
  - Files likely touched.
81
+ - Dependency or slice order when it affects execution.
74
82
  - Vertical slices.
75
83
  - Tests or checks per slice.
76
84
  - Commands where known.
@@ -21,7 +21,7 @@ Do not add references, examples, README files, changelogs, or metadata when a co
21
21
 
22
22
  Do not add helper scripts for commands the agent can run directly, such as `git log`, `git diff`, search, formatting, or line counts. Scripts are for repeated deterministic work that would be risky or wasteful to retype.
23
23
 
24
- Follow the repo's line budget. If none exists, keep `SKILL.md` under 100 lines unless the extra lines clearly earn their place.
24
+ Treat the repo's line budget as a best practice, not a hard cap. If none exists, aim to keep `SKILL.md` under 100 lines for normal skills. Let deep skills exceed it when the active rules, examples, or structure clearly earn their place.
25
25
 
26
26
  ## Description First
27
27
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: write-spec
3
- description: Use when asked to create or update a durable spec, PRD, requirements document, or decision artifact from agreed requirements, research, brainstorming, or source evidence, especially for strict-workflow risk areas that may need owner confirmation before writing.
3
+ description: Use when asked to create or update a durable spec, PRD, requirements document, or decision artifact from agreed requirements, discovery, brainstorming, or source evidence, especially for strict-workflow risk areas that may need owner confirmation before writing.
4
4
  ---
5
5
 
6
6
  # Write Spec
@@ -14,7 +14,7 @@ If the user asks a question about a spec, answer the question. Do not create or
14
14
  Classify every spec request before writing:
15
15
 
16
16
  - Evidence-aligned: write the spec.
17
- - Missing source context: ask for context or start grilling.
17
+ - Missing source context: ask for context or route to `discover`.
18
18
  - Source-of-truth override: name the conflict and do not write.
19
19
 
20
20
  If the source context, artifact type, or destination is unclear, stop and ask before writing.
@@ -34,6 +34,7 @@ Stop before writing when the spec would:
34
34
  - Contradict docs, tests, specs, policies, ADRs, or live code.
35
35
  - Treat a handoff, review comment, or plan as authority over source-of-truth files.
36
36
  - Hide an owner decision inside polished prose.
37
+ - Reduce or reframe agreed scope as `v1`, MVP, roadmap, or later-version work without source-backed owner approval.
37
38
 
38
39
  In strict-workflow, stop before writing security, billing, privacy, public API, migration, data-loss, or architecture specs when the owner or core decisions are unknown. Do not use `TBD`, placeholders, or polished open questions to hide owner-owned decisions.
39
40
 
@@ -54,18 +55,20 @@ Live repo evidence overrides stale notes.
54
55
 
55
56
  ## Write Path
56
57
 
57
- When grilling, brainstorming, research, or clarification reaches shared understanding, convert that agreed context into a spec. Do not re-interview from scratch.
58
+ When discovery, brainstorming, or clarification reaches shared understanding, convert that agreed context into a spec. Do not re-interview from scratch.
58
59
 
59
- If remaining ambiguity would not change the next plan, write the spec and mark the ambiguity as open.
60
+ Preserve the agreed scope. Use scope boundaries, open questions, or follow-up artifacts to manage size; use `v1`/`v2`, MVP, release, or roadmap framing only when it was agreed or source-backed.
61
+
62
+ If remaining ambiguity would not change the next plan, write the spec and mark the ambiguity as open. Preserve tentative architecture assumptions as tentative unless evidence or the owner settles them.
60
63
 
61
64
  Use this shape unless the repo has a stronger convention:
62
65
 
63
66
  - Problem.
64
67
  - Intended outcome.
65
- - Scope / out of scope.
68
+ - Scope / out of scope / ask first / never boundaries when useful.
66
69
  - Requirements.
67
70
  - Acceptance criteria.
68
- - Decisions made.
71
+ - Decisions made and open decisions.
69
72
  - Constraints / evidence.
70
73
  - Open questions.
71
74
 
@@ -1,39 +0,0 @@
1
- # Freeflow Docs
2
-
3
- These docs describe the public plugin behavior. Historical research stays in root `docs/`; eval sources and reports live under `plugins/freeflow/evals/`.
4
-
5
- After installing Freeflow, run setup in each repo where you want it active:
6
-
7
- ```text
8
- /setup-freeflow
9
- ```
10
-
11
- Setup creates activation/config files only.
12
-
13
- In Codex, open the hooks screen after install:
14
-
15
- ```text
16
- /hooks
17
- ```
18
-
19
- Press `t` to trust/enable the Freeflow `SessionStart` hook when Codex marks it as needing review. Once enabled, plugin-bundled hooks load workflow and interview-gate context at session start, resume, clear, and compact.
20
-
21
- In Pi, install Freeflow as a Pi package from npm:
22
-
23
- ```bash
24
- pi install npm:@hassangameryt/freeflow
25
- ```
26
-
27
- Or install directly from GitHub:
28
-
29
- ```bash
30
- pi install git:github.com/hassan-mohiddin/freeflow
31
- ```
32
-
33
- The package exposes `plugins/freeflow/skills/` and `plugins/freeflow/pi-extension/index.js`. The Pi extension registers direct Freeflow commands, keeps `/workflow` mode changes scoped to the Pi session, refreshes workflow and interview-gate context on session start and compact, and injects that context before agent turns. It does not enforce policy, block tools, grant permissions, or create repo-local hooks.
34
-
35
- - [Workflow](workflow.md): modes, entry points, loops, and the compact workflow map.
36
- - [Skills](skills.md): shipped skills and what each one is for.
37
- - [Architecture](architecture.md): package layout, runtime boundary, context hooks, and progressive disclosure model.
38
- - [Release evidence](release-evidence.md): v0.1 acceptance evidence and deferred checks.
39
- - [ADRs](adr/README.md): durable release decisions.
@@ -1,17 +0,0 @@
1
- # ADR 0002: Evals Before Enforcement Hooks
2
-
3
- ## Status
4
-
5
- Accepted.
6
-
7
- ## Decision
8
-
9
- Freeflow v0.1 ships plugin-bundled context-loading runtime: Codex/Claude hooks and a Pi extension that load existing workflow and interview-gate context. It still ships without enforcement hooks or CLI enforcement. Behavior must first be proven with baseline-vs-with-skill evals before mechanical enforcement is added.
10
-
11
- ## Rationale
12
-
13
- Context-loading runtime addresses a measured lifecycle gap: workflow and interview-gate context may not be present at session start. The setup skill handles the same-session setup case by reading runtime context after successful verification. Enforcement hooks can prevent expensive mistakes, but early enforcement machinery can hide weak skill wording and turn the package into brittle workflow infrastructure.
14
-
15
- ## Consequences
16
-
17
- Native enforcement remains future work. Enforcement hooks should be added only when a repeated failure is concrete, deterministic, and not solved by concise skill wording.
@@ -1,7 +0,0 @@
1
- # Freeflow ADRs
2
-
3
- Durable decisions for the public Freeflow package:
4
-
5
- - [ADR 0001: Three Workflow Modes](0001-three-modes.md)
6
- - [ADR 0002: Evals Before Enforcement Hooks](0002-evals-before-hooks.md)
7
- - [ADR 0003: v0.1 Release Boundary](0003-release-boundary.md)