@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
@@ -1,17 +1,17 @@
1
1
  # Staging Decisions
2
2
 
3
- Use this for mixed staged sets, generated files, durable docs, or broad commit pressure.
3
+ Use this for mixed staged sets, generated files, durable docs, or broad commit/push pressure.
4
4
 
5
5
  ## Evidence First
6
6
 
7
- Read staged, unstaged, and untracked state before deciding:
7
+ Read staged, unstaged, and untracked state before deciding what to commit or push:
8
8
 
9
9
  - `git status --short`
10
10
  - `git diff --cached`
11
11
  - `git diff`
12
12
  - `git ls-files --others --exclude-standard`
13
13
 
14
- Diff evidence beats "staged means ready", "commit everything", and "include all leftovers".
14
+ Diff evidence beats "staged means ready", "commit everything", "push all changes", and "include all leftovers".
15
15
 
16
16
  ## Mixed Staged Sets
17
17
 
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: design-for-depth
3
+ description: Use when shaping, reviewing, implementing, or diagnosing work where module/interface/seam choices affect complexity, locality, testability, future change, or repeated edge-case churn. Use for architecture direction, growing scope, shallow modules, bad seams, broad refactors, and review loops that keep finding new edge cases.
4
+ ---
5
+
6
+ # Design For Depth
7
+
8
+ Use this as a lens, not a phase.
9
+
10
+ Core rule: if complexity is spreading across callers, tests, docs, artifacts, or review comments, stop and classify the design pressure before patching forward.
11
+
12
+ Goal: hide useful complexity behind stable interfaces so future callers, tests, reviewers, and agents coordinate less.
13
+
14
+ Do not add architecture ceremony when the next action is small, local, and reversible. Do not use architecture language to hide product or policy decisions.
15
+
16
+ ## Load When Needed
17
+
18
+ Read `references/software-design-philosophy.md` when shaping architecture direction, reviewing a design-heavy artifact, or diagnosing repeated design failure.
19
+
20
+ Read `references/design-pressure-signals.md` when reviewing code/work for shallow modules, scattered policy, edge-case churn, or refactor candidates.
21
+
22
+ Do not load references for every small design question. The active skill should be enough for routine routing.
23
+
24
+ ## Language
25
+
26
+ Use these terms consistently:
27
+
28
+ - **Module** — anything with an interface and implementation: function, class, package, subsystem, workflow slice.
29
+ - **Interface** — everything a caller, user, test, or future agent must know: types, invariants, ordering, errors, configuration, performance, side effects, and policy context.
30
+ - **Implementation** — details hidden behind the interface.
31
+ - **Depth** — leverage at the interface. Deep modules hide useful behavior behind a smaller interface.
32
+ - **Shallow module** — interface is nearly as complex as implementation, or callers coordinate details the module should own.
33
+ - **Seam** — where behavior, ownership, or variation can change without editing surrounding work.
34
+ - **Adapter** — a concrete thing satisfying an interface at a seam.
35
+ - **Locality** — changes, bugs, decisions, and verification stay near one module.
36
+ - **Leverage** — future work gets more behavior from less interface knowledge.
37
+
38
+ Avoid using “architecture” as a vague quality claim. Name the module, interface, hidden decision, seam, adapter, locality, or leverage.
39
+
40
+ ## Signals
41
+
42
+ Use this lens when evidence shows:
43
+
44
+ - one concept requires many unrelated file, test, doc, or reviewer-comment changes;
45
+ - callers know ordering, flags, retries, cleanup, cache, auth, billing, migration, privacy, permissions, or compatibility policy;
46
+ - tests reach past the interface to assert normal behavior;
47
+ - review findings become a stream of edge-case patches;
48
+ - the same conditional or policy appears in multiple callers;
49
+ - a module is mostly pass-through naming around another module;
50
+ - a seam exists only for theoretical future variation;
51
+ - a spec or plan encodes detailed implementation guesses before evidence exists;
52
+ - the agent can only explain correctness by listing coordinated steps across modules.
53
+
54
+ Do not use this lens just because work is “important.” Use it when interface shape changes the next action.
55
+
56
+ ## Tests
57
+
58
+ Use the smallest test that changes the route:
59
+
60
+ - **Deletion test:** if deleting the module makes complexity vanish, it may be pass-through ceremony. If complexity reappears across callers, tests, docs, or review comments, it was earning its keep.
61
+ - **Interface test surface:** callers and tests should exercise normal behavior through the same interface. If tests bypass it, mock internals, or duplicate setup, the module shape may be wrong.
62
+ - **Variation test:** one adapter is a hypothetical seam. Two adapters, a real test double, or a known upcoming variation justify a seam better.
63
+ - **Locality test:** one behavior change should not scatter policy, error handling, retries, logging, auth, billing, compatibility, docs, and tests across unrelated places.
64
+ - **Decision-hiding test:** design decisions likely to change should live behind modules, not in every caller or artifact.
65
+ - **Obscurity test:** if a fresh agent must read many files to learn a simple rule, the design may be obscure even if each file is small.
66
+
67
+ ## Route
68
+
69
+ If the current direction spreads complexity, do not patch forward silently.
70
+
71
+ Classify the pressure:
72
+
73
+ - **Local fix:** same interface, complexity stays hidden; continue in the current phase.
74
+ - **Plan defect:** slice boundary, check, or implementation path is wrong; revise the plan.
75
+ - **Spec gap:** behavior, scope, or acceptance is unclear; revise the spec or return to discovery.
76
+ - **Owner decision:** public API, compatibility, security, privacy, billing, data-loss, permissions, migration, or hard-to-reverse architecture changes; use the interview gate.
77
+ - **Refactor candidate:** current behavior is valid but the module is shallow; propose a bounded deepening path before editing.
78
+ - **Stop/defer:** design pressure is real but not worth solving in this scope; record or defer it explicitly.
79
+
80
+ ## Non-Goals
81
+
82
+ Do not:
83
+
84
+ - introduce abstractions for imagined future variation;
85
+ - hide product or policy decisions inside architecture wording;
86
+ - rewrite source truth to make a design cleaner;
87
+ - turn every feature into upfront architecture design;
88
+ - broaden a narrow fix into a refactor without user approval;
89
+ - treat line count, file count, indirection, or pattern names as proof of quality;
90
+ - claim a design is better without evidence from code, tests, review, usage, or an explicit owner decision.
@@ -0,0 +1,265 @@
1
+ # Design Pressure Signals
2
+
3
+ Use this reference when reviewing code, artifacts, or work for shallow modules and complexity spread.
4
+
5
+ The goal is not to find every smell. The goal is to notice pressure that changes the next route.
6
+
7
+ ## Quick Classifier
8
+
9
+ Ask:
10
+
11
+ 1. What is the module?
12
+ 2. What is the interface?
13
+ 3. What details are callers forced to know?
14
+ 4. What decision is likely to change?
15
+ 5. Where would that decision be localized?
16
+ 6. Would solving this now fit the approved scope?
17
+
18
+ Then classify:
19
+
20
+ - **Continue:** no design pressure that changes the next action.
21
+ - **Local fix:** improve within current module/interface.
22
+ - **Plan revision:** slice boundary or verification path is wrong.
23
+ - **Spec/discovery:** behavior, scope, or acceptance is unclear.
24
+ - **Owner decision:** public API, compatibility, security, privacy, billing, data loss, permissions, migration, or hard-to-reverse architecture.
25
+ - **Deferred deepening:** real design pressure, but not worth solving in this scope.
26
+
27
+ ## Signals And What They Usually Mean
28
+
29
+ ### Shotgun Surgery
30
+
31
+ Signal: one concept requires many unrelated edits.
32
+
33
+ Examples:
34
+
35
+ - retry policy added to every route;
36
+ - permission check copied into API, UI, and job worker;
37
+ - billing grace-period logic repeated in webhook, email, and dashboard;
38
+ - cache freshness flags threaded through callers.
39
+
40
+ Likely issue: a likely-changing decision is not hidden behind a module.
41
+
42
+ Route:
43
+
44
+ - If behavior/scope is unsettled: discovery or spec.
45
+ - If behavior is settled but slice spreads edits: plan revision or refactor candidate.
46
+
47
+ ### Caller Choreography
48
+
49
+ Signal: callers must perform steps in the right order.
50
+
51
+ Examples:
52
+
53
+ ```text
54
+ open connection -> set retry -> register cleanup -> call provider -> translate error -> log metric
55
+ ```
56
+
57
+ Likely issue: interface exposes implementation sequence.
58
+
59
+ Better interface asks for outcome:
60
+
61
+ ```text
62
+ deliverNotification(invitation)
63
+ ```
64
+
65
+ while the module owns retry, fallback, logging, cleanup, and provider errors.
66
+
67
+ ### Scattered Policy
68
+
69
+ Signal: product or operational rules appear in many places.
70
+
71
+ Examples:
72
+
73
+ - billing downgrade timing in UI, webhook, worker, and tests;
74
+ - notification fallback rules in every route;
75
+ - authorization rules in frontend and backend separately;
76
+ - migration compatibility gates inside individual callers.
77
+
78
+ Likely issue: policy is not localized.
79
+
80
+ Stop if changing it would alter product, security, privacy, billing, permissions, public API, compatibility, or data-loss behavior.
81
+
82
+ ### Test Knows Too Much
83
+
84
+ Signal: tests assert implementation sequencing instead of behavior.
85
+
86
+ Examples:
87
+
88
+ - tests assert `sendEmail` then `logFailure` then `sendSms` in every route;
89
+ - tests mock five helpers to verify one user-visible behavior;
90
+ - tests duplicate retry counts and provider error types;
91
+ - tests need private methods or internal state.
92
+
93
+ Likely issue: the production interface is not the right test seam.
94
+
95
+ Do not automatically add mocks. Ask whether the module interface should own the behavior.
96
+
97
+ ### Edge-Case Patch Stream
98
+
99
+ Signal: each review pass finds another special case.
100
+
101
+ Examples:
102
+
103
+ - “also handle null phone”; then “also handle email bounce”; then “also handle duplicate invite”; then “also handle retry telemetry.”
104
+
105
+ Likely issue: review is exposing missing behavior ownership, not isolated bugs.
106
+
107
+ Route:
108
+
109
+ - classify findings;
110
+ - stop at review cap;
111
+ - diagnose whether discovery, spec, plan, source truth, module shape, or reviewer context is wrong.
112
+
113
+ ### Pass-Through Wrapper
114
+
115
+ Signal: a module mostly renames another call.
116
+
117
+ Example:
118
+
119
+ ```ts
120
+ function sendTeamInviteEmail(email, subject, options) {
121
+ return sendEmail(email, subject, options);
122
+ }
123
+ ```
124
+
125
+ Likely issue: shallow wrapper.
126
+
127
+ Options:
128
+
129
+ - delete it if it hides nothing;
130
+ - deepen it by moving real policy behind it;
131
+ - keep it only if it expresses a stable domain interface that will soon hide behavior.
132
+
133
+ ### Leaky Interface
134
+
135
+ Signal: callers know provider/database/cache internals.
136
+
137
+ Examples:
138
+
139
+ - callers catch Stripe-specific errors;
140
+ - UI code knows database enum transitions;
141
+ - API callers pass cache invalidation flags;
142
+ - tests assert internal queue names.
143
+
144
+ Likely issue: implementation detail leaked through interface.
145
+
146
+ Route to design if leakage blocks safe change or verification.
147
+
148
+ ### God Module
149
+
150
+ Signal: one file owns unrelated responsibilities.
151
+
152
+ Examples:
153
+
154
+ - route file validates input, applies policy, calls providers, logs metrics, and formats UI copy;
155
+ - workflow module owns routing, vaulting, parsing, rendering, and config mutation.
156
+
157
+ Likely issue: missing internal modules or seams.
158
+
159
+ Do not split by file type alone. Split around hidden decisions and interfaces.
160
+
161
+ ### Speculative Seam
162
+
163
+ Signal: interface/adapters/factory exist for only imagined future variation.
164
+
165
+ Examples:
166
+
167
+ - `PaymentProviderAdapterFactoryRegistry` when only Stripe exists and no migration is planned;
168
+ - strategies for every small formatting function;
169
+ - generic repository around a single simple query.
170
+
171
+ Likely issue: indirection without leverage.
172
+
173
+ Use the variation test: one adapter is hypothetical; two adapters or known upcoming variation justify a seam better.
174
+
175
+ ### Premature Artifact Detail
176
+
177
+ Signal: spec or plan chooses exact classes, factories, tables, or algorithms before evidence exists.
178
+
179
+ Likely issue: artifact is hiding uncertainty as implementation detail.
180
+
181
+ Better:
182
+
183
+ ```text
184
+ Tentative: likely need a policy-owning module if retry/fallback rules spread.
185
+ Open: whether provider variation is real in this scope.
186
+ Stop: revisit plan if slice requires touching every caller.
187
+ ```
188
+
189
+ ## Before / After Examples
190
+
191
+ ### Notification Retry
192
+
193
+ Bad direction:
194
+
195
+ ```text
196
+ Add retryCount to each route that sends notifications.
197
+ ```
198
+
199
+ Pressure:
200
+
201
+ - callers know retry policy;
202
+ - fallback and telemetry are duplicated;
203
+ - tests assert provider sequencing;
204
+ - adding another provider touches every caller.
205
+
206
+ Better direction:
207
+
208
+ ```text
209
+ Introduce a notification delivery module whose interface accepts the notification intent and owns retry, fallback, provider errors, and telemetry.
210
+ ```
211
+
212
+ Still ask owner decisions before changing user-visible delivery semantics.
213
+
214
+ ### Billing Grace Period
215
+
216
+ Bad direction:
217
+
218
+ ```text
219
+ Patch webhook to downgrade immediately, update email text, adjust dashboard copy.
220
+ ```
221
+
222
+ Pressure:
223
+
224
+ - billing policy spread across systems;
225
+ - likely source-truth conflict with docs/tests;
226
+ - user-owned billing behavior.
227
+
228
+ Better direction:
229
+
230
+ ```text
231
+ Stop at interview gate. Decide billing policy first. Then localize policy behind a billing-state transition module if implementation spreads.
232
+ ```
233
+
234
+ ### Cache Freshness
235
+
236
+ Bad direction:
237
+
238
+ ```text
239
+ Thread forceRefresh through every caller.
240
+ ```
241
+
242
+ Pressure:
243
+
244
+ - callers know cache invalidation policy;
245
+ - tests must set timing flags;
246
+ - source truth may allow caching.
247
+
248
+ Better direction:
249
+
250
+ ```text
251
+ Discover expected freshness boundary. If source truth supports it, hide invalidation/freshness rules behind a cache-aware read interface.
252
+ ```
253
+
254
+ ## False Positives
255
+
256
+ Do not overreact when:
257
+
258
+ - a small repeated pattern is stable and local;
259
+ - a one-off script does not need long-term depth;
260
+ - a wrapper exists for public compatibility;
261
+ - broad edits are mechanical and source-backed;
262
+ - tests inspect internals only for an internal module whose interface is intentionally internal;
263
+ - deeper design would expand scope beyond the user's goal.
264
+
265
+ When in doubt, classify as deferred design pressure rather than silently refactoring.
@@ -0,0 +1,219 @@
1
+ # Software Design Philosophy
2
+
3
+ Use this reference when `design-for-depth` needs deeper reasoning than the active skill can carry.
4
+
5
+ This is not a checklist to run every time. Pull the idea that changes the next route.
6
+
7
+ ## Core Claim
8
+
9
+ Good design reduces coordination.
10
+
11
+ A deep module lets callers, tests, reviewers, and future agents use a small interface to get a lot of behavior. A shallow module makes them learn almost as much as the implementation.
12
+
13
+ Design work is worthwhile when it hides a decision that would otherwise spread.
14
+
15
+ ## Ousterhout: Complexity, Deep Modules, Strategic Programming
16
+
17
+ ### Complexity
18
+
19
+ Complexity shows up as:
20
+
21
+ - too many dependencies;
22
+ - obscurity, where important facts are hard to find;
23
+ - change amplification, where a small behavior change touches many places;
24
+ - cognitive load, where the user of a module must remember too much;
25
+ - unknown unknowns, where a future agent cannot tell what it must inspect.
26
+
27
+ For Freeflow, complexity is not “many lines.” A single compact helper can be complex if callers must know its quirks. A large implementation can be simple to use if the interface hides the hard parts.
28
+
29
+ ### Deep modules
30
+
31
+ A deep module has a simple interface and useful behavior behind it.
32
+
33
+ Deep means:
34
+
35
+ - callers say what outcome they need;
36
+ - implementation owns sequencing and policy details;
37
+ - tests can verify behavior through the public interface;
38
+ - future changes stay localized;
39
+ - docs and review comments do not need to explain the hidden machinery every time.
40
+
41
+ Shallow means:
42
+
43
+ - the interface mirrors the implementation;
44
+ - callers pass many flags and know ordering rules;
45
+ - tests assert internal call sequences;
46
+ - wrappers rename work without hiding decisions;
47
+ - future agents still need to inspect everything to use it safely.
48
+
49
+ ### Strategic vs tactical programming
50
+
51
+ Tactical programming makes the current patch fit, even if it spreads complexity.
52
+
53
+ Strategic programming spends a little extra attention to preserve future locality.
54
+
55
+ Freeflow translation:
56
+
57
+ - Do not redesign everything up front.
58
+ - Do stop when the local patch clearly makes the next slice, review, or bug fix harder.
59
+ - Route backward when the plan is tactical but the work is becoming structural.
60
+
61
+ ## Parnas: Information Hiding
62
+
63
+ Parnas's key design move: modules should hide design decisions likely to change.
64
+
65
+ Do not decompose only by processing steps:
66
+
67
+ ```text
68
+ parse -> validate -> send -> log
69
+ ```
70
+
71
+ when the real likely-changing decision is:
72
+
73
+ ```text
74
+ notification delivery policy: provider choice, retry, fallback, telemetry, failure semantics
75
+ ```
76
+
77
+ A good module hides the unstable decision.
78
+
79
+ Ask:
80
+
81
+ - What decision would cause the most edits if it changed?
82
+ - Which callers currently know that decision?
83
+ - Can one module own it?
84
+ - What interface would let callers stop knowing it?
85
+
86
+ Examples:
87
+
88
+ - Billing grace period policy should not be spread across webhook handlers, email copy, UI guards, and tests.
89
+ - Notification retry/fallback policy should not be duplicated in each route.
90
+ - Permission semantics should not be separately encoded in frontend, backend, and test setup.
91
+ - Cache invalidation rules should not require every caller to remember freshness knobs.
92
+
93
+ ## Feathers: Seams And Enabling Points
94
+
95
+ A seam is where behavior can change without editing the surrounding work.
96
+
97
+ A seam needs an enabling point: the place where a different adapter, test double, probe, or behavior can be supplied.
98
+
99
+ Freeflow use:
100
+
101
+ - Use seams to make hard-to-test or hard-to-change behavior tractable.
102
+ - Do not create seams merely because a pattern sounds clean.
103
+ - Prefer seams that match real variation or observability needs.
104
+
105
+ Questions:
106
+
107
+ - What behavior needs to vary?
108
+ - Where can that variation enter without editing callers?
109
+ - What enabling point supplies the adapter or behavior?
110
+ - Does the seam protect production code and tests, or only add indirection?
111
+
112
+ Good seam candidates:
113
+
114
+ - provider variation: email/SMS/payment/search/storage;
115
+ - environment variation: prod/test/offline/fake implementations;
116
+ - observability variation: probes, clocks, log sinks, metrics;
117
+ - migration variation: old and new implementations behind one interface.
118
+
119
+ Weak seam candidates:
120
+
121
+ - one implementation with no likely variation;
122
+ - a seam created only to mock internals while the real interface stays awkward;
123
+ - a factory/registry around every function;
124
+ - an adapter whose interface still exposes provider-specific quirks.
125
+
126
+ ## Ports And Adapters
127
+
128
+ Ports/adapters protects core behavior from infrastructure details.
129
+
130
+ Freeflow wording:
131
+
132
+ - The core owns policy.
133
+ - The adapter owns provider mechanics.
134
+ - The interface between them says what the core needs or provides.
135
+
136
+ Use this idea when infrastructure details are leaking into product logic.
137
+
138
+ Examples:
139
+
140
+ - Stripe event parsing is adapter work; billing policy is core work.
141
+ - Email provider retries are adapter work; user notification policy may be core work.
142
+ - Database query syntax is adapter work; permission semantics are core work.
143
+ - Browser event plumbing is adapter work; user-flow state is core work.
144
+
145
+ Do not over-apply ports/adapters:
146
+
147
+ - simple scripts may not need ports;
148
+ - a single stable library call may not need an adapter;
149
+ - wrapping an SDK without hiding policy or provider quirks is often shallow.
150
+
151
+ ## Refactoring Pressure
152
+
153
+ Design pressure often appears as ordinary implementation pain:
154
+
155
+ - shotgun surgery;
156
+ - repeated review findings;
157
+ - flaky tests around ordering;
158
+ - many mocks for one behavior;
159
+ - hard-to-explain correctness;
160
+ - one bug fix causing another;
161
+ - “just add this flag everywhere.”
162
+
163
+ Do not treat all pressure as a command to refactor.
164
+
165
+ Classify it:
166
+
167
+ - **Real design pressure:** complexity spread blocks safe progress.
168
+ - **Local mess:** cleanup can happen within current scope.
169
+ - **Deferred deepening:** record the candidate, finish current work.
170
+ - **Owner decision:** deeper change affects product/API/security/compatibility.
171
+
172
+ ## Applying The Philosophy In Freeflow
173
+
174
+ ### In discovery
175
+
176
+ Use design ideas to ask better questions, not to freeze architecture.
177
+
178
+ Good questions:
179
+
180
+ - Which decision is most likely to change?
181
+ - Who should know this rule?
182
+ - What should callers stop coordinating?
183
+ - What future variation is real, not imagined?
184
+ - Which tests should survive a provider or implementation change?
185
+
186
+ ### In specs
187
+
188
+ Specs name behavior and boundaries. They should not lock in unproven module shapes.
189
+
190
+ Use:
191
+
192
+ ```text
193
+ Tentative: notification delivery may need one policy-owning module if retries/fallbacks continue spreading.
194
+ Open: whether provider variation is real now or deferred.
195
+ ```
196
+
197
+ not:
198
+
199
+ ```text
200
+ Requirement: implement NotificationDeliveryPortFactoryStrategy.
201
+ ```
202
+
203
+ ### In plans
204
+
205
+ Plan around vertical behavior and interfaces.
206
+
207
+ A good slice can be verified through the intended interface. If the slice requires broad caller choreography, revise the slice.
208
+
209
+ ### In review
210
+
211
+ Review design depth by asking whether the diff reduces or increases caller knowledge.
212
+
213
+ A diff can pass tests and still fail design review if it scatters policy or creates a shallow interface.
214
+
215
+ ### In diagnosis
216
+
217
+ Repeated failures may indicate that the system is missing a module, seam, or source-truth decision.
218
+
219
+ Do not keep fixing symptoms when every fix reveals another coordination problem.
@@ -13,7 +13,9 @@ No production fix without root-cause evidence. A plausible cause is not enough.
13
13
 
