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
@@ -0,0 +1,36 @@
1
+ # Workflow: Find Skills
2
+
3
+ > Discover a third-party skill only after the reviewed local catalog and
4
+ > self-evolved manifest do not cover the requested capability.
5
+
6
+ ## 1. Decision flow
7
+
8
+ ```mermaid
9
+ flowchart TD
10
+ Start([Capability request]) --> Local{Covered locally?}
11
+ Local -->|Yes| UseLocal[Use the existing Harness skill]
12
+ Local -->|No| Installed[Run npx skills list --json]
13
+ Installed --> Search[Search skills.sh and npx skills find]
14
+ Search --> Review[Read source SKILL.md and assess trust]
15
+ Review --> Approval{Human approval?}
16
+ Approval -->|No| Fallback[Handle directly or stop]
17
+ Approval -->|Yes| Apply[Apply through use-skill.js or install explicitly]
18
+ ```
19
+
20
+ ## 2. Operating contract
21
+
22
+ 1. Check `harness-everything`'s registry and `generated[]` entries first.
23
+ 2. Query project and global installs live with `npx skills list --json`.
24
+ 3. Search `skills.sh` and `npx skills find <query>` only when local coverage is
25
+ absent; inspect the actual `SKILL.md`, source, and install signal.
26
+ 4. Present the candidate and source. Do not fetch or apply it without explicit
27
+ user approval.
28
+ 5. Use `node "<this-skill-dir>/scripts/use-skill.js" <owner/repo[@skill]>` for
29
+ the default six-hour OS-temp application. Use `npx skills add` only when the
30
+ user explicitly wants a permanent install.
31
+
32
+ ## 3. Verification
33
+
34
+ If search, network, or application fails, report the failure and continue with
35
+ the direct built-in solution. Never treat an unaudited third-party skill as a
36
+ first-party Harness skill or add it to the static manifest.
@@ -10,15 +10,24 @@ This section visualizes how the `git-commit` skill executes internally, detailin
10
10
 
11
11
  ```mermaid
12
12
  graph TD
13
- Start([Trigger Commit Hook / Command]) --> DetectRepo["Detect main repo vs submodule"]
14
- DetectRepo --> PreCheck["Verify unstaged changes & staged files"]
15
- PreCheck --> StageCheck{Staged files present?}
16
- StageCheck -->|No| Warning["Warn developer & exit"]
17
- StageCheck -->|Yes| DetectLang["Analyze file extensions for active languages"]
18
- DetectLang --> GenMessage["Analyze changes and generate Angular-style commit message"]
19
- GenMessage --> FormatCheck["Format check: type, scope, subject, body, footer"]
20
- FormatCheck --> WriteCommit["Commit staged files with formatted message"]
21
- WriteCommit --> End([Staging clean and committed])
13
+ Start([Trigger Commit Request / Task Complete]) --> CheckGit{Is Git Repo Initialized?}
14
+ CheckGit -->|No| OfferInit["Prompt User: Run git init or Skip Commit"]
15
+ CheckGit -->|Yes| CheckSubmodules{Has Submodule Changes?}
16
+
17
+ CheckSubmodules -->|Yes| CommitSubmodules["Commit Submodules First (Bottom-Up)"] --> CheckStatus
18
+ CheckSubmodules -->|No| CheckStatus["Run git status & git diff --cached"]
19
+
20
+ CheckStatus --> StageCheck{Are Files Staged?}
21
+ StageCheck -->|No| AskStage["Prompt User / Stage Targeted Files"] --> FormatMessage
22
+ StageCheck -->|Yes| FormatMessage["Format Angular Commit Message"]
23
+
24
+ FormatMessage --> CheckShell{Shell / Multiline Escaping Check?}
25
+ CheckShell -->|Simple Single Line| DirectCommit["Run git commit -m 'type(scope): subject'"]
26
+ CheckShell -->|Multiline / Windows| TempFileCommit["Write .git-commit-msg.txt -> Run git commit -F -> Cleanup"]
27
+
28
+ DirectCommit --> VerifyCommit["Run git log -1 to Verify"]
29
+ TempFileCommit --> VerifyCommit
30
+ VerifyCommit --> End([Staging Clean and Committed])
22
31
  ```
23
32
 
24
33
  ---
@@ -10,15 +10,14 @@ This section visualizes how the `grill-me` skill executes internally, detailing
10
10
 
