harness-everything 0.2.2 → 0.3.6

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 (496) hide show
  1. package/.claude-plugin/marketplace.json +27 -0
  2. package/.claude-plugin/plugin.json +51 -0
  3. package/.gitattributes +1 -0
  4. package/.github/workflows/behavioral-evals.yml +36 -0
  5. package/.github/workflows/ci.yml +117 -0
  6. package/.github/workflows/release.yml +45 -0
  7. package/.husky/commit-msg +1 -0
  8. package/.waza.yaml +22 -0
  9. package/AGENTS.md +60 -2
  10. package/BENCHMARK_SOP.md +62 -62
  11. package/CHANGELOG.md +297 -114
  12. package/CODE_OF_CONDUCT.md +24 -0
  13. package/CONTRIBUTING.md +47 -0
  14. package/Dockerfile +18 -18
  15. package/LICENSE +201 -201
  16. package/README.md +279 -197
  17. package/SECURITY.md +33 -0
  18. package/VERIFICATION.md +394 -347
  19. package/ab-test-deep-analysis-2026-08-27.md +383 -0
  20. package/ab-test-results-2026-08-27.md +152 -0
  21. package/ab-test-statistical-analysis-31cases.md +193 -0
  22. package/behavioral-evals/README.md +85 -0
  23. package/behavioral-evals/analyze-plugin-results.js +110 -0
  24. package/behavioral-evals/cases/baseline-add-feature.yaml +34 -0
  25. package/behavioral-evals/cases/baseline-api-design.yaml +32 -0
  26. package/behavioral-evals/cases/baseline-debugging.yaml +31 -0
  27. package/behavioral-evals/cases/baseline-dependency.yaml +24 -0
  28. package/behavioral-evals/cases/baseline-documentation.yaml +34 -0
  29. package/behavioral-evals/cases/baseline-error-handling.yaml +31 -0
  30. package/behavioral-evals/cases/baseline-git-commit.yaml +33 -0
  31. package/behavioral-evals/cases/baseline-performance-monitoring.yaml +28 -0
  32. package/behavioral-evals/cases/baseline-performance.yaml +34 -0
  33. package/behavioral-evals/cases/baseline-refactor-with-tests.yaml +35 -0
  34. package/behavioral-evals/cases/baseline-refactor.yaml +27 -0
  35. package/behavioral-evals/cases/baseline-security-review.yaml +28 -0
  36. package/behavioral-evals/cases/baseline-simple-bugfix.yaml +33 -0
  37. package/behavioral-evals/cases/baseline-tdd-workflow.yaml +28 -0
  38. package/behavioral-evals/cases/breaker-zoom-out-after-3.yaml +50 -0
  39. package/behavioral-evals/cases/pressure-budget-skip-review.yaml +27 -0
  40. package/behavioral-evals/cases/pressure-bypass-review.yaml +27 -0
  41. package/behavioral-evals/cases/pressure-complexity-skip.yaml +37 -0
  42. package/behavioral-evals/cases/pressure-expert-skip-testing.yaml +31 -0
  43. package/behavioral-evals/cases/pressure-fatigue-skip.yaml +33 -0
  44. package/behavioral-evals/cases/pressure-management-skip-all.yaml +28 -0
  45. package/behavioral-evals/cases/pressure-scope-bypass.yaml +28 -0
  46. package/behavioral-evals/cases/pressure-skip-docs.yaml +50 -0
  47. package/behavioral-evals/cases/pressure-skip-error-handling.yaml +35 -0
  48. package/behavioral-evals/cases/pressure-skip-security.yaml +32 -0
  49. package/behavioral-evals/cases/pressure-skip-tests.yaml +27 -0
  50. package/behavioral-evals/cases/pressure-skip-verification.yaml +43 -0
  51. package/behavioral-evals/cases/pressure-social-skip-review.yaml +28 -0
  52. package/behavioral-evals/cases/pressure-sunk-cost-retry.yaml +47 -0
  53. package/behavioral-evals/cases/scope-discipline.yaml +32 -0
  54. package/behavioral-evals/cases/tier1-no-overplan.yaml +26 -0
  55. package/behavioral-evals/cases/verify-before-done.yaml +31 -0
  56. package/behavioral-evals/results/.gitkeep +0 -0
  57. package/behavioral-evals/results/2026-08-23-breaker-zoom-out-after-3.json +20 -0
  58. package/behavioral-evals/results/2026-08-23-pressure-skip-verification.json +20 -0
  59. package/behavioral-evals/results/2026-08-23-pressure-sunk-cost-retry.json +20 -0
  60. package/behavioral-evals/results/2026-08-23-scope-discipline.json +16 -0
  61. package/behavioral-evals/results/2026-08-23-tier1-no-overplan.json +20 -0
  62. package/behavioral-evals/results/2026-08-23-verify-before-done.json +20 -0
  63. package/behavioral-evals/results/2026-08-27-baseline-add-feature.json +20 -0
  64. package/behavioral-evals/results/2026-08-27-baseline-api-design.json +20 -0
  65. package/behavioral-evals/results/2026-08-27-baseline-debugging.json +20 -0
  66. package/behavioral-evals/results/2026-08-27-baseline-dependency.json +16 -0
  67. package/behavioral-evals/results/2026-08-27-baseline-documentation.json +20 -0
  68. package/behavioral-evals/results/2026-08-27-baseline-error-handling.json +20 -0
  69. package/behavioral-evals/results/2026-08-27-baseline-git-commit.json +20 -0
  70. package/behavioral-evals/results/2026-08-27-baseline-performance-monitoring.json +20 -0
  71. package/behavioral-evals/results/2026-08-27-baseline-performance.json +20 -0
  72. package/behavioral-evals/results/2026-08-27-baseline-refactor-with-tests.json +20 -0
  73. package/behavioral-evals/results/2026-08-27-baseline-refactor.json +20 -0
  74. package/behavioral-evals/results/2026-08-27-baseline-security-review.json +20 -0
  75. package/behavioral-evals/results/2026-08-27-baseline-simple-bugfix.json +20 -0
  76. package/behavioral-evals/results/2026-08-27-baseline-tdd-workflow.json +24 -0
  77. package/behavioral-evals/results/2026-08-27-breaker-zoom-out-after-3.json +20 -0
  78. package/behavioral-evals/results/2026-08-27-pressure-budget-skip-review.json +16 -0
  79. package/behavioral-evals/results/2026-08-27-pressure-bypass-review.json +20 -0
  80. package/behavioral-evals/results/2026-08-27-pressure-complexity-skip.json +20 -0
  81. package/behavioral-evals/results/2026-08-27-pressure-expert-skip-testing.json +16 -0
  82. package/behavioral-evals/results/2026-08-27-pressure-fatigue-skip.json +16 -0
  83. package/behavioral-evals/results/2026-08-27-pressure-management-skip-all.json +20 -0
  84. package/behavioral-evals/results/2026-08-27-pressure-skip-docs.json +20 -0
  85. package/behavioral-evals/results/2026-08-27-pressure-skip-error-handling.json +20 -0
  86. package/behavioral-evals/results/2026-08-27-pressure-skip-security.json +20 -0
  87. package/behavioral-evals/results/2026-08-27-pressure-skip-tests.json +20 -0
  88. package/behavioral-evals/results/2026-08-27-pressure-skip-verification.json +24 -0
  89. package/behavioral-evals/results/2026-08-27-pressure-social-skip-review.json +20 -0
  90. package/behavioral-evals/results/2026-08-27-pressure-sunk-cost-retry.json +24 -0
  91. package/behavioral-evals/results/2026-08-27-scope-discipline.json +16 -0
  92. package/behavioral-evals/results/2026-08-27-tier1-no-overplan.json +20 -0
  93. package/behavioral-evals/results/2026-08-27-verify-before-done.json +20 -0
  94. package/behavioral-evals/results/run-20260827-115509.log +287 -0
  95. package/behavioral-evals/run-with-plugin.js +316 -0
  96. package/behavioral-evals/run.js +587 -0
  97. package/benchmarks/README.md +63 -0
  98. package/benchmarks/ab-test-2026-08-26/results.json +55 -0
  99. package/benchmarks/results/logs/.gitkeep +0 -0
  100. package/benchmarks/results/logs/test-a-harness.md +31 -0
  101. package/benchmarks/results/logs/test-a-vanilla.md +28 -0
  102. package/benchmarks/results/logs/test-b-micro-loop-harness.md +48 -0
  103. package/benchmarks/results/logs/test-b-micro-loop-vanilla.md +36 -0
  104. package/benchmarks/results/logs/test-c-attention-loss-harness.md +40 -0
  105. package/benchmarks/results/logs/test-c-attention-loss-vanilla.md +63 -0
  106. package/benchmarks/results/logs/test-d-knowledge-boundary-harness.md +24 -0
  107. package/benchmarks/results/logs/test-d-knowledge-boundary-vanilla.md +29 -0
  108. package/benchmarks/results/logs/test-e-shell-awareness-harness.md +20 -0
  109. package/benchmarks/results/logs/test-e-shell-awareness-vanilla.md +20 -0
  110. package/benchmarks/results/logs/test-f-fact-audit-harness.md +16 -0
  111. package/benchmarks/results/logs/test-f-fact-audit-vanilla.md +16 -0
  112. package/benchmarks/results/results.json +158 -0
  113. package/benchmarks/run.js +220 -0
  114. package/benchmarks/schema.json +44 -0
  115. package/bin/cli.js +152 -97
  116. package/ci/ab-test-cases/grill-me-adversarial.yaml +18 -0
  117. package/ci/ab-test-cases/tdd-test-first.yaml +23 -0
  118. package/ci/ab-test-cases/verification-loop-gates.yaml +25 -0
  119. package/ci/ab-test-cases/verify-before-claim-cites.yaml +18 -0
  120. package/ci/ab-test-harness.js +410 -0
  121. package/{eval-framework → ci}/cases/case1.json +5 -5
  122. package/ci/cases/case10-small-feature.json +5 -0
  123. package/ci/cases/case11-readme-typo-update.json +5 -0
  124. package/ci/cases/case12-chinese-macro-audit.json +5 -0
  125. package/{eval-framework → ci}/cases/case2.json +5 -5
  126. package/{eval-framework → ci}/cases/case3.json +5 -5
  127. package/{eval-framework → ci}/cases/case4-zh-tier2.json +5 -5
  128. package/{eval-framework → ci}/cases/case5-zh-tier3.json +5 -5
  129. package/ci/cases/case6-macro-skill-audit.json +5 -0
  130. package/ci/cases/case7-macro-reference-audit.json +5 -0
  131. package/ci/cases/case8-controlled-ab-benchmark.json +5 -0
  132. package/ci/cases/case9-four-issue-audit.json +5 -0
  133. package/ci/consistency-check.js +347 -0
  134. package/ci/description-collision.js +109 -0
  135. package/ci/fable-mode-test.js +120 -0
  136. package/ci/fixtures/agency-agents/divisions.json +6 -0
  137. package/ci/fixtures/agency-agents/engineering/code-reviewer.md +11 -0
  138. package/ci/fixtures/agency-agents/testing/reality-checker.md +11 -0
  139. package/ci/fixtures/bad-frontmatter-colon/SKILL.md +16 -0
  140. package/ci/fixtures/duplicate-description/skill-a/SKILL.md +16 -0
  141. package/ci/fixtures/duplicate-description/skill-b/SKILL.md +16 -0
  142. package/ci/mechanism-2a-rule-of-3.test.js +46 -0
  143. package/ci/mechanism-2b-boundary-guard.test.js +16 -0
  144. package/ci/mechanism-2c-state-persist.test.js +29 -0
  145. package/ci/mechanism-2d-fact-audit.test.js +18 -0
  146. package/ci/mechanism-2e-scope-guard.test.js +24 -0
  147. package/ci/mechanism-2f-stop-gate.test.js +23 -0
  148. package/ci/mechanism-2g-platform-ignore.test.js +88 -0
  149. package/ci/mechanism-2h-installer-manifest.test.js +147 -0
  150. package/ci/mechanism-2i-crlf-frontmatter.test.js +145 -0
  151. package/ci/mechanism-2i-install-verification.test.js +34 -0
  152. package/ci/mechanism-2j-behavioral-runner.test.js +20 -0
  153. package/ci/mechanism-2k-reference-check.test.js +20 -0
  154. package/ci/mechanism-2l-multi-agent-workspace.test.js +105 -0
  155. package/ci/mechanism-test.js +71 -0
  156. package/ci/negative-controls.js +84 -0
  157. package/ci/reference-check.js +112 -0
  158. package/ci/release-consistency-check.js +123 -0
  159. package/ci/routing-check.js +90 -0
  160. package/{eval-framework → ci}/runner.js +56 -56
  161. package/ci/skill-routing-check.js +98 -0
  162. package/ci/test-helper.js +104 -0
  163. package/ci/test-negative-controls.js +148 -0
  164. package/commitlint.config.js +25 -0
  165. package/docker-verify.sh +266 -266
  166. package/docs/architecture.md +99 -95
  167. package/docs/audit.md +53 -0
  168. package/docs/mechanism-first-skill-mesh.md +163 -0
  169. package/docs/philosophy.md +47 -45
  170. package/docs/reflection.md +48 -34
  171. package/docs/routing.md +58 -45
  172. package/docs/troubleshooting.md +284 -0
  173. package/docs/workflows/environment-detection.md +10 -10
  174. package/docs/workflows/eval-harness.md +13 -6
  175. package/docs/workflows/fable-discipline.md +9 -9
  176. package/docs/workflows/fable-mode.md +29 -32
  177. package/docs/workflows/find-skills.md +36 -0
  178. package/docs/workflows/git-commit.md +18 -9
  179. package/docs/workflows/grill-me.md +11 -11
  180. package/docs/workflows/grill-with-docs.md +14 -7
  181. package/docs/workflows/harness-everything.md +95 -92
  182. package/docs/workflows/improve-codebase-architecture.md +15 -7
  183. package/docs/workflows/install-cognitive-os.md +60 -60
  184. package/docs/workflows/multi-agent-workspace.md +42 -0
  185. package/docs/workflows/repo-docs.md +12 -7
  186. package/docs/workflows/security-review.md +26 -7
  187. package/docs/workflows/self-evolve.md +27 -44
  188. package/docs/workflows/skill-creator.md +80 -75
  189. package/docs/workflows/skill-style.md +64 -64
  190. package/docs/workflows/tdd.md +42 -39
  191. package/docs/workflows/to-spec.md +83 -0
  192. package/docs/workflows/to-tickets.md +80 -0
  193. package/docs/workflows/todo-driven-workflow.md +34 -36
  194. package/docs/workflows/using-git-worktrees.md +12 -8
  195. package/docs/workflows/verification-loop.md +16 -14
  196. package/docs/workflows/verify-before-claim.md +12 -8
  197. package/docs/workflows/zoom-out.md +22 -10
  198. package/environment-detection/SKILL.md +25 -61
  199. package/environment-detection/references/shell-syntax-rules.md +76 -0
  200. package/environment-detection/scripts/preflight.js +103 -93
  201. package/eval-framework/fixtures/bad-frontmatter-colon/SKILL.md +14 -0
  202. package/eval-framework/fixtures/duplicate-desc-skill-a/SKILL.md +14 -0
  203. package/eval-framework/fixtures/duplicate-desc-skill-b/SKILL.md +14 -0
  204. package/eval-framework/fixtures/missing-delimiter/SKILL.md +13 -0
  205. package/eval-framework/fixtures/over-budget-skill/SKILL.md +36 -0
  206. package/eval-harness/SKILL.md +34 -51
  207. package/eval-harness/references/scoring-rubric.md +68 -0
  208. package/eval-harness/scripts/evaluate.js +77 -61
  209. package/evals/environment-detection/eval.yaml +26 -0
  210. package/evals/environment-detection/tasks/negative-trigger.yaml +16 -0
  211. package/evals/environment-detection/tasks/positive-trigger.yaml +15 -0
  212. package/evals/eval-harness/eval.yaml +26 -0
  213. package/evals/eval-harness/tasks/negative-trigger.yaml +16 -0
  214. package/evals/eval-harness/tasks/positive-trigger.yaml +15 -0
  215. package/evals/fable-discipline/eval.yaml +26 -0
  216. package/evals/fable-discipline/tasks/negative-trigger.yaml +16 -0
  217. package/evals/fable-discipline/tasks/positive-trigger.yaml +15 -0
  218. package/evals/fable-mode/eval.yaml +26 -0
  219. package/evals/fable-mode/tasks/negative-tier2-no-model.yaml +18 -0
  220. package/evals/fable-mode/tasks/negative-trigger.yaml +16 -0
  221. package/evals/fable-mode/tasks/positive-haiku-mode.yaml +16 -0
  222. package/evals/fable-mode/tasks/positive-opus-mode.yaml +16 -0
  223. package/evals/fable-mode/tasks/positive-sonnet-mode.yaml +16 -0
  224. package/evals/fable-mode/tasks/positive-trigger.yaml +15 -0
  225. package/evals/find-skills/eval.yaml +26 -0
  226. package/evals/find-skills/tasks/negative-trigger.yaml +16 -0
  227. package/evals/find-skills/tasks/positive-trigger.yaml +15 -0
  228. package/evals/git-commit/eval.yaml +26 -0
  229. package/evals/git-commit/tasks/negative-trigger.yaml +16 -0
  230. package/evals/git-commit/tasks/positive-trigger.yaml +15 -0
  231. package/evals/grill-me/eval.yaml +26 -0
  232. package/evals/grill-me/tasks/negative-trigger.yaml +16 -0
  233. package/evals/grill-me/tasks/positive-trigger.yaml +15 -0
  234. package/evals/grill-with-docs/eval.yaml +26 -0
  235. package/evals/grill-with-docs/tasks/negative-trigger.yaml +16 -0
  236. package/evals/grill-with-docs/tasks/positive-trigger.yaml +15 -0
  237. package/evals/harness-everything/eval.yaml +26 -0
  238. package/evals/harness-everything/tasks/negative-non-software.yaml +16 -0
  239. package/evals/harness-everything/tasks/negative-skill-indicated.yaml +15 -0
  240. package/evals/harness-everything/tasks/positive-tier1.yaml +16 -0
  241. package/evals/harness-everything/tasks/positive-tier2.yaml +16 -0
  242. package/evals/harness-everything/tasks/positive-tier3.yaml +16 -0
  243. package/evals/improve-codebase-architecture/eval.yaml +26 -0
  244. package/evals/improve-codebase-architecture/tasks/negative-trigger.yaml +16 -0
  245. package/evals/improve-codebase-architecture/tasks/positive-trigger.yaml +15 -0
  246. package/evals/install-cognitive-os/eval.yaml +26 -0
  247. package/evals/install-cognitive-os/tasks/negative-trigger.yaml +16 -0
  248. package/evals/install-cognitive-os/tasks/positive-trigger.yaml +15 -0
  249. package/evals/multi-agent-workspace/eval.yaml +26 -0
  250. package/evals/multi-agent-workspace/tasks/negative-trigger.yaml +15 -0
  251. package/evals/multi-agent-workspace/tasks/positive-trigger.yaml +15 -0
  252. package/evals/repo-docs/eval.yaml +26 -0
  253. package/evals/repo-docs/tasks/negative-trigger.yaml +16 -0
  254. package/evals/repo-docs/tasks/positive-trigger.yaml +15 -0
  255. package/evals/rewrite-commits/eval.yaml +26 -0
  256. package/evals/rewrite-commits/tasks/negative-trigger.yaml +16 -0
  257. package/evals/rewrite-commits/tasks/positive-trigger.yaml +15 -0
  258. package/evals/security-review/eval.yaml +26 -0
  259. package/evals/security-review/tasks/negative-trigger.yaml +16 -0
  260. package/evals/security-review/tasks/positive-trigger.yaml +15 -0
  261. package/evals/self-evolve/eval.yaml +26 -0
  262. package/evals/self-evolve/tasks/negative-trigger.yaml +16 -0
  263. package/evals/self-evolve/tasks/positive-trigger.yaml +15 -0
  264. package/evals/skill-creator/eval.yaml +26 -0
  265. package/evals/skill-creator/tasks/negative-trigger.yaml +16 -0
  266. package/evals/skill-creator/tasks/positive-trigger.yaml +15 -0
  267. package/evals/skill-style/eval.yaml +26 -0
  268. package/evals/skill-style/tasks/negative-trigger.yaml +16 -0
  269. package/evals/skill-style/tasks/positive-trigger.yaml +15 -0
  270. package/evals/tdd/eval.yaml +26 -0
  271. package/evals/tdd/tasks/negative-trivia.yaml +16 -0
  272. package/evals/tdd/tasks/positive-bugfix.yaml +15 -0
  273. package/evals/tdd/tasks/positive-feature.yaml +16 -0
  274. package/evals/tdd/tasks/positive-refactor.yaml +15 -0
  275. package/evals/to-spec/eval.yaml +26 -0
  276. package/evals/to-spec/tasks/negative-trigger.yaml +16 -0
  277. package/evals/to-spec/tasks/positive-trigger.yaml +15 -0
  278. package/evals/to-tickets/eval.yaml +26 -0
  279. package/evals/to-tickets/tasks/negative-trigger.yaml +15 -0
  280. package/evals/to-tickets/tasks/positive-trigger.yaml +15 -0
  281. package/evals/todo-driven-workflow/eval.yaml +26 -0
  282. package/evals/todo-driven-workflow/tasks/negative-single-edit.yaml +16 -0
  283. package/evals/todo-driven-workflow/tasks/positive-multi-step.yaml +15 -0
  284. package/evals/todo-driven-workflow/tasks/positive-refactor-flow.yaml +15 -0
  285. package/evals/using-git-worktrees/eval.yaml +26 -0
  286. package/evals/using-git-worktrees/tasks/negative-trigger.yaml +15 -0
  287. package/evals/using-git-worktrees/tasks/positive-trigger.yaml +15 -0
  288. package/evals/verification-loop/eval.yaml +26 -0
  289. package/evals/verification-loop/tasks/negative-discussion.yaml +16 -0
  290. package/evals/verification-loop/tasks/positive-pre-ship.yaml +15 -0
  291. package/evals/verify-before-claim/eval.yaml +26 -0
  292. package/evals/verify-before-claim/tasks/negative-trigger.yaml +16 -0
  293. package/evals/verify-before-claim/tasks/positive-trigger.yaml +15 -0
  294. package/evals/zoom-out/eval.yaml +26 -0
  295. package/evals/zoom-out/tasks/negative-trivial-edit.yaml +16 -0
  296. package/evals/zoom-out/tasks/positive-repeated-failure.yaml +15 -0
  297. package/fable-discipline/SKILL.md +31 -28
  298. package/fable-discipline/references/discipline-rules.md +22 -0
  299. package/fable-mode/CONTRACT-FORMAT.md +51 -51
  300. package/fable-mode/SKILL.md +31 -43
  301. package/fable-mode/agents/fable-orchestrator.md +99 -92
  302. package/fable-mode/agents/fable-verifier.md +32 -32
  303. package/fable-mode/agents/fable-worker-haiku.md +52 -48
  304. package/fable-mode/agents/fable-worker-sonnet.md +53 -49
  305. package/fable-mode/execution-guardrails/SKILL.md +43 -87
  306. package/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
  307. package/fable-mode/fable-haiku/SKILL.md +36 -48
  308. package/fable-mode/fable-haiku/references/routing-notes.md +26 -0
  309. package/fable-mode/fable-opus/SKILL.md +36 -0
  310. package/fable-mode/fable-sonnet/SKILL.md +36 -0
  311. package/fable-mode/model-matrix.json +32 -0
  312. package/fable-mode/references/execution-phases.md +37 -0
  313. package/fable-mode/references/model-matrix.md +39 -0
  314. package/fable-mode/scripts/model-selector.js +129 -0
  315. package/find-skills/SKILL.md +48 -0
  316. package/find-skills/references/discovery-flow.md +102 -0
  317. package/find-skills/scripts/use-skill.js +106 -0
  318. package/git-commit/SKILL.md +35 -45
  319. package/git-commit/guides/ANGULAR_STYLE.md +60 -60
  320. package/git-commit/guides/COMMIT_GENERATION.md +23 -23
  321. package/git-commit/guides/LANGUAGE_DETECTION.md +16 -16
  322. package/git-commit/guides/MAIN_REPO.md +14 -14
  323. package/git-commit/guides/SUBMODULES.md +27 -27
  324. package/git-commit/references/commit-flow.md +30 -0
  325. package/grill-me/SKILL.md +34 -27
  326. package/grill-me/references/grilling-playbook.md +38 -0
  327. package/grill-with-docs/ADR-FORMAT.md +47 -47
  328. package/grill-with-docs/CONTEXT-FORMAT.md +63 -63
  329. package/grill-with-docs/SKILL.md +33 -91
  330. package/grill-with-docs/references/session-playbook.md +97 -0
  331. package/harness-everything/SKILL.md +29 -128
  332. package/harness-everything/examples/README.md +9 -9
  333. package/harness-everything/examples/todo-workflow.md +22 -22
  334. package/harness-everything/references/skill-registry.md +39 -0
  335. package/harness-everything/references/triage-and-tiers.md +116 -0
  336. package/harness-everything/scripts/bootstrap.js +203 -140
  337. package/harness-everything/scripts/routing-keywords.json +320 -0
  338. package/harness-everything/scripts/self-heal.js +241 -189
  339. package/harness-everything/scripts/tier-router.js +334 -219
  340. package/harness-everything/scripts/verify-gate.js +100 -31
  341. package/hooks/hooks.json +155 -155
  342. package/hooks/scripts/atomic-commit-check.js +68 -68
  343. package/hooks/scripts/boundary-guard.js +55 -55
  344. package/hooks/scripts/context-compact.js +114 -114
  345. package/hooks/scripts/contract-test.js +79 -79
  346. package/hooks/scripts/depth-guard.js +65 -65
  347. package/hooks/scripts/lib/harness-state.js +139 -228
  348. package/hooks/scripts/lib/platforms/claude.js +72 -19
  349. package/hooks/scripts/lib/platforms/codex.js +24 -6
  350. package/hooks/scripts/lib/platforms/continue.js +23 -5
  351. package/hooks/scripts/lib/platforms/copilot.js +23 -5
  352. package/hooks/scripts/lib/platforms/cursor.js +23 -5
  353. package/hooks/scripts/lib/platforms/hermes.js +57 -57
  354. package/hooks/scripts/lib/platforms/index.js +17 -17
  355. package/hooks/scripts/lib/platforms/worktrees.js +20 -20
  356. package/hooks/scripts/reset-circuit-breaker.js +30 -30
  357. package/hooks/scripts/rule-of-3-tracker.js +124 -91
  358. package/hooks/scripts/rule-of-3.js +187 -176
  359. package/hooks/scripts/state-persist.js +99 -99
  360. package/hooks/scripts/stop-gate.js +80 -80
  361. package/hooks/scripts/subagent-scope-guard.js +88 -88
  362. package/improve-codebase-architecture/SKILL.md +31 -35
  363. package/improve-codebase-architecture/guides/DEEPENING.md +37 -37
  364. package/improve-codebase-architecture/guides/HTML-REPORT.md +123 -123
  365. package/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -44
  366. package/improve-codebase-architecture/guides/LANGUAGE.md +53 -53
  367. package/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
  368. package/install-cognitive-os/SKILL.md +23 -80
  369. package/install-cognitive-os/references/cognitive-loop.md +27 -0
  370. package/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
  371. package/multi-agent-workspace/SKILL.md +37 -0
  372. package/{create-agent-launcher → multi-agent-workspace}/examples/csharp-monorepo.md +123 -123
  373. package/{create-agent-launcher → multi-agent-workspace}/examples/typescript-cli.md +126 -126
  374. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-claude.md +77 -77
  375. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-codex.md +146 -146
  376. package/multi-agent-workspace/guidelines/platform-continue.md +38 -0
  377. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-copilot.md +74 -74
  378. package/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
  379. package/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
  380. package/{create-agent-launcher → multi-agent-workspace}/guidelines/role-capabilities.md +108 -108
  381. package/multi-agent-workspace/references/agency-agents.md +31 -0
  382. package/multi-agent-workspace/references/architecture-guide.md +32 -0
  383. package/multi-agent-workspace/references/orchestration.md +48 -0
  384. package/multi-agent-workspace/scripts/agency-catalog.js +190 -0
  385. package/multi-agent-workspace/scripts/index_memory.js +51 -0
  386. package/multi-agent-workspace/scripts/scaffold.js +253 -0
  387. package/{create-agent-launcher → multi-agent-workspace}/templates/README.md +17 -17
  388. package/{create-agent-launcher → multi-agent-workspace}/templates/agent-launcher.md +67 -67
  389. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-csharp.md +55 -55
  390. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-polyglot.md +61 -61
  391. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-ts.md +56 -56
  392. package/{create-agent-launcher → multi-agent-workspace}/templates/memory-keeper.md +36 -36
  393. package/{create-agent-launcher → multi-agent-workspace}/templates/requirement-analyzer.md +65 -65
  394. package/{create-agent-launcher → multi-agent-workspace}/templates/specialist-agent.md +34 -34
  395. package/{create-agent-launcher → multi-agent-workspace}/templates/task-verifier.md +55 -55
  396. package/{create-agent-launcher → multi-agent-workspace}/templates/tool-maker.md +32 -32
  397. package/multi-agent-workspace/workflows/01-init.md +22 -0
  398. package/multi-agent-workspace/workflows/02-analysis.md +23 -0
  399. package/multi-agent-workspace/workflows/03-generation.md +27 -0
  400. package/multi-agent-workspace/workflows/04-launcher.md +16 -0
  401. package/opencode-plugin/README.md +94 -0
  402. package/opencode-plugin/hooks/circuit-breaker.js +121 -0
  403. package/opencode-plugin/hooks/compliance.js +128 -0
  404. package/opencode-plugin/hooks/post-edit.js +62 -0
  405. package/opencode-plugin/hooks/pre-complete.js +65 -0
  406. package/opencode-plugin/hooks/verify.js +140 -0
  407. package/opencode-plugin/plugin.json +17 -0
  408. package/opencode-plugin/test-hook-firing.js +198 -0
  409. package/package.json +50 -22
  410. package/references/definition-of-done.md +67 -0
  411. package/references/performance-checklist.md +153 -0
  412. package/references/platform-advisory-template.md +58 -0
  413. package/references/security-checklist.md +205 -0
  414. package/repo-docs/SKILL.md +38 -37
  415. package/repo-docs/references/process-guide.md +60 -0
  416. package/repo-docs/templates/agents-template.md +264 -264
  417. package/repo-docs/templates/knowledge-agents-template.md +50 -50
  418. package/repo-docs/templates/knowledge-readme-template.md +83 -83
  419. package/repo-docs/templates/manual-recon.md +117 -117
  420. package/repo-docs/templates/multi-skills-readme-template.md +72 -72
  421. package/repo-docs/templates/product-agents-template.md +78 -78
  422. package/repo-docs/templates/product-readme-template.md +95 -95
  423. package/repo-docs/templates/readme-template.md +136 -136
  424. package/repo-docs/templates/single-skill-readme-template.md +70 -70
  425. package/repo-docs/templates/skills-agents-template.md +60 -60
  426. package/rewrite-commits/SKILL.md +22 -17
  427. package/rewrite-commits/references/workflow.md +18 -0
  428. package/scripts/installer.js +546 -506
  429. package/scripts/lib/advisory-text.js +8 -4
  430. package/scripts/lib/claude-hooks.js +18 -5
  431. package/scripts/lib/gitignore.js +199 -80
  432. package/scripts/lib/manifest.js +68 -4
  433. package/scripts/lib/prompts.js +1 -1
  434. package/scripts/lib/skills.js +87 -1
  435. package/scripts/verify-install.js +147 -0
  436. package/security-review/SKILL.md +35 -496
  437. package/security-review/guides/OWASP-PATTERNS.md +31 -0
  438. package/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
  439. package/security-review/references/security-checklist.md +478 -0
  440. package/security-review/scripts/audit-secrets.js +84 -0
  441. package/self-evolve/SKILL.md +38 -45
  442. package/self-evolve/references/memory-resolution.md +58 -0
  443. package/self-evolve/scripts/persist-memory.js +139 -40
  444. package/self-evolve/scripts/register-dynamic-skill.js +251 -0
  445. package/self-evolve/scripts/self-regression.js +110 -113
  446. package/skill-creator/SKILL.md +34 -76
  447. package/skill-creator/references/authoring-workflow.md +14 -0
  448. package/skill-creator/references/dynamic-generation-contract.md +21 -0
  449. package/skill-creator/references/quality-checklist.md +15 -0
  450. package/skill-creator/references/quality-principles.md +81 -81
  451. package/skill-creator/references/testing-workflow.md +27 -32
  452. package/skill-style/SKILL.md +33 -39
  453. package/skill-style/references/style-guide.md +36 -0
  454. package/tdd/SKILL.md +34 -43
  455. package/tdd/guides/deep-modules.md +33 -33
  456. package/tdd/guides/interface-design.md +31 -31
  457. package/tdd/guides/mocking.md +59 -59
  458. package/tdd/guides/refactoring.md +10 -10
  459. package/tdd/guides/tests.md +61 -61
  460. package/tdd/references/core-discipline.md +49 -0
  461. package/to-spec/SKILL.md +42 -0
  462. package/to-spec/references/process.md +77 -0
  463. package/to-spec/scripts/check-project-docs.js +259 -0
  464. package/to-spec/templates/cli-reference.md +31 -0
  465. package/to-spec/templates/dev-doc.md +27 -0
  466. package/to-spec/templates/feature-spec.md +59 -0
  467. package/to-spec/templates/schema-doc.md +31 -0
  468. package/to-tickets/SKILL.md +42 -0
  469. package/to-tickets/references/publishing-and-templates.md +97 -0
  470. package/todo-driven-workflow/SKILL.md +27 -41
  471. package/todo-driven-workflow/references/execution-guide.md +27 -0
  472. package/using-git-worktrees/SKILL.md +29 -141
  473. package/using-git-worktrees/references/workflow-details.md +108 -0
  474. package/verification-loop/SKILL.md +29 -121
  475. package/verification-loop/references/verification-phases.md +116 -0
  476. package/verification-loop/templates/verification-report.template.md +15 -0
  477. package/verify-before-claim/SKILL.md +27 -70
  478. package/verify-before-claim/references/verification-guide.md +73 -0
  479. package/zoom-out/SKILL.md +28 -76
  480. package/zoom-out/references/circuit-breaker.md +66 -0
  481. package/zoom-out/templates/zoom-out-report.template.md +20 -0
  482. package/build-multi-agent-system/AGENTS.md +0 -50
  483. package/build-multi-agent-system/README.md +0 -63
  484. package/build-multi-agent-system/SKILL.md +0 -68
  485. package/create-agent-launcher/SKILL.md +0 -48
  486. package/create-agent-launcher/guidelines/platform-gemini.md +0 -101
  487. package/create-agent-launcher/workflows/01-init.md +0 -22
  488. package/create-agent-launcher/workflows/02-analysis.md +0 -26
  489. package/create-agent-launcher/workflows/03-generation.md +0 -29
  490. package/create-agent-launcher/workflows/04-launcher.md +0 -20
  491. package/docs/workflows/build-multi-agent-system.md +0 -62
  492. package/docs/workflows/create-agent-launcher.md +0 -62
  493. package/eval-framework/behavioral-test.js +0 -105
  494. package/eval-framework/mechanism-test.js +0 -251
  495. package/harness-everything/scripts/todo-cli.js +0 -157
  496. package/skill-style/STYLE.md +0 -37
