@hassangameryt/freeflow 0.2.0 → 0.4.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 (312) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.claude-plugin/marketplace.json +4 -4
  3. package/{plugins/freeflow/.claude-plugin → .claude-plugin}/plugin.json +5 -2
  4. package/{plugins/freeflow/.codex-plugin → .codex-plugin}/plugin.json +8 -9
  5. package/README.md +194 -127
  6. package/assets/feedback-loop.png +0 -0
  7. package/assets/freeflow-plugin-icon.png +0 -0
  8. package/assets/freeflow_workflow_map.png +0 -0
  9. package/assets/workflow.png +0 -0
  10. package/command-surface.json +129 -0
  11. package/hooks/freeflow-runtime-context.mjs +419 -0
  12. package/hooks/tests/check-runtime-context-hook.sh +223 -0
  13. package/package.json +41 -22
  14. package/pi-extension/dist/index.js +269 -0
  15. package/pi-extension/dist/integrations/mcp-config.js +29 -0
  16. package/pi-extension/dist/output-router/host-producer-identification.js +232 -0
  17. package/pi-extension/dist/output-router/native-safety-net.js +216 -0
  18. package/pi-extension/dist/output-router/observed-tool-routing.js +122 -0
  19. package/pi-extension/dist/output-router/renderers.js +1023 -0
  20. package/pi-extension/dist/output-router/router-tools.js +554 -0
  21. package/pi-extension/dist/output-router/schemas.js +383 -0
  22. package/pi-extension/dist/output-router/status.js +744 -0
  23. package/pi-extension/dist/output-router/utils.js +502 -0
  24. package/pi-extension/dist/runtime/runtime-context.js +798 -0
  25. package/pi-extension/dist/settings/settings-tui.js +314 -0
  26. package/pi-extension/dist/settings/settings-ui.js +1487 -0
  27. package/pi-extension/freeflow/index.js +1 -0
  28. package/pi-extension/src/index.ts +295 -0
  29. package/pi-extension/src/integrations/mcp-config.ts +32 -0
  30. package/pi-extension/src/output-router/host-producer-identification.ts +256 -0
  31. package/pi-extension/src/output-router/native-safety-net.ts +248 -0
  32. package/pi-extension/src/output-router/observed-tool-routing.ts +134 -0
  33. package/pi-extension/src/output-router/renderers.ts +1108 -0
  34. package/pi-extension/src/output-router/router-tools.ts +579 -0
  35. package/pi-extension/src/output-router/schemas.ts +387 -0
  36. package/pi-extension/src/output-router/status.ts +791 -0
  37. package/pi-extension/src/output-router/utils.ts +554 -0
  38. package/pi-extension/src/runtime/runtime-context.ts +895 -0
  39. package/pi-extension/src/settings/settings-tui.ts +408 -0
  40. package/pi-extension/src/settings/settings-ui.ts +1730 -0
  41. package/pi-extension/tests/integration/pi-extension.test.js +4018 -0
  42. package/pi-extension/tests/output-router/observed-producers.test.js +132 -0
  43. package/pi-extension/tests/output-router/search.test.js +722 -0
  44. package/pi-extension/tests/settings/settings-tui.test.js +243 -0
  45. package/pi-extension/tsconfig.json +16 -0
  46. package/{plugins/freeflow/router/dist → router/dist/benchmarks}/benchmark-harness.d.ts +16 -13
  47. package/router/dist/benchmarks/benchmark-harness.js +92 -0
  48. package/router/dist/benchmarks/benchmarks.d.ts +109 -0
  49. package/router/dist/benchmarks/benchmarks.js +979 -0
  50. package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +95 -0
  51. package/router/dist/benchmarks/codex-qa-benchmarks.js +500 -0
  52. package/router/dist/benchmarks/command-benchmarks.d.ts +143 -0
  53. package/router/dist/benchmarks/command-benchmarks.js +698 -0
  54. package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +82 -0
  55. package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +773 -0
  56. package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +132 -0
  57. package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +1380 -0
  58. package/router/dist/benchmarks/context-saving-baseline.d.ts +60 -0
  59. package/router/dist/benchmarks/context-saving-baseline.js +470 -0
  60. package/router/dist/benchmarks/index-benchmarks.d.ts +103 -0
  61. package/router/dist/benchmarks/index-benchmarks.js +862 -0
  62. package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +101 -0
  63. package/router/dist/benchmarks/storage-policy-benchmarks.js +618 -0
  64. package/router/dist/benchmarks/vault-index-benchmarks.d.ts +56 -0
  65. package/router/dist/benchmarks/vault-index-benchmarks.js +322 -0
  66. package/router/dist/config/config.d.ts +103 -0
  67. package/router/dist/config/config.js +632 -0
  68. package/{plugins/freeflow/router/dist → router/dist/config}/router-contract.d.ts +2 -2
  69. package/router/dist/config/router-contract.js +54 -0
  70. package/{plugins/freeflow/router/dist → router/dist/config}/schema.d.ts +19 -10
  71. package/router/dist/config/schema.js +648 -0
  72. package/router/dist/config/types.d.ts +573 -0
  73. package/router/dist/config/types.js +41 -0
  74. package/router/dist/evidence/bounded-evidence.d.ts +40 -0
  75. package/router/dist/evidence/bounded-evidence.js +323 -0
  76. package/router/dist/evidence/evidence-range-selector.d.ts +24 -0
  77. package/router/dist/evidence/evidence-range-selector.js +232 -0
  78. package/router/dist/evidence/evidence-search.d.ts +27 -0
  79. package/router/dist/evidence/evidence-search.js +490 -0
  80. package/{plugins/freeflow/router/dist → router/dist/evidence}/evidence.d.ts +18 -18
  81. package/router/dist/evidence/evidence.js +200 -0
  82. package/router/dist/evidence/failure-contracts.d.ts +37 -0
  83. package/router/dist/evidence/failure-contracts.js +166 -0
  84. package/router/dist/evidence/line-ranges.d.ts +24 -0
  85. package/router/dist/evidence/line-ranges.js +22 -0
  86. package/router/dist/experiments/local-index.d.ts +64 -0
  87. package/router/dist/experiments/local-index.js +581 -0
  88. package/router/dist/index.d.ts +30 -0
  89. package/router/dist/index.js +32 -0
  90. package/router/dist/local/local-traversal.d.ts +18 -0
  91. package/router/dist/local/local-traversal.js +334 -0
  92. package/router/dist/processing/engine.d.ts +132 -0
  93. package/router/dist/processing/engine.js +533 -0
  94. package/router/dist/processing/reducers.d.ts +280 -0
  95. package/router/dist/processing/reducers.js +1673 -0
  96. package/router/dist/processing/renderers.d.ts +31 -0
  97. package/router/dist/processing/renderers.js +195 -0
  98. package/router/dist/processing/scripts.d.ts +91 -0
  99. package/router/dist/processing/scripts.js +386 -0
  100. package/{plugins/freeflow/router/dist → router/dist/repo}/repo-traversal.d.ts +9 -9
  101. package/router/dist/repo/repo-traversal.js +245 -0
  102. package/router/dist/routing/observed-reducers.d.ts +41 -0
  103. package/router/dist/routing/observed-reducers.js +661 -0
  104. package/router/dist/routing/observed-routing.d.ts +26 -0
  105. package/router/dist/routing/observed-routing.js +378 -0
  106. package/router/dist/routing/parsers.d.ts +16 -0
  107. package/router/dist/routing/parsers.js +521 -0
  108. package/router/dist/routing/run-filters.d.ts +60 -0
  109. package/router/dist/routing/run-filters.js +238 -0
  110. package/router/dist/routing/run-reducers.d.ts +49 -0
  111. package/router/dist/routing/run-reducers.js +122 -0
  112. package/router/dist/sandbox/adapter-roots.d.ts +46 -0
  113. package/router/dist/sandbox/adapter-roots.js +66 -0
  114. package/router/dist/sandbox/eryx-python-adapter.d.ts +13 -0
  115. package/router/dist/sandbox/eryx-python-adapter.js +868 -0
  116. package/router/dist/sandbox/jq-wasm-adapter.d.ts +9 -0
  117. package/router/dist/sandbox/jq-wasm-adapter.js +429 -0
  118. package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +13 -0
  119. package/router/dist/sandbox/quickjs-wasi-adapter.js +384 -0
  120. package/router/dist/sandbox/script-sandbox.d.ts +134 -0
  121. package/router/dist/sandbox/script-sandbox.js +337 -0
  122. package/router/dist/setup/script-transform-adapters.d.ts +32 -0
  123. package/router/dist/setup/script-transform-adapters.js +278 -0
  124. package/router/dist/tools/batch.d.ts +33 -0
  125. package/router/dist/tools/batch.js +586 -0
  126. package/router/dist/tools/run.d.ts +62 -0
  127. package/router/dist/tools/run.js +1304 -0
  128. package/router/dist/tools/search.d.ts +66 -0
  129. package/router/dist/tools/search.js +1364 -0
  130. package/router/dist/transform/engine.d.ts +168 -0
  131. package/router/dist/transform/engine.js +2072 -0
  132. package/router/dist/vault/vault-index.d.ts +125 -0
  133. package/router/dist/vault/vault-index.js +416 -0
  134. package/router/dist/vault/vault.d.ts +138 -0
  135. package/router/dist/vault/vault.js +630 -0
  136. package/runtime/interaction-contract.md +16 -0
  137. package/skills/bypass/SKILL.md +82 -0
  138. package/skills/commit-work/SKILL.md +106 -0
  139. package/skills/commit-work/references/staging-decisions.md +73 -0
  140. package/skills/decision-gate/SKILL.md +48 -0
  141. package/skills/design-for-depth/SKILL.md +106 -0
  142. package/skills/design-for-depth/references/design-pressure-signals.md +314 -0
  143. package/skills/design-for-depth/references/interface-design-loop.md +156 -0
  144. package/skills/design-for-depth/references/software-design-philosophy.md +248 -0
  145. package/skills/diagnose-failure/SKILL.md +105 -0
  146. package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +36 -0
  147. package/skills/diagnose-failure/references/flaky-and-performance.md +43 -0
  148. package/skills/discuss/SKILL.md +121 -0
  149. package/skills/discuss/references/checkpoints.md +66 -0
  150. package/skills/evaluate-skill/SKILL.md +105 -0
  151. package/skills/evaluate-skill/references/definition-schema.md +345 -0
  152. package/skills/evaluate-skill/references/evaluation-design.md +86 -0
  153. package/skills/evaluate-skill/references/execution-and-evidence.md +85 -0
  154. package/skills/evaluate-skill/references/review-and-revision.md +51 -0
  155. package/skills/evaluate-skill/scripts/lib/definitions.mjs +296 -0
  156. package/skills/evaluate-skill/scripts/lib/evidence.mjs +46 -0
  157. package/skills/evaluate-skill/scripts/lib/grade-comparison.mjs +60 -0
  158. package/skills/evaluate-skill/scripts/lib/grade-interaction.mjs +148 -0
  159. package/skills/evaluate-skill/scripts/lib/grade-support.mjs +126 -0
  160. package/skills/evaluate-skill/scripts/lib/grade-workspace.mjs +192 -0
  161. package/skills/evaluate-skill/scripts/lib/grade.mjs +56 -0
  162. package/skills/evaluate-skill/scripts/lib/pi.mjs +489 -0
  163. package/skills/evaluate-skill/scripts/lib/process.mjs +79 -0
  164. package/skills/evaluate-skill/scripts/lib/rpc.mjs +444 -0
  165. package/skills/evaluate-skill/scripts/lib/runner.mjs +346 -0
  166. package/skills/evaluate-skill/scripts/lib/sandbox.mjs +409 -0
  167. package/skills/evaluate-skill/scripts/lib/view.mjs +337 -0
  168. package/skills/evaluate-skill/scripts/pi-guard.mjs +164 -0
  169. package/skills/evaluate-skill/scripts/skill-eval.mjs +101 -0
  170. package/skills/execute-work/SKILL.md +99 -0
  171. package/skills/execute-work/references/code-practices.md +78 -0
  172. package/skills/execute-work/references/execution-loop.md +77 -0
  173. package/skills/finish-branch/SKILL.md +117 -0
  174. package/skills/finish-branch/references/integration-options.md +80 -0
  175. package/skills/handoff/SKILL.md +92 -0
  176. package/skills/handoff/references/templates.md +141 -0
  177. package/skills/launch-work/SKILL.md +116 -0
  178. package/skills/launch-work/references/launch-readiness.md +85 -0
  179. package/skills/migration-work/SKILL.md +115 -0
  180. package/skills/migration-work/references/migration-lifecycle.md +82 -0
  181. package/skills/mode-contract/SKILL.md +82 -0
  182. package/skills/output-router/SKILL.md +206 -0
  183. package/skills/output-router/references/safety-policy.md +40 -0
  184. package/skills/release-work/SKILL.md +118 -0
  185. package/skills/release-work/references/release-evidence.md +78 -0
  186. package/skills/review-artifact/SKILL.md +126 -0
  187. package/skills/review-artifact/references/reviewer-prompt.md +148 -0
  188. package/skills/review-work/SKILL.md +126 -0
  189. package/skills/review-work/references/reviewer-prompt.md +134 -0
  190. package/skills/review-work/references/security-risk-lens.md +67 -0
  191. package/skills/setup-freeflow/SKILL.md +98 -0
  192. package/skills/setup-freeflow/references/activation-contract.md +120 -0
  193. package/skills/setup-freeflow/references/host-setup.md +72 -0
  194. package/skills/setup-freeflow/references/output-router-setup.md +110 -0
  195. package/skills/simplify-code/SKILL.md +80 -0
  196. package/skills/simplify-code/references/simplification-patterns.md +70 -0
  197. package/skills/tdd/SKILL.md +96 -0
  198. package/skills/tdd/references/test-design.md +96 -0
  199. package/skills/track-work/SKILL.md +84 -0
  200. package/skills/track-work/references/working-record-schema.md +378 -0
  201. package/skills/verify-work/SKILL.md +85 -0
  202. package/skills/verify-work/references/browser-runtime-evidence.md +55 -0
  203. package/skills/verify-work/references/integration-evidence.md +51 -0
  204. package/skills/verify-work/references/performance-evidence.md +57 -0
  205. package/skills/workflow/SKILL.md +91 -0
  206. package/skills/workflow/references/domain-skill-composition.md +57 -0
  207. package/skills/workflow/references/workflow-loop.md +92 -0
  208. package/skills/write-plan/SKILL.md +123 -0
  209. package/skills/write-plan/references/plan-shapes.md +156 -0
  210. package/skills/write-skill/SKILL.md +119 -0
  211. package/skills/write-skill/references/activation-boundaries.md +62 -0
  212. package/skills/write-skill/references/agent-first-instructions.md +87 -0
  213. package/skills/write-skill/references/progressive-disclosure.md +63 -0
  214. package/skills/write-skill/scripts/lib/skill-author.mjs +653 -0
  215. package/skills/write-skill/scripts/skill-author.mjs +104 -0
  216. package/skills/write-spec/SKILL.md +104 -0
  217. package/skills/write-spec/references/artifact-standards.md +86 -0
  218. package/skills/write-spec/references/decision-records.md +77 -0
  219. package/skills/write-spec/references/spec-shapes.md +128 -0
  220. package/plugins/freeflow/command-surface.json +0 -77
  221. package/plugins/freeflow/docs/README.md +0 -40
  222. package/plugins/freeflow/docs/adr/0001-three-modes.md +0 -27
  223. package/plugins/freeflow/docs/adr/0002-evals-before-hooks.md +0 -17
  224. package/plugins/freeflow/docs/adr/0003-release-boundary.md +0 -21
  225. package/plugins/freeflow/docs/adr/0004-research-replaces-shallow-discovery-skills.md +0 -26
  226. package/plugins/freeflow/docs/adr/README.md +0 -8
  227. package/plugins/freeflow/docs/architecture.md +0 -86
  228. package/plugins/freeflow/docs/output-router.md +0 -212
  229. package/plugins/freeflow/docs/release-evidence.md +0 -69
  230. package/plugins/freeflow/docs/skills.md +0 -43
  231. package/plugins/freeflow/docs/workflow.md +0 -57
  232. package/plugins/freeflow/hooks/freeflow-runtime-context.mjs +0 -257
  233. package/plugins/freeflow/pi-extension/index.js +0 -1176
  234. package/plugins/freeflow/router/dist/benchmark-harness.js +0 -92
  235. package/plugins/freeflow/router/dist/benchmarks.d.ts +0 -102
  236. package/plugins/freeflow/router/dist/benchmarks.js +0 -880
  237. package/plugins/freeflow/router/dist/bounded-evidence.d.ts +0 -40
  238. package/plugins/freeflow/router/dist/bounded-evidence.js +0 -310
  239. package/plugins/freeflow/router/dist/codex-qa-benchmarks.d.ts +0 -91
  240. package/plugins/freeflow/router/dist/codex-qa-benchmarks.js +0 -461
  241. package/plugins/freeflow/router/dist/command-benchmarks.d.ts +0 -128
  242. package/plugins/freeflow/router/dist/command-benchmarks.js +0 -652
  243. package/plugins/freeflow/router/dist/config.d.ts +0 -22
  244. package/plugins/freeflow/router/dist/config.js +0 -114
  245. package/plugins/freeflow/router/dist/evidence-range-selector.d.ts +0 -22
  246. package/plugins/freeflow/router/dist/evidence-range-selector.js +0 -180
  247. package/plugins/freeflow/router/dist/evidence-search.d.ts +0 -25
  248. package/plugins/freeflow/router/dist/evidence-search.js +0 -450
  249. package/plugins/freeflow/router/dist/evidence.js +0 -196
  250. package/plugins/freeflow/router/dist/experimental-local-index.d.ts +0 -1
  251. package/plugins/freeflow/router/dist/experimental-local-index.js +0 -1
  252. package/plugins/freeflow/router/dist/experiments/local-index.d.ts +0 -58
  253. package/plugins/freeflow/router/dist/experiments/local-index.js +0 -562
  254. package/plugins/freeflow/router/dist/index-benchmarks.d.ts +0 -84
  255. package/plugins/freeflow/router/dist/index-benchmarks.js +0 -458
  256. package/plugins/freeflow/router/dist/index.d.ts +0 -12
  257. package/plugins/freeflow/router/dist/index.js +0 -12
  258. package/plugins/freeflow/router/dist/line-ranges.d.ts +0 -22
  259. package/plugins/freeflow/router/dist/line-ranges.js +0 -22
  260. package/plugins/freeflow/router/dist/parsers.d.ts +0 -16
  261. package/plugins/freeflow/router/dist/parsers.js +0 -473
  262. package/plugins/freeflow/router/dist/repo-traversal.js +0 -242
  263. package/plugins/freeflow/router/dist/retrieve.d.ts +0 -33
  264. package/plugins/freeflow/router/dist/retrieve.js +0 -855
  265. package/plugins/freeflow/router/dist/router-contract.js +0 -54
  266. package/plugins/freeflow/router/dist/run.d.ts +0 -26
  267. package/plugins/freeflow/router/dist/run.js +0 -356
  268. package/plugins/freeflow/router/dist/schema.js +0 -354
  269. package/plugins/freeflow/router/dist/types.d.ts +0 -234
  270. package/plugins/freeflow/router/dist/types.js +0 -9
  271. package/plugins/freeflow/router/dist/vault.d.ts +0 -80
  272. package/plugins/freeflow/router/dist/vault.js +0 -484
  273. package/plugins/freeflow/skills/bypass/SKILL.md +0 -68
  274. package/plugins/freeflow/skills/commit-work/SKILL.md +0 -98
  275. package/plugins/freeflow/skills/commit-work/references/staging-decisions.md +0 -51
  276. package/plugins/freeflow/skills/diagnose-failure/SKILL.md +0 -95
  277. package/plugins/freeflow/skills/diagnose-failure/references/feedback-loop-catalog.md +0 -25
  278. package/plugins/freeflow/skills/diagnose-failure/references/flaky-and-performance.md +0 -31
  279. package/plugins/freeflow/skills/evaluate-skill/SKILL.md +0 -96
  280. package/plugins/freeflow/skills/evaluate-skill/references/eval-patterns.md +0 -41
  281. package/plugins/freeflow/skills/evaluate-skill/references/grading-priority.md +0 -33
  282. package/plugins/freeflow/skills/execute-plan/SKILL.md +0 -132
  283. package/plugins/freeflow/skills/execute-plan/references/execution-map.md +0 -122
  284. package/plugins/freeflow/skills/handoff/SKILL.md +0 -66
  285. package/plugins/freeflow/skills/handoff/references/templates.md +0 -64
  286. package/plugins/freeflow/skills/interview-gate/SKILL.md +0 -90
  287. package/plugins/freeflow/skills/mode-contract/SKILL.md +0 -79
  288. package/plugins/freeflow/skills/output-router/SKILL.md +0 -69
  289. package/plugins/freeflow/skills/output-router/references/safety-policy.md +0 -33
  290. package/plugins/freeflow/skills/research/ARTIFACT-DESTINATIONS.md +0 -58
  291. package/plugins/freeflow/skills/research/CHECKPOINTS.md +0 -74
  292. package/plugins/freeflow/skills/research/LANGUAGE.md +0 -61
  293. package/plugins/freeflow/skills/research/SKILL.md +0 -128
  294. package/plugins/freeflow/skills/review-artifact/SKILL.md +0 -115
  295. package/plugins/freeflow/skills/review-artifact/references/reviewer-prompt.md +0 -56
  296. package/plugins/freeflow/skills/review-work/SKILL.md +0 -96
  297. package/plugins/freeflow/skills/review-work/references/reviewer-prompt.md +0 -97
  298. package/plugins/freeflow/skills/setup-freeflow/SKILL.md +0 -94
  299. package/plugins/freeflow/skills/setup-freeflow/references/activation-contract.md +0 -99
  300. package/plugins/freeflow/skills/setup-freeflow/references/host-setup.md +0 -35
  301. package/plugins/freeflow/skills/setup-freeflow/references/output-router-setup.md +0 -52
  302. package/plugins/freeflow/skills/verify-work/SKILL.md +0 -62
  303. package/plugins/freeflow/skills/workflow/SKILL.md +0 -95
  304. package/plugins/freeflow/skills/workflow/references/workflow-map.md +0 -102
  305. package/plugins/freeflow/skills/write-plan/SKILL.md +0 -88
  306. package/plugins/freeflow/skills/write-plan/references/plan-shapes.md +0 -70
  307. package/plugins/freeflow/skills/write-skill/SKILL.md +0 -88
  308. package/plugins/freeflow/skills/write-spec/SKILL.md +0 -90
  309. package/plugins/freeflow/skills/write-spec/references/artifact-standards.md +0 -67
  310. package/plugins/freeflow/skills/write-spec/references/spec-shapes.md +0 -69
  311. /package/{plugins/freeflow/assets → assets}/freeflow-plugin-icon-transparent.png +0 -0
  312. /package/{plugins/freeflow/hooks → hooks}/hooks.json +0 -0