11
11
  ```mermaid
12
12
  graph TD
13
- Start([Developer Proposes Plan]) --> IntroduceChallenger["Introduce 'Challenger' adversarial persona"]
14
- IntroduceChallenger --> ProbeAssumptions["Analyze proposal and probe soft/mocked points"]
15
- ProbeAssumptions --> AskHardQuestions["Ask 3-5 aggressive, non-trivial stress-testing questions"]
16
- AskHardQuestions --> ReceiveAnswers["Developer provides details & arguments"]
17
- ReceiveAnswers --> ValidateResilience{Answers robust & handle failures?}
18
- ValidateResilience -->|No| GrillDeeper["Grill deeper on specific vulnerabilities"]
19
- ValidateResilience -->|Yes| DistillDecisions["Distill final agreed design decisions"]
20
- GrillDeeper --> ReceiveAnswers
21
- DistillDecisions --> End([Proposal approved and hardened against failures])
13
+ Start([Developer Proposes Plan]) --> Discovery["Scan Related Code, CONTEXT.md & Existing ADRs"]
14
+ Discovery --> AskQuestion["Ask Exactly ONE Question at a Time (with AI Recommendation)"]
15
+ AskQuestion --> ReceiveAnswer["Receive Developer Answer & Resolve Branch"]
16
+ ReceiveAnswer --> UpdateGlossary["Update CONTEXT.md Glossary Inline"]
17
+ UpdateGlossary --> ValidateResilience{All Decision Tree Branches Resolved?}
18
+ ValidateResilience -->|No| AskQuestion
19
+ ValidateResilience -->|Yes| HandoffToSpec["Hand off to to-spec for Outline Preview & Spec/ADR Publishing"]
20
+ HandoffToSpec --> End([Route to to-tickets / fable-mode / tdd])
22
21
  ```
23
22
 
24
23
  ---
@@ -30,8 +29,9 @@ This diagram illustrates how the `grill-me` skill is triggered through user requ
30
29
  ```mermaid
31
30
  graph LR
32
31
  Router["harness-everything / tier-router.js"] -->|Keyword: grill / debate / plan| GrillMe["grill-me / SKILL.md"]
33
- GrillMe -->|Writes final hardened agreements into| GWD["grill-with-docs / SKILL.md"]
34
- GrillMe -->|Directs macro execution strategies of| Fable["fable-mode / SKILL.md"]
32
+ GrillMe -->|Vague proposal or technical robustness needed| GrillMe
33
+ GrillMe -->|Needs glossary/ADR documentation alignment| GWD["grill-with-docs / SKILL.md"]
34
+ GWD -->|Directs macro execution strategies of| Fable["fable-mode / SKILL.md"]
35
35
  ```
36
36
 
37
37
  ---
@@ -10,14 +10,20 @@ This section visualizes how the `grill-with-docs` skill executes internally, det
10
10
 
11
11
  ```mermaid
12
12
  graph TD
13
- Start([Plan Proposed against Domain]) --> ReadDomainModel["Read CONTEXT.md and existing ADRs"]
13
+ Start([Plan Proposed against Domain]) --> CheckCoreValidity{Plan vague or unverified?}
14
+ CheckCoreValidity -->|Yes| RecommendGrillMe["Recommend running grill-me first"]
15
+ CheckCoreValidity -->|No| ReadDomainModel["Read CONTEXT.md and existing ADRs"]
16
+ RecommendGrillMe --> EndVague([Postponed until plan is hardened])
14
17
  ReadDomainModel --> ChallengeDrift["Examine plan for term drift or architectural violations"]
15
18
  ChallengeDrift --> UpdateGlossary["Refine and match terminology with current Glossary"]
16
- UpdateGlossary --> DraftADR["Draft formal Architecture Decision Record in ADR format"]
17
- DraftADR --> StressTestADR["Stress-test ADR against error boundaries and fail-safes"]
18
- StressTestADR --> WriteDocs["Commit ADR to docs/adr/ and update CONTEXT.md"]
19
- WriteDocs --> InjectTodos["Inject critical TODO: [CRITICAL BUG FIX] tags into corresponding code"]
20
- InjectTodos --> End([Code and documentation are perfectly aligned])
19
+ UpdateGlossary --> ResolveADRPath{Resolve ADR Storage Path}
20
+
21
+ ResolveADRPath -->|docs/adr/ or CONTEXT-MAP.md Exists| WriteDocs["Write ADR to docs/adr/ or CONTEXT-MAP.md Location"]
22
+ ResolveADRPath -->|No Folder Found| WritePlatform["Write to .github/harness-everything/adr/ or Delegate to to-spec"]
23
+
24
+ WriteDocs --> ToSpec["Hand off to to-spec for Outline Preview & Spec/ADR Publishing"]
25
+ WritePlatform --> ToSpec
26
+ ToSpec --> End([Route to to-tickets / fable-mode / tdd])
21
27
  ```
22
28
 
23
29
  ---
@@ -29,9 +35,10 @@ This diagram illustrates how the `grill-with-docs` skill is triggered through us
29
35
  ```mermaid
30
36
  graph LR
31
37
  Router["harness-everything / tier-router.js"] -->|Keyword: adr / decision / glossary| GWD["grill-with-docs / SKILL.md"]
32
- GWD -->|Coordinates stress-tests using| GrillMe["grill-me / SKILL.md"]
38
+ GrillMe["grill-me / SKILL.md"] -->|Hardened plan ready for formalization| GWD
33
39
  GWD -->|Aligns documentation during macro work in| Fable["fable-mode / SKILL.md"]
34
40
  GWD -->|Triggers todo tasks tracked by| Todo["todo-driven-workflow / SKILL.md"]
41
+ GWD -->|Hands off to generate specifications| ToSpec["to-spec / SKILL.md"]
35
42
  ```
