@hassangameryt/freeflow 0.3.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 (690) hide show
  1. package/.claude-plugin/marketplace.json +4 -4
  2. package/.claude-plugin/plugin.json +5 -2
  3. package/.codex-plugin/plugin.json +8 -9
  4. package/README.md +190 -128
  5. package/assets/feedback-loop.png +0 -0
  6. package/assets/freeflow_workflow_map.png +0 -0
  7. package/assets/workflow.png +0 -0
  8. package/command-surface.json +51 -7
  9. package/hooks/freeflow-runtime-context.mjs +264 -136
  10. package/hooks/tests/check-runtime-context-hook.sh +223 -0
  11. package/package.json +23 -24
  12. package/pi-extension/dist/index.js +264 -80
  13. package/pi-extension/dist/integrations/mcp-config.js +29 -0
  14. package/pi-extension/dist/output-router/host-producer-identification.js +232 -0
  15. package/pi-extension/dist/output-router/native-safety-net.js +216 -0
  16. package/pi-extension/dist/output-router/observed-tool-routing.js +122 -0
  17. package/pi-extension/dist/output-router/renderers.js +1023 -0
  18. package/pi-extension/dist/output-router/router-tools.js +554 -0
  19. package/pi-extension/dist/output-router/schemas.js +383 -0
  20. package/pi-extension/dist/output-router/status.js +744 -0
  21. package/pi-extension/dist/output-router/utils.js +502 -0
  22. package/pi-extension/dist/runtime/runtime-context.js +798 -0
  23. package/pi-extension/dist/settings/settings-tui.js +314 -0
  24. package/pi-extension/dist/settings/settings-ui.js +1487 -0
  25. package/pi-extension/freeflow/index.js +1 -0
  26. package/pi-extension/src/index.ts +230 -56
  27. package/pi-extension/src/{host-producer-identification.ts → output-router/host-producer-identification.ts} +37 -7
  28. package/pi-extension/src/{native-safety-net.ts → output-router/native-safety-net.ts} +7 -11
  29. package/pi-extension/src/{observed-tool-routing.ts → output-router/observed-tool-routing.ts} +19 -11
  30. package/pi-extension/src/{renderers.ts → output-router/renderers.ts} +246 -55
  31. package/pi-extension/src/{router-tools.ts → output-router/router-tools.ts} +130 -29
  32. package/pi-extension/src/{schemas.ts → output-router/schemas.ts} +171 -43
  33. package/pi-extension/src/output-router/status.ts +791 -0
  34. package/pi-extension/src/{utils.ts → output-router/utils.ts} +80 -18
  35. package/pi-extension/src/runtime/runtime-context.ts +895 -0
  36. package/pi-extension/src/settings/settings-tui.ts +408 -0
  37. package/pi-extension/src/settings/settings-ui.ts +1730 -0
  38. package/pi-extension/tests/integration/pi-extension.test.js +4018 -0
  39. package/pi-extension/tests/output-router/observed-producers.test.js +132 -0
  40. package/pi-extension/tests/output-router/search.test.js +722 -0
  41. package/pi-extension/tests/settings/settings-tui.test.js +243 -0
  42. package/router/dist/benchmarks/benchmark-harness.d.ts +16 -13
  43. package/router/dist/benchmarks/benchmark-harness.js +62 -62
  44. package/router/dist/benchmarks/benchmarks.d.ts +80 -73
  45. package/router/dist/benchmarks/benchmarks.js +860 -761
  46. package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +71 -67
  47. package/router/dist/benchmarks/codex-qa-benchmarks.js +429 -390
  48. package/router/dist/benchmarks/command-benchmarks.d.ts +107 -92
  49. package/router/dist/benchmarks/command-benchmarks.js +616 -571
  50. package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +64 -56
  51. package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +679 -613
  52. package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +103 -95
  53. package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +1188 -1103
  54. package/router/dist/benchmarks/context-saving-baseline.d.ts +47 -41
  55. package/router/dist/benchmarks/context-saving-baseline.js +405 -374
  56. package/router/dist/benchmarks/index-benchmarks.d.ts +74 -69
  57. package/router/dist/benchmarks/index-benchmarks.js +761 -661
  58. package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +80 -69
  59. package/router/dist/benchmarks/storage-policy-benchmarks.js +549 -469
  60. package/router/dist/benchmarks/vault-index-benchmarks.d.ts +43 -34
  61. package/router/dist/benchmarks/vault-index-benchmarks.js +294 -229
  62. package/router/dist/config/config.d.ts +61 -54
  63. package/router/dist/config/config.js +551 -372
  64. package/router/dist/config/router-contract.d.ts +2 -2
  65. package/router/dist/config/router-contract.js +38 -38
  66. package/router/dist/config/schema.d.ts +19 -10
  67. package/router/dist/config/schema.js +586 -538
  68. package/router/dist/config/types.d.ts +413 -361
  69. package/router/dist/config/types.js +19 -8
  70. package/router/dist/evidence/bounded-evidence.d.ts +26 -26
  71. package/router/dist/evidence/bounded-evidence.js +265 -252
  72. package/router/dist/evidence/evidence-range-selector.d.ts +16 -14
  73. package/router/dist/evidence/evidence-range-selector.js +192 -191
  74. package/router/dist/evidence/evidence-search.d.ts +18 -16
  75. package/router/dist/evidence/evidence-search.js +401 -377
  76. package/router/dist/evidence/evidence.d.ts +17 -17
  77. package/router/dist/evidence/evidence.js +163 -159
  78. package/router/dist/evidence/failure-contracts.d.ts +25 -15
  79. package/router/dist/evidence/failure-contracts.js +132 -126
  80. package/router/dist/evidence/line-ranges.d.ts +17 -15
  81. package/router/dist/evidence/line-ranges.js +18 -18
  82. package/router/dist/experiments/local-index.d.ts +47 -41
  83. package/router/dist/experiments/local-index.js +477 -458
  84. package/router/dist/local/local-traversal.d.ts +18 -0
  85. package/router/dist/local/local-traversal.js +334 -0
  86. package/router/dist/processing/engine.d.ts +94 -70
  87. package/router/dist/processing/engine.js +462 -364
  88. package/router/dist/processing/reducers.d.ts +208 -194
  89. package/router/dist/processing/reducers.js +1434 -1256
  90. package/router/dist/processing/renderers.d.ts +24 -18
  91. package/router/dist/processing/renderers.js +161 -152
  92. package/router/dist/processing/scripts.d.ts +80 -67
  93. package/router/dist/processing/scripts.js +343 -290
  94. package/router/dist/repo/repo-traversal.d.ts +9 -9
  95. package/router/dist/repo/repo-traversal.js +205 -202
  96. package/router/dist/routing/observed-reducers.d.ts +25 -19
  97. package/router/dist/routing/observed-reducers.js +559 -545
  98. package/router/dist/routing/observed-routing.d.ts +23 -14
  99. package/router/dist/routing/observed-routing.js +319 -318
  100. package/router/dist/routing/parsers.d.ts +10 -10
  101. package/router/dist/routing/parsers.js +454 -406
  102. package/router/dist/routing/run-filters.d.ts +45 -41
  103. package/router/dist/routing/run-filters.js +215 -207
  104. package/router/dist/routing/run-reducers.d.ts +45 -26
  105. package/router/dist/routing/run-reducers.js +102 -90
  106. package/router/dist/sandbox/adapter-roots.d.ts +34 -26
  107. package/router/dist/sandbox/adapter-roots.js +43 -41
  108. package/router/dist/sandbox/eryx-python-adapter.d.ts +9 -5
  109. package/router/dist/sandbox/eryx-python-adapter.js +659 -588
  110. package/router/dist/sandbox/jq-wasm-adapter.d.ts +3 -3
  111. package/router/dist/sandbox/jq-wasm-adapter.js +319 -311
  112. package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +9 -5
  113. package/router/dist/sandbox/quickjs-wasi-adapter.js +336 -333
  114. package/router/dist/sandbox/script-sandbox.d.ts +105 -84
  115. package/router/dist/sandbox/script-sandbox.js +294 -260
  116. package/router/dist/setup/script-transform-adapters.d.ts +23 -19
  117. package/router/dist/setup/script-transform-adapters.js +223 -204
  118. package/router/dist/tools/batch.d.ts +27 -16
  119. package/router/dist/tools/batch.js +493 -416
  120. package/router/dist/tools/run.d.ts +47 -35
  121. package/router/dist/tools/run.js +1171 -1086
  122. package/router/dist/tools/search.d.ts +53 -31
  123. package/router/dist/tools/search.js +1224 -1065
  124. package/router/dist/transform/engine.d.ts +121 -96
  125. package/router/dist/transform/engine.js +1853 -1736
  126. package/router/dist/vault/vault-index.d.ts +97 -78
  127. package/router/dist/vault/vault-index.js +347 -342
  128. package/router/dist/vault/vault.d.ts +109 -74
  129. package/router/dist/vault/vault.js +528 -533
  130. package/runtime/interaction-contract.md +16 -0
  131. package/skills/bypass/SKILL.md +52 -38
  132. package/skills/commit-work/SKILL.md +54 -46
  133. package/skills/commit-work/references/staging-decisions.md +46 -24
  134. package/skills/decision-gate/SKILL.md +48 -0
  135. package/skills/design-for-depth/SKILL.md +75 -59
  136. package/skills/design-for-depth/references/design-pressure-signals.md +56 -7
  137. package/skills/design-for-depth/references/interface-design-loop.md +156 -0
  138. package/skills/design-for-depth/references/software-design-philosophy.md +32 -3
  139. package/skills/diagnose-failure/SKILL.md +65 -60
  140. package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +36 -0
  141. package/skills/diagnose-failure/references/flaky-and-performance.md +30 -18
  142. package/skills/discuss/SKILL.md +121 -0
  143. package/skills/discuss/references/checkpoints.md +66 -0
  144. package/skills/evaluate-skill/SKILL.md +62 -53
  145. package/skills/evaluate-skill/references/definition-schema.md +345 -0
  146. package/skills/evaluate-skill/references/evaluation-design.md +86 -0
  147. package/skills/evaluate-skill/references/execution-and-evidence.md +85 -0
  148. package/skills/evaluate-skill/references/review-and-revision.md +51 -0
  149. package/skills/evaluate-skill/scripts/lib/definitions.mjs +296 -0
  150. package/skills/evaluate-skill/scripts/lib/evidence.mjs +46 -0
  151. package/skills/evaluate-skill/scripts/lib/grade-comparison.mjs +60 -0
  152. package/skills/evaluate-skill/scripts/lib/grade-interaction.mjs +148 -0
  153. package/skills/evaluate-skill/scripts/lib/grade-support.mjs +126 -0
  154. package/skills/evaluate-skill/scripts/lib/grade-workspace.mjs +192 -0
  155. package/skills/evaluate-skill/scripts/lib/grade.mjs +56 -0
  156. package/skills/evaluate-skill/scripts/lib/pi.mjs +489 -0
  157. package/skills/evaluate-skill/scripts/lib/process.mjs +79 -0
  158. package/skills/evaluate-skill/scripts/lib/rpc.mjs +444 -0
  159. package/skills/evaluate-skill/scripts/lib/runner.mjs +346 -0
  160. package/skills/evaluate-skill/scripts/lib/sandbox.mjs +409 -0
  161. package/skills/evaluate-skill/scripts/lib/view.mjs +337 -0
  162. package/skills/evaluate-skill/scripts/pi-guard.mjs +164 -0
  163. package/skills/evaluate-skill/scripts/skill-eval.mjs +101 -0
  164. package/skills/execute-work/SKILL.md +99 -0
  165. package/skills/execute-work/references/code-practices.md +78 -0
  166. package/skills/execute-work/references/execution-loop.md +77 -0
  167. package/skills/finish-branch/SKILL.md +117 -0
  168. package/skills/finish-branch/references/integration-options.md +80 -0
  169. package/skills/handoff/SKILL.md +65 -39
  170. package/skills/handoff/references/templates.md +104 -27
  171. package/skills/launch-work/SKILL.md +116 -0
  172. package/skills/launch-work/references/launch-readiness.md +85 -0
  173. package/skills/migration-work/SKILL.md +115 -0
  174. package/skills/migration-work/references/migration-lifecycle.md +82 -0
  175. package/skills/mode-contract/SKILL.md +50 -52
  176. package/skills/output-router/SKILL.md +21 -17
  177. package/skills/output-router/references/safety-policy.md +1 -1
  178. package/skills/release-work/SKILL.md +118 -0
  179. package/skills/release-work/references/release-evidence.md +78 -0
  180. package/skills/review-artifact/SKILL.md +77 -69
  181. package/skills/review-artifact/references/reviewer-prompt.md +133 -42
  182. package/skills/review-work/SKILL.md +82 -57
  183. package/skills/review-work/references/reviewer-prompt.md +97 -60
  184. package/skills/review-work/references/security-risk-lens.md +67 -0
  185. package/skills/setup-freeflow/SKILL.md +58 -66
  186. package/skills/setup-freeflow/references/activation-contract.md +89 -69
  187. package/skills/setup-freeflow/references/host-setup.md +54 -17
  188. package/skills/setup-freeflow/references/output-router-setup.md +62 -54
  189. package/skills/simplify-code/SKILL.md +80 -0
  190. package/skills/simplify-code/references/simplification-patterns.md +70 -0
  191. package/skills/tdd/SKILL.md +96 -0
  192. package/skills/tdd/references/test-design.md +96 -0
  193. package/skills/track-work/SKILL.md +84 -0
  194. package/skills/track-work/references/working-record-schema.md +378 -0
  195. package/skills/verify-work/SKILL.md +59 -38
  196. package/skills/verify-work/references/browser-runtime-evidence.md +55 -0
  197. package/skills/verify-work/references/integration-evidence.md +51 -0
  198. package/skills/verify-work/references/performance-evidence.md +57 -0
  199. package/skills/workflow/SKILL.md +53 -59
  200. package/skills/workflow/references/domain-skill-composition.md +57 -0
  201. package/skills/workflow/references/workflow-loop.md +92 -0
  202. package/skills/write-plan/SKILL.md +85 -58
  203. package/skills/write-plan/references/plan-shapes.md +132 -46
  204. package/skills/write-skill/SKILL.md +82 -51
  205. package/skills/write-skill/references/activation-boundaries.md +62 -0
  206. package/skills/write-skill/references/agent-first-instructions.md +87 -0
  207. package/skills/write-skill/references/progressive-disclosure.md +63 -0
  208. package/skills/write-skill/scripts/lib/skill-author.mjs +653 -0
  209. package/skills/write-skill/scripts/skill-author.mjs +104 -0
  210. package/skills/write-spec/SKILL.md +65 -54
  211. package/skills/write-spec/references/artifact-standards.md +60 -41
  212. package/skills/write-spec/references/decision-records.md +77 -0
  213. package/skills/write-spec/references/spec-shapes.md +119 -60
  214. package/evals/README.md +0 -32
  215. package/evals/fixtures/copy-conventions.md +0 -31
  216. package/evals/fixtures/output-router/README.md +0 -12
  217. package/evals/fixtures/output-router/failed-command-output.txt +0 -9
  218. package/evals/fixtures/output-router/large-router-manual.md +0 -63
  219. package/evals/fixtures/output-router/native-large-output.txt +0 -40
  220. package/evals/fixtures/output-router/noisy-test-output.txt +0 -30
  221. package/evals/fixtures/output-router/verification-output.txt +0 -8
  222. package/evals/fixtures/tiny-artifact-review-app/README.md +0 -5
  223. package/evals/fixtures/tiny-artifact-review-app/docs/billing-policy.md +0 -10
  224. package/evals/fixtures/tiny-artifact-review-app/docs/specs/billing-webhook-api-draft.md +0 -21
  225. package/evals/fixtures/tiny-artifact-review-app/docs/specs/failed-payment-grace-period.md +0 -24
  226. package/evals/fixtures/tiny-artifact-review-app/docs/specs/immediate-downgrade.md +0 -17
  227. package/evals/fixtures/tiny-artifact-review-app/tests/billing.test.md +0 -8
  228. package/evals/fixtures/tiny-commit-ambiguous-app/.freeflow-eval-setup.sh +0 -15
  229. package/evals/fixtures/tiny-commit-ambiguous-app/README.md +0 -3
  230. package/evals/fixtures/tiny-commit-ambiguous-app/src/billing.ts +0 -5
  231. package/evals/fixtures/tiny-commit-ambiguous-app/src/settings-page.ts +0 -1
  232. package/evals/fixtures/tiny-commit-ambiguous-app/tests/settings.test.md +0 -5
  233. package/evals/fixtures/tiny-commit-app/.freeflow-eval-setup.sh +0 -14
  234. package/evals/fixtures/tiny-commit-app/README.md +0 -3
  235. package/evals/fixtures/tiny-commit-app/docs/specs/settings-title.md +0 -5
  236. package/evals/fixtures/tiny-commit-app/src/billing.ts +0 -5
  237. package/evals/fixtures/tiny-commit-app/src/settings-page.ts +0 -1
  238. package/evals/fixtures/tiny-commit-app/tests/settings.test.md +0 -5
  239. package/evals/fixtures/tiny-commit-everything-app/.freeflow-eval-setup.sh +0 -15
  240. package/evals/fixtures/tiny-commit-everything-app/README.md +0 -3
  241. package/evals/fixtures/tiny-commit-everything-app/docs/specs/settings-title.md +0 -5
  242. package/evals/fixtures/tiny-commit-everything-app/src/billing.ts +0 -5
  243. package/evals/fixtures/tiny-commit-everything-app/src/settings-page.ts +0 -1
  244. package/evals/fixtures/tiny-commit-everything-app/tests/settings.test.md +0 -5
  245. package/evals/fixtures/tiny-commit-staged-app/.freeflow-eval-setup.sh +0 -15
  246. package/evals/fixtures/tiny-commit-staged-app/README.md +0 -3
  247. package/evals/fixtures/tiny-commit-staged-app/docs/specs/settings-title.md +0 -5
  248. package/evals/fixtures/tiny-commit-staged-app/src/billing.ts +0 -5
  249. package/evals/fixtures/tiny-commit-staged-app/src/settings-page.ts +0 -1
  250. package/evals/fixtures/tiny-commit-staged-app/tests/settings.test.md +0 -5
  251. package/evals/fixtures/tiny-commit-staged-mixed-app/.freeflow-eval-setup.sh +0 -15
  252. package/evals/fixtures/tiny-commit-staged-mixed-app/README.md +0 -3
  253. package/evals/fixtures/tiny-commit-staged-mixed-app/docs/billing-policy.md +0 -3
  254. package/evals/fixtures/tiny-commit-staged-mixed-app/docs/release-notes.md +0 -3
  255. package/evals/fixtures/tiny-commit-staged-mixed-app/src/billing.ts +0 -5
  256. package/evals/fixtures/tiny-dashboard-stale-app/README.md +0 -11
  257. package/evals/fixtures/tiny-dashboard-stale-app/src/api-client.ts +0 -13
  258. package/evals/fixtures/tiny-dashboard-stale-app/src/dashboard-data.ts +0 -19
  259. package/evals/fixtures/tiny-dashboard-stale-app/tests/dashboard-data.test.md +0 -9
  260. package/evals/fixtures/tiny-decision-destination-app/README.md +0 -6
  261. package/evals/fixtures/tiny-decision-destination-app/src/risk.ts +0 -8
  262. package/evals/fixtures/tiny-decision-destination-app/tests/risk.test.md +0 -4
  263. package/evals/fixtures/tiny-design-depth-app/README.md +0 -15
  264. package/evals/fixtures/tiny-design-depth-app/src/routes.ts +0 -25
  265. package/evals/fixtures/tiny-design-depth-app/src/sendEmail.ts +0 -3
  266. package/evals/fixtures/tiny-design-depth-app/src/sendSms.ts +0 -3
  267. package/evals/fixtures/tiny-design-depth-app/src/telemetry.ts +0 -3
  268. package/evals/fixtures/tiny-design-depth-app/tests/routes.test.md +0 -12
  269. package/evals/fixtures/tiny-eval-method-app/README.md +0 -8
  270. package/evals/fixtures/tiny-eval-method-app/evals/reports/review-pr-eval-result.md +0 -5
  271. package/evals/fixtures/tiny-eval-method-app/evals/reports/triage-question-failure.md +0 -17
  272. package/evals/fixtures/tiny-eval-method-app/evals/runs/review-pr-with-skill-output.diff +0 -11
  273. package/evals/fixtures/tiny-eval-method-app/evals/runs/review-pr-with-skill-output.md +0 -3
  274. package/evals/fixtures/tiny-eval-method-app/skills/review-pr/SKILL.md +0 -10
  275. package/evals/fixtures/tiny-eval-method-app/skills/triage-question/SKILL.md +0 -10
  276. package/evals/fixtures/tiny-execute-plan-app/README.md +0 -5
  277. package/evals/fixtures/tiny-execute-plan-app/checks/settings-and-billing-check.sh +0 -5
  278. package/evals/fixtures/tiny-execute-plan-app/docs/billing-policy.md +0 -10
  279. package/evals/fixtures/tiny-execute-plan-app/docs/plans/immediate-downgrade-plan.md +0 -11
  280. package/evals/fixtures/tiny-execute-plan-app/docs/plans/settings-title-plan.md +0 -12
  281. package/evals/fixtures/tiny-execute-plan-app/docs/plans/settings-title-with-bad-check.md +0 -15
  282. package/evals/fixtures/tiny-execute-plan-app/docs/plans/unverified-billing-plan.md +0 -9
  283. package/evals/fixtures/tiny-execute-plan-app/docs/specs/failed-payment-grace-period.md +0 -9
  284. package/evals/fixtures/tiny-execute-plan-app/docs/specs/settings-title.md +0 -9
  285. package/evals/fixtures/tiny-execute-plan-app/src/billing.ts +0 -7
  286. package/evals/fixtures/tiny-execute-plan-app/src/settings-page.ts +0 -1
  287. package/evals/fixtures/tiny-execute-plan-app/tests/billing.test.md +0 -7
  288. package/evals/fixtures/tiny-execute-plan-app/tests/settings.test.md +0 -5
  289. package/evals/fixtures/tiny-execute-review-loop-app/README.md +0 -5
  290. package/evals/fixtures/tiny-execute-review-loop-app/docs/billing-policy.md +0 -9
  291. package/evals/fixtures/tiny-execute-review-loop-app/docs/plans/settings-title-plan.md +0 -12
  292. package/evals/fixtures/tiny-execute-review-loop-app/docs/review/previous-agent-summary.md +0 -15
  293. package/evals/fixtures/tiny-execute-review-loop-app/docs/review/review-pass-1-non-pass.md +0 -11
  294. package/evals/fixtures/tiny-execute-review-loop-app/docs/specs/settings-title.md +0 -9
  295. package/evals/fixtures/tiny-execute-review-loop-app/src/billing.ts +0 -7
  296. package/evals/fixtures/tiny-execute-review-loop-app/src/settings-page.ts +0 -1
  297. package/evals/fixtures/tiny-execute-review-loop-app/tests/billing.test.md +0 -7
  298. package/evals/fixtures/tiny-execute-review-loop-app/tests/settings.test.md +0 -5
  299. package/evals/fixtures/tiny-flaky-session-app/README.md +0 -10
  300. package/evals/fixtures/tiny-flaky-session-app/src/session-timeout.ts +0 -13
  301. package/evals/fixtures/tiny-flaky-session-app/tests/session-timeout.test.md +0 -8
  302. package/evals/fixtures/tiny-handoff-app/README.md +0 -5
  303. package/evals/fixtures/tiny-handoff-app/docs/billing-policy.md +0 -10
  304. package/evals/fixtures/tiny-handoff-app/docs/handoffs/old-agent-handoff.md +0 -8
  305. package/evals/fixtures/tiny-handoff-app/docs/plans/billing-retry-plan.md +0 -11
  306. package/evals/fixtures/tiny-handoff-app/src/billing.ts +0 -7
  307. package/evals/fixtures/tiny-handoff-report-app/README.md +0 -3
  308. package/evals/fixtures/tiny-handoff-report-app/evals/runs/handoff-3/hof-003/with-skill-output.diff +0 -1
  309. package/evals/fixtures/tiny-handoff-report-app/evals/runs/handoff-3/hof-003/with-skill-output.md +0 -1
  310. package/evals/fixtures/tiny-handoff-report-app/evals/scores/hof-003-score.txt +0 -4
  311. package/evals/fixtures/tiny-plan-app/README.md +0 -5
  312. package/evals/fixtures/tiny-plan-app/docs/billing-policy.md +0 -10
  313. package/evals/fixtures/tiny-plan-app/docs/specs/failed-payment-grace-period.md +0 -25
  314. package/evals/fixtures/tiny-plan-app/src/billing.ts +0 -17
  315. package/evals/fixtures/tiny-plan-app/src/settings-page.ts +0 -1
  316. package/evals/fixtures/tiny-plan-app/tests/billing.test.md +0 -8
  317. package/evals/fixtures/tiny-plan-app/tests/settings.test.md +0 -5
  318. package/evals/fixtures/tiny-plan-strict-api-app/README.md +0 -3
  319. package/evals/fixtures/tiny-plan-strict-api-app/docs/billing-policy.md +0 -5
  320. package/evals/fixtures/tiny-plan-strict-api-app/docs/specs/billing-webhook-api.md +0 -25
  321. package/evals/fixtures/tiny-plan-strict-api-app/src/billing.ts +0 -5
  322. package/evals/fixtures/tiny-plan-strict-api-app/src/webhooks.ts +0 -3
  323. package/evals/fixtures/tiny-plan-strict-api-app/tests/billing-webhook.test.md +0 -8
  324. package/evals/fixtures/tiny-post-setup-invalid-config-app/.freeflow/config.json +0 -3
  325. package/evals/fixtures/tiny-post-setup-invalid-config-app/AGENTS.md +0 -15
  326. package/evals/fixtures/tiny-post-setup-invalid-config-app/README.md +0 -16
  327. package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/auth-review.md +0 -15
  328. package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/billing-policy.md +0 -10
  329. package/evals/fixtures/tiny-post-setup-invalid-config-app/docs/copy-conventions.md +0 -15
  330. package/evals/fixtures/tiny-post-setup-invalid-config-app/src/auth-middleware.ts +0 -12
  331. package/evals/fixtures/tiny-post-setup-invalid-config-app/src/billing.ts +0 -20
  332. package/evals/fixtures/tiny-post-setup-invalid-config-app/src/login-copy.ts +0 -1
  333. package/evals/fixtures/tiny-post-setup-invalid-config-app/src/settings-page.ts +0 -1
  334. package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/auth-middleware.test.md +0 -8
  335. package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/billing.test.md +0 -8
  336. package/evals/fixtures/tiny-post-setup-invalid-config-app/tests/copy.test.md +0 -7
  337. package/evals/fixtures/tiny-post-setup-missing-config-app/AGENTS.md +0 -15
  338. package/evals/fixtures/tiny-post-setup-missing-config-app/README.md +0 -16
  339. package/evals/fixtures/tiny-post-setup-missing-config-app/docs/auth-review.md +0 -15
  340. package/evals/fixtures/tiny-post-setup-missing-config-app/docs/billing-policy.md +0 -10
  341. package/evals/fixtures/tiny-post-setup-missing-config-app/docs/copy-conventions.md +0 -15
  342. package/evals/fixtures/tiny-post-setup-missing-config-app/src/auth-middleware.ts +0 -12
  343. package/evals/fixtures/tiny-post-setup-missing-config-app/src/billing.ts +0 -20
  344. package/evals/fixtures/tiny-post-setup-missing-config-app/src/login-copy.ts +0 -1
  345. package/evals/fixtures/tiny-post-setup-missing-config-app/src/settings-page.ts +0 -1
  346. package/evals/fixtures/tiny-post-setup-missing-config-app/tests/auth-middleware.test.md +0 -8
  347. package/evals/fixtures/tiny-post-setup-missing-config-app/tests/billing.test.md +0 -8
  348. package/evals/fixtures/tiny-post-setup-missing-config-app/tests/copy.test.md +0 -7
  349. package/evals/fixtures/tiny-post-setup-source-conflict-app/.freeflow/config.json +0 -3
  350. package/evals/fixtures/tiny-post-setup-source-conflict-app/AGENTS.md +0 -15
  351. package/evals/fixtures/tiny-post-setup-source-conflict-app/README.md +0 -16
  352. package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/auth-review.md +0 -15
  353. package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/billing-policy.md +0 -10
  354. package/evals/fixtures/tiny-post-setup-source-conflict-app/docs/copy-conventions.md +0 -15
  355. package/evals/fixtures/tiny-post-setup-source-conflict-app/src/auth-middleware.ts +0 -12
  356. package/evals/fixtures/tiny-post-setup-source-conflict-app/src/billing.ts +0 -20
  357. package/evals/fixtures/tiny-post-setup-source-conflict-app/src/login-copy.ts +0 -1
  358. package/evals/fixtures/tiny-post-setup-source-conflict-app/src/settings-page.ts +0 -1
  359. package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/auth-middleware.test.md +0 -8
  360. package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/billing.test.md +0 -8
  361. package/evals/fixtures/tiny-post-setup-source-conflict-app/tests/copy.test.md +0 -7
  362. package/evals/fixtures/tiny-report-performance-app/README.md +0 -11
  363. package/evals/fixtures/tiny-report-performance-app/docs/performance.md +0 -10
  364. package/evals/fixtures/tiny-report-performance-app/src/report-summary.ts +0 -29
  365. package/evals/fixtures/tiny-report-performance-app/tests/report-performance.test.md +0 -8
  366. package/evals/fixtures/tiny-review-request-app/README.md +0 -3
  367. package/evals/fixtures/tiny-review-request-app/docs/billing-policy.md +0 -5
  368. package/evals/fixtures/tiny-review-request-app/docs/plans/billing-webhook-api.md +0 -19
  369. package/evals/fixtures/tiny-review-request-app/docs/review/previous-agent-summary.md +0 -20
  370. package/evals/fixtures/tiny-review-request-app/docs/specs/billing-webhook-api.md +0 -25
  371. package/evals/fixtures/tiny-review-request-app/src/billing.ts +0 -11
  372. package/evals/fixtures/tiny-review-request-app/src/webhooks.ts +0 -19
  373. package/evals/fixtures/tiny-review-request-app/tests/billing-webhook.test.md +0 -8
  374. package/evals/fixtures/tiny-review-work-app/README.md +0 -5
  375. package/evals/fixtures/tiny-review-work-app/docs/billing-policy.md +0 -9
  376. package/evals/fixtures/tiny-review-work-app/docs/plans/settings-title-plan.md +0 -12
  377. package/evals/fixtures/tiny-review-work-app/docs/review/previous-agent-summary.md +0 -15
  378. package/evals/fixtures/tiny-review-work-app/docs/specs/settings-title.md +0 -9
  379. package/evals/fixtures/tiny-review-work-app/src/billing.ts +0 -7
  380. package/evals/fixtures/tiny-review-work-app/src/settings-page.ts +0 -1
  381. package/evals/fixtures/tiny-review-work-app/tests/billing.test.md +0 -7
  382. package/evals/fixtures/tiny-review-work-app/tests/settings.test.md +0 -5
  383. package/evals/fixtures/tiny-saas-app/README.md +0 -16
  384. package/evals/fixtures/tiny-saas-app/docs/auth-review.md +0 -15
  385. package/evals/fixtures/tiny-saas-app/docs/billing-policy.md +0 -10
  386. package/evals/fixtures/tiny-saas-app/docs/copy-conventions.md +0 -15
  387. package/evals/fixtures/tiny-saas-app/docs/specs/settings-title.md +0 -13
  388. package/evals/fixtures/tiny-saas-app/src/auth-middleware.ts +0 -12
  389. package/evals/fixtures/tiny-saas-app/src/billing.ts +0 -20
  390. package/evals/fixtures/tiny-saas-app/src/login-copy.ts +0 -1
  391. package/evals/fixtures/tiny-saas-app/src/settings-page.ts +0 -1
  392. package/evals/fixtures/tiny-saas-app/tests/auth-middleware.test.md +0 -8
  393. package/evals/fixtures/tiny-saas-app/tests/billing.test.md +0 -8
  394. package/evals/fixtures/tiny-saas-app/tests/copy.test.md +0 -7
  395. package/evals/fixtures/tiny-setup-agents-app/AGENTS.md +0 -6
  396. package/evals/fixtures/tiny-setup-both-app/AGENTS.md +0 -5
  397. package/evals/fixtures/tiny-setup-both-app/CLAUDE.md +0 -5
  398. package/evals/fixtures/tiny-setup-claude-app/CLAUDE.md +0 -6
  399. package/evals/fixtures/tiny-setup-codex-rules-app/.codex/rules/shell.rules +0 -5
  400. package/evals/fixtures/tiny-setup-codex-rules-app/AGENTS.md +0 -6
  401. package/evals/fixtures/tiny-setup-conflict-app/AGENTS.md +0 -6
  402. package/evals/fixtures/tiny-setup-existing-block-app/AGENTS.md +0 -14
  403. package/evals/fixtures/tiny-setup-four-rules-app/CLAUDE.md +0 -6
  404. package/evals/fixtures/tiny-skill-dev-app/README.md +0 -10
  405. package/evals/fixtures/tiny-skill-dev-app/evals/prompts/review-pr-001.txt +0 -8
  406. package/evals/fixtures/tiny-skill-dev-app/evals/reports/review-pr-failure.md +0 -17
  407. package/evals/fixtures/tiny-skill-dev-app/skills/review-pr/SKILL.md +0 -13
  408. package/evals/fixtures/tiny-team-app/README.md +0 -5
  409. package/evals/fixtures/tiny-team-app/docs/product.md +0 -6
  410. package/evals/fixtures/tiny-team-app/src/teams.ts +0 -9
  411. package/evals/fixtures/tiny-team-app/src/users.ts +0 -5
  412. package/evals/fixtures/tiny-team-app/tests/teams.test.md +0 -7
  413. package/evals/fixtures/tiny-verify-app/README.md +0 -5
  414. package/evals/fixtures/tiny-verify-app/src/settings-nav.ts +0 -1
  415. package/evals/fixtures/tiny-verify-app/src/settings-page.ts +0 -1
  416. package/evals/fixtures/tiny-verify-app/tests/settings.test.md +0 -7
  417. package/evals/prompts/aon-001.txt +0 -2
  418. package/evals/prompts/byp-001.txt +0 -2
  419. package/evals/prompts/byp-002.txt +0 -2
  420. package/evals/prompts/cap-001.txt +0 -3
  421. package/evals/prompts/cap-002.txt +0 -3
  422. package/evals/prompts/cmd-001.txt +0 -3
  423. package/evals/prompts/cmd-002.txt +0 -3
  424. package/evals/prompts/cmd-003.txt +0 -6
  425. package/evals/prompts/cmd-004.txt +0 -5
  426. package/evals/prompts/cmd-005.txt +0 -5
  427. package/evals/prompts/cmd-006.txt +0 -5
  428. package/evals/prompts/cmd-007.txt +0 -5
  429. package/evals/prompts/cmd-008.txt +0 -5
  430. package/evals/prompts/cmd-009.txt +0 -8
  431. package/evals/prompts/cmd-010.txt +0 -5
  432. package/evals/prompts/cmd-011.txt +0 -5
  433. package/evals/prompts/cmd-012.txt +0 -5
  434. package/evals/prompts/cmd-013.txt +0 -5
  435. package/evals/prompts/cmd-014.txt +0 -7
  436. package/evals/prompts/cmd-015.txt +0 -7
  437. package/evals/prompts/cmd-016.txt +0 -5
  438. package/evals/prompts/cmt-001.txt +0 -1
  439. package/evals/prompts/cmt-002.txt +0 -1
  440. package/evals/prompts/cmt-003.txt +0 -1
  441. package/evals/prompts/cmt-004.txt +0 -1
  442. package/evals/prompts/cmt-005.txt +0 -1
  443. package/evals/prompts/dfd-001.txt +0 -3
  444. package/evals/prompts/dia-001.txt +0 -3
  445. package/evals/prompts/dia-002.txt +0 -3
  446. package/evals/prompts/dia-003.txt +0 -3
  447. package/evals/prompts/dis-001.txt +0 -5
  448. package/evals/prompts/dis-002.txt +0 -5
  449. package/evals/prompts/esk-001.txt +0 -5
  450. package/evals/prompts/esk-002.txt +0 -5
  451. package/evals/prompts/esk-003.txt +0 -5
  452. package/evals/prompts/grc-001.txt +0 -3
  453. package/evals/prompts/hof-001.txt +0 -3
  454. package/evals/prompts/hof-002.txt +0 -1
  455. package/evals/prompts/hof-003.txt +0 -1
  456. package/evals/prompts/hof-004.txt +0 -1
  457. package/evals/prompts/hof-005.txt +0 -1
  458. package/evals/prompts/ivg-001.txt +0 -1
  459. package/evals/prompts/ivg-002.txt +0 -11
  460. package/evals/prompts/ivg-003.txt +0 -1
  461. package/evals/prompts/ivg-004.txt +0 -1
  462. package/evals/prompts/mode-001.txt +0 -3
  463. package/evals/prompts/mode-002.txt +0 -1
  464. package/evals/prompts/mode-003.txt +0 -3
  465. package/evals/prompts/mode-004.txt +0 -3
  466. package/evals/prompts/mode-005.txt +0 -3
  467. package/evals/prompts/mode-006.txt +0 -3
  468. package/evals/prompts/mode-007.txt +0 -3
  469. package/evals/prompts/otr-001.txt +0 -3
  470. package/evals/prompts/otr-002.txt +0 -3
  471. package/evals/prompts/rar-001.txt +0 -5
  472. package/evals/prompts/rar-002.txt +0 -3
  473. package/evals/prompts/rar-003.txt +0 -6
  474. package/evals/prompts/rar-004.txt +0 -15
  475. package/evals/prompts/rar-005.txt +0 -10
  476. package/evals/prompts/rbr-001.txt +0 -3
  477. package/evals/prompts/rbr-002.txt +0 -3
  478. package/evals/prompts/rbr-003.txt +0 -7
  479. package/evals/prompts/rev-001.txt +0 -3
  480. package/evals/prompts/rev-002.txt +0 -5
  481. package/evals/prompts/rev-003.txt +0 -6
  482. package/evals/prompts/rev-004.txt +0 -1
  483. package/evals/prompts/rev-005.txt +0 -15
  484. package/evals/prompts/rev-006.txt +0 -5
  485. package/evals/prompts/stp-001.txt +0 -1
  486. package/evals/prompts/stp-002.txt +0 -1
  487. package/evals/prompts/stp-003.txt +0 -1
  488. package/evals/prompts/stp-004.txt +0 -1
  489. package/evals/prompts/stp-005.txt +0 -1
  490. package/evals/prompts/stp-006.txt +0 -1
  491. package/evals/prompts/stp-007.txt +0 -1
  492. package/evals/prompts/stp-008.txt +0 -1
  493. package/evals/prompts/stp-009.txt +0 -1
  494. package/evals/prompts/stp-010.txt +0 -1
  495. package/evals/prompts/stp-011.txt +0 -1
  496. package/evals/prompts/vfy-003.txt +0 -1
  497. package/evals/prompts/wpl-001.txt +0 -3
  498. package/evals/prompts/wpl-002.txt +0 -5
  499. package/evals/prompts/wpl-003.txt +0 -3
  500. package/evals/prompts/wpl-004.txt +0 -5
  501. package/evals/prompts/wpl-005.txt +0 -1
  502. package/evals/prompts/wrc-001.txt +0 -10
  503. package/evals/prompts/wrc-002.txt +0 -3
  504. package/evals/prompts/wsk-001.txt +0 -6
  505. package/evals/prompts/wsp-001.txt +0 -5
  506. package/evals/prompts/wsp-002.txt +0 -15
  507. package/evals/prompts/wsp-003.txt +0 -3
  508. package/evals/prompts/wsp-004.txt +0 -15
  509. package/evals/prompts/wsp-005.txt +0 -5
  510. package/evals/prompts/wsp-006.txt +0 -12
  511. package/evals/prompts/wsp-007.txt +0 -9
  512. package/evals/prompts/wsp-008.txt +0 -13
  513. package/evals/prompts/xpl-001.txt +0 -1
  514. package/evals/prompts/xpl-002.txt +0 -3
  515. package/evals/prompts/xpl-003.txt +0 -3
  516. package/evals/prompts/xpl-004.txt +0 -3
  517. package/evals/prompts/xpl-005.txt +0 -5
  518. package/evals/prompts/xpl-006.txt +0 -3
  519. package/evals/registries/adversarial-evals.json +0 -39
  520. package/evals/registries/fixture-evals.json +0 -2513
  521. package/evals/registries/handoff-evals.json +0 -74
  522. package/evals/registries/legacy-evals.json +0 -147
  523. package/evals/registries/skill-evidence.json +0 -193
  524. package/evals/registries/verify-work-evals.json +0 -46
  525. package/evals/reports/acceptance/v0.1-acceptance-report.md +0 -130
  526. package/evals/reports/by-command-surface/command-surface-1-report.md +0 -45
  527. package/evals/reports/by-command-surface/command-surface-10-report.md +0 -76
  528. package/evals/reports/by-command-surface/command-surface-11-report.md +0 -77
  529. package/evals/reports/by-command-surface/command-surface-12-report.md +0 -91
  530. package/evals/reports/by-command-surface/command-surface-13-report.md +0 -64
  531. package/evals/reports/by-command-surface/command-surface-14-report.md +0 -66
  532. package/evals/reports/by-command-surface/command-surface-15-report.md +0 -124
  533. package/evals/reports/by-command-surface/command-surface-16-report.md +0 -39
  534. package/evals/reports/by-command-surface/command-surface-2-report.md +0 -80
  535. package/evals/reports/by-command-surface/command-surface-3-report.md +0 -86
  536. package/evals/reports/by-command-surface/command-surface-4-report.md +0 -76
  537. package/evals/reports/by-command-surface/command-surface-5-report.md +0 -80
  538. package/evals/reports/by-command-surface/command-surface-6-report.md +0 -74
  539. package/evals/reports/by-command-surface/command-surface-7-report.md +0 -84
  540. package/evals/reports/by-command-surface/command-surface-8-report.md +0 -79
  541. package/evals/reports/by-command-surface/command-surface-9-report.md +0 -79
  542. package/evals/reports/by-command-surface/command-surface-matrix.md +0 -91
  543. package/evals/reports/by-skill/bypass-1-report.md +0 -124
  544. package/evals/reports/by-skill/capture-decisions-1-report.md +0 -99
  545. package/evals/reports/by-skill/capture-decisions-2-report.md +0 -102
  546. package/evals/reports/by-skill/commit-work-1-report.md +0 -165
  547. package/evals/reports/by-skill/commit-work-2-report.md +0 -109
  548. package/evals/reports/by-skill/design-for-depth-1-report.md +0 -95
  549. package/evals/reports/by-skill/diagnose-failure-1-report.md +0 -91
  550. package/evals/reports/by-skill/diagnose-failure-2-report.md +0 -94
  551. package/evals/reports/by-skill/discover-1-report.md +0 -118
  552. package/evals/reports/by-skill/evaluate-skill-2-report.md +0 -71
  553. package/evals/reports/by-skill/execute-plan-1-report.md +0 -103
  554. package/evals/reports/by-skill/execute-plan-2-report.md +0 -112
  555. package/evals/reports/by-skill/execute-plan-3-report.md +0 -87
  556. package/evals/reports/by-skill/grill-context-1-report.md +0 -103
  557. package/evals/reports/by-skill/handoff-1-report.md +0 -123
  558. package/evals/reports/by-skill/handoff-2-report.md +0 -105
  559. package/evals/reports/by-skill/handoff-3-report.md +0 -100
  560. package/evals/reports/by-skill/handoff-7-report.md +0 -77
  561. package/evals/reports/by-skill/interview-gate-1-report.md +0 -63
  562. package/evals/reports/by-skill/interview-gate-2-report.md +0 -105
  563. package/evals/reports/by-skill/mode-contract-1-report.md +0 -74
  564. package/evals/reports/by-skill/mode-contract-2-report.md +0 -87
  565. package/evals/reports/by-skill/mode-contract-3-report.md +0 -65
  566. package/evals/reports/by-skill/mode-contract-4-report.md +0 -71
  567. package/evals/reports/by-skill/mode-contract-5-report.md +0 -70
  568. package/evals/reports/by-skill/output-router-1-report.md +0 -76
  569. package/evals/reports/by-skill/output-router-2-report.md +0 -65
  570. package/evals/reports/by-skill/research-1-report.md +0 -144
  571. package/evals/reports/by-skill/research-brief-1-report.md +0 -94
  572. package/evals/reports/by-skill/research-brief-2-report.md +0 -75
  573. package/evals/reports/by-skill/review-artifact-1-report.md +0 -91
  574. package/evals/reports/by-skill/review-artifact-2-report.md +0 -79
  575. package/evals/reports/by-skill/review-artifact-3-report.md +0 -120
  576. package/evals/reports/by-skill/review-artifact-4-report.md +0 -89
  577. package/evals/reports/by-skill/review-artifact-5-report.md +0 -66
  578. package/evals/reports/by-skill/review-work-1-report.md +0 -85
  579. package/evals/reports/by-skill/review-work-2-report.md +0 -87
  580. package/evals/reports/by-skill/review-work-3-report.md +0 -104
  581. package/evals/reports/by-skill/review-work-4-report.md +0 -108
  582. package/evals/reports/by-skill/review-work-5-report.md +0 -73
  583. package/evals/reports/by-skill/review-work-6-report.md +0 -66
  584. package/evals/reports/by-skill/setup-freeflow-1-report.md +0 -199
  585. package/evals/reports/by-skill/setup-freeflow-2-report.md +0 -105
  586. package/evals/reports/by-skill/setup-freeflow-3-report.md +0 -105
  587. package/evals/reports/by-skill/setup-freeflow-4-report.md +0 -88
  588. package/evals/reports/by-skill/setup-freeflow-5-report.md +0 -115
  589. package/evals/reports/by-skill/skill-authoring-1-report.md +0 -81
  590. package/evals/reports/by-skill/verify-work-1-report.md +0 -111
  591. package/evals/reports/by-skill/verify-work-2-report.md +0 -120
  592. package/evals/reports/by-skill/workflow-1-report.md +0 -65
  593. package/evals/reports/by-skill/write-plan-1-report.md +0 -123
  594. package/evals/reports/by-skill/write-plan-2-report.md +0 -98
  595. package/evals/reports/by-skill/write-plan-3-report.md +0 -110
  596. package/evals/reports/by-skill/write-spec-1-report.md +0 -88
  597. package/evals/reports/by-skill/write-spec-2-report.md +0 -89
  598. package/evals/reports/by-skill/write-spec-3-report.md +0 -90
  599. package/evals/reports/by-skill/write-spec-4-report.md +0 -167
  600. package/evals/reports/harness/claude-harness-1-report.md +0 -103
  601. package/evals/reports/harness/eval-harness-1-report.md +0 -91
  602. package/evals/reports/iterations/iteration-1-report.md +0 -71
  603. package/evals/reports/iterations/iteration-2-report.md +0 -78
  604. package/evals/reports/iterations/iteration-3-report.md +0 -118
  605. package/evals/reports/iterations/iteration-4-report.md +0 -131
  606. package/evals/reports/iterations/iteration-5-report.md +0 -149
  607. package/evals/reports/iterations/iteration-6-report.md +0 -136
  608. package/evals/reports/runtime/always-on-runtime-1-report.md +0 -107
  609. package/evals/reports/runtime/context-mode-normalized-benchmark-1-report.md +0 -52
  610. package/evals/reports/runtime/context-mode-real-deep-baseline-1-report.md +0 -410
  611. package/evals/reports/runtime/context-mode-real-deep-final-slice-11-report.md +0 -203
  612. package/evals/reports/runtime/context-mode-real-deep-final-slice-11-review.md +0 -51
  613. package/evals/reports/runtime/context-saving-native-tools-baseline-1-report.md +0 -99
  614. package/evals/reports/runtime/eryx-python-compatibility-reprobe-1-report.md +0 -166
  615. package/evals/reports/runtime/eryx-python-proof-spike-1-report.md +0 -96
  616. package/evals/reports/runtime/eryx-python-proof-spike-2-report.md +0 -151
  617. package/evals/reports/runtime/eryx-python-script-derive-execution-1-report.md +0 -233
  618. package/evals/reports/runtime/jq-script-derive-execution-1-report.md +0 -215
  619. package/evals/reports/runtime/jq-wasm-proof-spike-1-report.md +0 -67
  620. package/evals/reports/runtime/output-router-benchmark-1-report.md +0 -81
  621. package/evals/reports/runtime/output-router-capture-derive-provider-eval-1-report.md +0 -35
  622. package/evals/reports/runtime/output-router-codex-large-index-sqlite-adhoc-report.md +0 -150
  623. package/evals/reports/runtime/output-router-codex-qa-benchmark-1-report.md +0 -46
  624. package/evals/reports/runtime/output-router-command-benchmark-1-report.md +0 -62
  625. package/evals/reports/runtime/output-router-index-benchmark-1-report.md +0 -64
  626. package/evals/reports/runtime/output-router-regression-1-report.md +0 -81
  627. package/evals/reports/runtime/output-router-transform-eval-1-report.md +0 -28
  628. package/evals/reports/runtime/pi-observed-routing-eval-1-report.md +0 -44
  629. package/evals/reports/runtime/quickjs-script-derive-execution-1-report.md +0 -159
  630. package/evals/reports/runtime/quickjs-wasi-proof-spike-1-report.md +0 -55
  631. package/evals/reports/runtime/render-format-row-protocol-1-report.md +0 -58
  632. package/evals/reports/runtime/script-sandbox-adapter-selection-review-1-report.md +0 -84
  633. package/evals/reports/runtime/script-sandbox-probe-resource-hardening-1-report.md +0 -51
  634. package/evals/reports/runtime/storage-policy-benchmark-1-report.md +0 -176
  635. package/evals/reports/runtime/vault-index-storage-spike-1-report.md +0 -39
  636. package/evals/reports/runtime/workflow-context-hook-1-report.md +0 -82
  637. package/evals/runbooks/adversarial-eval-runbook.md +0 -28
  638. package/evals/runbooks/fixture-eval-runbook.md +0 -137
  639. package/evals/runbooks/handoff-eval-runbook.md +0 -22
  640. package/evals/runbooks/verify-work-eval-runbook.md +0 -27
  641. package/evals/scripts/audit-command-surface.sh +0 -160
  642. package/evals/scripts/check-activation-contract.sh +0 -121
  643. package/evals/scripts/check-runtime-context-hook.sh +0 -183
  644. package/evals/scripts/grade-fixture-eval.sh +0 -446
  645. package/evals/scripts/run-claude-fixture-eval.sh +0 -26
  646. package/evals/scripts/run-codex-fixture-eval.sh +0 -26
  647. package/evals/scripts/run-eryx-python-proof-spike.js +0 -559
  648. package/evals/scripts/run-fixture-eval-by-id.sh +0 -23
  649. package/evals/scripts/run-fixture-eval.sh +0 -464
  650. package/evals/scripts/run-jq-wasm-proof-spike.js +0 -299
  651. package/evals/scripts/run-output-router-transform-eval.js +0 -115
  652. package/evals/scripts/run-pi-observed-routing-eval.js +0 -478
  653. package/evals/scripts/run-quickjs-wasi-proof-spike.js +0 -339
  654. package/evals/scripts/skill-evidence.sh +0 -316
  655. package/evals/scripts/validate-release-metadata.sh +0 -486
  656. package/evals/suites/v0.1-acceptance-suite.md +0 -131
  657. package/pi-extension/dist/host-producer-identification.js +0 -186
  658. package/pi-extension/dist/mcp-config.js +0 -30
  659. package/pi-extension/dist/native-safety-net.js +0 -209
  660. package/pi-extension/dist/observed-tool-routing.js +0 -114
  661. package/pi-extension/dist/renderers.js +0 -835
  662. package/pi-extension/dist/router-tools.js +0 -438
  663. package/pi-extension/dist/runtime-context.js +0 -288
  664. package/pi-extension/dist/schemas.js +0 -254
  665. package/pi-extension/dist/status.js +0 -449
  666. package/pi-extension/dist/utils.js +0 -467
  667. package/pi-extension/src/runtime-context.ts +0 -347
  668. package/pi-extension/src/status.ts +0 -505
  669. package/plugin-docs/README.md +0 -40
  670. package/plugin-docs/adr/0001-three-modes.md +0 -27
  671. package/plugin-docs/adr/0002-evals-before-hooks.md +0 -17
  672. package/plugin-docs/adr/0003-release-boundary.md +0 -21
  673. package/plugin-docs/adr/0004-discover-replaces-shallow-discovery-skills.md +0 -26
  674. package/plugin-docs/adr/README.md +0 -10
  675. package/plugin-docs/architecture.md +0 -89
  676. package/plugin-docs/output-router.md +0 -396
  677. package/plugin-docs/release-evidence.md +0 -77
  678. package/plugin-docs/skills.md +0 -44
  679. package/plugin-docs/workflow.md +0 -57
  680. package/skills/diagnose-failure/references/feedback-loop-catalog.md +0 -25
  681. package/skills/discover/ARTIFACT-DESTINATIONS.md +0 -58
  682. package/skills/discover/CHECKPOINTS.md +0 -74
  683. package/skills/discover/SKILL.md +0 -173
  684. package/skills/evaluate-skill/references/eval-patterns.md +0 -41
  685. package/skills/evaluate-skill/references/grading-priority.md +0 -33
  686. package/skills/execute-plan/SKILL.md +0 -133
  687. package/skills/execute-plan/references/execution-map.md +0 -122
  688. package/skills/interview-gate/SKILL.md +0 -90
  689. package/skills/workflow/references/workflow-map.md +0 -104
  690. /package/pi-extension/src/{mcp-config.ts → integrations/mcp-config.ts} +0 -0