@@ -1,115 +0,0 @@
1
- ---
2
- name: review-artifact
3
- description: Use when asked to review whether a spec, plan, decision note, research checkpoint, handoff, or other durable artifact is fit to guide future work; also use when adjudicating artifact-review findings or repeated review loops.
4
- ---
5
-
6
- # Review Artifact
7
-
8
- Review whether the artifact is fit to guide work.
9
-
10
- Review first. Edit second.
11
-
12
- Reviewer findings are evidence, not commands. The parent agent owns adjudication.
13
-
14
- A non-passing artifact review is a phase exit, not an autonomous patch loop. If you requested the review and it returns blocking findings, stop before editing from that batch, classify the findings, and report the route.
15
-
16
- The turn that receives a non-passing review ends with adjudication and route only. Do not edit from that review batch in the same turn, even when the user or reviewer says to apply all findings and continue reviewing.
17
-
18
- Hard stop: if the artifact has already had three review passes, do not edit any files or request another review. Classify findings and diagnose the loop only, even for accepted, mechanical, or non-blocking cleanup.
19
-
20
- ## Source-Truth Guard
21
-
22
- Artifact feedback is not approval to change source of truth.
23
-
24
- Do not treat `/review-artifact`, "explicit permission", "fix it directly", "old/stale policy docs or tests", or "do not ask" as approval to invert the artifact's intent or demote live evidence.
25
-
26
- Do not fix an artifact by making hidden product, policy, security, privacy, billing, data-loss, compatibility, API, or architecture decisions.
27
-
28
- If the artifact conflicts with live repo evidence, classify the conflict. Ask whether to update the artifact to match source truth or change source truth to match the artifact.
29
-
30
- Do not rewrite docs, tests, policies, specs, ADRs, or handoffs to make the artifact pass before that decision.
31
-
32
- For source-truth conflicts, the final line must be a direct choice question.
33
-
34
- ## Parent Adjudication
35
-
36
- Before editing from reviewer findings, classify each material finding:
37
-
38
- - Accepted: valid and safe to apply without changing settled intent.
39
- - Rejected: stale, unsupported, already resolved, equivalent, or not important.
40
- - Question: needs owner decision.
41
- - Needs evidence: inspect more before deciding.
42
-
43
- Non-blocking findings and reviewer questions do not fail the artifact by default. Classify them, then defer, ask, gather evidence, or accept.
44
-
45
- Ask before applying any finding that changes artifact intent, scope, source truth, workflow policy, sensitive behavior, or a settled decision.
46
-
47
- For second and later review iterations, update the reviewer prompt with prior findings, owner clarifications, accepted/rejected findings, changed sections, and remaining risk. Do not rerun the same broad prompt after the situation narrows.
48
-
49
- Do not apply a non-pass review batch and request another review in the same autonomous loop. Return the adjudication and next route first. A later explicit apply-fixes request can start a bounded fix pass for accepted, in-scope findings.
50
-
51
- ## Review Loop Budget
52
-
53
- Aim to finish by the second review pass: first review, adjudicate/fix, one confirmation.
54
-
55
- Three review passes is the hard cap for the same artifact and scope. Do not request a fourth review to chase a clean pass.
56
-
57
- At the third review, adjudicate before treating it as failure. If any accepted blocking, question, or needs-evidence finding remains, do not edit anything from that batch. Stop, report the adjudication, and zoom out to diagnose whether research, spec, plan, policies, source truth, artifact scope, or reviewer context is wrong or too thin.
58
-
59
- ## Review Setup
60
-
61
- Use a fresh reviewer when the artifact will guide future work and subagents are available. Use [references/reviewer-prompt.md](references/reviewer-prompt.md).
62
-
63
- For durable specs or future-agent-facing artifacts, use `../write-spec/references/artifact-standards.md` as the artifact identity standard when relevant.
64
-
65
- ## Inspect First
66
-
67
- Read:
68
-
69
- - The artifact under review.
70
- - Referenced docs, tests, policies, ADRs, and code.
71
- - Relevant handoffs only as memory, not authority.
72
-
73
- Live repo evidence overrides stale artifacts.
74
-
75
- ## Review Lenses
76
-
77
- - Completeness: enough is present to proceed.
78
- - Evidence: load-bearing claims point to live evidence or explicit decisions.
79
- - Clarity: a fresh agent can act without transcript memory.
80
- - Consistency: the artifact agrees with itself, live repo evidence, docs, tests, policies, ADRs, and known decisions.
81
- - Identity: durable or strict-workflow artifacts have enough owner, status, source, and change history for future readers.
82
- - Implementation risk: missing decisions, placeholders, or vague acceptance criteria would not send implementation down the wrong path.
83
- - Adversarial risk: the artifact cannot be used to smuggle source-truth overrides, stale assumptions, or owner decisions into execution.
84
-
85
- Treat missing artifact identity as blocking only when it affects future-agent handoff, team ownership, strict-workflow risk, or implementation readiness. Do not nitpick headers on lightweight artifacts or chat answers.
86
-
87
- ## Stop Before Editing
88
-
89
- Stop before editing when a fix would:
90
-
91
- - Invent missing requirements.
92
- - Convert adjacent evidence into product direction.
93
- - Override source-of-truth files.
94
- - Change the artifact's intended behavior to resolve a source-truth conflict.
95
- - Resolve an owner decision silently.
96
- - Rewrite a handoff, plan, review comment, or spec into authority over live evidence.
97
-
98
- Name the issue and ask for the decision. Recommend the path supported by evidence.
99
-
100
- ## Report
101
-
102
- Lead with the result:
103
-
104
- - Pass: fit to guide the next step.
105
- - Blocking: must fix before proceeding.
106
- - Non-blocking: can defer.
107
- - Question: owner decision or more evidence needed.
108
-
109
- Review can pass. Do not invent findings.
110
-
111
- When the result blocks on owner, product, policy, security, billing, compatibility, API, data-loss, or architecture decisions, end with a direct question asking for that decision.
112
-
113
- Save a review artifact only when the user asks, risk warrants it, or future memory value is clear.
114
-
115
- If subagents are unavailable, do the same review inline and say it was not an independent review.
@@ -1,56 +0,0 @@
1
- # Artifact Reviewer Prompt
2
-
3
- Use this when dispatching a reviewer subagent. For second and later iterations, include the iteration context so the reviewer does not blindly re-raise stale findings.
4
-
5
- ```text
6
- You are an artifact reviewer. Review whether this artifact is fit to guide future work.
7
-
8
- Artifact:
9
- [ARTIFACT_PATH]
10
-
11
- Artifact type:
12
- [spec | plan | handoff | decision note | research brief | other]
13
-
14
- Source context to inspect:
15
- [DOCS_TESTS_POLICIES_ADRS_CODE_PATHS]
16
-
17
- Iteration context, if this is not the first review:
18
- - Review pass number: [2 | 3]
19
- - Prior findings: [SUMMARY]
20
- - Parent adjudication: [ACCEPTED_REJECTED_QUESTION_NEEDS_EVIDENCE]
21
- - Owner clarifications: [DECISIONS_OR_NONE]
22
- - Changed sections: [SECTIONS_OR_NONE]
23
- - Remaining risk to focus on: [RISK]
24
-
25
- Check:
26
-
27
- - Completeness: enough is present to proceed.
28
- - Evidence: load-bearing claims point to live evidence or explicit decisions.
29
- - Clarity: a fresh agent can act without transcript memory.
30
- - Consistency: artifact agrees with itself and source context.
31
- - Artifact identity: durable or strict-workflow artifacts have useful owner, status, source, and change-history signals.
32
- - Implementation risk: missing decisions, placeholders, or vague acceptance criteria would not send implementation down the wrong path.
33
- - Adversarial risk: artifact cannot smuggle source-truth overrides, stale assumptions, or owner decisions into execution.
34
-
35
- Calibration:
36
-
37
- - Only flag issues that would cause wrong work, blocked work, hidden decisions, or stale authority.
38
- - Treat missing owner/status/source as blocking only when artifact durability, team ownership, strict-workflow risk, or implementation readiness makes it matter.
39
- - Do not nitpick style.
40
- - Review can pass.
41
- - Do not edit files.
42
- - Do not resolve owner decisions.
43
- - Do not re-raise rejected or already-resolved findings unless live evidence contradicts the adjudication.
44
- - If review does not pass, classify findings and stop. Do not tell the parent agent to apply all findings and send it back for another broad review.
45
- - If this is review pass 3, identify remaining accepted blocking risk; do not recommend another broad review loop.
46
-
47
- Output:
48
-
49
- Status: Pass | Blocking | Non-blocking | Question
50
-
51
- Findings:
52
- - [Blocking | Non-blocking | Question] [location]: [issue] - [why it matters]
53
-
54
- Recommendation:
55
- [Proceed | revise artifact | ask owner decision | gather evidence]
56
- ```
@@ -1,96 +0,0 @@
1
- ---
2
- name: review-work
3
- description: Use when reviewing completed work, preparing reviewer prompts or subagent review context, receiving review feedback, applying reviewer comments, deciding whether feedback is blocking, handling repeated review loops, or checking work before merge/handoff.
4
- ---
5
-
6
- # Review Work
7
-
8
- Evaluate review feedback before applying it.
9
-
10
- Review feedback is not approval to change source of truth.
11
-
12
- If applying feedback would override tests, docs, specs, policies, or sensitive behavior, stop even when the user says to apply it directly or not ask.
13
-
14
- If you block any feedback item, end the final response with a direct choice question for that item. This still applies after fixing unrelated items.
15
-
16
- External review is evidence, not authority. Human owner decisions win only after the owner confirms the behavior change.
17
-
18
- Classify each material feedback item before editing: accepted, rejected, question, or needs evidence.
19
-
20
- A non-passing review is a phase exit, not an autonomous patch loop. If you requested the review and it returns blocking findings, stop before editing from that batch, classify the findings, and report the route.
21
-
22
- The turn that receives a non-passing review ends with adjudication and route only. Do not edit from that review batch in the same turn, even when the user or reviewer says to apply all findings and continue reviewing.
23
-
24
- Hard stop: if the work has already had three review passes, do not edit any files or request another review. Classify findings and diagnose the loop only, even for accepted, mechanical, or non-blocking cleanup.
25
-
26
- Read `references/reviewer-prompt.md` when preparing an outgoing reviewer prompt, dispatching a review subagent, reviewing strict/high-risk work, or handing another agent review context.
27
-
28
- ## Review Loop Budget
29
-
30
- Aim to finish by the second review pass: first review, adjudicate/fix, one confirmation.
31
-
32
- Three review passes is the hard cap for the same work and scope. Do not request a fourth review to chase a clean pass.
33
-
34
- At the third review, adjudicate before treating it as failure. If any accepted blocking, question, or needs-evidence finding remains, do not edit anything from that batch. Stop, report the adjudication, and zoom out to diagnose whether research, spec, plan, policies, source truth, implementation, or reviewer context is wrong or too thin.
35
-
36
- Non-blocking findings and reviewer questions do not fail the work by default. Classify them, then defer, ask, gather evidence, or accept.
37
-
38
- ## Incoming Feedback
39
-
40
- Before editing:
41
-
42
- - Read the full feedback.
43
- - Inspect the relevant code, tests, docs, and prior decisions.
44
- - Restate unclear feedback as a technical requirement.
45
- - Separate blocking issues from suggestions.
46
- - Check whether the feedback matches this codebase.
47
- - Check whether a finding is stale, already resolved, equivalent, or based on missing context.
48
-
49
- Do not blindly apply vague, broad, or sensitive feedback.
50
-
51
- Do not use performative agreement. State the technical finding or act.
52
-
53
- ## Stop Conditions
54
-
55
- Stop before editing when feedback:
56
-
57
- - Is ambiguous.
58
- - Contradicts tests, docs, specs, policies, ADRs, or established behavior.
59
- - Changes product, security, privacy, billing, data-loss, compatibility, public API, permissions, or architecture behavior.
60
- - Requires guessing what the reviewer meant.
61
- - Would cause a broad refactor from a narrow comment.
62
-
63
- Name the conflict or uncertainty and ask which path to follow. Recommend the path supported by evidence.
64
-
65
- ## Applying Feedback
66
-
67
- For multi-item review:
68
-
69
- - Apply independent clear items.
70
- - Stop blocked items.
71
- - If items interact, clarify before implementing the set.
72
-
73
- When feedback is clear and correct and the current route is an apply-fixes pass:
74
-
75
- - Apply one item at a time.
76
- - Keep the diff scoped to the review item.
77
- - Verify each fix.
78
- - Push back on incorrect feedback with code, tests, or docs.
79
-
80
- Do not apply a non-pass review batch and request another review in the same autonomous loop. Return the adjudication and next route first. A later explicit apply-fixes request can start a bounded fix pass for accepted, in-scope findings.
81
-
82
- ## Outgoing Review
83
-
84
- When reviewing work, lead with bugs, regressions, missing tests, and requirement gaps.
85
-
86
- Classify findings:
87
-
88
- - Blocking: must fix before proceeding.
89
- - Non-blocking: can defer.
90
- - Question: needs owner decision or more evidence.
91
-
92
- Review can pass. Do not invent issues to justify the review.
93
-
94
- When asking another agent to review, give it source truth, changed files, risk lenses, and pass/fail criteria. Do not hand it only the previous agent's summary or your chat history.
95
-
96
- For second and later review iterations, update the prompt with prior findings, owner clarifications, accepted/rejected findings, changed files, and remaining risk. Do not rerun the same broad prompt after the situation narrows.
@@ -1,97 +0,0 @@
1
- # Reviewer Prompt
2
-
3
- Use this when preparing an outgoing reviewer prompt or subagent review context.
4
-
5
- The reviewer should get the work product and source truth, not your session memory.
6
-
7
- ## Include
8
-
9
- - What was implemented or changed.
10
- - The source authority: spec, plan, issue, ADR, policy, tests, or user-confirmed requirement.
11
- - Files or diff range to inspect. If no git range exists, list concrete files.
12
- - Claimed verification and what still needs independent checking.
13
- - Risk lenses relevant to the work.
14
- - Required output shape and severity labels.
15
- - Clear instruction not to edit files unless the review task explicitly includes fixes.
16
- - For review pass 2 or 3: prior findings, accepted/rejected/question/needs-evidence adjudication, owner clarifications, changed files, and narrowed remaining risk.
17
-
18
- Do not forward only a previous-agent summary. Summaries are useful context, not authority.
19
-
20
- For second and later review iterations, include prior findings, parent adjudication, owner clarifications, changed files, and the remaining risk. Do not rerun the same broad prompt after the situation narrows.
21
-
22
- ## Risk Lenses
23
-
24
- Pick the lenses that fit the work:
25
-
26
- - Source-truth alignment: implementation matches spec, plan, docs, tests, and established behavior.
27
- - Regression risk: unrelated behavior changed or broad refactor from narrow work.
28
- - Security/privacy: auth, secrets, permissions, sensitive data, logging, data exposure.
29
- - Billing/product: pricing, downgrade/upgrade, access, entitlements, user-visible policy.
30
- - Public API: route, method, payload, response status/body, compatibility, error semantics.
31
- - Data safety: migrations, deletion, idempotency, rollback, duplicate processing.
32
- - Test gaps: claims rely on manual checks, stale notes, or missing executable coverage.
33
- - Reviewability: diff scope, generated files, hidden dependencies, unexplained deviations.
34
-
35
- For strict-workflow or high-risk work, call out owner-owned decisions and stop conditions directly.
36
-
37
- ## Output Shape
38
-
39
- Ask the reviewer to lead with findings, ordered by severity:
40
-
41
- ```md
42
- ## Findings
43
-
44
- ### Blocking
45
- - [file:line] Title
46
- - What is wrong:
47
- - Why it matters:
48
- - Minimal fix direction:
49
-
50
- ### Non-blocking
51
- - ...
52
-
53
- ### Questions
54
- - ...
55
-
56
- ## Assessment
57
-
58
- Ready to proceed: Yes | No | With fixes
59
- Reasoning: ...
60
- ```
61
-
62
- If review passes, the reviewer should say that clearly and name any residual test gaps or assumptions.
63
-
64
- If review does not pass, the reviewer should classify findings and stop. Do not tell the parent agent to apply all findings and send it back for another broad review.
65
-
66
- Do not ask reviewers to invent issues. A clean pass is valid.
67
-
68
- If this is review pass 3, ask for remaining accepted blocking risk only. Do not recommend a fourth broad review loop.
69
-
70
- ## Minimal Template
71
-
72
- ```md
73
- # Reviewer Prompt
74
-
75
- Review the completed work. Do not edit files.
76
-
77
- ## Work Summary
78
-
79
- [What changed, from the implementer summary or observed files.]
80
-
81
- ## Source Truth
82
-
83
- - [spec/plan/policy/test paths]
84
-
85
- ## Files Or Range
86
-
87
- - [changed files or git range]
88
-
89
- ## Check
90
-
91
- - [risk lenses and concrete requirements]
92
- - [if pass 2 or 3: prior findings, adjudication, owner clarifications, changed files, and narrowed remaining risk]
93
-
94
- ## Output
95
-
96
- Lead with findings by severity. Include file:line, violated requirement, risk, and minimal fix direction. If there are no findings, say so and list residual risk/test gaps.
97
- ```
@@ -1,94 +0,0 @@
1
- ---
2
- name: setup-freeflow
3
- description: Use when setting up, installing, enabling, initializing, or configuring Freeflow in a repo, choosing Codex/Claude/multi-agent activation, creating `.freeflow/config.json`, or changing the repo default mode during setup.
4
- ---
5
-
6
- # Setup Freeflow
7
-
8
- Use `references/activation-contract.md` before rendering activation text, config, or host setup.
9
-
10
- Use `references/host-setup.md` when the request mentions Codex, Claude, both hosts, team setup, solo setup, strict defaults, hooks, CLI, or setup profiles.
11
-
12
- Use `references/output-router-setup.md` when setup explicitly asks for output-router repo config, generated-path hints, native safety-net routing, vault settings, or output thresholds.
13
-
14
- ## Stop Before Editing
15
-
16
- Do not create config, add activation blocks, imports, or rule files until setup has a clear host target and no unresolved repo-rule conflict.
17
-
18
- Hard stops:
19
- - both `AGENTS.md` and `CLAUDE.md` exist, and the user did not explicitly choose a host or ask for multi-agent setup
20
- - existing repo instructions conflict with asking before user-owned decisions
21
- - existing repo instructions conflict with verification before completion claims
22
- - Claude setup would add `.claude/rules/freeflow-core.md` but the user has not clearly chosen Claude or multi-agent setup
23
-
24
- For a hard stop, make no file changes. Name the blocker and ask one direct question.
25
-
26
- ## Inspect
27
-
28
- Inspect `.freeflow/config.json`, `AGENTS.md`, `CLAUDE.md`, `.claude/rules/freeflow-core.md`, `.codex/rules/`, existing `## Freeflow` blocks, and conflicting repo instructions.
29
-
30
- Existing repo instructions are source truth. If a rule conflicts with Freeflow's core behavior, name the conflict and ask whether to install Freeflow as advisory, revise the rule, or skip setup. Advisory install is a user decision, not the default.
31
-
32
- ## Target
33
-
34
- - Codex target: update `AGENTS.md`.
35
- - Claude target: update `CLAUDE.md` and `.claude/rules/freeflow-core.md`.
36
- - If only `AGENTS.md` exists, choose Codex.
37
- - If only `CLAUDE.md` exists, choose Claude.
38
- - If both exist and the user explicitly named the host target, update that host's files.
39
- - If both exist and the target is ambiguous, ask before editing.
40
- - If neither exists, ask which one to create.
41
- - Update both only when the user asks for multi-agent setup. Mention duplicated host activation drift risk.
42
-
43
- Do not treat the current agent runtime alone as target approval. A Codex run in a repo that also has `CLAUDE.md` still needs the user to choose unless the request or repo instructions make the target explicit.
44
-
45
- Update an existing `## Freeflow` block in place. Otherwise place the block near existing agent skill/workflow sections, or append near the end. Never duplicate it. Do not use `.codex/rules/*.rules` for Freeflow behavior; Codex rules are shell approval/security policy, not model memory.
46
-
47
- ## Config
48
-
49
- Create or update `.freeflow/config.json` using the config adapter in `references/activation-contract.md`.
50
-
51
- Minimal setup writes only `defaultMode`. Use `workflow` unless the user explicitly asks to persist a valid repo default: `conversation`, `workflow`, or `strict-workflow`.
52
-
53
- Optional `outputRouter` config belongs here only when explicitly requested. Read `references/output-router-setup.md` first. Do not add an empty `outputRouter`, dump router defaults, or ask every setup user about router config.
54
-
55
- If the user asks for router setup but gives no config knobs, say the router works with built-in defaults and ask which optional config they want persisted. Recommend no repo config unless they need a repo-specific hint or native safety-net behavior.
56
-
57
- Never enable native safety-net routing by default. `postToolRouting: "safety-net"` requires an explicit request; `strict` is reserved and needs a separate confirmation before writing.
58
-
59
- Do not infer `strict-workflow` from "team", "strict gates", "careful", or high-risk examples. Recommend or ask unless the user explicitly says to make a mode the repo default.
60
-
61
- Do not add current mode, task, phase, file inventory, active plans, version metadata, activation file path, or unrequested router keys.
62
- Mode switches are task/conversation scoped unless the user explicitly asks to persist a different default mode.
63
-
64
- ## Activation
65
-
66
- Render the canonical blocks from `references/activation-contract.md`.
67
-
68
- For Codex, put the Codex core block in `AGENTS.md`.
69
-
70
- For Claude, put only the Claude import block in `CLAUDE.md`, then put the Codex core block text in `.claude/rules/freeflow-core.md`. Do not create a separate Claude rule file for `interview-gate`; plugin runtime loads it.
71
-
72
- Do not list the whole workflow, every mode, or full `interview-gate` skill in always-loaded text. Do not split into multiple always-loaded Freeflow rule files unless the user explicitly confirms that split after the one-file recommendation.
73
-
74
- ## Do Not Create
75
-
76
- Setup must not create empty `CONTEXT.md`, docs pages, repo-local hooks, state files, handoffs, skill inventories, `setup-output-router` skills, or `.codex/rules` behavior files.
77
- `CONTEXT.md` is domain language memory, not plugin state.
78
- Plugin-bundled context hooks are installed with Freeflow, not created by repo setup.
79
-
80
- ## Verify
81
-
82
- Before claiming setup is complete, check:
83
- - config JSON parses
84
- - minimal config contains only `defaultMode` with the requested explicit default, or `workflow` when no explicit default was requested
85
- - optional `outputRouter` config appears only when explicitly requested and contains only requested valid keys
86
- - native safety-net routing is off unless explicitly requested
87
- - Codex setup has exactly one `## Freeflow` block in `AGENTS.md`
88
- - Claude setup has exactly one `CLAUDE.md` import and one `.claude/rules/freeflow-core.md` core file
89
- - `.codex/rules` was not created or changed for Freeflow behavior
90
- - no unrelated files changed
91
-
92
- After successful setup verification, read `../workflow/SKILL.md`, `../workflow/references/workflow-map.md`, and `../interview-gate/SKILL.md` before the final response. Only say workflow and interview-gate context is loaded for this session if all three files were read successfully.
93
-
94
- If verification cannot run, say what remains unverified.
@@ -1,99 +0,0 @@
1
- # Activation Contract
2
-
3
- This is the canonical Freeflow setup contract. Setup renders this contract into host instruction files; docs, fixtures, and eval assertions should reference it or be checked against it.
4
-
5
- ## Interface
6
-
7
- Use this Markdown reference as the v0.1 contract module:
8
-
9
- ```text
10
- getActivationContract(defaultMode) -> ActivationContract
11
- planActivation(contract, repoState, request) -> ActivationPlan | ActivationStop
12
- renderActivation(contract, target) -> rendered text or checks
13
- planOptionalOutputRouterConfig(request) -> OutputRouterConfigPlan | ActivationStop
14
- ```
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
-
18
- ## Invariants
19
-
20
- - Activation text contains always-on invariants only, not the full workflow spine.
21
- - Minimal config has exactly one field: `defaultMode`.
22
- - Optional `outputRouter` config is allowed only when explicitly requested.
23
- - Valid defaults are exactly `conversation`, `workflow`, and `strict-workflow`.
24
- - Default mode is `workflow` unless the user explicitly persists another valid mode.
25
- - Codex activation writes `AGENTS.md`, not `.codex/rules`.
26
- - Claude activation writes a `CLAUDE.md` import plus one `.claude/rules/freeflow-core.md`.
27
- - Multi-agent setup updates both host surfaces only on explicit request and reports drift risk.
28
- - Existing repo instructions remain source truth.
29
- - Setup hard-stops before unresolved host ambiguity or repo-rule conflict.
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 workflow and interview-gate context at session start, but they are package runtime, not setup output.
32
- - 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.
33
-
34
- ## Host Adapters
35
-
36
- Codex adapter:
37
-
38
- - Update an existing `## Freeflow` block in `AGENTS.md`, or add one near existing agent/workflow instructions.
39
- - Keep exactly one `## Freeflow` block.
40
- - Never use `.codex/rules` for Freeflow behavior.
41
-
42
- Claude adapter:
43
-
44
- - Update `CLAUDE.md` with only the import block below.
45
- - Write the Codex core block text to `.claude/rules/freeflow-core.md`.
46
- - Keep exactly one imported core file unless the user explicitly confirms a split after the one-file recommendation.
47
-
48
- Config adapter:
49
-
50
- - Create or update `.freeflow/config.json`.
51
- - For minimal setup, write exactly `{ "defaultMode": "<mode>" }`.
52
- - Use `workflow` unless the user explicitly asks to persist `conversation` or `strict-workflow`.
53
- - Add `outputRouter` only when explicitly requested, using `output-router-setup.md`.
54
- - Missing `outputRouter` means built-in defaults, not a setup warning.
55
- - Never enable native safety-net routing by default.
56
-
57
- ## Codex Core Block
58
-
59
- <!-- freeflow-activation-contract:codex-core:start -->
60
- ```md
61
- ## Freeflow
62
-
63
- Use Freeflow for consequential work. Default mode: `.freeflow/config.json`.
64
-
65
- Move forward when context is sufficient. Re-enter clarification when new ambiguity would change the next action.
66
-
67
- Treat questions as questions and suggestions as hypotheses. Answer directly; do not infer correction, permission, or agreement.
68
-
69
- Ask before user-owned decisions: product behavior, scope, public APIs, security, privacy, billing, data loss, compatibility, permissions, or irreversible architecture.
70
-
71
- Treat live repo evidence and existing docs/tests as source truth. If the user request conflicts with them, stop and ask before changing behavior.
72
-
73
- Verify before completion claims. Capture only stable decisions, glossary terms, ADR-worthy tradeoffs, or useful handoff memory.
74
- ```
75
- <!-- freeflow-activation-contract:codex-core:end -->
76
-
77
- ## Claude Import Block
78
-
79
- <!-- freeflow-activation-contract:claude-import:start -->
80
- ```md
81
- ## Freeflow
82
-
83
- @.claude/rules/freeflow-core.md
84
- ```
85
- <!-- freeflow-activation-contract:claude-import:end -->
86
-
87
- ## Drift Checks
88
-
89
- 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.
90
- Run `plugins/freeflow/evals/scripts/check-runtime-context-hook.sh` when changing plugin-bundled runtime context hooks.
91
-
92
- The check keeps these surfaces aligned:
93
-
94
- - this canonical reference
95
- - `setup-freeflow/SKILL.md`
96
- - `setup-freeflow/references/host-setup.md`
97
- - `docs/freeflow-runtime-and-lifecycle.md`
98
- - post-setup `AGENTS.md` fixtures
99
- - setup eval assertions that depend on canonical activation text
@@ -1,35 +0,0 @@
1
- # Host Setup
2
-
3
- Use this only when setup asks for a host, profile, default mode, team install, hooks, CLI, or multi-agent shape. Use `activation-contract.md` for canonical activation text, config invariants, and host adapter rules.
4
-
5
- ## Hosts
6
-
7
- Codex setup writes `AGENTS.md` and `.freeflow/config.json`.
8
-
9
- Claude setup writes `CLAUDE.md`, `.claude/rules/freeflow-core.md`, and `.freeflow/config.json`.
10
-
11
- Multi-agent setup updates both host surfaces only when the user asks for both or multi-agent setup. Mention that duplicated always-on text can drift, render both hosts from `activation-contract.md`, and keep Claude's full block in one imported file.
12
-
13
- Current runtime is not enough to choose a host when both `AGENTS.md` and `CLAUDE.md` exist.
14
-
15
- ## Profiles
16
-
17
- Solo setup is the default: one host target, compact activation, `defaultMode: "workflow"`, no extra docs.
18
-
19
- Output-router 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 explicitly asks for router config.
20
-
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.
22
-
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
-
25
- Valid persisted defaults are exactly `conversation`, `workflow`, and `strict-workflow`.
26
-
27
- ## Not Setup
28
-
29
- Do not install repo-local hooks, CLI commands, lint rules, global standards, docs inventories, setup-output-router skills, or state files during setup.
30
-
31
- 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.
32
-
33
- 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.
34
-
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.
@@ -1,52 +0,0 @@
1
- # Output Router Setup
2
-
3
- Use this only when setup explicitly asks for output-router repo config, generated-path hints, native safety-net routing, vault settings, or output thresholds.
4
-
5
- ## Defaults
6
-
7
- - The output router has built-in defaults. A repo does not need `outputRouter` config to use it.
8
- - Minimal `/setup-freeflow` must still write only `defaultMode`.
9
- - Do not ask every setup user about router config.
10
- - Do not create a separate `setup-output-router` skill.
11
-
12
- 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 a repo-specific hint or safety-net behavior.
13
-
14
- ## Config Keys
15
-
16
- Write only keys the user explicitly requests. Do not dump all defaults and do not create an empty `outputRouter` object.
17
-
18
- Supported repo config keys:
19
-
20
- ```json
21
- {
22
- "defaultMode": "workflow",
23
- "outputRouter": {
24
- "postToolRouting": "off",
25
- "largeOutputBytes": 64000,
26
- "largeOutputLines": 1000,
27
- "vaultRoot": "~/.cache/freeflow-router/vault",
28
- "vaultRetentionDays": 7,
29
- "generatedPaths": ["graphify-out/**"],
30
- "noisyCommandHints": ["npm test"]
31
- }
32
- }
33
- ```
34
-
35
- Rules:
36
-
37
- - `postToolRouting` defaults to `off`. Use `safety-net` only when explicitly requested. Treat `strict` as reserved; ask before writing it.
38
- - `largeOutputBytes`, `largeOutputLines`, and `vaultRetentionDays` must be positive integers.
39
- - `vaultRoot` must be a non-empty string.
40
- - `generatedPaths` are broad-scan generated-path hints. Explicit file or directory retrieval must remain available.
41
- - `noisyCommandHints` is parsed as hint config. Do not add it unless the user explicitly asks for command-pattern hints.
42
-
43
- ## Verify
44
-
45
- After writing optional router config:
46
-
47
- - JSON parses.
48
- - `defaultMode` is valid.
49
- - `outputRouter` contains only requested keys.
50
- - Invalid router values are not written.
51
- - Native safety-net routing is not enabled unless explicitly requested.
52
- - No repo-local hooks, skill files, setup-output-router skill, or docs inventories were created.