36
43
 
37
44
  ---
@@ -1,92 +1,95 @@
1
- # Workflow: Harness Everything
2
-
3
- > The single entry point and dynamic router of Harness OS, triaging tasks into appropriate tiers and auto-loading synergistic knowledge guides.
4
-
5
- ---
6
-
7
- ## 1. Skill Behavior Workflow
8
-
9
- This section visualizes how the `harness-everything` skill executes internally, detailing the sequence of operations, state transitions, and evaluation steps.
10
-
11
- ```mermaid
12
- graph TD
13
- Start([User Prompt Received]) --> ExecuteRouter["Execute tier-router.js OR check UserPromptSubmit hook output"]
14
- ExecuteRouter --> DetectNewFeature{Contains new logic/files?}
15
- DetectNewFeature -->|Yes, enforce Tier 2+| PreventDegrade["Prevent Silent Degrade to Tier 1"]
16
- PreventDegrade --> TriageTier
17
- DetectNewFeature -->|No| TriageTier{Triage Tier}
18
-
19
- TriageTier -->|Tier 1: Trivial| Tier1Route["Tier 1: Direct Edit No Checklist"]
20
- TriageTier -->|Tier 2: Standard| Tier2Route["Tier 2: TDD & Todo-driven work"]
21
- TriageTier -->|Tier 3: Macro| Tier3Route["Tier 3: Fable Planning & Agent Scaffolding"]
22
-
23
- Tier1Route --> LoadGuides["Auto-load & output Synergistic Guides"]
24
- Tier2Route --> LoadGuides
25
- Tier3Route --> LoadGuides
26
-
27
- LoadGuides --> FactCheck{External Claims / Estimates?}
28
- FactCheck -->|Yes| FactReminder["Append Fact-Audit Reminder"]
29
- FactCheck -->|No| FinalizeOutput["Finalize Routing Checkpoint Output"]
30
- FactReminder --> FinalizeOutput
31
- FinalizeOutput --> Normalization["Apply Always-On ADHD-Friendly Output Shaping (Global Normalization)"]
32
- Normalization --> End([Developer receives highly focused, concise response])
33
- ```
34
-
35
- ---
36
-
37
- ## 2. Triggering and Routing Path
38
-
39
- This diagram illustrates how the `harness-everything` skill is triggered through user requests or developer actions, and how it integrates or chains together with other companion skills in the Harness OS ecosystem to form unified workflows.
40
-
41
- ```mermaid
42
- graph LR
43
- UserPrompt([User Input]) --> Router["harness-everything / tier-router.js"]
44
-
45
- Router -->|Keyword Matches| Guides["Synergistic Workflow Guides"]
46
-
47
- Guides -->|TDD/Test/Bug| Ch1["tdd + environment-detection + verify-before-claim + verification-loop"]
48
- Guides -->|Git/Commit/PR| Ch2["git-commit + rewrite-commits + using-git-worktrees + verification-loop"]
49
- Guides -->|Agent/Fable/Macro| Ch3["fable-mode + fable-discipline + build-multi-agent-system + create-agent-launcher"]
50
- Guides -->|Refactor/Architecture| Ch4["improve-codebase-architecture + grill-with-docs + grill-me + fable-mode"]
51
-
52
- Ch1 --> ADHD["Always-On ADHD-Friendly Output Shaping (Global Normalization)"]
53
- Ch2 --> ADHD
54
- Ch3 --> ADHD
55
- Ch4 --> ADHD
56
-
57
- style Router fill:#d35400,stroke:#e67e22,stroke-width:2px,color:#ffffff
58
- style ADHD fill:#1abc9c,stroke:#16a085,stroke-width:2px,color:#ffffff
59
- ```
60
-
61
- ---
62
-
63
- ## 3. Real-World Use Case Flowchart
64
-
65
- Here we model concrete real-world scenarios and use cases of the `harness-everything` skill, illustrating standard success paths, error handling, or recovery loops.
66
-
67
- ```mermaid
68
- graph TD
69
- Input1["User: 'Add a new settings page'"] --> Router1["tier-router.js executes"]
70
- Router1 --> TrapCheck["Trap Avoided: Feature request correctly blocked from Tier 1 degrade"]
71
- TrapCheck --> Triage2["Triaged as Tier 2: Standard Task"]
72
- Triage2 --> DomainSummon["Load 'tdd' & frontend Domain Experts"]
73
- DomainSummon --> BaseLoop["Initialize 'todo-driven-workflow' checklist"]
74
- BaseLoop --> VerifyGate["Complete feature & run 'verification-loop' pre-delivery gate"]
75
- VerifyGate --> Done1([Feature delivered safely with proof])
76
-
77
- Input2["User: 'Refactor DB architecture and grill my plan'"] --> Router2["tier-router.js executes"]
78
- Router2 --> Triage3["Triaged as Tier 3: Macro Task"]
79
- Triage3 --> RecGuides["Auto-load: improve-codebase-architecture, grill-with-docs, fable-mode"]
80
- RecGuides --> Process["Developer completes Grilling session to finalize ADRs"]
81
- Process --> Execute["fable-mode generates execution checklist & spawns sub-agents"]
82
- ```
83
-
84
- ---
85
-
86
- ## 4. Verification Check
87
-
88
- To ensure that the `harness-everything` skill is operating in strict compliance with Harness OS design laws, verify the following:
89
-
90
- - [ ] **Physical Boundary Verification**: The skill boundaries are respected and do not leak context.
91
- - [ ] **State Checkpoint Verification**: The active state is established, validated, and recorded at the beginning and end of each execution branch.
92
- - [ ] **Cognitive Alignment**: The skill conforms to the **Think > Try > Summarize > Record** cognitive loop.
1
+ # Workflow: Harness Everything
2
+
3
+ > The single entry point and dynamic router of Harness OS, triaging tasks into appropriate tiers and auto-loading synergistic knowledge guides.
4
+
5
+ ---
6
+
7
+ ## 1. Skill Behavior Workflow
8
+
9
+ This section visualizes how the `harness-everything` skill executes internally, detailing the sequence of operations, state transitions, and evaluation steps.
10
+
11
+ ```mermaid
12
+ graph TD
13
+ Start([User Prompt Received]) --> CheckSoftware{Software / Engineering Task?}
14
+ CheckSoftware -->|No: Pure Chat / Translation / Web Search| BypassHarness["Bypass Harness OS Completely - Reply Directly"]
15
+ CheckSoftware -->|Yes: Code / Architecture / Project| ExecuteRouter["Execute tier-router.js OR check UserPromptSubmit hook output"]
16
+ ExecuteRouter --> DetectNewFeature{Contains new logic/files?}
17
+ DetectNewFeature -->|Yes, enforce Tier 2+| PreventDegrade["Prevent Silent Degrade to Tier 1"]
18
+ PreventDegrade --> TriageTier
19
+ DetectNewFeature -->|No| TriageTier{Triage Tier}
20
+
21
+ TriageTier -->|Tier 1: Trivial| Tier1Route["Tier 1: Direct Edit No Checklist"]
22
+ TriageTier -->|Tier 2: Standard| Tier2Route["Tier 2: TDD & Todo-driven work"]
23
+ TriageTier -->|Tier 3: Macro| Tier3Route["Tier 3: Fable Planning & Agent Scaffolding"]
24
+
25
+ Tier1Route --> LoadGuides["Auto-load & output Synergistic Guides"]
26
+ Tier2Route --> LoadGuides
27
+ Tier3Route --> LoadGuides
28
+
29
+ LoadGuides --> FactCheck{External Claims / Estimates?}
30
+ FactCheck -->|Yes| FactReminder["Append Fact-Audit Reminder"]
31
+ FactCheck -->|No| FinalizeOutput["Finalize Routing Checkpoint Output"]
32
+ FactReminder --> FinalizeOutput
33
+ FinalizeOutput --> Normalization["Apply Always-On ADHD-Friendly Output Shaping (Global Normalization)"]
34
+ Normalization --> End([Developer receives highly focused, concise response])
35
+ BypassHarness --> End
36
+ ```
37
+
38
+ ---
39
+
40
+ ## 2. Triggering and Routing Path
41
+
42
+ This diagram illustrates how the `harness-everything` skill is triggered through user requests or developer actions, and how it integrates or chains together with other companion skills in the Harness OS ecosystem to form unified workflows.
43
+
44
+ ```mermaid
45
+ graph LR
46
+ UserPrompt([User Input]) --> Router["harness-everything / tier-router.js"]
47
+
48
+ Router -->|Keyword Matches| Guides["Synergistic Workflow Guides"]
49
+
50
+ Guides -->|TDD/Test/Bug| Ch1["tdd + environment-detection + verify-before-claim + verification-loop"]
51
+ Guides -->|Git/Commit/PR| Ch2["git-commit + rewrite-commits + using-git-worktrees + verification-loop"]
52
+ Guides -->|Agent/Fable/Macro| Ch3["fable-mode + fable-discipline + multi-agent-workspace"]
53
+ Guides -->|Refactor/Architecture| Ch4["improve-codebase-architecture + grill-with-docs + grill-me + fable-mode"]
54
+
55
+ Ch1 --> ADHD["Always-On ADHD-Friendly Output Shaping (Global Normalization)"]
56
+ Ch2 --> ADHD
57
+ Ch3 --> ADHD
58
+ Ch4 --> ADHD
59
+
60
+ style Router fill:#d35400,stroke:#e67e22,stroke-width:2px,color:#ffffff
61
+ style ADHD fill:#1abc9c,stroke:#16a085,stroke-width:2px,color:#ffffff
62
+ ```
63
+
64
+ ---
65
+
66
+ ## 3. Real-World Use Case Flowchart
67
+
68
+ Here we model concrete real-world scenarios and use cases of the `harness-everything` skill, illustrating standard success paths, error handling, or recovery loops.
69
+
70
+ ```mermaid
71
+ graph TD
72
+ Input1["User: 'Add a new settings page'"] --> Router1["tier-router.js executes"]
73
+ Router1 --> TrapCheck["Trap Avoided: Feature request correctly blocked from Tier 1 degrade"]
74
+ TrapCheck --> Triage2["Triaged as Tier 2: Standard Task"]
75
+ Triage2 --> DomainSummon["Load 'tdd' & frontend Domain Experts"]
76
+ DomainSummon --> BaseLoop["Initialize 'todo-driven-workflow' checklist"]
77
+ BaseLoop --> VerifyGate["Complete feature & run 'verification-loop' pre-delivery gate"]
78
+ VerifyGate --> Done1([Feature delivered safely with proof])
79
+
80
+ Input2["User: 'Refactor DB architecture and grill my plan'"] --> Router2["tier-router.js executes"]
81
+ Router2 --> Triage3["Triaged as Tier 3: Macro Task"]
82
+ Triage3 --> RecGuides["Auto-load: improve-codebase-architecture, grill-with-docs, fable-mode"]
83
+ RecGuides --> Process["Developer completes Grilling session to finalize ADRs"]
84
+ Process --> Execute["fable-mode generates execution checklist & spawns sub-agents"]
85
+ ```
86
+
87
+ ---
88
+
89
+ ## 4. Verification Check
90
+
91
+ To ensure that the `harness-everything` skill is operating in strict compliance with Harness OS design laws, verify the following:
92
+
93
+ - [ ] **Physical Boundary Verification**: The skill boundaries are respected and do not leak context.
94
+ - [ ] **State Checkpoint Verification**: The active state is established, validated, and recorded at the beginning and end of each execution branch.
95
+ - [ ] **Cognitive Alignment**: The skill conforms to the **Think > Try > Summarize > Record** cognitive loop.
@@ -10,13 +10,21 @@ This section visualizes how the `improve-codebase-architecture` skill executes i
10
10
 
