@hassangameryt/freeflow 0.5.0 → 0.7.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 (301) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +2 -2
  3. package/.codex-plugin/plugin.json +4 -5
  4. package/README.md +141 -163
  5. package/capabilities/cognitive-routing/SKILL.md +387 -0
  6. package/capabilities/context-virtualization/SKILL.md +103 -0
  7. package/capabilities/conversation-history/SKILL.md +53 -0
  8. package/command-surface.json +6 -37
  9. package/hooks/freeflow-runtime-context.mjs +50 -541
  10. package/hooks/hooks.json +1 -26
  11. package/hooks/tests/check-runtime-context-hook.sh +114 -308
  12. package/package.json +27 -17
  13. package/pi-extension/dist/cognitive-routing/commands.js +96 -0
  14. package/pi-extension/dist/cognitive-routing/config.js +232 -0
  15. package/pi-extension/dist/cognitive-routing/controller.js +1292 -0
  16. package/pi-extension/dist/cognitive-routing/history.js +451 -0
  17. package/pi-extension/dist/cognitive-routing/host.js +188 -0
  18. package/pi-extension/dist/cognitive-routing/pi-routing-session.js +414 -0
  19. package/pi-extension/dist/cognitive-routing/pi-session-control.js +320 -0
  20. package/pi-extension/dist/cognitive-routing/runtime.js +43 -0
  21. package/pi-extension/dist/cognitive-routing/tool.js +212 -0
  22. package/pi-extension/dist/cognitive-routing/types.js +6 -0
  23. package/pi-extension/dist/context-virtualization/commands.js +89 -0
  24. package/pi-extension/dist/context-virtualization/projector.js +42 -0
  25. package/pi-extension/dist/context-virtualization/runtime.js +356 -0
  26. package/pi-extension/dist/context-virtualization/state.js +57 -0
  27. package/pi-extension/dist/context-virtualization/types.js +10 -0
  28. package/pi-extension/dist/conversation-history/passages.js +66 -0
  29. package/pi-extension/dist/conversation-history/ranking.js +105 -0
  30. package/pi-extension/dist/conversation-history/runtime.js +226 -0
  31. package/pi-extension/dist/conversation-history/search.js +56 -0
  32. package/pi-extension/dist/conversation-history/types.js +1 -0
  33. package/pi-extension/dist/freeflow-context/resolver.js +120 -0
  34. package/pi-extension/dist/freeflow-context/runtime.js +80 -0
  35. package/pi-extension/dist/freeflow-context/source-projector.js +95 -0
  36. package/pi-extension/dist/freeflow-context/tool.js +308 -0
  37. package/pi-extension/dist/freeflow-context/types.js +12 -0
  38. package/pi-extension/dist/freeflow-context/visibility.js +28 -0
  39. package/pi-extension/dist/index.js +564 -129
  40. package/pi-extension/dist/runtime/runtime-context.js +357 -470
  41. package/pi-extension/dist/runtime/runtime-identity.js +5 -0
  42. package/pi-extension/dist/settings/settings-tui.js +78 -0
  43. package/pi-extension/dist/settings/settings-ui.js +572 -826
  44. package/pi-extension/dist/ui/text-component.js +57 -0
  45. package/pi-extension/src/cognitive-routing/commands.ts +129 -0
  46. package/pi-extension/src/cognitive-routing/config.ts +303 -0
  47. package/pi-extension/src/cognitive-routing/controller.ts +1628 -0
  48. package/pi-extension/src/cognitive-routing/history.ts +650 -0
  49. package/pi-extension/src/cognitive-routing/host.ts +266 -0
  50. package/pi-extension/src/cognitive-routing/pi-routing-session.ts +538 -0
  51. package/pi-extension/src/cognitive-routing/pi-session-control.ts +444 -0
  52. package/pi-extension/src/cognitive-routing/runtime.ts +57 -0
  53. package/pi-extension/src/cognitive-routing/tool.ts +273 -0
  54. package/pi-extension/src/cognitive-routing/types.ts +89 -0
  55. package/pi-extension/src/context-virtualization/commands.ts +111 -0
  56. package/pi-extension/src/context-virtualization/projector.ts +62 -0
  57. package/pi-extension/src/context-virtualization/runtime.ts +406 -0
  58. package/pi-extension/src/context-virtualization/state.ts +79 -0
  59. package/pi-extension/src/context-virtualization/types.ts +92 -0
  60. package/pi-extension/src/conversation-history/passages.ts +81 -0
  61. package/pi-extension/src/conversation-history/ranking.ts +155 -0
  62. package/pi-extension/src/conversation-history/runtime.ts +250 -0
  63. package/pi-extension/src/conversation-history/search.ts +79 -0
  64. package/pi-extension/src/conversation-history/types.ts +31 -0
  65. package/pi-extension/src/freeflow-context/resolver.ts +139 -0
  66. package/pi-extension/src/freeflow-context/runtime.ts +100 -0
  67. package/pi-extension/src/freeflow-context/source-projector.ts +106 -0
  68. package/pi-extension/src/freeflow-context/tool.ts +360 -0
  69. package/pi-extension/src/freeflow-context/types.ts +70 -0
  70. package/pi-extension/src/freeflow-context/visibility.ts +53 -0
  71. package/pi-extension/src/index.ts +597 -135
  72. package/pi-extension/src/runtime/runtime-context.ts +373 -491
  73. package/pi-extension/src/runtime/runtime-identity.ts +8 -0
  74. package/pi-extension/src/settings/settings-tui.ts +93 -0
  75. package/pi-extension/src/settings/settings-ui.ts +679 -910
  76. package/pi-extension/src/ui/text-component.ts +66 -0
  77. package/pi-extension/tests/cognitive-routing/commands.test.js +134 -0
  78. package/pi-extension/tests/cognitive-routing/controller.test.js +1128 -0
  79. package/pi-extension/tests/cognitive-routing/extension-lifecycle.test.js +1142 -0
  80. package/pi-extension/tests/cognitive-routing/history.test.js +274 -0
  81. package/pi-extension/tests/cognitive-routing/host-fixture.js +4 -0
  82. package/pi-extension/tests/cognitive-routing/host-identity.test.js +63 -0
  83. package/pi-extension/tests/cognitive-routing/pi-normal-lifecycle.test.js +434 -0
  84. package/pi-extension/tests/cognitive-routing/pi-session-control.test.js +174 -0
  85. package/pi-extension/tests/cognitive-routing/pi-session-history.test.js +91 -0
  86. package/pi-extension/tests/cognitive-routing/profile-resolution.test.js +279 -0
  87. package/pi-extension/tests/cognitive-routing/tool.test.js +230 -0
  88. package/pi-extension/tests/context-virtualization/extension.test.js +749 -0
  89. package/pi-extension/tests/context-virtualization/projector.test.js +110 -0
  90. package/pi-extension/tests/context-virtualization/runtime.test.js +216 -0
  91. package/pi-extension/tests/conversation-history/runtime.test.js +98 -0
  92. package/pi-extension/tests/conversation-history/search.test.js +97 -0
  93. package/pi-extension/tests/integration/mode-free-core.test.js +218 -0
  94. package/pi-extension/tests/integration/pi-extension.test.js +532 -3701
  95. package/pi-extension/tests/integration/prompt-architecture.test.js +350 -0
  96. package/pi-extension/tests/integration/unaffected-regressions.test.js +411 -0
  97. package/runtime/prompts/cognitive-routing.md +10 -0
  98. package/runtime/prompts/context-virtualization.md +3 -0
  99. package/runtime/prompts/conversation-history.md +3 -0
  100. package/runtime/prompts/core.md +84 -0
  101. package/runtime/prompts/interaction-contract.md +11 -0
  102. package/skills/action-selection/SKILL.md +140 -0
  103. package/skills/action-selection/references/trajectory-stalls.md +71 -0
  104. package/skills/bypass/SKILL.md +109 -38
  105. package/skills/commit-work/SKILL.md +94 -55
  106. package/skills/commit-work/references/git-state-edges.md +94 -0
  107. package/skills/commit-work/references/simple-push.md +92 -0
  108. package/skills/commit-work/references/staging-decisions.md +79 -46
  109. package/skills/decision-gate/SKILL.md +80 -22
  110. package/skills/design-for-depth/SKILL.md +206 -60
  111. package/skills/design-for-depth/references/design-pressure-signals.md +108 -240
  112. package/skills/design-for-depth/references/interface-design-loop.md +77 -97
  113. package/skills/design-for-depth/references/module-and-dependency-design.md +147 -0
  114. package/skills/design-for-depth/references/software-design-philosophy.md +128 -174
  115. package/skills/design-for-depth/references/state-and-failure-boundaries.md +136 -0
  116. package/skills/diagnose-failure/SKILL.md +200 -48
  117. package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +18 -6
  118. package/skills/diagnose-failure/references/{flaky-and-performance.md → flaky-and-performance-diagnosis.md} +13 -5
  119. package/skills/discuss/SKILL.md +119 -65
  120. package/skills/discuss/references/discussion-continuity.md +123 -0
  121. package/skills/evaluate-skill/SKILL.md +166 -52
  122. package/skills/evaluate-skill/references/{definition-schema.md → evaluation-definition-schema.md} +43 -3
  123. package/skills/evaluate-skill/references/evaluation-design.md +56 -30
  124. package/skills/evaluate-skill/references/execution-and-evidence.md +8 -3
  125. package/skills/evaluate-skill/references/review-and-revision.md +62 -21
  126. package/skills/evaluate-skill/scripts/lib/definitions.mjs +114 -3
  127. package/skills/evaluate-skill/scripts/lib/grade-interaction.mjs +156 -1
  128. package/skills/evaluate-skill/scripts/lib/grade.mjs +9 -1
  129. package/skills/evaluate-skill/scripts/lib/pi.mjs +147 -32
  130. package/skills/evaluate-skill/scripts/lib/rpc.mjs +4 -4
  131. package/skills/evaluate-skill/scripts/lib/runner.mjs +36 -14
  132. package/skills/evaluate-skill/scripts/lib/sandbox.mjs +92 -0
  133. package/skills/evaluate-skill/scripts/pi-guard.mjs +1 -1
  134. package/skills/evaluate-skill/scripts/pi-observer.mjs +66 -0
  135. package/skills/evaluate-skill/scripts/skill-eval.mjs +6 -5
  136. package/skills/execute-work/SKILL.md +99 -57
  137. package/skills/execute-work/references/code-practices.md +4 -4
  138. package/skills/execute-work/references/execute-work-edges.md +62 -0
  139. package/skills/finish-branch/SKILL.md +2 -2
  140. package/skills/finish-branch/references/integration-options.md +1 -1
  141. package/skills/handoff/SKILL.md +3 -3
  142. package/skills/launch-work/SKILL.md +1 -1
  143. package/skills/launch-work/references/launch-readiness.md +2 -2
  144. package/skills/migration-work/SKILL.md +2 -2
  145. package/skills/migration-work/references/migration-lifecycle.md +1 -1
  146. package/skills/release-work/SKILL.md +1 -1
  147. package/skills/release-work/references/release-evidence.md +1 -1
  148. package/skills/review-artifact/SKILL.md +129 -66
  149. package/skills/review-artifact/references/adjudicate-artifact-review.md +101 -0
  150. package/skills/review-artifact/references/independent-artifact-reviewer-contract.md +159 -0
  151. package/skills/review-work/SKILL.md +113 -68
  152. package/skills/review-work/references/adjudicate-work-review.md +97 -0
  153. package/skills/review-work/references/independent-work-reviewer-contract.md +139 -0
  154. package/skills/review-work/references/security-risk-lens.md +18 -16
  155. package/skills/setup-freeflow/SKILL.md +16 -17
  156. package/skills/setup-freeflow/references/activation-contract.md +24 -30
  157. package/skills/setup-freeflow/references/host-setup.md +6 -7
  158. package/skills/simplify-code/SKILL.md +97 -39
  159. package/skills/simplify-code/references/simplification-patterns.md +1 -1
  160. package/skills/tdd/SKILL.md +100 -53
  161. package/skills/tdd/references/test-design.md +3 -3
  162. package/skills/track-work/SKILL.md +195 -58
  163. package/skills/track-work/references/working-record-format.md +515 -0
  164. package/skills/track-work/scripts/lib/document.mjs +713 -0
  165. package/skills/track-work/scripts/lib/format.mjs +166 -0
  166. package/skills/track-work/scripts/lib/store.mjs +233 -0
  167. package/skills/track-work/scripts/lib/transitions.mjs +790 -0
  168. package/skills/track-work/scripts/lib/views.mjs +40 -0
  169. package/skills/track-work/scripts/working-record.mjs +316 -0
  170. package/skills/verify-work/SKILL.md +57 -19
  171. package/skills/verify-work/references/browser-runtime-evidence.md +2 -2
  172. package/skills/verify-work/references/integration-evidence.md +1 -7
  173. package/skills/verify-work/references/performance-evidence.md +2 -2
  174. package/skills/workflow/SKILL.md +137 -55
  175. package/skills/workflow/references/domain-skill-composition.md +26 -40
  176. package/skills/write-plan/SKILL.md +1 -1
  177. package/skills/write-skill/SKILL.md +218 -61
  178. package/skills/write-skill/references/activation-boundaries.md +63 -21
  179. package/skills/write-skill/references/agent-first-instructions.md +61 -27
  180. package/skills/write-skill/references/progressive-disclosure.md +97 -33
  181. package/skills/write-skill/references/skill-dependency-graphs.md +190 -0
  182. package/capabilities/output-router/SKILL.md +0 -206
  183. package/capabilities/output-router/references/safety-policy.md +0 -40
  184. package/capabilities/output-router/references/setup.md +0 -110
  185. package/pi-extension/dist/output-router/host-producer-identification.js +0 -232
  186. package/pi-extension/dist/output-router/native-safety-net.js +0 -216
  187. package/pi-extension/dist/output-router/observed-tool-routing.js +0 -122
  188. package/pi-extension/dist/output-router/renderers.js +0 -1023
  189. package/pi-extension/dist/output-router/router-tools.js +0 -554
  190. package/pi-extension/dist/output-router/schemas.js +0 -383
  191. package/pi-extension/dist/output-router/status.js +0 -744
  192. package/pi-extension/dist/output-router/utils.js +0 -502
  193. package/pi-extension/src/output-router/host-producer-identification.ts +0 -256
  194. package/pi-extension/src/output-router/native-safety-net.ts +0 -248
  195. package/pi-extension/src/output-router/observed-tool-routing.ts +0 -134
  196. package/pi-extension/src/output-router/renderers.ts +0 -1108
  197. package/pi-extension/src/output-router/router-tools.ts +0 -579
  198. package/pi-extension/src/output-router/schemas.ts +0 -387
  199. package/pi-extension/src/output-router/status.ts +0 -791
  200. package/pi-extension/src/output-router/utils.ts +0 -554
  201. package/pi-extension/tests/output-router/observed-producers.test.js +0 -132
  202. package/pi-extension/tests/output-router/search.test.js +0 -722
  203. package/router/dist/benchmarks/benchmark-harness.d.ts +0 -35
  204. package/router/dist/benchmarks/benchmark-harness.js +0 -92
  205. package/router/dist/benchmarks/benchmarks.d.ts +0 -109
  206. package/router/dist/benchmarks/benchmarks.js +0 -979
  207. package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +0 -95
  208. package/router/dist/benchmarks/codex-qa-benchmarks.js +0 -500
  209. package/router/dist/benchmarks/command-benchmarks.d.ts +0 -143
  210. package/router/dist/benchmarks/command-benchmarks.js +0 -698
  211. package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +0 -82
  212. package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +0 -773
  213. package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +0 -132
  214. package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +0 -1380
  215. package/router/dist/benchmarks/context-saving-baseline.d.ts +0 -60
  216. package/router/dist/benchmarks/context-saving-baseline.js +0 -470
  217. package/router/dist/benchmarks/index-benchmarks.d.ts +0 -103
  218. package/router/dist/benchmarks/index-benchmarks.js +0 -862
  219. package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +0 -101
  220. package/router/dist/benchmarks/storage-policy-benchmarks.js +0 -618
  221. package/router/dist/benchmarks/vault-index-benchmarks.d.ts +0 -56
  222. package/router/dist/benchmarks/vault-index-benchmarks.js +0 -322
  223. package/router/dist/config/config.d.ts +0 -103
  224. package/router/dist/config/config.js +0 -632
  225. package/router/dist/config/router-contract.d.ts +0 -10
  226. package/router/dist/config/router-contract.js +0 -54
  227. package/router/dist/config/schema.d.ts +0 -27
  228. package/router/dist/config/schema.js +0 -648
  229. package/router/dist/config/types.d.ts +0 -573
  230. package/router/dist/config/types.js +0 -41
  231. package/router/dist/evidence/bounded-evidence.d.ts +0 -40
  232. package/router/dist/evidence/bounded-evidence.js +0 -323
  233. package/router/dist/evidence/evidence-range-selector.d.ts +0 -24
  234. package/router/dist/evidence/evidence-range-selector.js +0 -232
  235. package/router/dist/evidence/evidence-search.d.ts +0 -27
  236. package/router/dist/evidence/evidence-search.js +0 -490
  237. package/router/dist/evidence/evidence.d.ts +0 -38
  238. package/router/dist/evidence/evidence.js +0 -200
  239. package/router/dist/evidence/failure-contracts.d.ts +0 -37
  240. package/router/dist/evidence/failure-contracts.js +0 -166
  241. package/router/dist/evidence/line-ranges.d.ts +0 -24
  242. package/router/dist/evidence/line-ranges.js +0 -22
  243. package/router/dist/experiments/local-index.d.ts +0 -64
  244. package/router/dist/experiments/local-index.js +0 -581
  245. package/router/dist/index.d.ts +0 -30
  246. package/router/dist/index.js +0 -32
  247. package/router/dist/local/local-traversal.d.ts +0 -18
  248. package/router/dist/local/local-traversal.js +0 -334
  249. package/router/dist/processing/engine.d.ts +0 -132
  250. package/router/dist/processing/engine.js +0 -533
  251. package/router/dist/processing/reducers.d.ts +0 -280
  252. package/router/dist/processing/reducers.js +0 -1673
  253. package/router/dist/processing/renderers.d.ts +0 -31
  254. package/router/dist/processing/renderers.js +0 -195
  255. package/router/dist/processing/scripts.d.ts +0 -91
  256. package/router/dist/processing/scripts.js +0 -386
  257. package/router/dist/repo/repo-traversal.d.ts +0 -18
  258. package/router/dist/repo/repo-traversal.js +0 -245
  259. package/router/dist/routing/observed-reducers.d.ts +0 -41
  260. package/router/dist/routing/observed-reducers.js +0 -661
  261. package/router/dist/routing/observed-routing.d.ts +0 -26
  262. package/router/dist/routing/observed-routing.js +0 -378
  263. package/router/dist/routing/parsers.d.ts +0 -16
  264. package/router/dist/routing/parsers.js +0 -521
  265. package/router/dist/routing/run-filters.d.ts +0 -60
  266. package/router/dist/routing/run-filters.js +0 -238
  267. package/router/dist/routing/run-reducers.d.ts +0 -49
  268. package/router/dist/routing/run-reducers.js +0 -122
  269. package/router/dist/sandbox/adapter-roots.d.ts +0 -46
  270. package/router/dist/sandbox/adapter-roots.js +0 -66
  271. package/router/dist/sandbox/eryx-python-adapter.d.ts +0 -13
  272. package/router/dist/sandbox/eryx-python-adapter.js +0 -868
  273. package/router/dist/sandbox/jq-wasm-adapter.d.ts +0 -9
  274. package/router/dist/sandbox/jq-wasm-adapter.js +0 -429
  275. package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +0 -13
  276. package/router/dist/sandbox/quickjs-wasi-adapter.js +0 -384
  277. package/router/dist/sandbox/script-sandbox.d.ts +0 -134
  278. package/router/dist/sandbox/script-sandbox.js +0 -337
  279. package/router/dist/setup/script-transform-adapters.d.ts +0 -32
  280. package/router/dist/setup/script-transform-adapters.js +0 -278
  281. package/router/dist/tools/batch.d.ts +0 -33
  282. package/router/dist/tools/batch.js +0 -586
  283. package/router/dist/tools/run.d.ts +0 -62
  284. package/router/dist/tools/run.js +0 -1304
  285. package/router/dist/tools/search.d.ts +0 -66
  286. package/router/dist/tools/search.js +0 -1364
  287. package/router/dist/transform/engine.d.ts +0 -168
  288. package/router/dist/transform/engine.js +0 -2072
  289. package/router/dist/vault/vault-index.d.ts +0 -125
  290. package/router/dist/vault/vault-index.js +0 -416
  291. package/router/dist/vault/vault.d.ts +0 -138
  292. package/router/dist/vault/vault.js +0 -630
  293. package/runtime/interaction-contract.md +0 -16
  294. package/skills/discuss/references/checkpoints.md +0 -66
  295. package/skills/execute-work/references/execution-loop.md +0 -77
  296. package/skills/mode-contract/SKILL.md +0 -104
  297. package/skills/review-artifact/references/reviewer-prompt.md +0 -148
  298. package/skills/review-work/references/reviewer-prompt.md +0 -134
  299. package/skills/track-work/references/working-record-schema.md +0 -378
  300. package/skills/workflow/references/workflow-loop.md +0 -92
  301. /package/skills/handoff/references/{templates.md → handoff-templates.md} +0 -0