@@ -1,4 +1,13 @@
1
- import { discoverEryxPythonSandboxAdaptersFromEnv, discoverJqWasmSandboxAdaptersFromEnv, discoverQuickJsWasiSandboxAdaptersFromEnv, freeflowBatch, freeflowTransform, freeflowSearch, freeflowRun, processSource } from "../../router/dist/index.js";
1
+ import {
2
+ discoverEryxPythonSandboxAdaptersFromEnv,
3
+ discoverJqWasmSandboxAdaptersFromEnv,
4
+ discoverQuickJsWasiSandboxAdaptersFromEnv,
5
+ freeflowBatch,
6
+ freeflowTransform,
7
+ freeflowSearch,
8
+ freeflowRun,
9
+ processSource,
10
+ } from "../../../router/dist/index.js";
2
11
  import { buildFreeflowStatusReport } from "./status.js";
3
12
  import {
4
13
  renderFreeflowBatchCall,
@@ -10,9 +19,20 @@ import {
10
19
  renderFreeflowStatusCall,
11
20
  renderFreeflowStatusResult,
12
21
  } from "./renderers.js";
13
- import { readOutputRouterConfig, notifyRouterConfigWarnings } from "./runtime-context.js";
14
- import { FREEFLOW_BATCH_PARAMETERS, FREEFLOW_RUN_PARAMETERS, FREEFLOW_SEARCH_PARAMETERS, FREEFLOW_STATUS_PARAMETERS } from "./schemas.js";
15
- import { compactBatchToolText, compactRunToolText, compactSearchToolText, getRouterSessionId, routedToolText } from "./utils.js";
22
+ import { readOutputRouterConfig, notifyRouterConfigWarnings } from "../runtime/runtime-context.js";
23
+ import {
24
+ FREEFLOW_BATCH_PARAMETERS,
25
+ FREEFLOW_RUN_PARAMETERS,
26
+ FREEFLOW_SEARCH_PARAMETERS,
27
+ FREEFLOW_STATUS_PARAMETERS,
28
+ } from "./schemas.js";
29
+ import {
30
+ compactBatchToolText,
31
+ compactRunToolText,
32
+ compactSearchToolText,
33
+ getRouterSessionId,
34
+ routedToolText,
35
+ } from "./utils.js";
16
36
 
17
37
  function normalizeTransformOperation(operation) {
18
38
  if (!operation || typeof operation !== "object" || Array.isArray(operation)) {
@@ -70,7 +90,7 @@ async function normalizeTransformParams(params, ctx) {
70
90
  }
71
91
 
72
92
  async function normalizeSearchEvidenceParams(params, ctx, providedRouterConfigResult = undefined) {
73
- const routerConfigResult = providedRouterConfigResult ?? await readOutputRouterConfig(ctx.cwd);
93
+ const routerConfigResult = providedRouterConfigResult ?? (await readOutputRouterConfig(ctx.cwd));
74
94
  if (!providedRouterConfigResult) {
75
95
  notifyRouterConfigWarnings(ctx, routerConfigResult);
76
96
  }
@@ -88,6 +108,21 @@ async function normalizeSearchEvidenceParams(params, ctx, providedRouterConfigRe
88
108
  };
89
109
  }
90
110
 
111
+ if (source.kind === "local") {
112
+ if (!source.root) {
113
+ throw new Error("freeflow_search source.kind=local requires an explicit absolute source.root.");
114
+ }
115
+ return {
116
+ ...params,
117
+ generatedPathGlobs: routerConfigResult.config.hints?.generatedPathGlobs,
118
+ source: {
119
+ kind: "local",
120
+ root: source.root,
121
+ ...(source.path ? { path: source.path } : {}),
122
+ },
123
+ };
124
+ }
125
+
91
126
  if (source.kind === "vault") {
92
127
  if (!source.outputId && params.action !== "query" && params.action !== "locate" && params.action !== "get") {
93
128
  throw new Error("freeflow_search source.kind=vault requires source.outputId for retrieve, expand, and explain.");
@@ -141,6 +176,37 @@ async function normalizeSearchTransformProcessingParams(params, ctx, routerConfi
141
176
  };
142
177
  }
143
178
 
179
+ if (source.kind === "local") {
180
+ if (!source.root) {
181
+ throw new Error("freeflow_search action=transform source.kind=local requires an explicit absolute source.root.");
182
+ }
183
+ if (!source.path) {
184
+ throw new Error(
185
+ "freeflow_search action=transform source.kind=local requires source.path for an explicit local file.",
186
+ );
187
+ }
188
+ return {
189
+ source: { kind: "local-file", root: source.root, path: source.path },
190
+ options: {
191
+ sessionId: getRouterSessionId(ctx),
192
+ vaultRoot: routerConfigResult.config.vault.root,
193
+ vaultRetention: routerConfigResult.config.vault.retention,
194
+ goal: params.goal,
195
+ limits: params.limits,
196
+ script: params.script,
197
+ scriptTransform: routerConfigResult.freeflowConfig.scriptTransform,
198
+ localConfig: routerConfigResult.localConfig,
199
+ scriptSandboxAdapters: params.script
200
+ ? [
201
+ ...(await discoverQuickJsWasiSandboxAdaptersFromEnv()),
202
+ ...(await discoverJqWasmSandboxAdaptersFromEnv()),
203
+ ...(await discoverEryxPythonSandboxAdaptersFromEnv()),
204
+ ]
205
+ : [],
206
+ },
207
+ };
208
+ }
209
+
144
210
  if (source.kind === "vault") {
145
211
  if (!source.outputId) {
146
212
  throw new Error("freeflow_search action=transform source.kind=vault requires source.outputId.");
@@ -180,13 +246,14 @@ async function executeSearch(params, ctx, routerConfigResult) {
180
246
  if (params.action === "transform") {
181
247
  if (params.operation) {
182
248
  const normalized = await normalizeTransformParams(params, ctx);
183
- const scriptSandboxAdapters = normalized.operation?.kind === "script"
184
- ? [
185
- ...(await discoverQuickJsWasiSandboxAdaptersFromEnv()),
186
- ...(await discoverJqWasmSandboxAdaptersFromEnv()),
187
- ...(await discoverEryxPythonSandboxAdaptersFromEnv()),
188
- ]
189
- : [];
249
+ const scriptSandboxAdapters =
250
+ normalized.operation?.kind === "script"
251
+ ? [
252
+ ...(await discoverQuickJsWasiSandboxAdaptersFromEnv()),
253
+ ...(await discoverJqWasmSandboxAdaptersFromEnv()),
254
+ ...(await discoverEryxPythonSandboxAdaptersFromEnv()),
255
+ ]
256
+ : [];
190
257
  return freeflowTransform({
191
258
  ...normalized,
192
259
  sessionId: getRouterSessionId(ctx),
@@ -235,7 +302,9 @@ async function normalizeBatchParams(params, ctx, routerConfigResult) {
235
302
  }
236
303
  if (step.kind === "search") {
237
304
  if (input.action === "transform") {
238
- throw new Error("freeflow_batch search transform steps are not public yet; use freeflow_search directly for transform processing.");
305
+ throw new Error(
306
+ "freeflow_batch search transform steps are not public yet; use freeflow_search directly for transform processing.",
307
+ );
239
308
  }
240
309
  steps.push({
241
310
  id: step.id,
@@ -273,6 +342,25 @@ function batchNeedsScriptAdapters(params) {
273
342
  });
274
343
  }
275
344
 
345
+ function disabledByConfigToolResult(toolName) {
346
+ return {
347
+ content: [
348
+ {
349
+ type: "text",
350
+ text: `${toolName}|disabled_by_config\ncapability|output-router\nroute|configure with /output-router settings`,
351
+ },
352
+ ],
353
+ details: {
354
+ result: {
355
+ toolStatus: "disabled_by_config",
356
+ toolName,
357
+ capability: "output-router",
358
+ route: "/output-router settings",
359
+ },
360
+ },
361
+ };
362
+ }
363
+
276
364
  function createPiCommandRunner(pi, signal) {
277
365
  return {
278
366
  async run(request) {
@@ -286,7 +374,9 @@ function createPiCommandRunner(pi, signal) {
286
374
  const durationMs = Date.now() - startedAt;
287
375
  const killed = Boolean(result.killed);
288
376
  const code = typeof result.code === "number" ? result.code : null;
289
- const executionStatus = (signal?.aborted ? "cancelled" : killed ? "timed_out" : code === 0 ? "success" : "failed") as "cancelled" | "timed_out" | "success" | "failed";
377
+ const executionStatus = (
378
+ signal?.aborted ? "cancelled" : killed ? "timed_out" : code === 0 ? "success" : "failed"
379
+ ) as "cancelled" | "timed_out" | "success" | "failed";
290
380
  return {
291
381
  stdout: result.stdout ?? "",
292
382
  stderr: result.stderr ?? "",
@@ -304,7 +394,8 @@ export function registerRouterTools(pi) {
304
394
  label: "Freeflow Status",
305
395
  description:
306
396
  "Inspect effective Freeflow router, observed-routing, script-transform, vault, warnings, and non-destructive migration recommendations.",
307
- promptSnippet: "Inspect Freeflow effective config, observed routing, script transform, vault status, and migration recommendations.",
397
+ promptSnippet:
398
+ "Inspect Freeflow effective config, observed routing, script transform, vault status, and migration recommendations.",
308
399
  promptGuidelines: [
309
400
  "Use freeflow_status when setup/config/status/doctor evidence is needed.",
310
401
  "Status and migration recommendations are read-only; do not rewrite .freeflow/config.json without explicit confirmation.",
@@ -329,10 +420,11 @@ export function registerRouterTools(pi) {
329
420
  name: "freeflow_search",
330
421
  label: "Freeflow Search",
331
422
  description:
332
- "Search, retrieve, expand, explain, or transform repo and vaulted Freeflow evidence. Returns compact facts with recoverable source pointers.",
333
- promptSnippet: "Search repo/vault evidence or transform file/output sources with compact recoverable results.",
423
+ "Search, retrieve, expand, explain, or transform repo, explicit local, and vaulted Freeflow evidence. Returns compact facts with recoverable source pointers.",
424
+ promptSnippet:
425
+ "Search repo/local/vault evidence or transform file/output sources with compact recoverable results.",
334
426
  promptGuidelines: [
335
- "Use freeflow_search for targeted repo or vault evidence before reading whole files or dumping captured output.",
427
+ "Use freeflow_search for targeted repo, explicit local, or vault evidence before reading whole files or dumping captured output.",
336
428
  "Use freeflow_search with source.kind=vault and an outputId to recover exact output from freeflow_run.",
337
429
  "Use freeflow_search action=transform for file/output processing through deterministic reducers or explicit scripts.",
338
430
  ],
@@ -340,6 +432,9 @@ export function registerRouterTools(pi) {
340
432
  async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
341
433
  const routerConfigResult = await readOutputRouterConfig(ctx.cwd);
342
434
  notifyRouterConfigWarnings(ctx, routerConfigResult);
435
+ if (!routerConfigResult.config.enabled) {
436
+ return disabledByConfigToolResult("freeflow_search");
437
+ }
343
438
  const result = await executeSearch(params, ctx, routerConfigResult);
344
439
  return {
345
440
  content: [{ type: "text", text: compactSearchToolText(result) }],
@@ -369,14 +464,18 @@ export function registerRouterTools(pi) {
369
464
  async execute(_toolCallId, params, signal, _onUpdate, ctx) {
370
465
  const routerConfigResult = await readOutputRouterConfig(ctx.cwd);
371
466
  notifyRouterConfigWarnings(ctx, routerConfigResult);
467
+ if (!routerConfigResult.config.enabled) {
468
+ return disabledByConfigToolResult("freeflow_run");
469
+ }
372
470
  const runner = createPiCommandRunner(pi, signal);
373
- const scriptSandboxAdapters = params.script || params.scriptFilter
374
- ? [
375
- ...(await discoverQuickJsWasiSandboxAdaptersFromEnv()),
376
- ...(await discoverJqWasmSandboxAdaptersFromEnv()),
377
- ...(await discoverEryxPythonSandboxAdaptersFromEnv()),
378
- ]
379
- : [];
471
+ const scriptSandboxAdapters =
472
+ params.script || params.scriptFilter
473
+ ? [
474
+ ...(await discoverQuickJsWasiSandboxAdaptersFromEnv()),
475
+ ...(await discoverJqWasmSandboxAdaptersFromEnv()),
476
+ ...(await discoverEryxPythonSandboxAdaptersFromEnv()),
477
+ ]
478
+ : [];
380
479
  const result = await freeflowRun(
381
480
  {
382
481
  command: params.command,
@@ -421,18 +520,21 @@ export function registerRouterTools(pi) {
421
520
  name: "freeflow_batch",
422
521
  label: "Freeflow Batch",
423
522
  description:
424
- "Run independent Freeflow-owned operations in parallel and return one compact summary while preserving full child results in details.result.steps.",
523
+ "Run independent Freeflow-owned run/search operations in parallel and return one compact summary while preserving full child results in details.result.steps.",
425
524
  promptSnippet: "Batch independent Freeflow run/search operations with compact model-visible output.",
426
525
  promptGuidelines: [
427
- "Use freeflow_batch when several independent Freeflow-owned run/search operations can run in parallel.",
526
+ "Use freeflow_batch when several independent Freeflow run/search operations can run in parallel.",
428
527
  "Use queries[] when the batch should answer deterministic fact requests from completed child evidence handles.",
429
- "Do not use freeflow_batch for sequenced workflows, arbitrary external tool orchestration, or mutating batch work in v1.",
528
+ "Do not use freeflow_batch for sequenced workflows, arbitrary external tool orchestration, or unsafe parallel writer behavior.",
430
529
  "Intermediate child outputs are suppressed unless needed for query answers; inspect details.result.steps or child recovery ids when needed.",
431
530
  ],
432
531
  parameters: FREEFLOW_BATCH_PARAMETERS,
433
532
  async execute(_toolCallId, params, signal, _onUpdate, ctx) {
434
533
  const routerConfigResult = await readOutputRouterConfig(ctx.cwd);
435
534
  notifyRouterConfigWarnings(ctx, routerConfigResult);
535
+ if (!routerConfigResult.config.enabled) {
536
+ return disabledByConfigToolResult("freeflow_batch");
537
+ }
436
538
  const normalized = await normalizeBatchParams(params, ctx, routerConfigResult);
437
539
  const runner = createPiCommandRunner(pi, signal);
438
540
  const scriptSandboxAdapters = batchNeedsScriptAdapters(params)
@@ -474,5 +576,4 @@ export function registerRouterTools(pi) {
474
576
  return renderFreeflowBatchResult(result, options, theme);
475
577
  },
476
578
  });
477
-
478
579
  }
@@ -48,47 +48,111 @@ export const FREEFLOW_SEARCH_PARAMETERS = {
48
48
  type: "object",
49
49
  additionalProperties: false,
50
50
  properties: {
51
- action: { ...SEARCH_ACTION_SCHEMA, description: "Search/retrieval action to perform, or transform to process a repo/vault source." },
51
+ action: {
52
+ ...SEARCH_ACTION_SCHEMA,
53
+ description: "Search/retrieval action to perform, or transform to process a repo/local/vault source.",
54
+ },
52
55
  source: {
53
56
  type: "object",
54
57
  additionalProperties: false,
55
58
  properties: {
56
- kind: { type: "string", enum: ["repo", "vault"] },
57
- path: { ...STRING_SCHEMA, description: "Repo path for source.kind=repo." },
58
- outputId: { ...STRING_SCHEMA, description: "Vault output id for source.kind=vault. Optional for vault query/locate." },
59
+ kind: { type: "string", enum: ["repo", "local", "vault"] },
60
+ root: { ...STRING_SCHEMA, description: "Absolute local root for source.kind=local." },
61
+ path: {
62
+ ...STRING_SCHEMA,
63
+ description: "Repo path for source.kind=repo, or relative local path for source.kind=local.",
64
+ },
65
+ outputId: {
66
+ ...STRING_SCHEMA,
67
+ description: "Vault output id for source.kind=vault. Optional for vault query/locate.",
68
+ },
59
69
  stream: { ...STREAM_SCHEMA, description: "Vault stream to read or filter." },
60
- producerKind: { type: "string", enum: ["command", "script", "native", "repo", "web", "fetch", "code_search", "mcp", "transform", "other"], description: "Vault index producer-kind filter for source.kind=vault query/locate." },
70
+ producerKind: {
71
+ type: "string",
72
+ enum: ["command", "script", "native", "repo", "web", "fetch", "code_search", "mcp", "transform", "other"],
73
+ description: "Vault index producer-kind filter for source.kind=vault query/locate.",
74
+ },
61
75
  server: { ...STRING_SCHEMA, description: "Vault index MCP server filter for source.kind=vault query/locate." },
62
76
  tool: { ...STRING_SCHEMA, description: "Vault index MCP/tool filter for source.kind=vault query/locate." },
63
- hostToolName: { ...STRING_SCHEMA, description: "Vault index host-tool filter for source.kind=vault query/locate." },
64
- recordKind: { type: "string", enum: ["command", "text", "metadata", "repo-file"], description: "Vault record-kind filter for source.kind=vault query/locate." },
65
- recoverability: { type: "string", enum: ["exact", "redacted", "metadata_only", "none"], description: "Vault recoverability filter for source.kind=vault query/locate." },
77
+ hostToolName: {
78
+ ...STRING_SCHEMA,
79
+ description: "Vault index host-tool filter for source.kind=vault query/locate.",
80
+ },
81
+ recordKind: {
82
+ type: "string",
83
+ enum: ["command", "text", "metadata", "repo-file"],
84
+ description: "Vault record-kind filter for source.kind=vault query/locate.",
85
+ },
86
+ recoverability: {
87
+ type: "string",
88
+ enum: ["exact", "redacted", "metadata_only", "none"],
89
+ description: "Vault recoverability filter for source.kind=vault query/locate.",
90
+ },
66
91
  },
67
92
  required: ["kind"],
68
- description: "Source to search, retrieve, or transform. Repo root and vault session are supplied by Freeflow/Pi.",
93
+ description:
94
+ "Source to search, retrieve, or transform. Repo root and vault session are supplied by Freeflow/Pi; local sources require an explicit absolute root per call.",
69
95
  },
70
96
  query: { ...STRING_SCHEMA, description: "Text query for query/locate actions." },
71
- goal: { ...STRING_SCHEMA, description: "Goal for action=transform, such as log analysis, CSV summary, or test output processing." },
97
+ goal: {
98
+ ...STRING_SCHEMA,
99
+ description: "Goal for action=transform, such as log analysis, CSV summary, or test output processing.",
100
+ },
72
101
  script: {
73
102
  type: "object",
74
103
  additionalProperties: false,
75
104
  properties: {
76
105
  language: { ...SCRIPT_LANGUAGE_SCHEMA, description: "Processing script language." },
77
- code: { ...NON_EMPTY_STRING_SCHEMA, description: "Processing script code. Raw code is not persisted by default." },
106
+ code: {
107
+ ...NON_EMPTY_STRING_SCHEMA,
108
+ description: "Processing script code. Raw code is not persisted by default.",
109
+ },
78
110
  label: { ...NON_EMPTY_STRING_SCHEMA, description: "Optional script label." },
79
- alias: { type: "string", pattern: "^[A-Za-z][A-Za-z0-9_-]{0,63}$", description: "Input source alias exposed to the processing script." },
80
- policy: { type: "string", enum: ["sandboxed", "unsafe-unsandboxed"], description: "Script execution policy. unsafe-unsandboxed requires local-only opt-in and is visibly labeled." },
81
- limits: { ...SCRIPT_LIMITS_SCHEMA, description: "Script resource limits. They only tighten configured limits." },
111
+ alias: {
112
+ type: "string",
113
+ pattern: "^[A-Za-z][A-Za-z0-9_-]{0,63}$",
114
+ description: "Input source alias exposed to the processing script.",
115
+ },
116
+ policy: {
117
+ type: "string",
118
+ enum: ["sandboxed", "unsafe-unsandboxed"],
119
+ description: "Script execution policy. unsafe-unsandboxed requires local-only opt-in and is visibly labeled.",
120
+ },
121
+ limits: {
122
+ ...SCRIPT_LIMITS_SCHEMA,
123
+ description: "Script resource limits. They only tighten configured limits.",
124
+ },
82
125
  },
83
126
  required: ["language", "code"],
84
- description: "Optional programmable processing for action=transform. Sandboxed remains default; unsafe-unsandboxed requires .freeflow/local.json opt-in.",
127
+ description:
128
+ "Optional programmable processing for action=transform. Sandboxed remains default; unsafe-unsandboxed requires .freeflow/local.json opt-in.",
85
129
  },
86
130
  operation: {
87
131
  type: "object",
88
132
  additionalProperties: false,
89
133
  properties: {
90
- kind: { type: "string", enum: ["regexFilter", "countMatches", "jsonExtract", "groupByRegex", "dedupe", "topN", "extractUrls", "extractCitations", "lineStats", "sizeStats", "script"], description: "Deterministic transform operation for action=transform over vaulted output, or sandboxed script transform." },
91
- pattern: { ...NON_EMPTY_STRING_SCHEMA, description: "Regex pattern for regexFilter, countMatches, groupByRegex, or regex-backed topN." },
134
+ kind: {
135
+ type: "string",
136
+ enum: [
137
+ "regexFilter",
138
+ "countMatches",
139
+ "jsonExtract",
140
+ "groupByRegex",
141
+ "dedupe",
142
+ "topN",
143
+ "extractUrls",
144
+ "extractCitations",
145
+ "lineStats",
146
+ "sizeStats",
147
+ "script",
148
+ ],
149
+ description:
150
+ "Deterministic transform operation for action=transform over vaulted output, or sandboxed script transform.",
151
+ },
152
+ pattern: {
153
+ ...NON_EMPTY_STRING_SCHEMA,
154
+ description: "Regex pattern for regexFilter, countMatches, groupByRegex, or regex-backed topN.",
155
+ },
92
156
  flags: REGEX_FLAGS_SCHEMA,
93
157
  pointer: { ...STRING_SCHEMA, pattern: JSON_POINTER_PATTERN, description: "JSON Pointer for jsonExtract." },
94
158
  path: { ...NON_EMPTY_STRING_SCHEMA, pattern: JSON_PATH_PATTERN, description: "JSON path for jsonExtract." },
@@ -109,7 +173,8 @@ export const FREEFLOW_SEARCH_PARAMETERS = {
109
173
  label: NON_EMPTY_STRING_SCHEMA,
110
174
  },
111
175
  required: ["kind"],
112
- description: "Optional deterministic transform operation for action=transform. Existing source raw output remains recoverable by lineage when available.",
176
+ description:
177
+ "Optional deterministic transform operation for action=transform. Existing source raw output remains recoverable by lineage when available.",
113
178
  },
114
179
  sources: {
115
180
  type: "array",
@@ -132,7 +197,10 @@ export const FREEFLOW_SEARCH_PARAMETERS = {
132
197
  type: "object",
133
198
  additionalProperties: false,
134
199
  properties: {
135
- producerKind: { type: "string", enum: ["command", "script", "native", "repo", "web", "fetch", "code_search", "mcp", "transform", "other"] },
200
+ producerKind: {
201
+ type: "string",
202
+ enum: ["command", "script", "native", "repo", "web", "fetch", "code_search", "mcp", "transform", "other"],
203
+ },
136
204
  server: STRING_SCHEMA,
137
205
  tool: STRING_SCHEMA,
138
206
  hostToolName: STRING_SCHEMA,
@@ -150,7 +218,11 @@ export const FREEFLOW_SEARCH_PARAMETERS = {
150
218
  },
151
219
  expansion: { ...EXPANSION_SCHEMA, description: "Expansion breadth for expand action." },
152
220
  maxFullBytes: { type: "number", description: "Cap for preserve=full before exact chunks are returned." },
153
- topK: { type: "number", description: "Number of ranked repo or vault candidates for query/locate. Defaults: query=1, locate=5; max 10." },
221
+ topK: {
222
+ type: "number",
223
+ description:
224
+ "Number of ranked repo, local, or vault candidates for query/locate. Defaults: query=1, locate=5; max 10.",
225
+ },
154
226
  lineRange: {
155
227
  type: "object",
156
228
  additionalProperties: false,
@@ -173,25 +245,42 @@ export const FREEFLOW_SEARCH_PARAMETERS = {
173
245
  export const FREEFLOW_RUN_PARAMETERS = {
174
246
  type: "object",
175
247
  additionalProperties: false,
176
- oneOf: [
177
- { required: ["command"] },
178
- { required: ["script"] },
179
- ],
248
+ oneOf: [{ required: ["command"] }, { required: ["script"] }],
180
249
  properties: {
181
- command: { ...STRING_SCHEMA, description: "Shell command to run through Pi's approved command runner. Mutually exclusive with script." },
250
+ command: {
251
+ ...STRING_SCHEMA,
252
+ description: "Shell command to run through Pi's approved command runner. Mutually exclusive with script.",
253
+ },
182
254
  script: {
183
255
  type: "object",
184
256
  additionalProperties: false,
185
257
  properties: {
186
- language: { ...SCRIPT_LANGUAGE_SCHEMA, description: "Sandboxed script language. Requires configured scriptTransform.enabled and a proof-backed adapter." },
187
- code: { ...NON_EMPTY_STRING_SCHEMA, description: "Script code to run as the base producer. Raw code is not persisted; metadata stores a code hash." },
258
+ language: {
259
+ ...SCRIPT_LANGUAGE_SCHEMA,
260
+ description:
261
+ "Sandboxed script language. Requires configured scriptTransform.enabled and a proof-backed adapter.",
262
+ },
263
+ code: {
264
+ ...NON_EMPTY_STRING_SCHEMA,
265
+ description:
266
+ "Script code to run as the base producer. Raw code is not persisted; metadata stores a code hash.",
267
+ },
188
268
  label: { ...NON_EMPTY_STRING_SCHEMA, description: "Optional script producer label." },
189
- limits: { ...SCRIPT_LIMITS_SCHEMA, description: "Script resource limits. They only tighten configured scriptTransform defaults. Top-level timeoutMs is used as timeoutMs when script.limits.timeoutMs is omitted." },
269
+ limits: {
270
+ ...SCRIPT_LIMITS_SCHEMA,
271
+ description:
272
+ "Script resource limits. They only tighten configured scriptTransform defaults. Top-level timeoutMs is used as timeoutMs when script.limits.timeoutMs is omitted.",
273
+ },
190
274
  },
191
275
  required: ["language", "code"],
192
- description: "Sandboxed script to run as the base producer for freeflow_run. Mutually exclusive with command. Captured stdout/stderr route through normal run storage, parsing, filtering, and recovery.",
276
+ description:
277
+ "Sandboxed script to run as the base producer for freeflow_run. Mutually exclusive with command. Captured stdout/stderr route through normal run storage, parsing, filtering, and recovery.",
278
+ },
279
+ cwd: {
280
+ ...STRING_SCHEMA,
281
+ description:
282
+ "Working directory. Defaults to the current Pi cwd. For sandboxed script producers this is metadata only; repo/home/env/network are not mounted.",
193
283
  },
194
- cwd: { ...STRING_SCHEMA, description: "Working directory. Defaults to the current Pi cwd. For sandboxed script producers this is metadata only; repo/home/env/network are not mounted." },
195
284
  timeoutMs: { type: "number", description: "Optional timeout in milliseconds." },
196
285
  preserve: { ...PRESERVE_SCHEMA, description: "Fidelity mode. Default: important." },
197
286
  goal: { ...STRING_SCHEMA, description: "Goal such as verification, test, build, or search." },
@@ -199,33 +288,56 @@ export const FREEFLOW_RUN_PARAMETERS = {
199
288
  type: "object",
200
289
  additionalProperties: false,
201
290
  properties: {
202
- stream: { ...RUN_FILTER_STREAM_SCHEMA, description: "Output stream to filter. Defaults to Freeflow's selected routed stream." },
203
- include: { type: "array", items: NON_EMPTY_STRING_SCHEMA, description: "Regex patterns; keep lines matching any pattern." },
204
- exclude: { type: "array", items: NON_EMPTY_STRING_SCHEMA, description: "Regex patterns; drop lines matching any pattern after include filtering." },
291
+ stream: {
292
+ ...RUN_FILTER_STREAM_SCHEMA,
293
+ description: "Output stream to filter. Defaults to Freeflow's selected routed stream.",
294
+ },
295
+ include: {
296
+ type: "array",
297
+ items: NON_EMPTY_STRING_SCHEMA,
298
+ description: "Regex patterns; keep lines matching any pattern.",
299
+ },
300
+ exclude: {
301
+ type: "array",
302
+ items: NON_EMPTY_STRING_SCHEMA,
303
+ description: "Regex patterns; drop lines matching any pattern after include filtering.",
304
+ },
205
305
  flags: REGEX_FLAGS_SCHEMA,
206
306
  head: { type: "integer", minimum: 1, description: "Keep the first N filtered lines." },
207
- tail: { type: "integer", minimum: 1, description: "Keep the last N filtered lines. With head, returns the union of both spans." },
307
+ tail: {
308
+ type: "integer",
309
+ minimum: 1,
310
+ description: "Keep the last N filtered lines. With head, returns the union of both spans.",
311
+ },
208
312
  maxLines: { type: "integer", minimum: 1, description: "Maximum filtered lines to return." },
209
313
  maxBytes: { type: "integer", minimum: 1, description: "Maximum bytes of filtered evidence to return." },
210
314
  },
211
- description: "Declarative line filters applied after raw capture and before routed evidence is returned. Exact raw output remains recoverable.",
315
+ description:
316
+ "Declarative line filters applied after raw capture and before routed evidence is returned. Exact raw output remains recoverable.",
212
317
  },
213
318
  scriptFilter: {
214
319
  type: "object",
215
320
  additionalProperties: false,
216
321
  properties: {
217
- language: { ...SCRIPT_LANGUAGE_SCHEMA, description: "Sandboxed script language. Requires configured scriptTransform.enabled and a proof-backed adapter." },
322
+ language: {
323
+ ...SCRIPT_LANGUAGE_SCHEMA,
324
+ description:
325
+ "Sandboxed script language. Requires configured scriptTransform.enabled and a proof-backed adapter.",
326
+ },
218
327
  code: { ...NON_EMPTY_STRING_SCHEMA, description: "Script code. Raw code is not persisted by default." },
219
328
  label: { ...NON_EMPTY_STRING_SCHEMA, description: "Optional script filter label." },
220
- limits: { ...SCRIPT_LIMITS_SCHEMA, description: "Script resource limits. They only tighten configured scriptTransform defaults." },
329
+ limits: {
330
+ ...SCRIPT_LIMITS_SCHEMA,
331
+ description: "Script resource limits. They only tighten configured scriptTransform defaults.",
332
+ },
221
333
  },
222
334
  required: ["language", "code"],
223
- description: "Sandboxed programmable filter over captured stdout/stderr/combined after raw command output is vaulted. No unsandboxed fallback is used.",
335
+ description:
336
+ "Sandboxed programmable filter over captured stdout/stderr/combined after raw command output is vaulted. No unsandboxed fallback is used.",
224
337
  },
225
338
  },
226
339
  };
227
340
 
228
-
229
341
  export const FREEFLOW_BATCH_PARAMETERS = {
230
342
  type: "object",
231
343
  additionalProperties: false,
@@ -239,12 +351,23 @@ export const FREEFLOW_BATCH_PARAMETERS = {
239
351
  additionalProperties: false,
240
352
  properties: {
241
353
  id: { ...NON_EMPTY_STRING_SCHEMA, description: "Optional stable step id for matching results." },
242
- kind: { type: "string", enum: ["run", "search"], description: "Freeflow-owned public operation kind. Steps are independent and run in parallel." },
243
- input: { type: "object", additionalProperties: true, description: "Input for the selected Freeflow operation. Uses the same shape as freeflow_run or freeflow_search." },
354
+ kind: {
355
+ type: "string",
356
+ enum: ["run", "search"],
357
+ description:
358
+ "Freeflow-owned public operation kind. Steps are independent and run in parallel when their safety contracts allow it.",
359
+ },
360
+ input: {
361
+ type: "object",
362
+ additionalProperties: true,
363
+ description:
364
+ "Input for the selected Freeflow operation. Uses the same shape as freeflow_run or freeflow_search.",
365
+ },
244
366
  },
245
367
  required: ["kind", "input"],
246
368
  },
247
- description: "Independent Freeflow-owned steps to run in parallel. No sequencing or external tool orchestration in v1.",
369
+ description:
370
+ "Independent Freeflow-owned steps to run in parallel. No sequencing, arbitrary external tool orchestration, or unsafe parallel writer behavior.",
248
371
  },
249
372
  queries: {
250
373
  type: "array",
@@ -252,7 +375,12 @@ export const FREEFLOW_BATCH_PARAMETERS = {
252
375
  items: { ...NON_EMPTY_STRING_SCHEMA, maxLength: 500 },
253
376
  description: "Optional independent query/fact requests to answer from completed child evidence handles.",
254
377
  },
255
- concurrency: { type: "integer", minimum: 1, maximum: 16, description: "Maximum number of independent steps to run at once. Default: 4." },
378
+ concurrency: {
379
+ type: "integer",
380
+ minimum: 1,
381
+ maximum: 16,
382
+ description: "Maximum number of independent steps to run at once. Default: 4.",
383
+ },
256
384
  preserve: { ...PRESERVE_SCHEMA, description: "Default fidelity mode for steps that do not set preserve." },
257
385
  },
258
386
  required: ["steps"],