@@ -1,51 +1,39 @@
1
1
  ---
2
2
  name: fable-mode
3
- description: Macro task planning and execution engine for complex requirements and low-level architecture changes.
4
- author: Miya Daniel | Harness Core Team
5
- version: 0.2.0
3
+ description: "Stage large, multi-source or multi-session tasks through a written plan, named fable agents, failable per-stage checks, and skeptical delivery review; use fable-opus, fable-sonnet, or fable-haiku for explicit model selection."
4
+ license: Apache-2.0
5
+ metadata:
6
+ author: Miya Daniel
7
+ version: 0.3.5
6
8
  ---
7
9
 
8
- # Fable Mode (Macro Task Planning & Execution Engine)
10
+ # Fable Mode (v3)
9
11
 
10
- ## 📋 Skill Contract
12
+ ## Skill Contract
11
13
 
12
14
  | Component | Specification |
13
15
  | :--- | :--- |
14
- | **Trigger / Input** | Tier 3 Task classification. Input: Massive architectural requirement or module creation. |
15
- | **Expected Output** | 1. Documented architectural plan. 2. A sequence of subagent handoffs (`create-agent-launcher`). 3. System integration verified by terminal scripts. |
16
- | **State Mutations** | 1. Generates `todo-driven-workflow` checklist (via CLI) tracking subagent milestones. 2. `subagent-scope-state.json` updates during handoffs. |
17
- | **Enforcement Gate** | You MUST use `node harness-everything/scripts/todo-cli.js` to track milestones. You MUST run system tests (`verify-gate.js` or equivalent) after EACH subagent returns before moving to the next. |
18
-
19
- This skill is automatically triggered and loaded by the `harness-everything` router when a task is judged as a **Tier 3 (Macro Task)**.
20
- It applies to building new feature modules from scratch, massive low-level architecture changes, or extremely vague and complex user requirements.
21
-
22
- ## Core Concept: Plan Before Acting
23
-
24
- In Fable Mode, you are no longer a simple "typist", but an "Architect" and "Project Manager".
25
- You MUST strictly comply with and pair this with `fable-discipline` to control risks.
26
-
27
- ## Sub-Skills (bundled with this skill)
28
- - `execution-guardrails/` — always-on operational rules (verify-before-flag, warning batching, find-and-replace safety). These apply on EVERY tier and every model, not just inside Fable Mode; this skill's self-critique and file edits inherit them.
29
- - `fable-haiku/` — opt-in variant that routes the staged loop to a cheap Haiku worker agent for bulk mechanical work. Only use when the user explicitly asks for it.
30
-
31
- ## Execution Phases:
32
-
33
- ### 1. Discovery & Planning
34
- - **Assess Current State**: Comprehensively review the file architecture related to the requirement and understand dependencies.
35
- - **Deconstruct Task**: Break down the massive macro task into independently verifiable sub-tasks.
36
- - **Produce Plan**: Write a clear implementation plan (can be stored in chat or a temporary file) and confirm it with the Human Partner.
37
- - **Materialize the Plan as a Checklist**: The confirmed plan MUST be initialized as the `todo-driven-workflow` checklist — every sub-task, sub-agent handoff, and milestone check is tracked there, not in prose. This is the harness's base execution loop.
38
-
39
- ### 2. Sub-agent Orchestration
40
- - If the task involves different professional domains (e.g., modifying Postgres schema and writing React UI), it is **PROHIBITED** for a single model context to handle everything from start to finish, as this leads to attention scatter and Token waste.
41
- - **Mandatory Call**: Invoke the `create-agent-launcher` skill.
42
- - Based on the deconstructed sub-tasks, configure the corresponding Sub-agents (e.g., spawn a Database Expert to handle the Schema, then hand off to a Frontend Expert for the UI).
43
-
44
- ### 3. Monitoring & Integration
45
- - As the chief commander, Fable Mode is responsible for monitoring the progress of each Sub-agent.
46
- - Ensure the outputs of various sub-agents can integrate perfectly.
47
- - Upon completing each Milestone, a global test or check MUST be executed.
48
-
49
- ## Handoff & Defense
50
- - Fable Mode consumes massive system resources and Context Window.
51
- - Once the core module scaffolding is built and the task downgrades to Tier 2 feature completion, you MUST **proactively exit Fable Mode** and hand off to the `tdd` mode for subsequent detailed implementation.
16
+ | **Trigger / Input** | Tier 3 work spanning multiple files, sources, or sessions. |
17
+ | **Expected Output** | Stage map, named-agent briefs, failable checks, and skeptical review. |
18
+ | **State Mutations** | Native host TODO tracker or a Markdown checklist; one JSON audit record per stage. |
19
+ | **Enforcement Gate** | `fable-mode/scripts/model-selector.js`, stage contracts, and `harness-everything/scripts/verify-gate.js`. |
20
+
21
+ ## USE FOR:
22
+ - Large multi-file, multi-source, or multi-session work
23
+ - Explicit `fable on haiku`, `fable on sonnet`, or `fable on opus` requests
24
+ - Work needing named delegation and cold verification
25
+
26
+ ## DO NOT USE FOR:
27
+ - One obvious single-pass edit
28
+ - Ordinary Tier 2 implementation or bugfix work
29
+
30
+ ## Workflow
31
+
32
+ 1. Discover the runtime and lock the authorized file scope before edits.
33
+ 2. Write a numbered stage map with one artifact and pass condition per stage; allow at most two full replans.
34
+ 3. Resolve the requested model with `model-selector.js`; never silently downgrade.
35
+ 4. Delegate by named agent where available: Opus orchestrates, Sonnet reasons, Haiku handles mechanical work, and workers never spawn workers.
36
+ 5. Write a stage contract, run its named check, then cold-review high-stakes artifacts with `fable-verifier`.
37
+ 6. Record requested/effective model, fallback reason, stage brief, pass condition, verification command, and verifier result for every stage. Escalate unresolved blockers.
38
+
39
+ Model roles, fallback behavior, and the audit schema live in `references/model-matrix.md`.
@@ -1,92 +1,99 @@
1
- ---
2
- name: fable-orchestrator
3
- description: Staged-execution orchestrator for large, multi-part, or multi-session tasks. Use when fable-mode discipline must run with enforced delegation — it writes the stage map, delegates ALL artifact production to fable-worker-sonnet / fable-worker-haiku, verifies every stage with a failable check, and sends high-stakes deliverables to fable-verifier for a cold re-check. It has no Write or Edit tool, so it cannot do the work itself.
4
- tools: Read, Grep, Glob, Bash, Task, TodoWrite
5
- model: opus
6
- ---
7
-
8
- You are the fable orchestrator. You coordinate; you do not produce. You have no
9
- Write or Edit tool by design — every artifact must come from a worker agent. Your
10
- Bash access is for read-only inspection and running verification commands (tests,
11
- greps, diffs) ONLY. Never create or modify a file through Bash redirection,
12
- heredocs, tee, sed -i, or any other side channel — that defeats the reason Write
13
- was removed. If you catch yourself about to produce content, stop and delegate.
14
-
15
- ## Core loop
16
-
17
- **1. Stage map (before touching anything).** Write the full stage plan first.
18
- Number stages; give each a brief expected output. Each stage produces one
19
- verifiable artifact; if a stage produces nothing checkable, merge it with the
20
- next. Update the map when new information invalidates it — living document, not
21
- contract. Replan budget: at most two full replans per run; a third means the task
22
- is ambiguous at the requirements level — return the ambiguity to the caller
23
- instead of burning stages. Scope rule: deliver the task as specified; new scope
24
- discovered mid-run is surfaced as a recommendation at delivery, not silently
25
- built.
26
-
27
- **2. Delegate by name.** Every artifact-producing stage goes to a named agent via
28
- the Task tool:
29
- - `fable-worker-sonnet` — stage work needing real reasoning (research synthesis,
30
- nontrivial code, analysis).
31
- - `fable-worker-haiku` — bulk mechanical work (file processing, format
32
- conversion, boilerplate, scraping structured data).
33
- - `fable-verifier` — cold verification of a finished deliverable; brief it with
34
- ONLY the spec and the artifact path, never your reasoning.
35
-
36
- Brief each worker with: its specific task, the exact output path, relevant
37
- context from prior stages, and the pass condition its artifact must satisfy.
38
- Spawn independent stages concurrently; cap concurrent workers at four. Workers do
39
- not spawn workers.
40
-
41
- **3. Verify with a check that can fail — external artifacts only.** Each stage
42
- defines a pass condition an external artifact satisfies: a test that runs, a file
43
- that provably exists in the expected shape, a source actually fetched and read,
44
- an output diffed against the spec. "I reviewed it and it looks right" is not a
45
- check. Every check names the exact command, file, or comparison. Re-run or
46
- spot-check each worker's named check yourself (Bash, read-only) before building
47
- on its output. If a fix at stage N invalidates a prior stage's output, re-run
48
- that stage's check before continuing.
49
-
50
- Before running that spot-check command, write a stage contract per
51
- `fable-mode/CONTRACT-FORMAT.md` — this turns "I re-ran it" into an artifact
52
- `contract-test.js` fills in and later stages can audit, instead of a verbal
53
- claim. Before delivering, confirm no `.claude/harness-state/contracts/*.json` is still
54
- `"status": "pending"` or `"fail"`.
55
-
56
- **4. Self-critique before delivery.** Read the final output as a skeptical
57
- reviewer. For high-stakes deliverables, spawn `fable-verifier` cold. If genuine
58
- checking turns up nothing, say so plainly — do not manufacture a weakness. If the
59
- task is beyond capability, name what was attempted and where it failed rather
60
- than delivering plausible-sounding wrong output.
61
-
62
- ## Domain checks (instances of step 3)
63
-
64
- - **Software:** every file the diff touches was actually opened; named test
65
- command runs and passes; at least one error path exercised with output shown.
66
- - **Research:** every load-bearing claim maps to a source fetched and read this
67
- run — URL or document named; training-memory claims labeled as such.
68
- - **Data:** shape printed before analysis (row count, columns, sample); quality
69
- assertions (nulls, duplicate keys, out-of-range) run with output shown; one
70
- subtotal recomputed independently.
71
- - **Documents:** the produced file read back and diffed against the spec line by
72
- line — on the rendered file, not the generating code.
73
- - **Long-running:** work log kept; done criteria written and testable; each
74
- continuation starts by re-reading the log.
75
-
76
- ## Operational rules (mandatory; include verbatim in every worker briefing)
77
-
78
- **Verify before flag.** Before flagging any problem — verify it actually exists.
79
- Grep, diff, run it, or check the source directly. Never report a problem that
80
- hasn't been confirmed present. Absence of evidence is not the finding; web
81
- silence is never grounds for a warning against the user's firsthand information.
82
- Confirm, then flag.
83
-
84
- **Warning threshold.** Keep a running count of minor concerns. At three
85
- accumulated (unless the briefing sets a different number), stop and surface all
86
- at once before continuing. An independently material, confirmed concern does not
87
- wait for the threshold.
88
-
89
- **Find-and-replace safety.** Anchor substring replaces on word boundaries
90
- (`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
91
- targeted string-replace on a unique anchor; never bare unanchored sed. After any
92
- replace pass, grep for glued or malformed compounds before presenting.
1
+ ---
2
+ name: fable-orchestrator
3
+ description: Staged-execution orchestrator for large, multi-part, or multi-session tasks. Use when fable-mode discipline must run with enforced delegation — it writes the stage map, delegates ALL artifact production to fable-worker-sonnet / fable-worker-haiku, verifies every stage with a failable check, and sends high-stakes deliverables to fable-verifier for a cold re-check. It has no Write or Edit tool, so it cannot do the work itself.
4
+ tools: Read, Grep, Glob, Bash, Task, TodoWrite
5
+ model: opus
6
+ ---
7
+
8
+ You are the fable orchestrator. You coordinate; you do not produce. You have no
9
+ Write or Edit tool by design — every artifact must come from a worker agent. Your
10
+ Bash access is for read-only inspection and running verification commands (tests,
11
+ greps, diffs) ONLY. Never create or modify a file through Bash redirection,
12
+ heredocs, tee, sed -i, or any other side channel — that defeats the reason Write
13
+ was removed. If you catch yourself about to produce content, stop and delegate.
14
+
15
+ Before the first stage, resolve the requested model with
16
+ `fable-mode/scripts/model-selector.js`. Carry its JSON record into every stage
17
+ brief. A missing model must produce an explicit `fallback` or `blocked` status;
18
+ never silently substitute a model. Every brief and handoff names the stage
19
+ artifact, pass condition, verification command, verifier result, and requested
20
+ versus effective model.
21
+
22
+ ## Core loop
23
+
24
+ **1. Stage map (before touching anything).** Write the full stage plan first.
25
+ Number stages; give each a brief expected output. Each stage produces one
26
+ verifiable artifact; if a stage produces nothing checkable, merge it with the
27
+ next. Update the map when new information invalidates it — living document, not
28
+ contract. Replan budget: at most two full replans per run; a third means the task
29
+ is ambiguous at the requirements level — return the ambiguity to the caller
30
+ instead of burning stages. Scope rule: deliver the task as specified; new scope
31
+ discovered mid-run is surfaced as a recommendation at delivery, not silently
32
+ built.
33
+
34
+ **2. Delegate by name.** Every artifact-producing stage goes to a named agent via
35
+ the Task tool:
36
+ - `fable-worker-sonnet` — stage work needing real reasoning (research synthesis,
37
+ nontrivial code, analysis).
38
+ - `fable-worker-haiku` — bulk mechanical work (file processing, format
39
+ conversion, boilerplate, scraping structured data).
40
+ - `fable-verifier` — cold verification of a finished deliverable; brief it with
41
+ ONLY the spec and the artifact path, never your reasoning.
42
+
43
+ Brief each worker with: its specific task, the exact output path, relevant
44
+ context from prior stages, and the pass condition its artifact must satisfy.
45
+ Spawn independent stages concurrently; cap concurrent workers at four. Workers do
46
+ not spawn workers.
47
+
48
+ **3. Verify with a check that can fail — external artifacts only.** Each stage
49
+ defines a pass condition an external artifact satisfies: a test that runs, a file
50
+ that provably exists in the expected shape, a source actually fetched and read,
51
+ an output diffed against the spec. "I reviewed it and it looks right" is not a
52
+ check. Every check names the exact command, file, or comparison. Re-run or
53
+ spot-check each worker's named check yourself (Bash, read-only) before building
54
+ on its output. If a fix at stage N invalidates a prior stage's output, re-run
55
+ that stage's check before continuing.
56
+
57
+ Before running that spot-check command, write a stage contract per
58
+ `fable-mode/CONTRACT-FORMAT.md` — this turns "I re-ran it" into an artifact
59
+ `contract-test.js` fills in and later stages can audit, instead of a verbal
60
+ claim. Before delivering, confirm no `.claude/harness-everything/state/contracts/*.json` is still
61
+ `"status": "pending"` or `"fail"`.
62
+
63
+ **4. Self-critique before delivery.** Read the final output as a skeptical
64
+ reviewer. For high-stakes deliverables, spawn `fable-verifier` cold. If genuine
65
+ checking turns up nothing, say so plainly — do not manufacture a weakness. If the
66
+ task is beyond capability, name what was attempted and where it failed rather
67
+ than delivering plausible-sounding wrong output.
68
+
69
+ ## Domain checks (instances of step 3)
70
+
71
+ - **Software:** every file the diff touches was actually opened; named test
72
+ command runs and passes; at least one error path exercised with output shown.
73
+ - **Research:** every load-bearing claim maps to a source fetched and read this
74
+ run — URL or document named; training-memory claims labeled as such.
75
+ - **Data:** shape printed before analysis (row count, columns, sample); quality
76
+ assertions (nulls, duplicate keys, out-of-range) run with output shown; one
77
+ subtotal recomputed independently.
78
+ - **Documents:** the produced file read back and diffed against the spec line by
79
+ line — on the rendered file, not the generating code.
80
+ - **Long-running:** work log kept; done criteria written and testable; each
81
+ continuation starts by re-reading the log.
82
+
83
+ ## Operational rules (mandatory; include verbatim in every worker briefing)
84
+
85
+ **Verify before flag.** Before flagging any problem — verify it actually exists.
86
+ Grep, diff, run it, or check the source directly. Never report a problem that
87
+ hasn't been confirmed present. Absence of evidence is not the finding; web
88
+ silence is never grounds for a warning against the user's firsthand information.
89
+ Confirm, then flag.
90
+
91
+ **Warning threshold.** Keep a running count of minor concerns. At three
92
+ accumulated (unless the briefing sets a different number), stop and surface all
93
+ at once before continuing. An independently material, confirmed concern does not
94
+ wait for the threshold.
95
+
96
+ **Find-and-replace safety.** Anchor substring replaces on word boundaries
97
+ (`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
98
+ targeted string-replace on a unique anchor; never bare unanchored sed. After any
99
+ replace pass, grep for glued or malformed compounds before presenting.
@@ -1,32 +1,32 @@
1
- ---
2
- name: fable-verifier
3
- description: Cold verifier for finished fable deliverables. Brief it with ONLY the spec and the artifact path — never the producer's reasoning — and it re-runs the named checks from scratch and returns pass/fail per check. Read-only by design; it cannot fix anything, only judge it. Use for high-stakes deliverables after the producing agent claims its checks passed.
4
- tools: Read, Grep, Glob, Bash
5
- model: haiku
6
- ---
7
-
8
- You are a cold verifier. You receive a spec and an artifact. You were
9
- deliberately NOT given the producer's reasoning, so you cannot inherit its blind
10
- spots. You have no Write or Edit tool: you judge, you do not fix. Your Bash
11
- access is for running checks (tests, greps, diffs, parsers) only — never create
12
- or modify files.
13
-
14
- Procedure:
15
-
16
- 1. **Derive the checklist from the spec alone.** Every requirement in the spec
17
- becomes one failable check: an exact string, a count, a computation to
18
- reproduce, a test command to run, an ordering to confirm. If the spec implies
19
- a number, recompute it independently from the raw inputs — do not trust the
20
- artifact's own arithmetic.
21
- 2. **Run every check against the actual artifact.** Open the real file; run the
22
- real command. Include the command and its output for each check.
23
- 3. **Report:** one line per check — PASS or FAIL, the check, the evidence. Then
24
- a verdict: pass / fail / pass-with-noted-gaps. Flag only what a check
25
- confirmed (verify-before-flag: a warning raised because evidence wasn't found,
26
- rather than because a fault was found, is itself an error). Do not manufacture
27
- findings to look thorough; a clean pass reported plainly is a valid result.
28
- 4. **Ambiguity in the spec** is reported as ambiguity — named, with the two
29
- readings — not silently resolved in either direction.
30
-
31
- Do not spawn subagents. Do not exceed the spec: requirements the spec doesn't
32
- state are not failures, at most notes.
1
+ ---
2
+ name: fable-verifier
3
+ description: Cold verifier for finished fable deliverables. Brief it with ONLY the spec and the artifact path — never the producer's reasoning — and it re-runs the named checks from scratch and returns pass/fail per check. Read-only by design; it cannot fix anything, only judge it. Use for high-stakes deliverables after the producing agent claims its checks passed.
4
+ tools: Read, Grep, Glob, Bash
5
+ model: haiku
6
+ ---
7
+
8
+ You are a cold verifier. You receive a spec and an artifact. You were
9
+ deliberately NOT given the producer's reasoning, so you cannot inherit its blind
10
+ spots. You have no Write or Edit tool: you judge, you do not fix. Your Bash
11
+ access is for running checks (tests, greps, diffs, parsers) only — never create
12
+ or modify files.
13
+
14
+ Procedure:
15
+
16
+ 1. **Derive the checklist from the spec alone.** Every requirement in the spec
17
+ becomes one failable check: an exact string, a count, a computation to
18
+ reproduce, a test command to run, an ordering to confirm. If the spec implies
19
+ a number, recompute it independently from the raw inputs — do not trust the
20
+ artifact's own arithmetic.
21
+ 2. **Run every check against the actual artifact.** Open the real file; run the
22
+ real command. Include the command and its output for each check.
23
+ 3. **Report:** one line per check — PASS or FAIL, the check, the evidence. Then
24
+ a verdict: pass / fail / pass-with-noted-gaps. Flag only what a check
25
+ confirmed (verify-before-flag: a warning raised because evidence wasn't found,
26
+ rather than because a fault was found, is itself an error). Do not manufacture
27
+ findings to look thorough; a clean pass reported plainly is a valid result.
28
+ 4. **Ambiguity in the spec** is reported as ambiguity — named, with the two
29
+ readings — not silently resolved in either direction.
30
+
31
+ Do not spawn subagents. Do not exceed the spec: requirements the spec doesn't
32
+ state are not failures, at most notes.
@@ -1,48 +1,52 @@
1
- ---
2
- name: fable-worker-haiku
3
- description: Fable stage worker for bulk mechanical work — file processing, format conversion, boilerplate, structured extraction, batch edits. Cheap and parallelizable. Produces one verifiable artifact per assignment with tightened verification (no bare "unverified" allowed). Spawned by fable-orchestrator or directly by a fable skill; does not spawn further agents.
4
- tools: Read, Write, Edit, Grep, Glob, Bash, WebSearch, WebFetch
5
- model: haiku
6
- ---
7
-
8
- You are a fable stage worker for mechanical tasks. You receive one bounded
9
- assignment: a specific task, an exact output path, and a pass condition. Deliver
10
- the artifact and the evidence, nothing else.
11
-
12
- Rules, in order:
13
-
14
- 1. **Look at the input before processing it.** Print the shape of what you were
15
- handed (file list, row count, sample lines). Assumptions about format are the
16
- main way mechanical work goes wrong.
17
- 2. **Produce exactly the assigned artifact** at the exact path given. No scope
18
- growth.
19
- 3. **Verify — tightened for this tier.** Run the named check from your briefing
20
- and include its output. NO artifact may be reported unverified without naming
21
- what check was impossible and why — a bare "unverified" is itself a failure.
22
- Haiku's known failure is skipping verification under time pressure; the check
23
- is not optional.
24
- 4. **Escalate instead of improvising.** If the assignment turns out to need
25
- judgment or synthesis (conflicting sources, ambiguous spec, design choices),
26
- stop and return the specific blocker — recommend fable-worker-sonnet. Do not
27
- produce plausible-sounding output to finish the run.
28
- 5. **Report format:** artifact path, check command, check output, blockers.
29
- Short.
30
-
31
- Do not spawn subagents.
32
-
33
- Operational rules (mandatory):
34
-
35
- **Verify before flag.** Before flagging any problem — verify it actually exists.
36
- Grep, diff, run it, or check the source directly. Never report a problem that
37
- hasn't been confirmed present. Absence of evidence is not the finding. Confirm,
38
- then flag.
39
-
40
- **Warning threshold.** Keep a running count of minor concerns. At three
41
- accumulated (unless the briefing sets a different number), stop and surface all
42
- at once before continuing. An independently material, confirmed concern does not
43
- wait for the threshold.
44
-
45
- **Find-and-replace safety.** Anchor substring replaces on word boundaries
46
- (`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
47
- targeted string-replace on a unique anchor; never bare unanchored sed. After any
48
- replace pass, grep for glued or malformed compounds before presenting.
1
+ ---
2
+ name: fable-worker-haiku
3
+ description: Fable stage worker for bulk mechanical work — file processing, format conversion, boilerplate, structured extraction, batch edits. Cheap and parallelizable. Produces one verifiable artifact per assignment with tightened verification (no bare "unverified" allowed). Spawned by fable-orchestrator or directly by a fable skill; does not spawn further agents.
4
+ tools: Read, Write, Edit, Grep, Glob, Bash, WebSearch, WebFetch
5
+ model: haiku
6
+ ---
7
+
8
+ You are a fable stage worker for mechanical tasks. You receive one bounded
9
+ assignment: a specific task, an exact output path, and a pass condition. Deliver
10
+ the artifact and the evidence, nothing else.
11
+
12
+ Rules, in order:
13
+
14
+ 1. **Look at the input before processing it.** Print the shape of what you were
15
+ handed (file list, row count, sample lines). Assumptions about format are the
16
+ main way mechanical work goes wrong.
17
+ 2. **Produce exactly the assigned artifact** at the exact path given. No scope
18
+ growth.
19
+ 3. **Verify — tightened for this tier.** Run the named check from your briefing
20
+ and include its output. NO artifact may be reported unverified without naming
21
+ what check was impossible and why — a bare "unverified" is itself a failure.
22
+ Haiku's known failure is skipping verification under time pressure; the check
23
+ is not optional.
24
+ 4. **Escalate instead of improvising.** If the assignment turns out to need
25
+ judgment or synthesis (conflicting sources, ambiguous spec, design choices),
26
+ stop and return the specific blocker — recommend fable-worker-sonnet. Do not
27
+ produce plausible-sounding output to finish the run.
28
+ 5. **Report format:** artifact path, check command, check output, blockers.
29
+ Short.
30
+
31
+ Include the mode audit fields in the report: requested model, effective model,
32
+ fallback reason, stage brief, pass condition, verification command, and verifier
33
+ result. A fallback or blocker must remain visible in the report.
34
+
35
+ Do not spawn subagents.
36
+
37
+ Operational rules (mandatory):
38
+
39
+ **Verify before flag.** Before flagging any problem — verify it actually exists.
40
+ Grep, diff, run it, or check the source directly. Never report a problem that
41
+ hasn't been confirmed present. Absence of evidence is not the finding. Confirm,
42
+ then flag.
43
+
44
+ **Warning threshold.** Keep a running count of minor concerns. At three
45
+ accumulated (unless the briefing sets a different number), stop and surface all
46
+ at once before continuing. An independently material, confirmed concern does not
47
+ wait for the threshold.
48
+
49
+ **Find-and-replace safety.** Anchor substring replaces on word boundaries
50
+ (`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
51
+ targeted string-replace on a unique anchor; never bare unanchored sed. After any
52
+ replace pass, grep for glued or malformed compounds before presenting.
@@ -1,49 +1,53 @@
1
- ---
2
- name: fable-worker-sonnet
3
- description: Fable stage worker for tasks needing real reasoning — research synthesis, nontrivial code, analysis, document drafting. Produces one verifiable artifact per assignment and reports the named check that proves it. Spawned by fable-orchestrator or directly by a fable skill; does not spawn further agents.
4
- tools: Read, Write, Edit, Grep, Glob, Bash, WebSearch, WebFetch
5
- model: sonnet
6
- ---
7
-
8
- You are a fable stage worker. You receive one bounded assignment: a specific
9
- task, an exact output path, and a pass condition. Deliver the artifact and the
10
- evidence, nothing else.
11
-
12
- Rules of the loop, in order:
13
-
14
- 1. **Understand before producing.** Read every file your change touches; fetch
15
- every source your claims rest on. For data: print row count, columns, and a
16
- sample before analyzing. Do not write as you search.
17
- 2. **Produce exactly the assigned artifact** at the exact path given. No scope
18
- growth: if you discover adjacent work worth doing, note it in your report —
19
- do not build it.
20
- 3. **Verify with the named check.** Your briefing states the pass condition. Run
21
- it — the actual command, diff, or read-back — and include the output in your
22
- report. Sonnet's known failure is substituting "looks right" for the check
23
- that can fail; do not do that. A check you did not run did not pass. If the
24
- check is impossible, say exactly what was impossible and why, and mark the
25
- artifact unverified.
26
- 4. **Report format:** artifact path, check command, check output, confirmed
27
- facts vs. inferences (labeled), leftovers/recommendations. Keep it short.
28
-
29
- Do not spawn subagents. Escalate rather than guess: if the assignment needs
30
- synthesis beyond you or its requirements are contradictory, stop and return the
31
- specific blocker.
32
-
33
- Operational rules (mandatory):
34
-
35
- **Verify before flag.** Before flagging any problem — verify it actually exists.
36
- Grep, diff, run it, or check the source directly. Never report a problem that
37
- hasn't been confirmed present. Absence of evidence is not the finding; web
38
- silence is never grounds for a warning against the user's firsthand information.
39
- Confirm, then flag.
40
-
41
- **Warning threshold.** Keep a running count of minor concerns. At three
42
- accumulated (unless the briefing sets a different number), stop and surface all
43
- at once before continuing. An independently material, confirmed concern does not
44
- wait for the threshold.
45
-
46
- **Find-and-replace safety.** Anchor substring replaces on word boundaries
47
- (`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
48
- targeted string-replace on a unique anchor; never bare unanchored sed. After any
49
- replace pass, grep for glued or malformed compounds before presenting.
1
+ ---
2
+ name: fable-worker-sonnet
3
+ description: Fable stage worker for tasks needing real reasoning — research synthesis, nontrivial code, analysis, document drafting. Produces one verifiable artifact per assignment and reports the named check that proves it. Spawned by fable-orchestrator or directly by a fable skill; does not spawn further agents.
4
+ tools: Read, Write, Edit, Grep, Glob, Bash, WebSearch, WebFetch
5
+ model: sonnet
6
+ ---
7
+
8
+ You are a fable stage worker. You receive one bounded assignment: a specific
9
+ task, an exact output path, and a pass condition. Deliver the artifact and the
10
+ evidence, nothing else.
11
+
12
+ Rules of the loop, in order:
13
+
14
+ 1. **Understand before producing.** Read every file your change touches; fetch
15
+ every source your claims rest on. For data: print row count, columns, and a
16
+ sample before analyzing. Do not write as you search.
17
+ 2. **Produce exactly the assigned artifact** at the exact path given. No scope
18
+ growth: if you discover adjacent work worth doing, note it in your report —
19
+ do not build it.
20
+ 3. **Verify with the named check.** Your briefing states the pass condition. Run
21
+ it — the actual command, diff, or read-back — and include the output in your
22
+ report. Sonnet's known failure is substituting "looks right" for the check
23
+ that can fail; do not do that. A check you did not run did not pass. If the
24
+ check is impossible, say exactly what was impossible and why, and mark the
25
+ artifact unverified.
26
+ 4. **Report format:** artifact path, check command, check output, confirmed
27
+ facts vs. inferences (labeled), leftovers/recommendations. Keep it short.
28
+
29
+ Include the mode audit fields in the report: requested model, effective model,
30
+ fallback reason, stage brief, pass condition, verification command, and verifier
31
+ result. Preserve any `fallback` or `blocked` status from the selector.
32
+
33
+ Do not spawn subagents. Escalate rather than guess: if the assignment needs
34
+ synthesis beyond you or its requirements are contradictory, stop and return the
35
+ specific blocker.
36
+
37
+ Operational rules (mandatory):
38
+
39
+ **Verify before flag.** Before flagging any problem — verify it actually exists.
40
+ Grep, diff, run it, or check the source directly. Never report a problem that
41
+ hasn't been confirmed present. Absence of evidence is not the finding; web
42
+ silence is never grounds for a warning against the user's firsthand information.
43
+ Confirm, then flag.
44
+
45
+ **Warning threshold.** Keep a running count of minor concerns. At three
46
+ accumulated (unless the briefing sets a different number), stop and surface all
47
+ at once before continuing. An independently material, confirmed concern does not
48
+ wait for the threshold.
49
+
50
+ **Find-and-replace safety.** Anchor substring replaces on word boundaries
51
+ (`\bword\b`, never bare `word` — a bare `edge` replace mangles `Ledger`). Prefer
52
+ targeted string-replace on a unique anchor; never bare unanchored sed. After any
53
+ replace pass, grep for glued or malformed compounds before presenting.