11
11
  ```mermaid
12
12
  graph TD
13
- Start([Audit Request / Refactoring]) --> ScanDirectories["Scan code directories for coupling"]
14
- ScanDirectories --> IdentifyTightlyCoupled["Locate highly coupled modules / wide files"]
15
- IdentifyTightlyCoupled --> DeepModuleTest["Analyze modules against Deep Module Design rules"]
16
- DeepModuleTest --> DefineSeams["Identify clean seams & write interface abstractions"]
17
- DefineSeams --> GenMermaidReport["Generate visual HTML / Mermaid codebase dependency map"]
18
- GenMermaidReport --> ProposeDecomposition["Formulate restructuring and extraction proposal"]
19
- ProposeDecomposition --> End([Actionable refactoring strategy compiled])
13
+ Start([Audit Request / Refactoring / SRP Object Splitting]) --> ScanDirectories["Scan code directories, CONTEXT.md & ADRs"]
14
+ ScanDirectories --> IdentifyTarget["Identify Monolithic Objects (>300 lines) or Shallow Modules"]
15
+ IdentifyTarget --> FormulatePlan["Formulate Deepening & SRP Object Extraction Plan"]
16
+ FormulatePlan --> Propose["Present Deepening & SRP Proposal to User"]
17
+ Propose --> UserApproved{"User Approves Proposal?"}
18
+
19
+ UserApproved -->|Yes| CheckTests{"Existing Test Safety Net Present?"}
20
+ UserApproved -->|No| AdjustPlan["Adjust Proposal Scope"] --> Propose
21
+
22
+ CheckTests -->|No Tests| WriteCharTests["Write Characterization Tests First"] --> ExecuteTDD
23
+ CheckTests -->|Tests Present| ExecuteTDD["Execute Object Extraction via TDD"]
24
+
25
+ ExecuteTDD --> CheckErrors{"Cascading Errors > 3?"}
26
+ CheckErrors -->|Yes| Rollback["Rollback Changes & Trigger zoom-out"]
27
+ CheckErrors -->|No| Complete["Refactoring Complete & Record Lessons in self-evolve"]
20
28
  ```