14
14
  Use this for bugs, broken behavior, test failures, flaky failures, regressions, performance issues, and fix requests with missing evidence.
15
15
 
16
- Do not use this for product design, artifact review, or planning unless the next question is specifically about a failure signal.
16
+ Also use it when a workflow loop fails repeatedly: artifact review hits the cap, work review hits the cap, verification keeps failing for different reasons, implementation keeps spawning edge cases, or accepted fixes reveal shared-state or module-shape problems.
17
+
18
+ Do not use this for product design, artifact review, or planning unless the next question is specifically about a failure signal or failed workflow loop.
17
19
 
18
20
  ## Hard Stops
19
21
 
@@ -32,6 +34,7 @@ Direct `/diagnose-failure`, "explicit permission", "skip the diagnostic loop", "
32
34
 
33
35
  - For possible loop shapes, read `references/feedback-loop-catalog.md`.
34
36
  - For flaky failures or performance regressions, read `references/flaky-and-performance.md`.
37
+ - For repeated workflow failures, edge-case churn, shared-state fixes, or shallow module/interface signals, read `../design-for-depth/SKILL.md`.
35
38
 
36
39
  ## Feedback Loop
37
40
 
@@ -71,6 +74,8 @@ Before changing behavior:
71
74
 
72
75
  If the failure exposes a product, data-loss, security, privacy, billing, compatibility, or architecture decision, re-enter the interview gate before fixing.