@@ -1,77 +0,0 @@
1
- # Execute Work Loop
2
-
3
- Read this when execution spans multiple bounded actions or slices, resumes from prior state, needs a specialized method, reaches a selected checkpoint, or reveals follow-on work. [Execute Work](../SKILL.md) owns the normal method; this reference expands its directed routes.
4
-
5
- ## Directed Execution Graph
6
-
7
- ```text
8
- [Requested or approved concrete work; effective mode permits mutation]
9
- -> [Orient]
10
- source + authority + live state + current slice + stop conditions
11
- -> [Choose one bounded action]
12
- -> [Load one needed method or reference]
13
- -> [Execute]
14
- -> [Test or observe]
15
- -> [Verify the claim at its required boundary]
16
- -> clear local defect
17
- -> [Correct within authority]
18
- -> [Test or observe]
19
- -> unclear or repeated failure
20
- -> [Diagnose Failure]
21
- -> [Workflow routes from the cause]
22
- -> contradicted, inconclusive, or route-changing evidence
23
- -> [Workflow]
24
- -> supported
25
- -> [Silent self-review]
26
- -> [Correct clear local issue and re-verify, or freeze]
27
- -> [Route from the supported state]
28
- -> more accepted work for the same coherent result
29
- -> [Choose the next bounded action]
30
- -> accepted extension to result / scope / authority / evidence / stop conditions
31
- -> [Record write-ahead when a Working Record exists]
32
- -> [Choose the next bounded action]
33
- -> distinct result, authority, or independently useful evidence boundary
34
- -> [Workflow establishes current slice outcome]
35
- -> [Select a new authorized slice; use Track Work when present]
36
- -> approved checkpoint due
37
- -> [Use checkpoint owner]
38
- -> [Return its result to Workflow]
39
- -> unapproved follow-on work
40
- -> [Recommend exact scope and wait]
41
- -> supported pause or exit
42
- -> [Preserve state and report]
43
- ```
44
-
45
- The graph may recur many times inside one Track Work slice. An action, verification run, self-review, review report, or owning-skill call does not create or close a slice by itself.
46
-
47
- ## Select A Method For The Action
48
-
49
- Use only the method needed by the concrete boundary:
50
-
51
- - Use [TDD](../../tdd/SKILL.md) for test-first behavior work. Read [Test Design](../../tdd/references/test-design.md) when the test seam, oracle, double, or composed failure is unclear.
52
- - Use [Simplify Code](../../simplify-code/SKILL.md) for behavior-preserving simplification. Read [Simplification Patterns](../../simplify-code/references/simplification-patterns.md) when choosing or judging a transformation.
53
- - Use [Design for Depth](../../design-for-depth/SKILL.md) when direct evidence shows design-bearing ownership, interface, state, failure-unit, or coordination pressure. Read [Design Pressure Signals](../../design-for-depth/references/design-pressure-signals.md) or the [Interface Design Loop](../../design-for-depth/references/interface-design-loop.md) only when their deeper branch applies.
54
- - Use [Diagnose Failure](../../diagnose-failure/SKILL.md) when a failure lacks a supported cause. Read the [Diagnostic Loop Catalog](../../diagnose-failure/references/diagnostic-loop-catalog.md) when choosing a reproduction or distinguishing observation, or [Flaky and Performance Diagnosis](../../diagnose-failure/references/flaky-and-performance.md) for those failure types.
55
-
56
- Do not stack methods because several descriptions match. Keep one execution owner and add only the lenses or evidence methods the current action requires.
57
-
58
- ## Route Selected Checkpoints
59
-
60
- A user-approved Plan or explicit discussion may select review, local commit, user-decision, or continuity checkpoints. When one becomes due, do not begin the next bounded action first. Use its owner and return the result to Workflow. If its conditions no longer hold, return the deviation rather than forcing the checkpoint.
61
-
62
- Use these separately controlled routes only when already requested or approved:
63
-
64
- - [Commit Work](../../commit-work/SKILL.md), with [Staging Decisions](../../commit-work/references/staging-decisions.md) for mixed changed state;
65
- - [Migration Work](../../migration-work/SKILL.md), with the [Migration Lifecycle](../../migration-work/references/migration-lifecycle.md) for migration units, compatibility, cutover, recovery, or removal proof;
66
- - [Finish Branch](../../finish-branch/SKILL.md), with [Integration Options](../../finish-branch/references/integration-options.md) for merge, pull request, preservation, or discard;
67
- - [Release Work](../../release-work/SKILL.md), with [Release Evidence](../../release-work/references/release-evidence.md) for source, version, artifact, tag, publication, or consumer identity;
68
- - [Launch Work](../../launch-work/SKILL.md), with [Launch Readiness](../../launch-work/references/launch-readiness.md) for production evidence, rollout, signals, or recovery;
69
- - [Handoff](../../handoff/SKILL.md), with [Handoff Templates](../../handoff/references/templates.md) after destination and purpose are clear.
70
-
71
- A checkpoint result may support continuation, correction, another route, deferment, or stopping. It does not authorize the next lifecycle stage automatically.
72
-
73
- ## Resume Or Return
74
-
75
- When resuming, reopen the source that established the work and inspect live state. If a Working Record exists, read its complete current context and slice through [Track Work](../../track-work/SKILL.md); do not reconstruct authority or progress from a summary alone.
76
-
77
- Continue only while accepted authority and evidence support the execution basis. Return to [Workflow](../../workflow/SKILL.md) when direction, authority, scope, source truth, strategy, or the intended result changes, or when no worthwhile safe continuation remains.
@@ -1,104 +0,0 @@
1
- ---
2
- name: mode-contract
3
- description: Use when choosing, changing, or explaining how Freeflow mode applies to current work.
4
- ---
5
-
6
- # Mode Contract
7
-
8
- Apply the effective Freeflow mode without inferring a different mode from the task. Freeflow has exactly three mode values: `conversation`, `workflow`, and `strict-workflow`.
9
-
10
- A mode changes how work proceeds; it does not authorize work, resolve a user-owned decision, or override live evidence.
11
-
12
- ## Establish The Active Mode
13
-
14
- A mode is active only when the host reports that Freeflow Skills are effective. Keep the supplied layers distinct:
15
-
16
- - **Repository default:** the shared `defaultMode` from `.freeflow/config.json`.
17
- - **Personal default override:** an optional per-checkout `defaultMode` from `.freeflow/local.json`.
18
- - **Session override:** an optional temporary mode managed by the host.
19
- - **Resolved mode:** session override, otherwise personal default override, otherwise repository or built-in default.
20
- - **Effective mode:** the resolved mode only while Skills are active; otherwise no Freeflow mode is effective.
21
-
22
- If runtime reports that modes are inactive, preserve the resolved mode as dormant state without applying it. If effective-mode evidence is missing, do not guess or activate a fallback. Read [Setup Freeflow](../setup-freeflow/SKILL.md) when the user wants to configure, enable, or repair Freeflow.
23
-
24
- Task shape does not change mode. A question during Workflow stays in Workflow; an implementation request during Conversation stays in Conversation until the user changes mode.
25
-
26
- ## Follow The Effective Mode
27
-
28
- ### Conversation
29
-
30
- Answer, discuss, critique, explore, and perform requested read-only inspection.
31
-
32
- Do not mutate files, repository state, external systems, or durable artifacts. If the user requests mutation, explain the boundary and ask them to switch to `workflow` or `strict-workflow` through the host's mode control before proceeding.
33
-
34
- Ask only what the answer needs. Conversation mode does not require workflow artifacts, checkpoints, plans, specs, or independent review.
35
-
36
- ### Workflow
37
-
38
- Use the adaptive [Workflow](../workflow/SKILL.md) for consequential or mutating work. Inspect or ask when ambiguity changes the next action, create durable artifacts only when they preserve needed state or decisions, and verify claims against fresh evidence.
39
-
40
- Workflow mode does not itself authorize a slice or require every lifecycle phase.
41
-
42
- ### Strict Workflow
43
-
44
- Use the same adaptive Workflow with stronger decision, evidence, and checkpoint pressure at high-risk or hard-to-reverse boundaries.
45
-
46
- Apply that pressure when work materially affects security, privacy, billing, data loss, migrations, public interfaces, compatibility, deployment, or architecture. Use [Decision Gate](../decision-gate/SKILL.md) for choices or source conflicts that belong to the user in every mutating mode. Gather evidence for the relevant risk surface before crossing the boundary or claiming success.
47
-
48
- Select artifacts, checkpoints, verification, and independent review when they reduce material risk. Do not add them automatically merely because Strict Workflow is active.
49
-
50
- Strict Workflow does not grant authority, bypass safety, or turn every implementation detail into a user decision.
51
-
52
- ## Change Mode Deliberately
53
-
54
- The user owns mode changes. Recommend `strict-workflow` when risk warrants it, but continue under the effective mode unless the user changes it or another workflow boundary blocks progress.
55
-
56
- A task type, risk classification, direct skill call, or workflow route does not switch mode. Invoking an execution skill during Conversation still does not authorize mutation.
57
-
58
- Use host-managed session control so the change takes effect before the model acts. A clear natural-language instruction may use the same control. Questions, examples, hypotheses, and tentative language do not change mode.
59
-
60
- ```text
61
- Switch to conversation mode. -> session override
62
- Use strict-workflow for this session. -> session override
63
- Should we switch to strict-workflow? -> answer or discuss; no override
64
- Suppose the mode were conversation. -> discussion; no override
65
- ```
66
-
67
- Host-native controls are:
68
-
69
- ```text
70
- Pi:
71
- /freeflow mode conversation
72
- /freeflow mode workflow
73
- /freeflow mode strict-workflow
74
- /freeflow mode reset
75
-
76
- Claude:
77
- /freeflow:mode-contract <conversation|workflow|strict-workflow|reset>
78
-
79
- Codex:
80
- $mode-contract <conversation|workflow|strict-workflow|reset>
81
- ```
82
-
83
- Claude and Codex persist their override in plugin-owned session state keyed by the host session identifier. Pi persists it in branch-aware Pi session state. The override survives ordinary turns and supported resume, clear, and compact boundaries for that session; `reset` clears it and returns to the configured default. A new session starts from configured state.
84
-
85
- Treat only runtime-reported effective state as proof that the control succeeded. If the host reports missing session identity, unavailable writable plugin state, disabled Skills, or another failure, say that mode did not change. Do not compensate by editing a configured default.
86
-
87
- Mention mode only when the user asks, configuration is being discussed, or it changes the next action.
88
-
89
- ## Change Defaults Separately
90
-
91
- A persistent default change is not a session-mode change. Determine which configured layer the user means before editing:
92
-
93
- - explicit **personal** or **local** default targets `.freeflow/local.json`;
94
- - explicit **shared**, **repository**, or **team** default targets `.freeflow/config.json`;
95
- - an unqualified “change the default mode” request leaves that scope user-owned—ask one direct local-versus-repository question and wait;
96
- - “global” is not a defined Freeflow layer—ask whether the user means this checkout's personal default or the shared repository default.
97
-
98
- Do not infer the target from which file already exists or from the current mode. Preserve unrelated settings in the selected layer.
99
-
100
- In Pi, `/freeflow settings` edits personal overrides and `/freeflow settings repo` edits shared defaults. In another host, an agent may update only the explicitly selected valid configuration layer. Session controls never modify either file.
101
-
102
- For agent-performed config edits, obey the effective mode when one exists. Conversation remains read-only. When no mode is effective because Freeflow is unconfigured, inactive, blocked by invalid config, or Skills are dormant, an explicit configuration or [Setup Freeflow](../setup-freeflow/SKILL.md) request governs the selected change; any dormant resolved mode is neither authority nor prohibition. User-operated host controls change their own state before the model continues.
103
-
104
- A current session override remains effective until reset even when a configured default changes. If repository config is missing or invalid, route to Setup Freeflow; a personal override cannot activate Freeflow. If local config is invalid, report the blocking layer and repair or remove it only with authorization. Do not silently overwrite either source. Use Decision Gate when the requested default conflicts with established source truth or accepted direction.
@@ -1,148 +0,0 @@
1
- # Independent Artifact Reviewer Contract
2
-
3
- Use this when preparing an independent review of a durable artifact.
4
-
5
- The reviewer did not produce the artifact. Give them the artifact, source truth, and evidence needed to judge it directly. The reviewer reports review items without editing.
6
-
7
- ## Required Context
8
-
9
- Provide:
10
-
11
- - artifact path, type, current state, and intended use;
12
- - accepted outcome, requirements, and non-goals;
13
- - owner decisions and unresolved questions;
14
- - relevant code, tests, policies, ADRs, and established behavior;
15
- - the artifact-specific schema or format contract when one exists;
16
- - upstream and downstream artifacts in dependency order;
17
- - known evidence gaps;
18
- - review number and, for a follow-up, prior items, adjudication, revisions, and new evidence.
19
-
20
- For an artifact package, identify upstream authority and which work remains provisional or dependent.
21
-
22
- ## Reviewer Prompt
23
-
24
- ```md
25
- # Independent Artifact Review
26
-
27
- Review an artifact you did not produce. Inspect the complete artifact and source evidence directly. Report review items without editing. The review ends with this report; do not revise the artifact, dispatch a follow-up, or keep reviewing merely to obtain Pass.
28
-
29
- A pass is valid. Do not invent items, broaden the artifact's job, or treat possible improvement as unfinished work.
30
-
31
- ## Artifact And Intended Use
32
-
33
- - Artifact: [path]
34
- - Type: [working record | spec | PRD | issue | API contract | technical design | migration contract | plan | decision record | ADR | handoff | other]
35
- - Reviewed state: [revision, hash, or other identity]
36
- - Intended use: [decision or future action this artifact must support]
37
- - Dependency order: [upstream -> downstream, or standalone]
38
-
39
- ## Accepted Outcome And Non-Goals
40
-
41
- - Outcome: [accepted outcome]
42
- - Requirements: [accepted requirements]
43
- - Non-goals: [intentional exclusions]
44
- - Owner decisions: [settled decisions or none]
45
- - Unresolved questions: [questions or none]
46
-
47
- ## Source Truth
48
-
49
- - [code, tests, policies, ADRs, established behavior, upstream artifacts]
50
-
51
- ## Evidence And Known Gaps
52
-
53
- - Supporting evidence: [evidence or none]
54
- - Known gaps: [gaps or none]
55
-
56
- ## Review Scope
57
-
58
- - Review number: [1 | 2 | 3]
59
- - Material lenses: [source alignment | fitness and sufficiency | decision clarity | evidence and acceptance | behavior and failure contract | dependency integrity | scope and minimality | clarity and continuity]
60
-
61
- For Review 2 or 3:
62
- - Prior items and adjudication: [Accepted | Rejected | Open]
63
- - Revisions and new evidence: [bounded changes and evidence]
64
- - Affected dependencies: [dependencies or none]
65
- - Remaining risk: [narrow unresolved scope]
66
-
67
- ## Judge The Artifact By Its Job
68
-
69
- - **Working Record:** accurate living task memory with recoverable slices and decisions, compact evidence pointers, and one next useful action.
70
- - **Spec or durable content artifact:** accepted content, behavior, boundaries, evidence, and uncertainty needed for its stated use.
71
- - **Plan:** inspectable ordered strategy with scope, dependencies, assumptions, checks, and stop conditions.
72
- - **Decision record or ADR:** decision, owner, alternatives, rationale, consequences, and revisit or supersession conditions.
73
- - **Handoff:** point-in-time continuation package that preserves what its recipient needs without replacing live task memory.
74
- - **Other artifact:** its stated purpose without taking over another artifact's job.
75
-
76
- ## Check
77
-
78
- Apply only the selected lenses:
79
-
80
- - The artifact agrees with accepted requirements, owner decisions, and live facts.
81
- - It contains enough for its intended use without pretending every future question is settled.
82
- - Required, tentative, open, deferred, and superseded information cannot be confused.
83
- - Load-bearing claims and acceptance conditions have suitable supporting or falsifying mechanisms.
84
- - Consequential behavior, failure states, forbidden outcomes, observers, and recovery are explicit where required.
85
- - Upstream and downstream artifacts remain consistent; provisional work is identified honestly.
86
- - It avoids speculative scope, unnecessary process, transcript history, and duplicated information owned elsewhere.
87
- - A future reader can use it without transcript memory or volatile copied context.
88
-
89
- Do not demand exhaustive edge cases. A possible condition is not an Issue unless the artifact's intended use requires it, evidence shows it matters, or omission creates material risk. Use Question when expected behavior is undefined, Needs evidence when support is missing, and Improvement for useful content not required by this boundary.
90
-
91
- If an upstream issue invalidates downstream assumptions, mark the affected material contingent instead of generating exhaustive downstream items.
92
-
93
- For Review 2 or 3, inspect only accepted revisions, affected dependencies, new evidence, and remaining risk. Do not reopen Rejected items without contradictory evidence. For every new Blocking Issue, state whether it repeats, extends, invalidates, or exposes another consequence of a prior revision; is independent; or cannot yet be related from the evidence. Report a related pattern rather than proposing another revision. Review 3 is final for this cycle; do not recommend Review 4.
94
-
95
- ## Classify Review Items
96
-
97
- - **Blocking Issue:** supported defect or risk that must be resolved before the artifact guides its intended use.
98
- - **Non-blocking Issue:** real issue that can be deferred safely for this boundary.
99
- - **Question:** material intent, requirement, or owner decision is unclear.
100
- - **Needs evidence:** a load-bearing claim or condition cannot be established.
101
- - **Improvement:** useful enhancement not required for this boundary. It does not affect judgment or authorize revision.
102
-
103
- A Blocking Issue must include its exact location, violated source truth or artifact responsibility, evidence, concrete consequence for intended use, and smallest safe revision or owning activity to re-enter.
104
-
105
- ## Determine The Judgment
106
-
107
- 1. **Blocking:** one or more Blocking Issues exist.
108
- 2. **Inconclusive:** no Blocking Issue exists, but a material Question or Needs evidence item prevents judgment.
109
- 3. **Non-blocking:** only Non-blocking Issues remain.
110
- 4. **Pass:** no Issues or material Unresolved items remain. Improvements may still be reported.
111
-
112
- ## Output
113
-
114
- Review type: independent
115
- Review number: [1 | 2 | 3]
116
- Artifact: [reviewed artifact]
117
- Intended use: [reviewed boundary]
118
- Reviewed state: [state identity]
119
- Judgment: Pass | Non-blocking | Inconclusive | Blocking
120
- Reasoning: [concise evidence-backed judgment]
121
- Relationship to prior items (Review 2 or 3 only): [related consequence | independent defect | unclear, with evidence]
122
-
123
- ### Review Items
124
-
125
- #### Issues — Blocking
126
- - [location, issue, violated source or responsibility, evidence, consequence, smallest safe correction]
127
-
128
- #### Issues — Non-blocking
129
- - [location, issue, evidence, why it can be deferred]
130
-
131
- #### Unresolved — Questions
132
- - [question, effect on judgment, required answer]
133
-
134
- #### Unresolved — Needs evidence
135
- - [concern, missing evidence, evidence needed]
136
-
137
- #### Improvements
138
- - [improvement, benefit, supporting evidence]
139
-
140
- Dependencies affected: [dependencies or none]
141
- Evidence gaps: [unproved claims or none]
142
- ```
143
-
144
- ## Calibration
145
-
146
- Use a high evidence bar, not a high item count. Lead with the few items that can change the artifact's fitness judgment. Prior review, artifact length, author confidence, or polished language does not establish fitness.
147
-
148
- The review is evidence for adjudication, not authority over source truth, owner decisions, revisions, or another independent dispatch. Pass, Non-blocking, Inconclusive, and Blocking are all valid exits.
@@ -1,134 +0,0 @@
1
- # Independent Work Reviewer Contract
2
-
3
- Use this when preparing an independent review of implementation or integrated work.
4
-
5
- The reviewer did not produce the work. Give them the work product, source truth, and evidence needed to judge it directly. Do not provide only the author's summary, reasoning, or claimed result.
6
-
7
- ## Required Context
8
-
9
- Provide:
10
-
11
- - the work and future action covered by the review;
12
- - accepted outcome, requirements, and non-goals;
13
- - relevant specs, plans, tests, policies, ADRs, and established behavior;
14
- - the implementation, changed files, or diff range;
15
- - verification evidence and known gaps;
16
- - only the review lenses material to this boundary;
17
- - review number and, for a follow-up, prior items, adjudication, corrections, and new evidence.
18
-
19
- When state transitions or proof integrity matter, also provide the invariant or state owner, affecting paths, observing mechanism, forbidden mutations, prior-state requirements, adversarial disproof, mutation footprint, and fidelity limits.
20
-
21
- ## Reviewer Prompt
22
-
23
- ```md
24
- # Independent Work Review
25
-
26
- Review work you did not produce. Inspect the supplied work, source truth, and evidence directly. Report review items without editing. The review ends with this report; do not fix items, dispatch a follow-up, or keep reviewing merely to obtain Pass.
27
-
28
- A pass is valid. Do not invent items, broaden scope, or treat possible improvement as unfinished work.
29
-
30
- ## Boundary
31
-
32
- [Work and future action this review covers.]
33
-
34
- ## Accepted Outcome And Non-Goals
35
-
36
- - Outcome: [required result]
37
- - Requirements: [accepted requirements]
38
- - Non-goals: [intentional exclusions]
39
-
40
- ## Source Truth
41
-
42
- - [specs, plans, tests, policies, ADRs, and established behavior]
43
-
44
- ## Work Product
45
-
46
- - Reviewed state: [commit, tree, diff, or other identity]
47
- - Work: [diff range, changed files, implementation, or integrated result]
48
-
49
- ## Verification Evidence
50
-
51
- - Checks and results: [commands, observations, and results]
52
- - Known gaps: [gaps or none]
53
- - When relevant: [state owner, affecting paths, observer, forbidden mutations, prior-state requirements, adversarial disproof, mutation footprint, fidelity limits]
54
-
55
- ## Review Scope
56
-
57
- - Review number: [1 | 2 | 3]
58
- - Material lenses: [alignment and correctness | regression and integration | failure and risk | evidence | design and minimality | maintainability]
59
-
60
- For Review 2 or 3:
61
- - Prior items and adjudication: [Accepted | Rejected | Open]
62
- - Clarifications: [settled decisions or none]
63
- - Corrections and new evidence: [changes and verification]
64
- - Remaining risk: [narrow unresolved scope]
65
-
66
- ## Check
67
-
68
- Apply only the selected lenses:
69
-
70
- - The work satisfies accepted behavior without invention or omission.
71
- - Affected callers, states, and components remain correct together.
72
- - Relevant failure paths and material risks are handled safely.
73
- - Verification supports the claims and exercised the required boundary.
74
- - Complexity and coordination are justified by requirements or observed failures.
75
- - The work remains understandable and changeable without hidden policy or fragile coupling.
76
-
77
- Do not search for unrelated issues. Report an out-of-scope issue only when it materially affects whether this boundary may be crossed.
78
-
79
- A possible edge case is not an Issue without accepted behavior, observed reachability, or material risk. Use Question when expected behavior is unclear, Needs evidence when reachability or consequence is unsupported, and Improvement for useful resilience not required by the boundary.
80
-
81
- For Review 2 or 3, inspect only accepted corrections, affected interactions, new evidence, and remaining risk. Do not reopen Rejected items without contradictory evidence. For every new Blocking Issue, state whether it repeats, extends, invalidates, or exposes another consequence of a prior correction; is independent; or cannot yet be related from the evidence. Report a related pattern rather than proposing another patch. Review 3 is final for this cycle; do not recommend Review 4.
82
-
83
- ## Classify Review Items
84
-
85
- - **Blocking Issue:** supported defect or risk that must be resolved before crossing this boundary.
86
- - **Non-blocking Issue:** real issue that can be deferred safely for this boundary.
87
- - **Question:** material intent, requirement, or owner decision is unclear.
88
- - **Needs evidence:** a plausible concern cannot be established from available evidence.
89
- - **Improvement:** useful enhancement not required for this boundary. It does not affect judgment or authorize implementation.
90
-
91
- A Blocking Issue must include its exact location, violated requirement or source truth, evidence, concrete boundary consequence, and smallest safe correction or owning activity to re-enter.
92
-
93
- ## Determine The Judgment
94
-
95
- 1. **Blocking:** one or more Blocking Issues exist.
96
- 2. **Inconclusive:** no Blocking Issue exists, but a material Question or Needs evidence item prevents judgment.
97
- 3. **Non-blocking:** only Non-blocking Issues remain.
98
- 4. **Pass:** no Issues or material Unresolved items remain. Improvements may still be reported.
99
-
100
- ## Output
101
-
102
- Review type: independent
103
- Review number: [1 | 2 | 3]
104
- Boundary: [reviewed work and future action]
105
- Reviewed state: [state identity]
106
- Judgment: Pass | Non-blocking | Inconclusive | Blocking
107
- Reasoning: [concise evidence-backed judgment]
108
- Relationship to prior items (Review 2 or 3 only): [related consequence | independent defect | unclear, with evidence]
109
-
110
- ### Review Items
111
-
112
- #### Issues — Blocking
113
- - [location, issue, violated source, evidence, consequence, smallest safe correction]
114
-
115
- #### Issues — Non-blocking
116
- - [location, issue, evidence, why it can be deferred]
117
-
118
- #### Unresolved — Questions
119
- - [question, effect on judgment, required answer]
120
-
121
- #### Unresolved — Needs evidence
122
- - [concern, missing evidence, evidence needed]
123
-
124
- #### Improvements
125
- - [improvement, benefit, supporting evidence]
126
-
127
- Evidence gaps: [unproved claims or none]
128
- ```
129
-
130
- ## Calibration
131
-
132
- Use a high evidence bar, not a high item count. Lead with the few items that can change the boundary judgment. Prior review, urgency, implementation effort, or author confidence does not establish correctness.
133
-
134
- The review is evidence for adjudication, not authority over source truth, owner decisions, corrections, or another independent dispatch. Pass, Non-blocking, Inconclusive, and Blocking are all valid exits.