21
29
 
22
30
  ---
@@ -1,60 +1,60 @@
1
- # Workflow: Install Cognitive OS
2
-
3
- > Automates the installation of the Agent Cognitive Loop (Think > Try > Summarize > Record) into the user's active workspace and environment configs.
4
-
5
- ---
6
-
7
- ## 1. Skill Behavior Workflow
8
-
9
- This section visualizes how the `install-cognitive-os` skill executes internally, detailing the sequence of operations, state transitions, and evaluation steps.
10
-
11
- ```mermaid
12
- graph TD
13
- Start([Bootstrap Hook Triggered]) --> DetectTargetEnv["Scan for active IDE / Client config paths"]
14
- DetectTargetEnv --> InjectAdvisoryRules["Append advisory rules to .cursorrules, .github/copilot-instructions.md, or AGENTS.md"]
15
- InjectAdvisoryRules --> InstallHooks["Configure Claude Code settings.json hook pre-flights"]
16
- InstallHooks --> DeployScripts["Deploy core bootstrap.js, self-heal.js, and tier-router.js scripts"]
17
- DeployScripts --> RunVerification["Execute self-heal audit test to confirm platform integrations"]
18
- RunVerification --> End([Harness cognitive guardrails fully established])
19
- ```
20
-
21
- ---
22
-
23
- ## 2. Triggering and Routing Path
24
-
25
- This diagram illustrates how the `install-cognitive-os` skill is triggered through user requests or developer actions, and how it integrates or chains together with other companion skills in the Harness OS ecosystem to form unified workflows.
26
-
27
- ```mermaid
28
- graph LR
29
- BootstrapCmd["Bootstrap CLI Command / npm install"] --> InstallSkill["install-cognitive-os / SKILL.md"]
30
- InstallSkill -->|Deploys core router script| Router["harness-everything / scripts / tier-router.js"]
31
- InstallSkill -->|Establishes memory loop configs for| Evolve["self-evolve / SKILL.md"]
32
- InstallSkill -->|Guards all file edits using| Todo["todo-driven-workflow / SKILL.md"]
33
- InstallSkill -->|Enforces Always-On Normalization for all responses| ADHD["Always-On ADHD-Friendly Output Shaping"]
34
- ```
35
-
36
- ---
37
-
38
- ## 3. Real-World Use Case Flowchart
39
-
40
- Here we model concrete real-world scenarios and use cases of the `install-cognitive-os` skill, illustrating standard success paths, error handling, or recovery loops.
41
-
42
- ```mermaid
43
- graph TD
44
- Start["Fresh repository checkout"] --> Trigger["Run 'node scripts/installer.js install --all --yes'"]
45
- Trigger --> Scan["Detects Cursor editor rules and GitHub action configurations"]
46
- Scan --> BuildAdvisory["Appends mandatory routing checkpoint and cognitive compliance blocks to .cursorrules"]
47
- BuildAdvisory --> CopySkills["Copies all 23 core skills into .cursor/skills/ and .github/skills/"]
48
- CopySkills --> CheckHeal["Runs preflight audit to confirm 100% path coverage"]
49
- CheckHeal --> Done([Harness OS environment setup is complete and active])
50
- ```
51
-
52
- ---
53
-
54
- ## 4. Verification Check
55
-
56
- To ensure that the `install-cognitive-os` skill is operating in strict compliance with Harness OS design laws, verify the following:
57
-
58
- - [ ] **Physical Boundary Verification**: The skill boundaries are respected and do not leak context.
59
- - [ ] **State Checkpoint Verification**: The active state is established, validated, and recorded at the beginning and end of each execution branch.
60
- - [ ] **Cognitive Alignment**: The skill conforms to the **Think > Try > Summarize > Record** cognitive loop.
1
+ # Workflow: Install Cognitive OS
2
+
3
+ > Automates the installation of the Agent Cognitive Loop (Think > Try > Summarize > Record) into the user's active workspace and environment configs.
4
+
5
+ ---
6
+
7
+ ## 1. Skill Behavior Workflow
8
+
9
+ This section visualizes how the `install-cognitive-os` skill executes internally, detailing the sequence of operations, state transitions, and evaluation steps.
10
+
11
+ ```mermaid
12
+ graph TD
13
+ Start([Bootstrap Hook Triggered]) --> DetectTargetEnv["Scan for active IDE / Client config paths"]
14
+ DetectTargetEnv --> InjectAdvisoryRules["Append advisory rules to .cursorrules, .github/copilot-instructions.md, or AGENTS.md"]
15
+ InjectAdvisoryRules --> InstallHooks["Configure Claude Code settings.json hook pre-flights"]
16
+ InstallHooks --> DeployScripts["Deploy core bootstrap.js, self-heal.js, and tier-router.js scripts"]
17
+ DeployScripts --> RunVerification["Execute self-heal audit test to confirm platform integrations"]
18
+ RunVerification --> End([Harness cognitive guardrails fully established])
19
+ ```
20
+
21
+ ---
22
+
23
+ ## 2. Triggering and Routing Path
24
+
25
+ This diagram illustrates how the `install-cognitive-os` skill is triggered through user requests or developer actions, and how it integrates or chains together with other companion skills in the Harness OS ecosystem to form unified workflows.
26
+
27
+ ```mermaid
28
+ graph LR
29
+ BootstrapCmd["Bootstrap CLI Command / npm install"] --> InstallSkill["install-cognitive-os / SKILL.md"]
30
+ InstallSkill -->|Deploys core router script| Router["harness-everything / scripts / tier-router.js"]
31
+ InstallSkill -->|Establishes memory loop configs for| Evolve["self-evolve / SKILL.md"]
32
+ InstallSkill -->|Guards all file edits using| Todo["todo-driven-workflow / SKILL.md"]
33
+ InstallSkill -->|Enforces Always-On Normalization for all responses| ADHD["Always-On ADHD-Friendly Output Shaping"]
34
+ ```
35
+
36
+ ---
37
+
38
+ ## 3. Real-World Use Case Flowchart
39
+
40
+ Here we model concrete real-world scenarios and use cases of the `install-cognitive-os` skill, illustrating standard success paths, error handling, or recovery loops.
41
+
42
+ ```mermaid
43
+ graph TD
44
+ Start["Fresh repository checkout"] --> Trigger["Run 'node scripts/installer.js install --all --yes'"]
45
+ Trigger --> Scan["Detects Cursor editor rules and GitHub action configurations"]
46
+ Scan --> BuildAdvisory["Appends mandatory routing checkpoint and cognitive compliance blocks to .cursorrules"]
47
+ BuildAdvisory --> CopySkills["Copies all current skills into .cursor/skills/ and .github/skills/"]
48
+ CopySkills --> CheckHeal["Runs preflight audit to confirm 100% path coverage"]
49
+ CheckHeal --> Done([Harness OS environment setup is complete and active])
50
+ ```
51
+
52
+ ---
53
+
54
+ ## 4. Verification Check
55
+
56
+ To ensure that the `install-cognitive-os` skill is operating in strict compliance with Harness OS design laws, verify the following:
57
+
58
+ - [ ] **Physical Boundary Verification**: The skill boundaries are respected and do not leak context.
59
+ - [ ] **State Checkpoint Verification**: The active state is established, validated, and recorded at the beginning and end of each execution branch.
60
+ - [ ] **Cognitive Alignment**: The skill conforms to the **Think > Try > Summarize > Record** cognitive loop.
@@ -0,0 +1,42 @@
1
+ # Workflow: Multi-Agent Workspace
2
+
3
+ `multi-agent-workspace` is the single routed entrypoint for permanent
4
+ multi-agent infrastructure. It combines the former launcher and workspace
5
+ scaffold responsibilities and adds an optional agency-agents metadata source.
6
+
7
+ ```text
8
+ Discover target + source
9
+ |
10
+ Validate divisions, frontmatter, names, slugs, revision, platform
11
+ |
12
+ Scaffold .harness/multi-agent/
13
+ state / logs / decisions / domain / architecture / roles
14
+ |
15
+ Write router + catalog + selected roles + launcher + handoff
16
+ |
17
+ Run generated index_memory.js -> memory-index.md
18
+ ```
19
+
20
+ ## Selection contract
21
+
22
+ Use `--agency-source <path>` or `AGENCY_AGENTS_SOURCE`. Select by repeated
23
+ `--division` or `--agent`; `--all-agents` is explicit and metadata-only. The
24
+ generated launcher lists each selected role's division, source-relative file,
25
+ description, and boundary. Specialist bodies are loaded only on demand after a
26
+ bounded brief is assigned.
27
+
28
+ ## Failure contract
29
+
30
+ No source creates a visible `agency.status: unavailable` fallback. Invalid
31
+ frontmatter, missing or empty divisions, duplicate names/slugs, unknown
32
+ agents, and unsupported platforms fail before output is written. A changed
33
+ source revision requires `--allow-source-drift` to refresh a Harness-owned
34
+ catalog. Existing generated artifacts require `--force` only when they are
35
+ not identical.
36
+
37
+ ## Handoff
38
+
39
+ The launcher and `handoff.json` require `status`, `changes`, `verification`,
40
+ `risks`, and `nextAction`. The immutable generated router directs agents to
41
+ the six zones and forbids router edits. Fable remains responsible for macro
42
+ planning; TDD remains responsible for ordinary feature implementation.
@@ -10,13 +10,18 @@ This section visualizes how the `repo-docs` skill executes internally, detailing
10
10
 