73
76
 
77
+ For repeated workflow failures, classify the likely cause before fixing again: thin discovery, wrong scope, premature decisions, source-truth conflict, missing owner decision, bad plan slice, shallow module/interface, implementation bug, stale reviewer context, or inadequate verification loop. Recommend the next route: rediscover, revise spec, revise plan, use `../design-for-depth/SKILL.md`, fix implementation, adjust reviewer context, or stop.
78
+
74
79
  ## Fix
75
80
 
76
81
  Turn the repro into a regression check when there is a correct seam.
@@ -0,0 +1,58 @@
1
+ # Artifact Destinations
2
+
3
+ Use this when a discovery checkpoint or decision must survive beyond chat.
4
+
5
+ ## Destination Test
6
+
7
+ Before writing, answer:
8
+
9
+ - What needs to survive?
10
+ - Who will treat the destination as authority?
11
+ - Which existing artifact already owns this kind of truth?
12
+ - Would writing here create a new convention?
13
+ - Would a future agent know to look here?
14
+
15
+ If the owner is unclear, ask before writing.
16
+
17
+ ## Common Destinations
18
+
19
+ | Discovery output | Prefer | Avoid |
20
+ | --- | --- | --- |
21
+ | Domain term or meaning | Existing `CONTEXT.md`, glossary, or domain doc | README fallback; creating domain memory without asking |
22
+ | Feature behavior, scope, acceptance | Existing or requested spec | ADR unless the ADR test passes |
23
+ | Future implementation path | Plan | Hidden plan inside a discovery note |
24
+ | Evidence summary before requirements settle | Existing discovery, research, or design notes; otherwise ask | Creating `docs/research/` by default |
25
+ | Immediate continuation state | Handoff | Durable decision memory |
26
+ | Hard-to-reverse surprising tradeoff from alternatives | ADR | Product note that hides rationale |
27
+ | Rejected approach | ADR if tradeoff-heavy; otherwise spec/decision note | Changelog or README by default |
28
+ | No durable value | Chat checkpoint | New file for ceremony |
29
+
30
+ ## ADR Test
31
+
32
+ Use an ADR only when all are true:
33
+
34
+ - Hard to reverse.
35
+ - Surprising without context.
36
+ - Chosen from real alternatives.
37
+
38
+ Otherwise use the owning spec, decision note, domain doc, handoff, or chat.
39
+
40
+ ## Stop Rules
41
+
42
+ Do not create a new `CONTEXT.md`, glossary, `docs/decisions/`, `docs/specs/`, `docs/research/`, or ADR folder just because the checkpoint needs memory.
43
+
44
+ A missing destination convention is a decision point.
45
+
46
+ Do not put volatile file lists, command output, temporary TODOs, or implementation inventory in durable decision memory. Put continuation state in a handoff or plan when needed.
47
+
48
+ ## Question Shape
49
+
50
+ When destination is ambiguous, ask one direct question:
51
+
52
+ ```text
53
+ I have a checkpoint worth preserving: [what].
54
+ The narrowest destination is [recommended artifact] because [why].
55
+ Should I save it there?
56
+ ```
57
+
58
+ Do not write the artifact before the user chooses the destination.