11
11
  ```mermaid
12
12
  graph TD
13
- Start([Generate Repository Docs]) --> AuditProjectStructure["Audit workspace directory tree"]
14
- AuditProjectStructure --> ClassifyProductArchetype["Classify repository archetype: tool, library, platform"]
13
+ Start([Generate / Update Repository Docs]) --> AuditProjectStructure["Audit workspace directory tree & build configs"]
14
+ AuditProjectStructure --> CheckExisting{Existing README / AGENTS File Found?}
15
+
16
+ CheckExisting -->|Yes| ReadOld["Read Existing File & Extract Bespoke Notes (env vars, URLs, gotchas)"]
17
+ CheckExisting -->|No| ClassifyProductArchetype["Classify repository archetype"]
18
+
19
+ ReadOld --> ClassifyProductArchetype
15
20
  ClassifyProductArchetype --> LoadTemplates["Load standard README and AGENTS templates"]
16
- LoadTemplates --> InjectCustomStructure["Populate files with actual paths, licenses, and badges"]
17
- InjectCustomStructure --> FormatMarkdown["Format documents following clean layout rules"]
18
- FormatMarkdown --> WriteFiles["Commit README.md and AGENTS.md to workspace root"]
19
- WriteFiles --> End([Professional onboarding documentation created])
21
+ LoadTemplates --> SmartMerge["Smartly Merge Codebase Facts + Bespoke Notes + Template Structure"]
22
+ SmartMerge --> FormatMarkdown["Format documents following clean layout rules"]
23
+ FormatMarkdown --> WriteFiles["Save / Merge README.md and AGENTS.md at Root or .github/"]
24
+ WriteFiles --> End([Professional onboarding documentation created without losing history])
20
25
  ```
21
26
 
22
27
  ---
@@ -28,7 +33,7 @@ This diagram illustrates how the `repo-docs` skill is triggered through user req
28
33
  ```mermaid
29
34
  graph LR
30
35
  Router["harness-everything / tier-router.js"] -->|Keyword: doc / readme / agents-template| RepoDocs["repo-docs / SKILL.md"]
31
- RepoDocs -->|Integrates frontmatter constraints into| BMAS["build-multi-agent-system / SKILL.md"]
36
+ RepoDocs -->|Integrates frontmatter constraints into| BMAS["multi-agent-workspace / SKILL.md"]
32
37
  RepoDocs -->|Leverages ADR details generated in| GWD["grill-with-docs / SKILL.md"]
33
38
  ```
34
39
 
@@ -10,13 +10,32 @@ This section visualizes how the `security-review` skill executes internally, det
10
10
 
11
11
  ```mermaid
12
12
  graph TD
13
- Start([Code Refactoring / Feature Done]) --> ScanInputs["Locate all user input and API boundary points"]
14
- ScanInputs --> ThreatModeling["Perform threat modeling on data flow"]
15
- ThreatModeling --> CheckCommonVulnerabilities["Check for SQL Injection, XSS, CSRF, and broken access controls"]
16
- CheckCommonVulnerabilities --> AuditDependencies["Scan package dependencies for known CVE vulnerabilities"]
17
- AuditDependencies --> FlagSinks["Flag insecure coding patterns, hardcoded secrets, or raw exec commands"]
18
- FlagSinks --> CompileSecurityReport["Compile actionable security hardening proposal"]
19
- CompileSecurityReport --> End([Codebase hardened and verified secure])
13
+ Start([Code Refactoring / Feature Done / Security Audit]) --> STRIDE["1. STRIDE Threat Modeling & Abuse Case Design"]
14
+ STRIDE --> CheckScript{2. Is audit-secrets.js Executable?}
15
+
16
+ CheckScript -->|Yes| RunAudit["Run node security-review/scripts/audit-secrets.js"]
17
+ CheckScript -->|No / Fails| GrepFallback["Scan Workspace Secrets & Inputs via grep_search"]
18
+
19
+ RunAudit --> CheckVun{3. Detect Vulnerabilities or Leaks?}
20
+ GrepFallback --> CheckVun
21
+
22
+ CheckVun -->|Hardcoded Secrets| FixSecrets["Always Do: Refactor to process.env & .env.local"]
23
+ CheckVun -->|SQL Concatenation| FixSQL["Always Do: Refactor to Parameterized Queries / ORM"]
24
+ CheckVun -->|Unvalidated Input| FixInput["Always Do: Add Zod Schema Validation"]
25
+ CheckVun -->|High-Risk Auth Shift| AskUser["Ask First: Require User Approval for Auth Shift"]
26
+
27
+ FixSecrets --> CompileSecurityReport["4. Compile Security Audit Report"]
28
+ FixSQL --> CompileSecurityReport
29
+ FixInput --> CompileSecurityReport
30
+ AskUser -->|Approved| CompileSecurityReport
31
+ CheckVun -->|Clean| CompileSecurityReport
32
+
33
+ CompileSecurityReport --> ResolveReportPath{5. Resolve Audit Report Path}
34
+ ResolveReportPath -->|docs/ Exists| WriteDocs["Save to docs/security-audit.md"]
35
+ ResolveReportPath -->|Protected / No Folder| WritePlatform["Save to .github/harness-everything/security-audit.md"]
36
+
37
+ WriteDocs --> End([Codebase hardened and verified secure])
38
+ WritePlatform --> End
20
39
  ```
21
40
 
22
41
  ---