repo-harness 0.24.3 → 0.25.1

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 (681) hide show
  1. package/AGENTS.md +11 -38
  2. package/CLAUDE.md +11 -37
  3. package/README.md +111 -84
  4. package/SKILL.md +4 -3
  5. package/agents/fleet/deep-worker.md +2 -2
  6. package/agents/fleet/fast-worker.md +2 -2
  7. package/agents/fleet/gatekeeper.md +2 -0
  8. package/agents/fleet/known-gaps.md +29 -0
  9. package/agents/fleet/orchestrator.md +36 -0
  10. package/assets/AGENTS.md +4 -5
  11. package/assets/CLAUDE.md +4 -5
  12. package/assets/herdr/github-events/filter.mjs +73 -0
  13. package/assets/herdr/github-events/worker.mjs +92 -0
  14. package/assets/herdr/github-events/wrangler.json +11 -0
  15. package/assets/herdr/webhook-notify/bot-event.mjs +35 -0
  16. package/assets/herdr/webhook-notify/herdr-plugin.toml +1 -1
  17. package/assets/herdr/webhook-notify/notify.mjs +66 -10
  18. package/assets/herdr/webhook-notify/pane-status.mjs +1 -1
  19. package/assets/reference-configs/agentic-development-flow.md +48 -23
  20. package/assets/reference-configs/design-options.md +11 -15
  21. package/assets/reference-configs/document-generation.md +10 -11
  22. package/assets/reference-configs/evaluator-rubric.md +1 -1
  23. package/assets/reference-configs/external-tooling.md +94 -41
  24. package/assets/reference-configs/global-working-rules.md +15 -4
  25. package/assets/reference-configs/harness-overview.md +100 -278
  26. package/assets/reference-configs/herdr-notify.md +76 -11
  27. package/assets/reference-configs/herdr-skill-context.md +61 -0
  28. package/assets/reference-configs/hook-operations.md +2 -3
  29. package/assets/reference-configs/host-invariants.md +30 -3
  30. package/assets/skill-commands/AGENTS.md +1 -1
  31. package/assets/skill-commands/CLAUDE.md +1 -1
  32. package/assets/skill-commands/manifest.json +108 -56
  33. package/assets/skill-commands/repo-harness-architecture/references/worker.md +27 -9
  34. package/assets/skill-commands/repo-harness-check/references/architecture-evidence.md +8 -0
  35. package/assets/skill-commands/repo-harness-check/references/create.md +5 -5
  36. package/assets/skill-commands/repo-harness-check/references/pr-verification.md +1 -7
  37. package/assets/skill-commands/repo-harness-ship/SKILL.md +2 -1
  38. package/assets/skill-commands/repo-harness-ship/references/worker.md +45 -1
  39. package/assets/skill-version.json +2 -2
  40. package/assets/skills/repo-harness-archimap/SKILL.md +121 -0
  41. package/assets/skills/repo-harness-archimap/assets/template.html +241 -0
  42. package/assets/skills/repo-harness-archimap/references/boards.md +105 -0
  43. package/assets/skills/repo-harness-archimap/references/visual-language.md +99 -0
  44. package/assets/skills/repo-harness-archimap/scripts/measure.ts +484 -0
  45. package/assets/skills/repo-harness-cross-review/references/generic-review.md +5 -2
  46. package/assets/skills/repo-harness-herdr-portal/references/spawn.md +7 -0
  47. package/assets/skills/repo-harness-issue-flow/SKILL.md +124 -0
  48. package/assets/skills/repo-harness-issue-flow/references/acceptor.md +138 -0
  49. package/assets/skills/repo-harness-issue-flow/references/board.md +264 -0
  50. package/assets/skills/repo-harness-issue-flow/references/events.md +117 -0
  51. package/assets/skills/repo-harness-issue-flow/references/orchestrator.md +443 -0
  52. package/assets/skills/repo-harness-issue-flow/references/replan.md +99 -0
  53. package/assets/skills/repo-harness-issue-flow/references/templates.md +444 -0
  54. package/assets/skills/repo-harness-issue-flow/references/worker.md +234 -0
  55. package/assets/skills/repo-harness-product/SKILL.md +4 -4
  56. package/assets/skills/repo-harness-product/references/goal.md +7 -7
  57. package/assets/skills/repo-harness-product/references/prd.md +5 -7
  58. package/assets/skills/repo-harness-setup/references/init.md +0 -1
  59. package/assets/skills/repo-harness-setup/references/repair.md +1 -1
  60. package/assets/skills/repo-harness-test/references/authoring.md +5 -6
  61. package/assets/skills/repo-harness-test/references/refactor-evidence.md +1 -1
  62. package/assets/skills/repo-harness-test/references/running.md +1 -1
  63. package/assets/skills/repo-harness-test/references/verification-plan.md +2 -16
  64. package/assets/templates/design-brief.template.md +5 -5
  65. package/assets/templates/helpers/capability-resolver.ts +115 -40
  66. package/assets/templates/prd.template.md +1 -1
  67. package/assets/templates/root-context.md +41 -0
  68. package/assets/templates/runtime.gitignore +1 -8
  69. package/assets/tool-catalog.v1.json +50 -3
  70. package/assets/workflow-contract.v1.json +380 -215
  71. package/cordis.patch.yml +7 -0
  72. package/dist/dsh/client.js +132 -0
  73. package/dist/dsh/package.json +21 -0
  74. package/dist/dsh/plugin.js +4526 -0
  75. package/dist/hook-entry.js +1525 -1730
  76. package/dist/oar-review-host.js +133 -87
  77. package/dist/operator-ui/assets/ArchitectureWorkspace-CY6MWVYK.js +7 -0
  78. package/dist/operator-ui/assets/ArchitectureWorkspace-CeJeskZg.css +1 -0
  79. package/dist/operator-ui/assets/DocsPage-DnPRp8Bo.js +33 -0
  80. package/dist/operator-ui/assets/abnfDiagram-VCTEODGH-FrczBTcM.js +1 -0
  81. package/dist/operator-ui/assets/arc-Pry-7G1_.js +1 -0
  82. package/dist/operator-ui/assets/architecture-7GRP2DOG-DJmhcRNc.js +1 -0
  83. package/dist/operator-ui/assets/architectureDiagram-5GKGNRK7-B7YjW5cP.js +36 -0
  84. package/dist/operator-ui/assets/array-BifhSqXX.js +1 -0
  85. package/dist/operator-ui/assets/blockDiagram-I7D4REHJ-VlgsJiAG.js +129 -0
  86. package/dist/operator-ui/assets/c4Diagram-7LVT6UL2-D7skC_rA.js +38 -0
  87. package/dist/operator-ui/assets/channel-CH26DhuI.js +1 -0
  88. package/dist/operator-ui/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  89. package/dist/operator-ui/assets/chunk-4HAMMTFA-CmMSCuUx.js +62 -0
  90. package/dist/operator-ui/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  91. package/dist/operator-ui/assets/chunk-75Z2AOVW-C2Xq_mi9.js +2 -0
  92. package/dist/operator-ui/assets/chunk-DU6HZSFF-c1GQqTNL.js +127 -0
  93. package/dist/operator-ui/assets/chunk-F27PBJKO-mKGGg2lc.js +1 -0
  94. package/dist/operator-ui/assets/chunk-FOHPRMQF-DzxwRta7.js +161 -0
  95. package/dist/operator-ui/assets/chunk-GMAD6QVW-BBvaMzz7.js +72 -0
  96. package/dist/operator-ui/assets/chunk-GVQU2GXP-Ciqkfb7x.js +1 -0
  97. package/dist/operator-ui/assets/chunk-IMKFNOWR-lPRrJwGG.js +231 -0
  98. package/dist/operator-ui/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  99. package/dist/operator-ui/assets/chunk-L3NEJ4N5-ZCELMmfj.js +1 -0
  100. package/dist/operator-ui/assets/chunk-OSK3NFVY-C2FSyex1.js +10 -0
  101. package/dist/operator-ui/assets/chunk-P2QGCYS3-BNCem-OE.js +1 -0
  102. package/dist/operator-ui/assets/chunk-POPQ4Y6H-DLkj1nb5.js +1 -0
  103. package/dist/operator-ui/assets/chunk-PWAF6VOD-BPXpJW86.js +1 -0
  104. package/dist/operator-ui/assets/chunk-SHT3W25Y-C2LRo2LL.js +168 -0
  105. package/dist/operator-ui/assets/chunk-SVP7TREG-DzBTsX5k.js +88 -0
  106. package/dist/operator-ui/assets/chunk-TICWLB2K-Bcy59Hos.js +206 -0
  107. package/dist/operator-ui/assets/chunk-XXDRQBXY-Bd3Sm03O.js +1 -0
  108. package/dist/operator-ui/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  109. package/dist/operator-ui/assets/classDiagram-ZZMXUADV-CmP13vv6.js +1 -0
  110. package/dist/operator-ui/assets/classDiagram-v2-VYDZK3BY-CmP13vv6.js +1 -0
  111. package/dist/operator-ui/assets/cose-bilkent-JH36ORCC-DcCrMHTN.js +1 -0
  112. package/dist/operator-ui/assets/cynefin-OW5HDTMX-ClBj8Ulr.js +1 -0
  113. package/dist/operator-ui/assets/cynefinDiagram-5FMLGOSQ-Ds7Mibm4.js +62 -0
  114. package/dist/operator-ui/assets/cytoscape.esm-ZKjJ8woK.js +321 -0
  115. package/dist/operator-ui/assets/dagre-C-rnJpZF.js +1 -0
  116. package/dist/operator-ui/assets/dagre-GXQ25YYZ-BQdr4QZm.js +4 -0
  117. package/dist/operator-ui/assets/defaultLocale-BFoDCU3G.js +1 -0
  118. package/dist/operator-ui/assets/diagram-S7CK7UJ4-D2lmiWeD.js +30 -0
  119. package/dist/operator-ui/assets/diagram-UQ7AKVKN-O3oH4sVn.js +41 -0
  120. package/dist/operator-ui/assets/diagram-VSXAHHWV-ChWUSpJM.js +3 -0
  121. package/dist/operator-ui/assets/diagram-VX7I27RA-Ch69HZTd.js +24 -0
  122. package/dist/operator-ui/assets/diagram-Z3DM3KII-BrawDVH6.js +24 -0
  123. package/dist/operator-ui/assets/dist-v5Q1xZ2K.js +1 -0
  124. package/dist/operator-ui/assets/ebnfDiagram-PWID7BFC-DmJK-kmd.js +1 -0
  125. package/dist/operator-ui/assets/erDiagram-RLTQ6QDP-Q0HnvPDo.js +99 -0
  126. package/dist/operator-ui/assets/eventmodeling-NTZA5JFV-BCV_9PCS.js +1 -0
  127. package/dist/operator-ui/assets/flowDiagram-HODETNUW-UuLvXIz-.js +1 -0
  128. package/dist/operator-ui/assets/ganttDiagram-EL5Y4UJY-qvwdPHBY.js +292 -0
  129. package/dist/operator-ui/assets/gitGraph-4MIJSDKK-Dx7BjZZV.js +1 -0
  130. package/dist/operator-ui/assets/gitGraphDiagram-WWUBYQGX-VMYWxpyb.js +106 -0
  131. package/dist/operator-ui/assets/graphlib-DS17s2tU.js +1 -0
  132. package/dist/operator-ui/assets/index-BRqR1RMk.js +25 -0
  133. package/dist/operator-ui/assets/index-DDZqieYX.css +2 -0
  134. package/dist/operator-ui/assets/info-A6RAGUB7-CWmAbV2v.js +1 -0
  135. package/dist/operator-ui/assets/infoDiagram-27XIBGKW-CbdlBmQQ.js +2 -0
  136. package/dist/operator-ui/assets/init-C-OQMol4.js +1 -0
  137. package/dist/operator-ui/assets/ishikawaDiagram-5VMMS53U-DCFApDt3.js +70 -0
  138. package/dist/operator-ui/assets/journeyDiagram-3NMN7TZE-JU9Lmrb8.js +139 -0
  139. package/dist/operator-ui/assets/kanban-definition-UXKFOSKX-BaFyfuHa.js +89 -0
  140. package/dist/operator-ui/assets/katex-ZlcWpGUi.js +257 -0
  141. package/dist/operator-ui/assets/line-B0IEL5-x.js +1 -0
  142. package/dist/operator-ui/assets/linear-CFt_L1U_.js +1 -0
  143. package/dist/operator-ui/assets/mermaid-parser.core-BY831mH1.js +7 -0
  144. package/dist/operator-ui/assets/mermaid.core-ButCc1lu.js +44 -0
  145. package/dist/operator-ui/assets/mindmap-definition-YA3MSWOX-BZ9lAvGW.js +96 -0
  146. package/dist/operator-ui/assets/ordinal-BDEzSJ7C.js +1 -0
  147. package/dist/operator-ui/assets/packet-AYTQ26CC-B5-Y1eju.js +1 -0
  148. package/dist/operator-ui/assets/path-fybaL0A-.js +1 -0
  149. package/dist/operator-ui/assets/pegDiagram-XKGWAZYB-Ahet4paP.js +1 -0
  150. package/dist/operator-ui/assets/pie-WAS4IAKB-CMEA1YN5.js +1 -0
  151. package/dist/operator-ui/assets/pieDiagram-E7YTZNPT-BKoLuqEb.js +39 -0
  152. package/dist/operator-ui/assets/quadrantDiagram-AXDQQJYC-Ba5lcmOU.js +7 -0
  153. package/dist/operator-ui/assets/radar-RG4KPBEZ-DRKsFqgB.js +1 -0
  154. package/dist/operator-ui/assets/railroad-74A4TZTK-UnJQj6WT.js +1 -0
  155. package/dist/operator-ui/assets/railroad-abnf-HS5TGJTU-BfLADly0.js +1 -0
  156. package/dist/operator-ui/assets/railroad-ebnf-LZEXJU2U-Dctjf-fQ.js +1 -0
  157. package/dist/operator-ui/assets/railroad-peg-WCYAUIDC-DC2Nq5l8.js +1 -0
  158. package/dist/operator-ui/assets/railroadDiagram-O6MQD6OU-Ii3HCSET.js +1 -0
  159. package/dist/operator-ui/assets/requirementDiagram-BXWQKSXE-GiUPpmpF.js +84 -0
  160. package/dist/operator-ui/assets/rolldown-runtime-hePW80VL.js +1 -0
  161. package/dist/operator-ui/assets/rough.esm-Dy-Kn_BL.js +1 -0
  162. package/dist/operator-ui/assets/sankeyDiagram-P5KCCOFB-CUfXBwpy.js +40 -0
  163. package/dist/operator-ui/assets/sequenceDiagram-WJ2MYXX4-T3ZLlCgn.js +162 -0
  164. package/dist/operator-ui/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
  165. package/dist/operator-ui/assets/src-B-DeWB10.js +1 -0
  166. package/dist/operator-ui/assets/src-D6_zRfqR.js +1 -0
  167. package/dist/operator-ui/assets/stateDiagram-D77RDMKH-D2AphR6j.js +1 -0
  168. package/dist/operator-ui/assets/stateDiagram-v2-MP3YSRHH-DoOPJXWN.js +1 -0
  169. package/dist/operator-ui/assets/swimlanes-42K2YHIH-DNQbbl88.js +1 -0
  170. package/dist/operator-ui/assets/swimlanesDiagram-VR7AAH4N-FdvvbV9Z.js +8 -0
  171. package/dist/operator-ui/assets/timeline-definition-24CTP7MA-Co0q_tCB.js +120 -0
  172. package/dist/operator-ui/assets/treeView-Q6P3EWNA-B3AJbB6p.js +1 -0
  173. package/dist/operator-ui/assets/treemap-WGGIJYW6-_H9SWbfT.js +1 -0
  174. package/dist/operator-ui/assets/value-DcGlvoTp.js +1 -0
  175. package/dist/operator-ui/assets/vennDiagram-4TSXK5OY-CGfjaO6_.js +34 -0
  176. package/dist/operator-ui/assets/wardley-WFR3VGLG-NUDbyuOy.js +1 -0
  177. package/dist/operator-ui/assets/wardleyDiagram-VM6X3IG4-COuGUrRm.js +78 -0
  178. package/dist/operator-ui/assets/xychartDiagram-S5SC5T6Z-DHG9QX-U.js +7 -0
  179. package/dist/operator-ui/index.html +4 -3
  180. package/dist/operator-ui/logos/README.md +7 -0
  181. package/dist/operator-ui/logos/repo-harness-carrot-mark-transparent.svg +1 -0
  182. package/dist/operator-ui/mascots/README.md +11 -0
  183. package/dist/operator-ui/mascots/buddy-alert.svg +1 -0
  184. package/dist/operator-ui/mascots/buddy-happy.svg +1 -0
  185. package/dist/operator-ui/mascots/buddy-party.svg +1 -0
  186. package/dist/operator-ui/mascots/buddy-reading.svg +1 -0
  187. package/dist/operator-ui/mascots/buddy-search.svg +1 -0
  188. package/dist/operator-ui/mascots/buddy-sleep.svg +1 -0
  189. package/dist/operator-ui/mascots/buddy-wrench.svg +1 -0
  190. package/dist/operator-ui/mascots/buddy.svg +1 -0
  191. package/dist/operator-ui/mascots/bug.svg +1 -0
  192. package/dist/operator-ui/mascots/cloud-off.svg +1 -0
  193. package/dist/operator-ui/mascots/donkey-bags.svg +1 -0
  194. package/dist/operator-ui/mascots/donkey-happy.svg +1 -0
  195. package/dist/operator-ui/mascots/donkey.svg +1 -0
  196. package/dist/operator-ui/mascots/hook-cap.svg +1 -0
  197. package/dist/operator-ui/mascots/hook-carrot.svg +1 -0
  198. package/dist/operator-ui/mascots/hook.svg +1 -0
  199. package/dist/operator-ui/mascots/terminal.svg +1 -0
  200. package/docs/images/archimap.png +0 -0
  201. package/docs/images/operator-console/bot-paths.png +0 -0
  202. package/docs/images/operator-console/docs-session-states.png +0 -0
  203. package/docs/images/operator-console/ia-sidebar.png +0 -0
  204. package/interfaces/effective-state-v2.ts +1 -0
  205. package/interfaces/types.ts +1 -1
  206. package/package.json +40 -13
  207. package/references/handoff.md +17 -19
  208. package/scripts/AGENTS.md +3 -5
  209. package/scripts/CLAUDE.md +3 -5
  210. package/scripts/axr5-archctx-clean-room.ts +14 -2
  211. package/scripts/capability-config.ts +0 -19
  212. package/scripts/check-agent-tooling.sh +63 -39
  213. package/scripts/check-pi-package-smoke.ts +39 -0
  214. package/scripts/check-state-boundaries.ts +342 -53
  215. package/scripts/check-tarball-install-smoke.sh +23 -28
  216. package/scripts/contract-worktree-runtime.ts +29 -13
  217. package/scripts/contract-worktree.sh +142 -199
  218. package/scripts/create-project-dirs.sh +1 -41
  219. package/scripts/heartbeat-triage.sh +0 -46
  220. package/scripts/init-project.sh +2 -48
  221. package/scripts/inspect-project-state.ts +0 -29
  222. package/scripts/install-agent-fleet.sh +16 -10
  223. package/scripts/lib/ci-run-tests.sh +29 -1
  224. package/scripts/lib/project-init-lib.sh +101 -368
  225. package/scripts/lib/test-home-isolation.mjs +20 -4
  226. package/scripts/maintenance-triage.sh +52 -1
  227. package/scripts/project-test-capabilities.ts +167 -0
  228. package/scripts/report-ci.ts +219 -29
  229. package/scripts/run-harness-profile-benchmark.ts +4 -43
  230. package/scripts/run-skill-routing-eval.ts +60 -26
  231. package/scripts/select-ci-coverage.ts +29 -49
  232. package/scripts/ship-worktrees.sh +1 -20
  233. package/scripts/skill-surface-select.ts +2 -0
  234. package/scripts/sync-codex-installed-copies.sh +17 -2
  235. package/scripts/test-file-durations.json +0 -39
  236. package/scripts/workflow-contract.ts +4 -0
  237. package/scripts/worktree-merge-lib.sh +1 -2
  238. package/src/cli/commands/adoption-plan.ts +31 -13
  239. package/src/cli/commands/architecture-configuration.ts +21 -20
  240. package/src/cli/commands/architecture-debt.ts +8 -1
  241. package/src/cli/commands/bots.ts +45 -0
  242. package/src/cli/commands/brain-root.ts +9 -8
  243. package/src/cli/commands/brain.ts +7 -146
  244. package/src/cli/commands/candidate-reconciliation.ts +1 -1
  245. package/src/cli/commands/capability-context.ts +0 -2
  246. package/src/cli/commands/doc-sessions.ts +107 -0
  247. package/src/cli/commands/doctor.ts +128 -164
  248. package/src/cli/commands/events.ts +174 -0
  249. package/src/cli/commands/external-source.ts +1 -9
  250. package/src/cli/commands/fleet.ts +34 -7
  251. package/src/cli/commands/global-runtime.ts +123 -83
  252. package/src/cli/commands/herdr-skill-render.d.mts +1 -0
  253. package/src/cli/commands/herdr-skill-render.mjs +14 -0
  254. package/src/cli/commands/herdr-skill.ts +23 -12
  255. package/src/cli/commands/herdr.ts +6 -2
  256. package/src/cli/commands/init-hook.ts +30 -11
  257. package/src/cli/commands/init.ts +22 -73
  258. package/src/cli/commands/mcp.ts +10 -268
  259. package/src/cli/commands/operator.ts +25 -16
  260. package/src/cli/commands/publication.ts +36 -10
  261. package/src/cli/commands/retention.ts +18 -12
  262. package/src/cli/commands/review.ts +51 -12
  263. package/src/cli/commands/run.ts +2 -19
  264. package/src/cli/commands/setup-check-child.ts +2 -1
  265. package/src/cli/commands/setup-snapshot.ts +29 -7
  266. package/src/cli/commands/state.ts +11 -10
  267. package/src/cli/commands/tools.ts +232 -1
  268. package/src/cli/commands/upgrade-registered.ts +309 -0
  269. package/src/cli/commands/upgrade.ts +246 -21
  270. package/src/cli/commands/worktrees.ts +122 -0
  271. package/src/cli/hook/AGENTS.md +5 -6
  272. package/src/cli/hook/CLAUDE.md +5 -6
  273. package/src/cli/hook/agent-notice.ts +88 -12
  274. package/src/cli/hook/bridge-client.ts +128 -0
  275. package/src/cli/hook/event-telemetry.ts +182 -1
  276. package/src/cli/hook/handler-registry.ts +2 -2
  277. package/src/cli/hook/hook-protocol.ts +45 -0
  278. package/src/cli/hook/mutation-bash.ts +114 -28
  279. package/src/cli/hook/mutation-guard.ts +55 -12
  280. package/src/cli/hook/route-registry.ts +13 -5
  281. package/src/cli/hook/runtime.ts +6 -3
  282. package/src/cli/hook/session-context.ts +6 -83
  283. package/src/cli/hook/stop-handler.ts +6 -49
  284. package/src/cli/hook/subagent-context.ts +1 -1
  285. package/src/cli/index.ts +170 -88
  286. package/src/cli/installer/configuration-ownership.ts +12 -3
  287. package/src/cli/installer/global-context.ts +28 -2
  288. package/src/cli/installer/install-profile.ts +207 -62
  289. package/src/cli/installer/managed-entries.ts +2 -2
  290. package/src/cli/installer/pi-package.ts +90 -0
  291. package/src/cli/installer/shared.ts +1 -1
  292. package/src/cli/installer/skill-projection.ts +7 -5
  293. package/src/cli/installer/uninstall.ts +63 -18
  294. package/src/cli/mcp/auth.ts +31 -187
  295. package/src/cli/mcp/codegraph-adapter.ts +26 -24
  296. package/src/cli/mcp/doctor.ts +141 -0
  297. package/src/cli/mcp/fleet-tools.ts +21 -8
  298. package/src/cli/mcp/general-repo-access/authority.ts +22 -0
  299. package/src/cli/mcp/general-repo-access.ts +3 -0
  300. package/src/cli/mcp/instructions.ts +4 -11
  301. package/src/cli/mcp/policy.ts +12 -63
  302. package/src/cli/mcp/repo.ts +1 -1
  303. package/src/cli/mcp/server.ts +4 -132
  304. package/src/cli/mcp/state-tools.ts +20 -49
  305. package/src/cli/mcp/tools.ts +17 -591
  306. package/src/cli/mcp/types.ts +1 -13
  307. package/src/core/architecture/module-view.ts +1 -10
  308. package/src/core/architecture/projection.ts +66 -1
  309. package/src/core/capabilities/ownership-blocker.ts +9 -1
  310. package/src/core/capabilities/registry.ts +3 -14
  311. package/src/core/capabilities/resolver.ts +0 -2
  312. package/src/core/decision/pane-status.d.mts +1 -1
  313. package/src/core/decision/pane-status.mjs +1 -1
  314. package/src/core/dev-activity/architecture.ts +24 -0
  315. package/src/core/dev-activity/brief.ts +15 -8
  316. package/src/core/dev-activity/decode.ts +19 -23
  317. package/src/core/dev-activity/projection.ts +24 -8
  318. package/src/core/dev-activity/types.ts +23 -5
  319. package/src/core/evidence/required-check-evidence.ts +659 -0
  320. package/src/core/evidence/test-execution-evidence.ts +154 -0
  321. package/src/core/evidence/workflow-needs.ts +143 -0
  322. package/src/core/external-sources/binding.ts +0 -173
  323. package/src/core/fleet/admitted-task-message.ts +7 -6
  324. package/src/core/fleet/board.ts +8 -40
  325. package/src/core/fleet/task-message.ts +9 -15
  326. package/src/core/messages/task-message-error.ts +11 -1
  327. package/src/core/operator/admitted-task-activity.ts +3 -3
  328. package/src/core/operator/admitted-task-context.ts +2 -7
  329. package/src/core/operator/agents-settings.ts +283 -0
  330. package/src/core/operator/architecture-map.ts +867 -0
  331. package/src/core/operator/architecture.ts +19 -1
  332. package/src/core/operator/bot-access.ts +365 -0
  333. package/src/core/operator/doc-citation.ts +105 -0
  334. package/src/core/operator/doc-session-agent-record.ts +26 -0
  335. package/src/core/operator/doc-session-changes.ts +191 -0
  336. package/src/core/operator/doc-session-events.ts +211 -0
  337. package/src/core/operator/doc-session-finalization-view.ts +44 -0
  338. package/src/core/operator/doc-session-finalize.ts +42 -0
  339. package/src/core/operator/doc-session-record.ts +58 -0
  340. package/src/core/operator/doc-session-views.ts +99 -0
  341. package/src/core/operator/docs-host-runtimes.ts +16 -0
  342. package/src/core/operator/docs.ts +139 -0
  343. package/src/core/operator/execution-state.ts +156 -0
  344. package/src/core/operator/fleet-snapshot.ts +6 -21
  345. package/src/core/operator/herdr-pin.ts +13 -0
  346. package/src/core/operator/notify-status.ts +128 -0
  347. package/src/core/operator/public-text.ts +24 -0
  348. package/src/core/operator/pull-request-files.ts +10 -0
  349. package/src/core/operator/runtime-status.ts +44 -78
  350. package/src/core/operator/task-activity.ts +6 -88
  351. package/src/core/operator/tests.ts +298 -0
  352. package/src/core/operator/worktree-cleanup-observation.ts +35 -0
  353. package/src/core/operator/worktree-cleanup-plan.ts +129 -0
  354. package/src/core/operator/worktree-cleanup.ts +86 -0
  355. package/src/core/operator/worktrees.ts +87 -0
  356. package/src/core/publication/acceptance-merge-policy.ts +196 -0
  357. package/src/core/publication/closing-references.ts +96 -0
  358. package/src/core/publication/generated-artifacts.ts +316 -0
  359. package/src/core/publication/merge-readiness.ts +351 -7
  360. package/src/core/publication/policy-path.ts +2 -0
  361. package/src/core/publication/required-check-coverage.ts +314 -0
  362. package/src/core/review/acceptance-receipt.ts +112 -14
  363. package/src/core/review/authority-context.ts +8 -0
  364. package/src/core/review/generic-review.ts +7 -2
  365. package/src/core/review/review-publish.ts +262 -0
  366. package/src/core/review/review-runtimes.ts +11 -0
  367. package/src/core/review/runner-port.ts +149 -0
  368. package/src/core/sessions/task-sessions.ts +1 -7
  369. package/src/core/setup/cli-inventory.ts +463 -0
  370. package/src/core/setup/cli-seed.v1.json +538 -0
  371. package/src/core/setup/decode.ts +49 -11
  372. package/src/core/setup/hook-usage.ts +94 -0
  373. package/src/core/setup/projection.ts +25 -8
  374. package/src/core/setup/types.ts +51 -16
  375. package/src/core/skill-surface/catalog.ts +11 -6
  376. package/src/core/skill-surface/projection-state.ts +10 -0
  377. package/src/core/state/artifact-parsers.ts +0 -31
  378. package/src/core/state/coordination-identity.ts +4 -179
  379. package/src/core/state/project-continuation-envelope.ts +30 -26
  380. package/src/core/state/project-effective-state.ts +8 -95
  381. package/src/core/state/project-state-snapshot.ts +4 -16
  382. package/src/core/state/types.ts +28 -19
  383. package/src/core/tools/catalog.ts +29 -3
  384. package/src/dsh/bridge.ts +41 -0
  385. package/src/dsh/build.ts +71 -0
  386. package/src/dsh/client.tsx +99 -0
  387. package/src/dsh/guard-denials.ts +78 -0
  388. package/src/dsh/package.dist.json +21 -0
  389. package/src/dsh/plugin.ts +278 -0
  390. package/src/dsh/protocol.ts +16 -0
  391. package/src/effects/admission/admission-source.ts +3 -0
  392. package/src/effects/adoption/gitignore-plan.ts +9 -3
  393. package/src/effects/adoption/manifest-templates.ts +1 -1
  394. package/src/effects/adoption/standard-plan.ts +155 -230
  395. package/src/effects/architecture/archctx-provider.ts +25 -2
  396. package/src/effects/architecture/capability-resolver.ts +1 -23
  397. package/src/effects/architecture/model-reader.ts +5 -4
  398. package/src/effects/artifact-retention.ts +19 -56
  399. package/src/effects/bot-registry.ts +186 -0
  400. package/src/effects/configuration/agents-configuration.ts +127 -0
  401. package/src/effects/configuration/global-configuration.ts +114 -8
  402. package/src/effects/dev-activity/collector.ts +94 -26
  403. package/src/effects/external-sources/binding.ts +8 -12
  404. package/src/effects/external-sources/store.ts +2 -26
  405. package/src/effects/fleet/board.ts +4 -21
  406. package/src/effects/fleet/provider-feedback.ts +1 -1
  407. package/src/effects/fleet/task-inbox-layout-migration.ts +24 -10
  408. package/src/effects/fleet/task-inbox.ts +24 -149
  409. package/src/effects/git/common-directory.ts +17 -7
  410. package/src/effects/git/managed-worktree.ts +33 -0
  411. package/src/effects/git/runner.ts +110 -0
  412. package/src/effects/git/worktree-processes.ts +72 -0
  413. package/src/effects/git/worktree-record.ts +71 -0
  414. package/src/effects/host-skill-roots.ts +9 -5
  415. package/src/effects/locking/exclusive-directory-lock.ts +45 -31
  416. package/src/effects/locking/runtime-transaction-lock.ts +123 -0
  417. package/src/effects/loop/state-input-collector.ts +0 -5
  418. package/src/effects/operator/admitted-task-activity.ts +5 -2
  419. package/src/effects/operator/agents-settings-route.ts +94 -0
  420. package/src/effects/operator/architecture-map-collector.ts +156 -0
  421. package/src/effects/operator/architecture-map-worker.ts +685 -0
  422. package/src/effects/operator/architecture.ts +16 -1
  423. package/src/effects/operator/bot-access.ts +286 -0
  424. package/src/effects/operator/cleanup-file-access.ts +140 -0
  425. package/src/effects/operator/doc-session-changes.ts +431 -0
  426. package/src/effects/operator/doc-session-events.ts +198 -0
  427. package/src/effects/operator/doc-session-finalization-view.ts +12 -0
  428. package/src/effects/operator/doc-session-finalize-github.ts +147 -0
  429. package/src/effects/operator/doc-session-finalize-scope.ts +39 -0
  430. package/src/effects/operator/doc-session-finalize.ts +404 -0
  431. package/src/effects/operator/doc-session-views.ts +131 -0
  432. package/src/effects/operator/doc-session.ts +277 -0
  433. package/src/effects/operator/docs-collector.ts +182 -0
  434. package/src/effects/operator/docs-reader.ts +470 -0
  435. package/src/effects/operator/execution-collector.ts +129 -0
  436. package/src/effects/operator/execution-state-worker.ts +23 -0
  437. package/src/effects/operator/execution-state.ts +76 -0
  438. package/src/effects/operator/herdr-runtime-transport.ts +13 -16
  439. package/src/effects/operator/notify-collector.ts +62 -0
  440. package/src/effects/operator/notify-status.ts +101 -87
  441. package/src/effects/operator/runtime-service.ts +9 -4
  442. package/src/effects/operator/runtime-source.ts +13 -27
  443. package/src/effects/operator/runtime-status.ts +40 -53
  444. package/src/effects/operator/server.ts +618 -477
  445. package/src/effects/operator/task-context.ts +0 -2
  446. package/src/effects/operator/task-diff.ts +15 -10
  447. package/src/effects/operator/task-read-process.ts +20 -10
  448. package/src/effects/operator/tests-collector.ts +317 -0
  449. package/src/effects/operator/worktree-cleanup-archive.ts +229 -0
  450. package/src/effects/operator/worktree-cleanup-observation.ts +199 -0
  451. package/src/effects/operator/worktree-cleanup-plan.ts +204 -0
  452. package/src/effects/operator/worktree-cleanup-removal.ts +54 -0
  453. package/src/effects/operator/worktree-cleanup.ts +226 -0
  454. package/src/effects/operator/worktree-collector-worker.ts +98 -0
  455. package/src/effects/operator/worktree-collector.ts +81 -0
  456. package/src/effects/operator/worktree-orphans-worker.ts +95 -0
  457. package/src/effects/operator/write-audit.ts +183 -0
  458. package/src/effects/operator/write-channel.ts +172 -0
  459. package/src/effects/operator/write-run.ts +197 -0
  460. package/src/effects/path-identity.ts +8 -0
  461. package/src/effects/pi-agent-dir.ts +11 -0
  462. package/src/effects/pi-executable.ts +34 -0
  463. package/src/effects/process-group-registry.ts +1 -1
  464. package/src/effects/publication/generated-artifacts.ts +517 -0
  465. package/src/effects/publication/merge-executor.ts +613 -0
  466. package/src/effects/publication/merge-readiness.ts +988 -83
  467. package/src/effects/publication/test-execution-evidence.ts +205 -0
  468. package/src/effects/repo-harness-home.ts +8 -0
  469. package/src/effects/repo-registry.ts +186 -17
  470. package/src/effects/review/acceptance-receipt.ts +136 -6
  471. package/src/effects/review/diff-fingerprint.ts +3 -7
  472. package/src/effects/review/docs-host-isolation.ts +312 -0
  473. package/src/effects/review/docs-host-proxy.ts +162 -0
  474. package/src/effects/review/generic-review.ts +95 -183
  475. package/src/effects/review/review-isolation.ts +86 -15
  476. package/src/effects/review/review-publish.ts +317 -0
  477. package/src/effects/{review/oar-review-host.ts → review-runner/task-oar-host.ts} +31 -37
  478. package/src/effects/{review/pre-prompt-inbox-consumer.ts → review-runner/task-pre-prompt-inbox-consumer.ts} +5 -5
  479. package/src/effects/{review/pre-prompt-inbox.ts → review-runner/task-pre-prompt-inbox.ts} +4 -4
  480. package/src/effects/review-runner/task-review-runner.ts +209 -0
  481. package/src/effects/runtime/helper-runner.ts +0 -1
  482. package/src/effects/runtime/protected-helper-platform.ts +8 -38
  483. package/src/effects/sessions/admitted-source.ts +2 -5
  484. package/src/effects/sessions/task-sessions.ts +3 -3
  485. package/src/effects/setup/agent-runtime-probe-child.ts +9 -0
  486. package/src/effects/setup/agent-runtime-probe.ts +116 -0
  487. package/src/effects/setup/cli-inventory.ts +456 -0
  488. package/src/effects/setup/collector.ts +63 -7
  489. package/src/effects/setup/hook-usage.ts +56 -0
  490. package/src/effects/setup/pi-capability-child.ts +9 -0
  491. package/src/effects/setup/pi-herdr-integration.ts +58 -0
  492. package/src/effects/setup/pi-host-probe.ts +32 -0
  493. package/src/effects/state/coordination-worktree-topology.ts +610 -82
  494. package/src/effects/state/resolve-continuation-envelope.ts +2 -2
  495. package/src/effects/state/resolve-effective-state.ts +79 -109
  496. package/src/effects/state/worktree-trash.ts +157 -6
  497. package/src/effects/strategy/context.ts +2 -3
  498. package/src/effects/terminal/herdr-decision.ts +2 -2
  499. package/src/effects/terminal/herdr-notify-install.ts +88 -0
  500. package/src/effects/terminal/herdr-observation.ts +29 -24
  501. package/src/effects/terminal/herdr.ts +1 -1
  502. package/src/effects/terminal/native-task-session.ts +9 -6
  503. package/src/effects/terminal/task-role-profiles.ts +4 -1
  504. package/src/effects/terminal/task-runtime-observation.ts +16 -6
  505. package/src/effects/terminal/task-session-admission.ts +72 -0
  506. package/src/effects/terminal/task-session-io.ts +24 -2
  507. package/src/effects/terminal/{task-session-reader.ts → task-session-record.ts} +76 -6
  508. package/src/effects/terminal/task-session.ts +106 -213
  509. package/src/effects/terminal/task-worktree-runtime.ts +25 -0
  510. package/src/effects/upgrade/legacy-inventory.ts +155 -9
  511. package/src/effects/upgrade/legacy-worktree-cleanup.ts +215 -0
  512. package/src/effects/upgrade/operator-decisions.ts +131 -0
  513. package/src/effects/upgrade/worktree-template-migration.ts +141 -0
  514. package/src/operator-web/AdmittedTaskContext.tsx +1 -2
  515. package/src/operator-web/App.tsx +199 -262
  516. package/src/operator-web/ArchitectureHistory.tsx +481 -0
  517. package/src/operator-web/ArchitectureMap.tsx +462 -0
  518. package/src/operator-web/ArchitectureSequence.tsx +303 -0
  519. package/src/operator-web/ArchitectureTopology.tsx +219 -0
  520. package/src/operator-web/ArchitectureWorkspace.tsx +42 -4
  521. package/src/operator-web/Board.tsx +29 -13
  522. package/src/operator-web/BotsPage.tsx +335 -0
  523. package/src/operator-web/CliPage.tsx +113 -0
  524. package/src/operator-web/DocsMarkdown.tsx +182 -0
  525. package/src/operator-web/DocsPage.tsx +229 -0
  526. package/src/operator-web/Drawer.tsx +10 -4
  527. package/src/operator-web/Home.tsx +352 -0
  528. package/src/operator-web/ItemDrawer.tsx +63 -7
  529. package/src/operator-web/NavRail.tsx +394 -0
  530. package/src/operator-web/RepositoryWorkspace.tsx +11 -128
  531. package/src/operator-web/RuntimeBadges.tsx +5 -4
  532. package/src/operator-web/SettingsPage.tsx +250 -0
  533. package/src/operator-web/SetupPages.tsx +40 -7
  534. package/src/operator-web/TestsPage.tsx +258 -0
  535. package/src/operator-web/ToolsPage.tsx +26 -14
  536. package/src/operator-web/WorktreesPage.tsx +251 -0
  537. package/src/operator-web/app.css +280 -20
  538. package/src/operator-web/architecture-map-layers.ts +125 -0
  539. package/src/operator-web/architecture-map-layout.ts +185 -0
  540. package/src/operator-web/architecture-map-parts.tsx +236 -0
  541. package/src/operator-web/architecture-runtime.ts +43 -0
  542. package/src/operator-web/architecture-sequence-layout.ts +126 -0
  543. package/src/operator-web/architecture-topology-layout.ts +157 -0
  544. package/src/operator-web/bots.ts +76 -0
  545. package/src/operator-web/brand.tsx +22 -0
  546. package/src/operator-web/design-tokens.ts +58 -0
  547. package/src/operator-web/dev-activity.ts +28 -7
  548. package/src/operator-web/fixture.ts +5 -65
  549. package/src/operator-web/fixtures/architecture-map.json +18788 -0
  550. package/src/operator-web/fixtures/bots.ts +97 -0
  551. package/src/operator-web/fixtures/dev-activity.ts +49 -9
  552. package/src/operator-web/fixtures/docs.ts +131 -0
  553. package/src/operator-web/fixtures/index.ts +68 -7
  554. package/src/operator-web/fixtures/settings.ts +102 -0
  555. package/src/operator-web/fixtures/setup.ts +22 -9
  556. package/src/operator-web/fixtures/tests.ts +72 -0
  557. package/src/operator-web/fixtures/worktrees.ts +115 -0
  558. package/src/operator-web/fleet-api.ts +0 -40
  559. package/src/operator-web/i18n.ts +1421 -223
  560. package/src/operator-web/index.html +1 -1
  561. package/src/operator-web/labels.ts +7 -0
  562. package/src/operator-web/main.tsx +2 -0
  563. package/src/operator-web/repository-reads.ts +279 -0
  564. package/src/operator-web/settings.ts +270 -0
  565. package/src/operator-web/setup.ts +16 -9
  566. package/src/operator-web/task-location.ts +10 -15
  567. package/src/operator-web/types.ts +72 -110
  568. package/src/operator-web/ui.tsx +19 -2
  569. package/src/operator-web/workspace-location.ts +45 -13
  570. package/src/operator-web/worktrees.ts +245 -0
  571. package/src/pi/compat.ts +54 -0
  572. package/src/pi/extension.ts +139 -0
  573. package/src/pi/hook-bridge.ts +44 -0
  574. package/agents/engineers/profiles/verification-evals-checks.json +0 -17
  575. package/agents/engineers/profiles/workflow-engine-contract-assets.json +0 -17
  576. package/agents/engineers/sops/verification-evals-checks.md +0 -9
  577. package/agents/engineers/sops/workflow-engine-contract-assets.md +0 -9
  578. package/assets/reference-configs/development-protocol.md +0 -18
  579. package/assets/reference-configs/handoff-protocol.md +0 -8
  580. package/assets/reference-configs/sprint-contracts.md +0 -51
  581. package/assets/reference-configs/workflow-orchestration.md +0 -29
  582. package/assets/skills/repo-harness-chatgpt/SKILL.md +0 -33
  583. package/assets/skills/repo-harness-chatgpt/references/bridge.md +0 -160
  584. package/assets/skills/repo-harness-chatgpt/references/consult.md +0 -92
  585. package/assets/skills/repo-harness-chatgpt/references/continue.md +0 -57
  586. package/assets/skills/repo-harness-chatgpt/references/delegate.md +0 -409
  587. package/assets/skills/repo-harness-chatgpt/references/orchestrate.md +0 -226
  588. package/assets/skills/repo-harness-chatgpt/references/read-back.md +0 -87
  589. package/assets/skills/repo-harness-chatgpt/references/setup.md +0 -199
  590. package/assets/skills/repo-harness-product/references/sprint.md +0 -34
  591. package/assets/templates/contract.template.md +0 -173
  592. package/assets/templates/implementation-notes.template.md +0 -41
  593. package/assets/templates/plan.template.md +0 -87
  594. package/assets/templates/review.template.md +0 -98
  595. package/assets/templates/sprint.template.md +0 -76
  596. package/dist/operator-ui/assets/ArchitectureWorkspace-9kTFQyoX.js +0 -1
  597. package/dist/operator-ui/assets/index-BPO_QTWf.js +0 -18
  598. package/dist/operator-ui/assets/index-DDqPSgxK.css +0 -2
  599. package/docs/images/image.png +0 -0
  600. package/docs/images/repo-harness-gptpro-cn.png +0 -0
  601. package/docs/images/repo-harness-gptpro.png +0 -0
  602. package/docs/repo-harness-chatgpt-browser-engine.md +0 -359
  603. package/interfaces/effective-state-v1.ts +0 -1
  604. package/scripts/archive-workflow.sh +0 -851
  605. package/scripts/capture-plan.sh +0 -29
  606. package/scripts/check-task-sync.sh +0 -24
  607. package/scripts/check-task-workflow.sh +0 -25
  608. package/scripts/classify-historical-plans.ts +0 -254
  609. package/scripts/codex-handoff-resume.sh +0 -65
  610. package/scripts/ensure-task-workflow.sh +0 -11
  611. package/scripts/migrate-verification-plan.ts +0 -221
  612. package/scripts/new-plan.sh +0 -193
  613. package/scripts/plan-to-todo.sh +0 -17
  614. package/scripts/prepare-codex-handoff.sh +0 -58
  615. package/scripts/prepare-handoff.sh +0 -57
  616. package/scripts/recovery-view-cli.ts +0 -118
  617. package/scripts/refresh-current-status.sh +0 -552
  618. package/scripts/switch-plan.sh +0 -150
  619. package/scripts/verify-contract.sh +0 -40
  620. package/scripts/workstream-sync.sh +0 -300
  621. package/src/cli/chatgpt-browser/binding.ts +0 -117
  622. package/src/cli/chatgpt-browser/engine.ts +0 -602
  623. package/src/cli/chatgpt-browser/file-policy.ts +0 -175
  624. package/src/cli/chatgpt-browser/native-provider.ts +0 -622
  625. package/src/cli/chatgpt-browser/oracle-provider.ts +0 -806
  626. package/src/cli/chatgpt-browser/oracle-session-evidence.ts +0 -128
  627. package/src/cli/chatgpt-browser/prompt-assembler.ts +0 -29
  628. package/src/cli/chatgpt-browser/secret-scan.ts +0 -139
  629. package/src/cli/chatgpt-browser/session-store.ts +0 -351
  630. package/src/cli/chatgpt-browser/types.ts +0 -212
  631. package/src/cli/chatgpt-skill/installer.ts +0 -131
  632. package/src/cli/chatgpt-skill/source.ts +0 -60
  633. package/src/cli/commands/chatgpt.ts +0 -440
  634. package/src/cli/commands/integration.ts +0 -218
  635. package/src/cli/installer/runtime-host-lock.ts +0 -66
  636. package/src/cli/mcp/coding-tools.ts +0 -645
  637. package/src/cli/mcp/coding-workspaces.ts +0 -731
  638. package/src/cli/mcp/oauth.ts +0 -517
  639. package/src/cli/mcp/process-sessions.ts +0 -749
  640. package/src/cli/mcp/session-store.ts +0 -179
  641. package/src/cli/mcp/setup-ownership.ts +0 -59
  642. package/src/cli/mcp/setup.ts +0 -1403
  643. package/src/cli/mcp/transports/http.ts +0 -885
  644. package/src/cli/mcp/uninstall.ts +0 -119
  645. package/src/core/engineers/AGENTS.md +0 -29
  646. package/src/core/engineers/CLAUDE.md +0 -29
  647. package/src/core/engineers/agent-runtime-effect.ts +0 -603
  648. package/src/core/engineers/engineering-overlay.ts +0 -475
  649. package/src/core/engineers/principal-claim.ts +0 -164
  650. package/src/core/engineers/profile-binding.ts +0 -171
  651. package/src/core/engineers/scheduling.ts +0 -1037
  652. package/src/core/fleet/task-reply.ts +0 -259
  653. package/src/core/integration/product-acceptance.ts +0 -371
  654. package/src/core/operator/organization-snapshot.ts +0 -147
  655. package/src/core/operator/planning-snapshot.ts +0 -92
  656. package/src/core/operator/repository-snapshot.ts +0 -12
  657. package/src/core/operator/task-history.ts +0 -56
  658. package/src/core/state/sprint-backlog-rows.ts +0 -154
  659. package/src/effects/engineers/agent-runtime-adapters/herdr-cli-agent.ts +0 -48
  660. package/src/effects/engineers/agent-runtime-effect-store.ts +0 -787
  661. package/src/effects/engineers/agent-runtime-feature.ts +0 -65
  662. package/src/effects/engineers/dependency-authority.ts +0 -629
  663. package/src/effects/engineers/engineering-overlay.ts +0 -80
  664. package/src/effects/engineers/scheduling.ts +0 -150
  665. package/src/effects/evidence/recovery-materializer.ts +0 -756
  666. package/src/effects/integration/product-acceptance.ts +0 -595
  667. package/src/effects/operator/repository-snapshot-worker.ts +0 -55
  668. package/src/effects/operator/repository-snapshot.ts +0 -149
  669. package/src/effects/operator/task-activity.ts +0 -45
  670. package/src/effects/operator/task-history.ts +0 -105
  671. package/src/effects/profiles/profile-store.ts +0 -203
  672. package/src/effects/state/coordination-canonical-source.ts +0 -461
  673. package/src/operator-web/OrganizationSummary.tsx +0 -64
  674. package/src/operator-web/PlanningView.tsx +0 -48
  675. package/src/operator-web/TaskEvidence.tsx +0 -95
  676. package/src/operator-web/TaskHistory.tsx +0 -51
  677. package/src/operator-web/favicon.svg +0 -6
  678. package/src/operator-web/marks.tsx +0 -41
  679. package/src/operator-web/task-activity.ts +0 -11
  680. package/src/operator-web/task-history.ts +0 -12
  681. /package/dist/operator-ui/{assets/favicon-TLXk-wak.svg → logos/repo-harness-carrot-mark.svg} +0 -0
package/AGENTS.md CHANGED
@@ -1,35 +1,19 @@
1
1
  # repo-harness
2
2
 
3
3
  ## Workflow
4
+ - Multi-agent work follows `repo-harness-issue-flow` (`assets/skills/repo-harness-issue-flow/SKILL.md`): roles, claims, handoff, dispatch, acceptance and merge.
5
+ - `docs/architecture/archimap.html` is the single architecture entry. It links each module to its archctx-projected capability doc in `docs/architecture/modules/`. Change boundaries only through `repo-harness-architecture`; do not hand-write other architecture docs.
6
+ - Keep four hard boundaries: main publication, deletion, credentials/permissions, and release/production operations.
7
+ - Only when the current task explicitly authorizes main publication, and `publication.acceptance_merge` is `on` in the policy on the PR base, is publication allowed; the skill defines who merges. Push/tag need task authorization. Deletion, credentials/permissions and release/production need user approval. An explicit no-merge instruction always wins.
8
+ - The diff's [Review by risk](docs/reference-configs/agentic-development-flow.md#review-by-risk) tier selects independent review; the skill defines the reviewers and their model families. Changing implementation and test assertions together does not raise the tier.
9
+ - Create task worktrees only at `/tmp/<repo>-wt-<slug>` (Windows: `os.tmpdir()`) with `repo-harness run contract-worktree start --issue <number>`, or `git worktree add` with that path. Never create one beside the main checkout (`../`). Commit or push before a reboot or a tmp cleanup. Closeout and sweep remove only merged, clean and unowned worktrees; to keep one, give it an unmerged commit, keep it dirty, or mark or lock it.
4
10
  - For non-trivial work, follow the global Progressive Due Diligence rule (P1 map, P2 trace, P3 decision) before design decisions or code edits.
5
11
  - Keep root CLAUDE.md and AGENTS.md as standalone regular files; repeat shared rules in both and keep host-specific guidance separate.
6
- - Read the current request and repo-local agent context, work on a branch, make bounded commits, verify once, then report the PR outcome.
12
+ - Read the current request and repo-local agent context, work on a branch, make bounded commits, verify once, then report the PR outcome. Finish the main task first. Fix a small problem found on the way directly; for a large problem, open a GitHub issue before you work on it.
7
13
  - Read `tasks/lessons.md` at session start and apply its active lessons. Current repo state and evidence override a lesson.
8
- - Finish the main task first. Fix a small problem found on the way directly. For a large problem, open a GitHub issue before you work on it.
9
- - Ordinary tasks use the PR description: goal, scope, changes, verification, risk and rollback. No mandatory plan/contract/review/notes chain; notes are only for non-obvious decisions.
10
- - Keep four hard boundaries: main publication, deletion, credentials/permissions, and release/production operations.
11
- - Only when the current task explicitly authorizes main publication may a model squash-merge after automated checks pass and GitHub has no outstanding change requests or unresolved review threads; an explicit no-merge instruction always wins. Push/tag still require task authorization; credentials/permissions, other deletion and release/production retain their separate approval boundaries. Record authorized publication, the provider-confirmed merge SHA and parent SHA, `git revert <squash-commit>`, and the daily report. Do not create rollback tags.
12
- - Default worktrees are at `/tmp/<repo>-wt-<slug>` (Windows: `os.tmpdir()`). Commit or push before a reboot or a tmp cleanup.
13
- - Closeout and sweep remove only merged, clean and unowned worktrees. To keep one, give it an unmerged commit, keep it dirty, or mark or lock it. Details: [agentic-development-flow](docs/reference-configs/agentic-development-flow.md).
14
- - Automatically delete only merged, clean worktrees/branches; ask the user for every other deletion. Credentials/permissions (including confirmation bypass) and release/production operations require user approval.
15
- - Select independent review by the diff's [Review by risk](docs/reference-configs/agentic-development-flow.md#review-by-risk) tier: none for low, one fresh-context review for medium, gatekeeper plus cross-model review for high; ordinary steps record diagnostics without approval loops.
16
- - When you delegate, investigate first, then split work by write ownership. Give each parallel writer its own worktree from a clean source. Implementation sub-agents edit only their scope. They do not run build, typecheck or tests. They commit early in their own worktree and return early. In a shared checkout they do not commit; the parent commits. Evidence roles run the named check that is their task and do not commit. The parent agent owns task management, conflict resolution, build, typecheck, tests and integration. After integration, the parent removes each sub-agent worktree and branch whose commits are in the task branch and whose checkout is clean. It also removes the intermediate build output and temporary files that the work created. Other deletion still needs the user.
17
- - Model division and cross-model dispatch/review follow [Herdr Dispatch](docs/reference-configs/herdr-notify.md#herdr-dispatch).
14
+ - Ordinary tasks use the PR description: goal, scope, changes, verification, risk and rollback. No plan, contract, review, notes or approval artifact is mandatory. Record a one-time decision in the issue.
18
15
  - GitHub operations (PRs, reviews, merges, labels, releases, comments) go only through the gh/git CLI or the GitHub API. Never use simulated browser clicks on github.com: the account can be banned.
19
- - When one PR changes both test assertions and implementation code, run one read-only review focused on tests bent to fit a bug (on-demand, not a restored gate; dispatch per the herdr guide).
20
- - `.archcontext/model/` owns architecture boundaries; read `docs/architecture/` on demand and update only real responsibility changes. Architecture diagnostics do not block work or author nested agent instructions.
21
- - When a branch changes a capability's responsibility, entrypoints, relations or flows, follow `repo-harness-architecture` (`assets/skill-commands/repo-harness-architecture/references/worker.md`). Handle architecture debt in the model and human prose. The archctx rolling writer publishes generated regions and the projection manifest; do not apply and commit them in a feature PR.
22
- - Preserve `agents/fleet/`, release checklists and downstream `assets/templates`. `.ai/harness/workflow-contract.json` is the opt-in marker. `assets/workflow-contract.v1.json` is the contract.
23
- - `_ops/` is ignored private operations state: never commit or agent-edit it. `_ref/` is an ignored reference cache; cite influential revisions. Follow deploy SQL policy, otherwise use ascending 4-digit files under `deploy/sql/`.
24
-
25
- ## GitHub Issue Claims
26
- - Before an agent starts work on a GitHub issue, read its current state, assignees and all comments through `gh` or the GitHub API. Use pagination for comments. Check existing work claims, linked PRs and handoff notes.
27
- - An active claim is an assignee other than the current task owner, an open PR that links the issue, or an active claim comment that no later status comment released. If another agent or person has an active claim, do not start duplicate work. Coordinate with that owner within the authorized task scope. Take over only after an explicit handoff or user instruction. Silence, an old timestamp or a disconnected session does not release a claim.
28
- - When taking an unclaimed issue or an approved handoff, post a claim comment before edits, tests or worker dispatch. Use `gh issue comment <issue-url> --body-file <file>`. This rule authorizes claim and status comments for an issue within the user's task scope. It grants no other GitHub write authority.
29
- - Start the comment with `repo-harness issue claim`. Include `Status: active`, the agent kind and unique session or task ID, the branch, the work scope and any prior claim comment URL for a handoff. Use this identity in later status comments. A shared GitHub login is not an agent identity. Do not include secrets or private host paths.
30
- - Read the issue comments again after posting. Confirm the published comment URL and body. If a competing claim appeared, stop duplicate work and resolve ownership before continuing. For simultaneous claims without an explicit assignment or handoff, the earliest GitHub comment wins; break timestamp ties by comment ID. These comments coordinate agents; they are not an atomic lock and do not replace canonical task claims or leases.
31
- - On resume, check the current claim before continuing. Reuse the same active claim instead of posting it again. If a read or post fails, or delivery is uncertain, stop and report the failure. Read back before retrying an uncertain post.
32
- - Post a status comment that links the claim when the work is blocked, ready for review, complete or released. Keep a blocked or review-pending claim active. Include the PR or result when available. Release ownership explicitly on cancellation or handoff. Do not close the issue unless the task authorizes closure.
16
+ - Preserve `agents/fleet/`, release checklists and downstream `assets/templates`. `.ai/harness/workflow-contract.json` is the opt-in marker. `assets/workflow-contract.v1.json` is the contract. `_ops/` is ignored private operations state: never commit or agent-edit it. `_ref/` is an ignored reference cache; cite influential revisions. Follow deploy SQL policy, otherwise use ascending 4-digit files under `deploy/sql/`.
33
17
 
34
18
  ## Code Optimization Principles
35
19
  - Identify observable conditions, controllable inputs, the invariant and the actual pressure point before changing structure.
@@ -45,6 +29,7 @@
45
29
  - For a bug fix, prefer a focused failing regression before the fix. Run only the reproducer during RED. Record a reproduction gap when the environment cannot produce it; ordinary tasks do not require RED artifacts.
46
30
  - A diff's size, a new test file, a new agent or a rebase does not by itself require a full run.
47
31
  - Use `bun run test:files <affected tests> --timeout 60000 --max-concurrency 1`; extend existing coverage before creating a new test file.
32
+ - Test budget per PR: added test lines divided by added product lines must not exceed 2:1, and the PR adds at most one test file. A PR that adds no product lines records the exception for any added test. Measure with `git diff --numstat main...HEAD -- tests` and `git diff --numstat main...HEAD -- src scripts`; above either cap, add a `Test budget exception` PR section with the counts and why an existing test cannot cover the behavior.
48
33
  - Select tests by observable risk and owning runtime boundary, including error/recovery paths when affected.
49
34
  - Mechanical prose changes need link/scope validation, not new product tests; do not test incidental formatting or that deleted files stay deleted.
50
35
  - Reviewers consume the recorded command, result, revision and environment; they do not rerun passing checks to claim ownership.
@@ -52,20 +37,10 @@
52
37
  - Run the full suite daily; a failure opens an automatic repair task and appears in the daily report.
53
38
  - Isolate mutable HOME, repositories and process state; use real synchronization signals and preserve complete failure output.
54
39
  - Report failed, timed-out, incomplete or omitted coverage explicitly; do not manufacture receipts, waiver files or pre-fix logs.
55
- - Never modify or delete test assertions just to make tests pass; justify every necessary test change item by item in the PR description.
40
+ - Never modify or delete test assertions just to make tests pass; justify every necessary test change item by item in the PR description. Remove a redundant test only when the PR names the retained test that covers the same behavior.
56
41
  - Before you write or change tests, load the `repo-harness-test` skill (`assets/skills/repo-harness-test/SKILL.md`).
57
42
  - When a local check and CI disagree, CI is the authority. Reproduce the failure with `bash scripts/check-ci.sh <lane>` before you change code; a global `repo-harness` or `repo-harness-hook` on `PATH` can hide a missing test setup.
58
43
 
59
- ## Handoff
60
- - Create a checkpoint only when context/session rollover or unresolved work needs it; ordinary completion stays in the PR description.
61
- - Read files named in the current request before recovery context.
62
- - Record the goal, branch/worktree/HEAD, decisions, touched files, verification results, blockers and one exact next command.
63
- - Keep temporary checkpoints under ignored `.ai/harness/handoff/`; historical snapshots are not current execution authority.
64
- - Include evidence paths and actual command outcomes; distinguish observed state from inference.
65
- - Never include secrets, tokens or real environment files in handoff text.
66
- - On resume, verify the live checkout and source artifacts before reusing a result; `tasks/current.md` is an optional local read model.
67
- - Preserve dirty work and other workers' edits; hand back an ownership conflict instead of discarding their changes.
68
-
69
44
  ## Writing
70
45
  - Write output text (docs, PR descriptions, commit messages, reports, research notes) in ASD-STE100 Simplified Technical English: short sentences, one idea per sentence, active voice, approved-dictionary words. Write Chinese output the same way.
71
46
  - Prefer high information density: evidence first, mechanisms and business effect explained, complex reasoning allowed, no explanatory repetition. Lead with the main finding, key number or key mechanism. State known facts and supported conclusions directly, without lead-ins such as "note that", "this shows to some extent" or "it must be stressed". Put the evidence grade in the wording, not in a separate caveat.
@@ -79,9 +54,7 @@
79
54
  - Avoid unnecessary secondary labels and descriptions. Let the layout do the explaining.
80
55
 
81
56
  ## Codex
82
- - Own backend implementation and testing; Claude owns frontend implementation and interaction, and the parent coordinates scope and integration.
83
57
  - User-level `~/.codex/hooks.json` hooks invoke `repo-harness-hook`; its typed route registry selects one in-process handler. Operator helpers run from the package through `repo-harness run <helper>`.
84
58
  - Use `~/.codex/skills` as the runtime skill source; `~/.agents/skills` is staging/cache only. Keep `think`, `hunt`, `check` and `health` updates verified before runtime use.
85
59
  - The Codex automation profile requires runtime-provided `health`, `check` and `mermaid`; do not vendor their bodies.
86
- - Treat auto-compact as a fallback; prepare ignored `.ai/harness/handoff/current.md` and `resume.md` when long-task rollover is needed.
87
60
  - Keep this file short; load [development flow](docs/reference-configs/agentic-development-flow.md) and [external tooling](docs/reference-configs/external-tooling.md) only when needed.
package/CLAUDE.md CHANGED
@@ -1,35 +1,19 @@
1
1
  # repo-harness
2
2
 
3
3
  ## Workflow
4
+ - Multi-agent work follows `repo-harness-issue-flow` (`assets/skills/repo-harness-issue-flow/SKILL.md`): roles, claims, handoff, dispatch, acceptance and merge.
5
+ - `docs/architecture/archimap.html` is the single architecture entry. It links each module to its archctx-projected capability doc in `docs/architecture/modules/`. Change boundaries only through `repo-harness-architecture`; do not hand-write other architecture docs.
6
+ - Keep four hard boundaries: main publication, deletion, credentials/permissions, and release/production operations.
7
+ - Only when the current task explicitly authorizes main publication, and `publication.acceptance_merge` is `on` in the policy on the PR base, is publication allowed; the skill defines who merges. Push/tag need task authorization. Deletion, credentials/permissions and release/production need user approval. An explicit no-merge instruction always wins.
8
+ - The diff's [Review by risk](docs/reference-configs/agentic-development-flow.md#review-by-risk) tier selects independent review; the skill defines the reviewers and their model families. Changing implementation and test assertions together does not raise the tier.
9
+ - Create task worktrees only at `/tmp/<repo>-wt-<slug>` (Windows: `os.tmpdir()`) with `repo-harness run contract-worktree start --issue <number>`, or `git worktree add` with that path. Never create one beside the main checkout (`../`). Commit or push before a reboot or a tmp cleanup. Closeout and sweep remove only merged, clean and unowned worktrees; to keep one, give it an unmerged commit, keep it dirty, or mark or lock it.
4
10
  - For non-trivial work, follow the global Progressive Due Diligence rule (P1 map, P2 trace, P3 decision) before design decisions or code edits.
5
11
  - Keep root CLAUDE.md and AGENTS.md as standalone regular files; repeat shared rules in both and keep host-specific guidance separate.
6
- - Read the current request and repo-local agent context, work on a branch, make bounded commits, verify once, then report the PR outcome.
12
+ - Read the current request and repo-local agent context, work on a branch, make bounded commits, verify once, then report the PR outcome. Finish the main task first. Fix a small problem found on the way directly; for a large problem, open a GitHub issue before you work on it.
7
13
  - Read `tasks/lessons.md` at session start and apply its active lessons. Current repo state and evidence override a lesson.
8
- - Finish the main task first. Fix a small problem found on the way directly. For a large problem, open a GitHub issue before you work on it.
9
- - Ordinary tasks use the PR description: goal, scope, changes, verification, risk and rollback. No mandatory plan/contract/review/notes chain; notes are only for non-obvious decisions.
10
- - Keep four hard boundaries: main publication, deletion, credentials/permissions, and release/production operations.
11
- - Only when the current task explicitly authorizes main publication may a model squash-merge after automated checks pass and GitHub has no outstanding change requests or unresolved review threads; an explicit no-merge instruction always wins. Push/tag still require task authorization; credentials/permissions, other deletion and release/production retain their separate approval boundaries. Record authorized publication, the provider-confirmed merge SHA and parent SHA, `git revert <squash-commit>`, and the daily report. Do not create rollback tags.
12
- - Default worktrees are at `/tmp/<repo>-wt-<slug>` (Windows: `os.tmpdir()`). Commit or push before a reboot or a tmp cleanup.
13
- - Closeout and sweep remove only merged, clean and unowned worktrees. To keep one, give it an unmerged commit, keep it dirty, or mark or lock it. Details: [agentic-development-flow](docs/reference-configs/agentic-development-flow.md).
14
- - Automatically delete only merged, clean worktrees/branches; ask the user for every other deletion. Credentials/permissions (including confirmation bypass) and release/production operations require user approval.
15
- - Select independent review by the diff's [Review by risk](docs/reference-configs/agentic-development-flow.md#review-by-risk) tier: none for low, one fresh-context review for medium, gatekeeper plus cross-model review for high; ordinary steps record diagnostics without approval loops.
16
- - When you delegate, investigate first, then split work by write ownership. Give each parallel writer its own worktree from a clean source. Implementation sub-agents edit only their scope. They do not run build, typecheck or tests. They commit early in their own worktree and return early. In a shared checkout they do not commit; the parent commits. Evidence roles run the named check that is their task and do not commit. The parent agent owns task management, conflict resolution, build, typecheck, tests and integration. After integration, the parent removes each sub-agent worktree and branch whose commits are in the task branch and whose checkout is clean. It also removes the intermediate build output and temporary files that the work created. Other deletion still needs the user.
17
- - Model division and cross-model dispatch/review follow [Herdr Dispatch](docs/reference-configs/herdr-notify.md#herdr-dispatch).
14
+ - Ordinary tasks use the PR description: goal, scope, changes, verification, risk and rollback. No plan, contract, review, notes or approval artifact is mandatory. Record a one-time decision in the issue.
18
15
  - GitHub operations (PRs, reviews, merges, labels, releases, comments) go only through the gh/git CLI or the GitHub API. Never use simulated browser clicks on github.com: the account can be banned.
19
- - When one PR changes both test assertions and implementation code, run one read-only review focused on tests bent to fit a bug (on-demand, not a restored gate; dispatch per the herdr guide).
20
- - `.archcontext/model/` owns architecture boundaries; read `docs/architecture/` on demand and update only real responsibility changes. Architecture diagnostics do not block work or author nested agent instructions.
21
- - When a branch changes a capability's responsibility, entrypoints, relations or flows, follow `repo-harness-architecture` (`assets/skill-commands/repo-harness-architecture/references/worker.md`). Handle architecture debt in the model and human prose. The archctx rolling writer publishes generated regions and the projection manifest; do not apply and commit them in a feature PR.
22
- - Preserve `agents/fleet/`, release checklists and downstream `assets/templates`. `.ai/harness/workflow-contract.json` is the opt-in marker. `assets/workflow-contract.v1.json` is the contract.
23
- - `_ops/` is ignored private operations state: never commit or agent-edit it. `_ref/` is an ignored reference cache; cite influential revisions. Follow deploy SQL policy, otherwise use ascending 4-digit files under `deploy/sql/`.
24
-
25
- ## GitHub Issue Claims
26
- - Before an agent starts work on a GitHub issue, read its current state, assignees and all comments through `gh` or the GitHub API. Use pagination for comments. Check existing work claims, linked PRs and handoff notes.
27
- - An active claim is an assignee other than the current task owner, an open PR that links the issue, or an active claim comment that no later status comment released. If another agent or person has an active claim, do not start duplicate work. Coordinate with that owner within the authorized task scope. Take over only after an explicit handoff or user instruction. Silence, an old timestamp or a disconnected session does not release a claim.
28
- - When taking an unclaimed issue or an approved handoff, post a claim comment before edits, tests or worker dispatch. Use `gh issue comment <issue-url> --body-file <file>`. This rule authorizes claim and status comments for an issue within the user's task scope. It grants no other GitHub write authority.
29
- - Start the comment with `repo-harness issue claim`. Include `Status: active`, the agent kind and unique session or task ID, the branch, the work scope and any prior claim comment URL for a handoff. Use this identity in later status comments. A shared GitHub login is not an agent identity. Do not include secrets or private host paths.
30
- - Read the issue comments again after posting. Confirm the published comment URL and body. If a competing claim appeared, stop duplicate work and resolve ownership before continuing. For simultaneous claims without an explicit assignment or handoff, the earliest GitHub comment wins; break timestamp ties by comment ID. These comments coordinate agents; they are not an atomic lock and do not replace canonical task claims or leases.
31
- - On resume, check the current claim before continuing. Reuse the same active claim instead of posting it again. If a read or post fails, or delivery is uncertain, stop and report the failure. Read back before retrying an uncertain post.
32
- - Post a status comment that links the claim when the work is blocked, ready for review, complete or released. Keep a blocked or review-pending claim active. Include the PR or result when available. Release ownership explicitly on cancellation or handoff. Do not close the issue unless the task authorizes closure.
16
+ - Preserve `agents/fleet/`, release checklists and downstream `assets/templates`. `.ai/harness/workflow-contract.json` is the opt-in marker. `assets/workflow-contract.v1.json` is the contract. `_ops/` is ignored private operations state: never commit or agent-edit it. `_ref/` is an ignored reference cache; cite influential revisions. Follow deploy SQL policy, otherwise use ascending 4-digit files under `deploy/sql/`.
33
17
 
34
18
  ## Code Optimization Principles
35
19
  - Identify observable conditions, controllable inputs, the invariant and the actual pressure point before changing structure.
@@ -45,6 +29,7 @@
45
29
  - For a bug fix, prefer a focused failing regression before the fix. Run only the reproducer during RED. Record a reproduction gap when the environment cannot produce it; ordinary tasks do not require RED artifacts.
46
30
  - A diff's size, a new test file, a new agent or a rebase does not by itself require a full run.
47
31
  - Use `bun run test:files <affected tests> --timeout 60000 --max-concurrency 1`; extend existing coverage before creating a new test file.
32
+ - Test budget per PR: added test lines divided by added product lines must not exceed 2:1, and the PR adds at most one test file. A PR that adds no product lines records the exception for any added test. Measure with `git diff --numstat main...HEAD -- tests` and `git diff --numstat main...HEAD -- src scripts`; above either cap, add a `Test budget exception` PR section with the counts and why an existing test cannot cover the behavior.
48
33
  - Select tests by observable risk and owning runtime boundary, including error/recovery paths when affected.
49
34
  - Mechanical prose changes need link/scope validation, not new product tests; do not test incidental formatting or that deleted files stay deleted.
50
35
  - Reviewers consume the recorded command, result, revision and environment; they do not rerun passing checks to claim ownership.
@@ -52,20 +37,10 @@
52
37
  - Run the full suite daily; a failure opens an automatic repair task and appears in the daily report.
53
38
  - Isolate mutable HOME, repositories and process state; use real synchronization signals and preserve complete failure output.
54
39
  - Report failed, timed-out, incomplete or omitted coverage explicitly; do not manufacture receipts, waiver files or pre-fix logs.
55
- - Never modify or delete test assertions just to make tests pass; justify every necessary test change item by item in the PR description.
40
+ - Never modify or delete test assertions just to make tests pass; justify every necessary test change item by item in the PR description. Remove a redundant test only when the PR names the retained test that covers the same behavior.
56
41
  - Before you write or change tests, load the `repo-harness-test` skill (`assets/skills/repo-harness-test/SKILL.md`).
57
42
  - When a local check and CI disagree, CI is the authority. Reproduce the failure with `bash scripts/check-ci.sh <lane>` before you change code; a global `repo-harness` or `repo-harness-hook` on `PATH` can hide a missing test setup.
58
43
 
59
- ## Handoff
60
- - Create a checkpoint only when context/session rollover or unresolved work needs it; ordinary completion stays in the PR description.
61
- - Read files named in the current request before recovery context.
62
- - Record the goal, branch/worktree/HEAD, decisions, touched files, verification results, blockers and one exact next command.
63
- - Keep temporary checkpoints under ignored `.ai/harness/handoff/`; historical snapshots are not current execution authority.
64
- - Include evidence paths and actual command outcomes; distinguish observed state from inference.
65
- - Never include secrets, tokens or real environment files in handoff text.
66
- - On resume, verify the live checkout and source artifacts before reusing a result; `tasks/current.md` is an optional local read model.
67
- - Preserve dirty work and other workers' edits; hand back an ownership conflict instead of discarding their changes.
68
-
69
44
  ## Writing
70
45
  - Write output text (docs, PR descriptions, commit messages, reports, research notes) in ASD-STE100 Simplified Technical English: short sentences, one idea per sentence, active voice, approved-dictionary words. Write Chinese output the same way.
71
46
  - Prefer high information density: evidence first, mechanisms and business effect explained, complex reasoning allowed, no explanatory repetition. Lead with the main finding, key number or key mechanism. State known facts and supported conclusions directly, without lead-ins such as "note that", "this shows to some extent" or "it must be stressed". Put the evidence grade in the wording, not in a separate caveat.
@@ -79,7 +54,6 @@
79
54
  - Avoid unnecessary secondary labels and descriptions. Let the layout do the explaining.
80
55
 
81
56
  ## Claude Code
82
- - Own frontend implementation and interaction; Codex owns backend implementation and testing, and the parent coordinates scope and integration.
83
57
  - Use Claude Code's available tools within granted permissions; changes to tool grants, hooks or confirmation bypass require approval of the exact change.
84
58
  - User-level `~/.claude/settings.json` hooks invoke `repo-harness-hook`; its typed route registry selects one in-process handler. Operator helpers run from the package through `repo-harness run <helper>`.
85
59
  - Write comments, commits and PR text from the final diff; comments explain non-obvious reasons, and PRs describe final behavior and material rationale.
package/README.md CHANGED
@@ -43,7 +43,7 @@ files let Claude and Codex resume work across sessions.
43
43
 
44
44
  ### 1. Install the CLI
45
45
 
46
- Prerequisites: a Git working tree, `bun`, and usable `herdr` >=0.9.3 for host readiness; macOS/Linux also require `bash`,
46
+ Prerequisites: a Git working tree, `bun`, and usable `herdr` >=0.9.5 for host readiness; macOS/Linux also require `bash`,
47
47
  while Windows requires Git for Windows (including its Bash and `usr/bin`
48
48
  tools). `jq` is optional. No Node.js required — the installer uses Bun >=
49
49
  1.4.0 as the runtime, installing or upgrading Bun first when needed.
@@ -79,6 +79,37 @@ endpoints. See [runtime cutover](https://github.com/Ancienttwo/repo-harness/blob
79
79
  repo-harness install
80
80
  ```
81
81
 
82
+ Pi is an optional host under the default `--target both`. When `pi` is on
83
+ PATH, install and update register the installed repo-harness directory with
84
+ `pi install <package-directory>`. An existing user package entry is retained.
85
+ Missing Pi skips this step. Preview with `repo-harness install --dry-run --json`.
86
+ The minimum Pi version is [MIN_PI_VERSION](src/pi/compat.ts); there is no upper bound.
87
+ `repo-harness setup check` and `repo-harness update --check` report the version,
88
+ path resolver capability, package entry and skill projection.
89
+
90
+ Catalog skills use `${PI_CODING_AGENT_DIR:-$HOME/.pi/agent}/skills` and the
91
+ same profile selection and ownership rules as the other hosts. Uninstall removes
92
+ only owned package entries and unchanged owned skills. Package commands use Pi's
93
+ CLI; repo-harness does not write Pi settings, credentials or trust files.
94
+ Pi covers session context, agent notices, edit/write, bash and Stop hooks.
95
+ It has no fleet roles or subagent hooks. PowerShell, `!`/`!!` user shell,
96
+ other extensions' file writes and third-party MCP writes are outside this coverage.
97
+
98
+ DSH (DeepSeek Harness) is a package host. repo-harness ships a Cordis plugin
99
+ and a bundle patch; DSH manages the installation. Load the plugin with
100
+ `dsh plugin add link:<repo-harness package directory>`, or with
101
+ `dsh plugin add repo-harness@<version>` after release. The plugin needs Bun on
102
+ `PATH`; it starts this package's `dist/hook-entry.js`. It maps native `write`,
103
+ `edit` and `bash` calls to the typed guards, delivers session context through
104
+ the first agent step, and records Stop at the turn boundary. It disables
105
+ itself in a repository without `.ai/harness/workflow-contract.json`. MCP
106
+ writes, `pwsh`, `!` user commands and writes from other plugins stay outside
107
+ this boundary. DSH already reads `AGENTS.md` and `~/.agents/skills`; the
108
+ plugin does not change those paths. `repo-harness doctor` and
109
+ `repo-harness setup check` report whether a DSH profile declares the bundle,
110
+ and list the external skills in the shared agents root. repo-harness does not
111
+ write the DSH profile.
112
+
82
113
  On Windows, keep Git for Windows on the install/update `PATH`. That explicit
83
114
  ceremony validates and pins `git.exe`, its matching `bash.exe`/`usr/bin`, and
84
115
  the install account's absolute `TEMP` directory plus native `System32` tools in the OS account's
@@ -109,26 +140,24 @@ or refreshed. It never creates an application stack; new projects and modules us
109
140
 
110
141
  ```bash
111
142
  repo-harness init
112
- bash scripts/check-task-workflow.sh
113
143
  bun test
114
144
  ```
115
145
 
116
146
  ### Success looks like this
117
147
 
118
- Init writes repo-local files and two files under `HOME`: the repo registry
119
- entry and, when verification runs, the global Codex handoff packet under
120
- `~/.codex/handoffs/`. It writes no install-managed host files. When the
148
+ Init writes repo-local files and one file under `HOME`: the repo registry
149
+ entry. It writes no install-managed host files. When the
121
150
  required Herdr skill or the architecture projection preference is missing, init
122
151
  reports a skipped step that names `repo-harness update`. repo-harness supplies tools and evidence; the Bot
123
152
  decides what to schedule.
124
153
 
125
154
  Apply ends with `=== Migration Report ===`, naming where generated hook behavior
126
155
  comes from, the user-level `~/.claude/settings.json` and `~/.codex/hooks.json`
127
- adapter target, the repo-local surfaces created or refreshed, the
128
- `.ai/harness/scripts/*` helper runtime, and an `--- External Tooling ---`
129
- readiness block. Stable intent then lives in `docs/spec.md`, execution state in
130
- `plans/` and `tasks/`, resume state in `.ai/harness/handoff/`. If the dry run
131
- looks wrong, stop and read
156
+ adapter target, the repo-local surfaces created or refreshed, and an
157
+ `--- External Tooling ---` readiness block. Stable intent then lives in
158
+ `docs/spec.md` and `docs/prds/`, task and resume state in the GitHub issue,
159
+ its claim comments and the PR. If the dry run looks wrong, stop and
160
+ read
132
161
  [`hook-operations.md`](docs/reference-configs/hook-operations.md) first.
133
162
 
134
163
  ### Update and remove
@@ -138,10 +167,10 @@ repo-harness update # reconcile CLI, mandatory deps, profile tooling, a
138
167
  repo-harness update --check # read-only repair guidance, no writes
139
168
  repo-harness upgrade # check retired leftovers; no writes
140
169
  repo-harness upgrade --apply # back up and remove only proven owned leftovers
170
+ repo-harness upgrade decide --keep <path> # record an operator decision for a report-only project item
171
+ repo-harness upgrade --registered # preview project refresh for every registered repo; no writes
141
172
  repo-harness uninstall --dry-run # preview owned user configuration cleanup
142
173
  repo-harness uninstall # remove owned configuration; preserve user changes/history
143
- repo-harness mcp uninstall --dry-run # preview independent MCP setup cleanup
144
- repo-harness mcp uninstall --services-stopped # after stopping all MCP HTTP services
145
174
  ```
146
175
 
147
176
  `update` and `setup check` print one leftover count. `update` does not apply
@@ -184,10 +213,9 @@ release line have no supported historical proof and remain report-only.
184
213
  ## Why repo-harness
185
214
 
186
215
  - **File-backed sessions, not chat memory.** Separate Claude and Codex sessions
187
- stay coordinated through the repo. `SessionStart` injects the prior session's
188
- resume packet, and `Stop` writes the handoff and resume views. A session can
189
- end mid-task and the next one resumes the exact next step, blockers, and
190
- changed files without re-deriving them.
216
+ stay coordinated through the repo and its GitHub issue and PR. A session can
217
+ end mid-task. The next one reads the issue, the latest claim status and the
218
+ PR, and resumes the exact next step without re-deriving it.
191
219
  - **Token-lean by design.** Instead of grep-and-read loops that re-scan the repo
192
220
  every session, the harness leans on a pre-built CodeGraph index for structural
193
221
  queries and on progressive context loading: a stable ~12KB root context plus
@@ -203,9 +231,8 @@ In an adopted repo, the surface area is intentionally small:
203
231
  | Surface | Purpose |
204
232
  | --- | --- |
205
233
  | `docs/spec.md` and `docs/reference-configs/` | Shared standards and stable product intent that every agent session can read. |
206
- | `plans/`, `plans/prds/`, and `plans/sprints/` | Optional planning context and historical work records. |
207
- | `tasks/contracts/`, `tasks/reviews/`, and `.ai/harness/checks/` | Existing closeout and recovery records retained during the lifecycle removal. |
208
- | `.ai/harness/handoff/` and `tasks/current.md` | Session journal and resumable status, derived from workflow artifacts instead of chat memory. |
234
+ | `docs/prds/` | Product intent and optional design briefs. |
235
+ | `tasks/lessons.md` | The one local lesson ledger. Task identity and history stay in the issue and PR. |
209
236
 
210
237
  ## Task Authority
211
238
 
@@ -227,13 +254,13 @@ callers while the contract lifecycle is removed.
227
254
 
228
255
  | | |
229
256
  | --- | --- |
230
- | **File-backed sessions** | Plans, contracts, checks, and handoffs live in the repo, so a new session resumes from artifacts instead of a chat thread |
257
+ | **File-backed sessions** | Issues, PRs, checks, and handoffs live in the repository, so a new session resumes from artifacts instead of a chat thread |
231
258
  | **Typed hook runtime** | 6 public routes (Claude 5, Codex 5), each bound to exactly one typed in-process handler, with fail-closed guards at the edit boundary |
232
259
  | **Issue → PR → Review** | One task authority with bounded changes, recorded verification and review evidence |
233
260
  | **Session handoff** | Record the issue, branch, evidence and next action so another agent can continue |
234
261
  | **Progressive context loading** | A ~12KB stable root context plus ~1KB capability contracts loaded only for the files actually being touched |
235
262
  | **CodeGraph integration** | Structural queries (callers, callees, definitions) answered from a pre-built index instead of repeated grep-and-read passes |
236
- | **MCP planner sidecar** | ChatGPT reads real repo state and writes PRD/Sprint/Goal artifacts; Codex executes them, with no default source-code write access |
263
+ | **MCP planner sidecar** | A local MCP client reads real repo state over stdio and writes PRD artifacts, with no default source-code write access |
237
264
  | **Claude + Codex alignment** | One user-level adapter contract, one workflow contract, and one set of repo-local artifacts shared by both hosts |
238
265
 
239
266
  ## How It Works
@@ -242,7 +269,7 @@ callers while the contract lifecycle is removed.
242
269
  typed hook handlers, the operator-helper asset, workflow contract, tests, and
243
270
  release gate.
244
271
  2. **Target repo contract**: `repo-harness init` or migration writes repo-local
245
- files such as `docs/spec.md`, `plans/`, `tasks/`, `.ai/context/`,
272
+ files such as `docs/spec.md`, `docs/prds/`, `tasks/lessons.md`, `.ai/context/`,
246
273
  `.ai/harness/`, helper scripts, and `.ai/hooks/`.
247
274
  3. **Host adapters**: user-level `~/.claude/settings.json` and
248
275
  `~/.codex/hooks.json` route Claude/Codex events into `repo-harness-hook`.
@@ -261,8 +288,7 @@ Handler details and policy modes:
261
288
  ## Task Workflow
262
289
 
263
290
  The GitHub issue and PR carry task identity, claims, status and dependencies.
264
- Optional plans explain the work. The retained contract closeout helpers serve
265
- old records until that lifecycle is retired.
291
+ There is no local plan, sprint, contract, review or notes artifact.
266
292
 
267
293
  ```mermaid
268
294
  flowchart TD
@@ -285,12 +311,10 @@ flowchart TD
285
311
  For long-running product loops, keep discovery and engineering-plan judgment with
286
312
  the parent agent before Codex loops on execution: `geju` opens the pre-contract
287
313
  frame, the parent completes P1/P2/P3 and freezes the accepted direction into an
288
- upper-layer PRD under `plans/prds/` and an ordered sprint backlog under
289
- `plans/sprints/`, then a Codex Goal points at that sprint file. The PRD stays the
290
- upper source of truth and the backlog is the durable execution queue, so a
314
+ upper-layer PRD under `docs/prds/`, then orders GitHub issues through
315
+ `repo-harness-issue-flow`. The issue and PR are the durable execution queue, so a
291
316
  resumed Goal session never reinterprets the original chat. See
292
- [`agentic-development-flow.md`](docs/reference-configs/agentic-development-flow.md)
293
- and [`workflow-orchestration.md`](docs/reference-configs/workflow-orchestration.md).
317
+ [`agentic-development-flow.md`](docs/reference-configs/agentic-development-flow.md).
294
318
 
295
319
  ## Work Across Sessions
296
320
 
@@ -305,12 +329,13 @@ repo-harness fleet board --json
305
329
  ```
306
330
 
307
331
  The board reads retained task, Lease, publication, inbox and runtime evidence.
308
- It does not claim work or create an Engineer binding. Existing completion and
309
- cleanup helpers remain for existing contract lifecycle callers.
332
+ It does not claim work or create an Engineer binding. Completion and cleanup
333
+ helpers remain for existing records.
310
334
 
311
335
  Use [repo-harness](SKILL.md) for scope and worker ownership,
312
336
  [repo-harness-product](assets/skills/repo-harness-product/SKILL.md) for requested
313
- planning, and [repo-harness-check](assets/skill-commands/repo-harness-check/SKILL.md)
337
+ PRD or Goal work, [repo-harness-issue-flow](assets/skills/repo-harness-issue-flow/SKILL.md)
338
+ for issue backlog splitting and dispatch, and [repo-harness-check](assets/skill-commands/repo-harness-check/SKILL.md)
314
339
  for scope and recorded verification.
315
340
 
316
341
  ### Refactor recommendations
@@ -330,7 +355,6 @@ accepted suggestion goes through the normal plan and pull request workflow.
330
355
  ```bash
331
356
  repo-harness external-source refresh # one bounded, explicitly enabled GitHub observation
332
357
  repo-harness external-source bind --repo <id> --source-revision <digest> --session <selector.json>
333
- repo-harness external-source historical-bindings --repo <id> # retired V1 records only
334
358
  repo-harness external-source bindings # binding edges and current drift attention
335
359
  ```
336
360
 
@@ -352,8 +376,8 @@ an explicit `execution_mode`: `contract` or `inline`. The mode is part of the
352
376
  approved admission digest; changing it requires new approval. Do not create an
353
377
  approval from these examples: actor IDs and authorization references are binding
354
378
  data, not authentication. Select the resulting active grant and policy digests
355
- below, and supply the current immutable issue claim. A contract or plan file
356
- cannot grant permission. A user waiver requires a separate upstream-authorized
379
+ below, and supply the current immutable issue claim. A local plan or contract
380
+ file cannot grant permission. A user waiver requires a separate upstream-authorized
357
381
  decision; waiver eligibility in an admission does not grant one.
358
382
 
359
383
  See [the control Bot boundary](docs/control-bot-boundary.md) for the integration contract.
@@ -368,6 +392,10 @@ In the Claude desktop app without Herdr, add `--launch app-terminal` and omit `-
368
392
 
369
393
  A dedicated linked checkout hosts one fleet `deep-reasoner` task-agent in the addressed Herdr session for at most three repair rounds. Default selection uses the owner’s opposite harness; `--harness` explicitly selects Claude or Codex. Only a missing executable before start allows a reported fallback. File Results pass domain binding/finding checks and the generic-review Receipt writer/verifier before close. Terminal history is observation. Claude uses an exact result-file allowlist plus mutation fingerprints; production OS write isolation and complete large-packet ingestion remain unverified.
370
394
 
395
+ ### Bot merge
396
+
397
+ A local Herdr Bot runs `repo-harness publication merge` in its shell. A cloud-only Bot runs the same command in a sandbox that has repo-harness, a working `gh auth` and a checkout. It merges only when `publication.acceptance_merge` is `on` in the policy on the PR base, and it needs strict required checks and enforce_admins on the default branch. A Bot record does not grant merge permission. See [the control Bot boundary](docs/control-bot-boundary.md#bot-modes-and-merge).
398
+
371
399
  ## Hooks
372
400
 
373
401
  The installed adapter binds 6 public hook routes: Claude installs 5 and Codex
@@ -395,24 +423,40 @@ Full playbook:
395
423
 
396
424
  ## Local Human Control Board
397
425
 
398
- Run the observe-only operator view on the same machine as the adopted
399
- repositories:
426
+ Run the operator console on the same machine as the adopted repositories:
400
427
 
401
428
  ```bash
402
429
  repo-harness operator serve
403
430
  ```
404
431
 
405
- The command binds to loopback only and prints the local URL. The browser shows
406
- the canonical Fleet summary, an attention-first worklist, a resident task
407
- detail pane, and degraded snapshot states. The board is read-only. It does not
408
- send messages, acquire tasks, change workflow state, start agents, or show
409
- repository paths.
432
+ The command binds to loopback only and prints the local URL. The console has
433
+ these pages: the development board with its task drawer, repositories, Agents,
434
+ Skills, Hooks, tools, architecture and system status. The theme follows the
435
+ system until you pick one. The language follows your saved choice, then the browser language.
436
+
437
+ The approved design allows three bounded writes and nothing else. They open in
438
+ this order: local agent config in `~/.repo-harness/config.json`, docs sessions
439
+ that return changes as a Draft PR, and worktree cleanup. Green worktree cleanup
440
+ also has a terminal form:
441
+
442
+ ```bash
443
+ repo-harness worktrees list # add --json for ids and selection digests
444
+ repo-harness worktrees clean --ids <id,...> --expected-digest <digest>
445
+ ```
446
+ Each write passes an origin check, a write token and a
447
+ precondition check, and is audited before it runs. Host projection (install,
448
+ update, profile switch), registry cleanup and CLI uninstall stay commands that
449
+ you run in a terminal. The console does not send messages to coding sessions,
450
+ stop them or dispatch work; dispatch stays Bot → CLI → herdr. Browser payloads
451
+ do not contain secrets or absolute paths. Product scope:
452
+ [`docs/prds/20261026-2310-operator-console-uiux.prd.md`](docs/prds/20261026-2310-operator-console-uiux.prd.md);
453
+ UX: [`docs/prds/DESIGN-operator-console-uiux.md`](docs/prds/DESIGN-operator-console-uiux.md).
410
454
 
411
455
  Read committed architecture facts or export a module review prompt:
412
456
 
413
457
  ```bash
414
458
  repo-harness module list --json
415
- repo-harness module review-prompt capability.runtime-harness.engineer-bindings --json
459
+ repo-harness module review-prompt capability.runtime-harness.task-agent-host --json
416
460
  ```
417
461
 
418
462
  The prompt uses HEAD content. It reports uncommitted paths and their content
@@ -423,42 +467,29 @@ shards arrive. Diff mode requires both `--base <rev>` and `--head <rev>`.
423
467
 
424
468
  ## MCP Connector
425
469
 
426
- As an optional sidecar, `repo-harness mcp` exposes workflow artifacts to MCP
427
- clients through the default `planner` profile. ChatGPT reads real repo state and
428
- moves an idea through PRD, checklist Sprint, and task goal handoff artifacts —
429
- with no default source-code write access, arbitrary shell execution, or default
430
- runner. The task owner directs an explicitly addressed Herdr agent to execute the task goal.
470
+ As an optional sidecar, `repo-harness mcp serve` exposes workflow artifacts to a
471
+ local MCP client over stdio through the default `planner` profile or the
472
+ `executor` profile. The client reads real repo state and writes PRDs under
473
+ `docs/prds/`. It has no default source-code write access, no shell and no runner. The
474
+ task owner directs an explicitly addressed Herdr agent to execute the task goal.
431
475
 
432
476
  ```bash
433
- repo-harness mcp setup chatgpt --repo .
434
- repo-harness mcp serve --repo . --transport http --host 127.0.0.1 --port 8765 --profile planner
477
+ repo-harness mcp serve --repo . --profile planner
478
+ repo-harness mcp doctor --repo .
435
479
  ```
436
480
 
437
- Expose that local server through an HTTPS tunnel, register the `/mcp` URL, and
438
- the human workflow is:
439
-
440
- 1. ChatGPT reads repo-harness workflow files through MCP.
441
- 2. ChatGPT writes a PRD with `write_prd_from_idea`.
442
- 3. ChatGPT writes a checklist Sprint with `write_checklist_sprint`.
443
- 4. ChatGPT prepares `.ai/harness/handoff/task-goal.md` with `prepare_task_goal_from_sprint`.
444
- 5. The task owner sends the generated execution prompt to an explicitly addressed Herdr agent and stages each completed Sprint phase.
445
-
446
- General repo reader/writer tools, snapshot and index consistency, server
447
- profiles, and the opt-in dev runner:
448
- [`general-repo-mcp.md`](docs/reference-configs/general-repo-mcp.md). Direct-coding
449
- profile: [`chatgpt-coding-mcp.md`](docs/reference-configs/chatgpt-coding-mcp.md).
481
+ General repo reader/writer tools, snapshot and index consistency, and server profiles:
482
+ [`general-repo-mcp.md`](docs/reference-configs/general-repo-mcp.md).
450
483
  Index-stale, CodeGraph-down, and rollback operations:
451
484
  [`general-repo-mcp-codegraph.md`](deploy/runbooks/general-repo-mcp-codegraph.md).
452
485
 
453
486
  ## Reviewing Work
454
487
 
455
- Start with `tasks/reviews/<task>.review.md`. Its `## Human Review Card` is the
456
- one-screen decision surface: verdict, change type, intended vs actual files,
457
- commands passed, external acceptance, residual risk, reviewer action, and
458
- rollback. Then inspect the active contract, the latest trace in
459
- Verification Plan execution records, and the changed files. Accept only when the
460
- review recommends pass, the card verdict is pass, and external acceptance is
461
- pass, `not_required`, or an explicit override.
488
+ Start with the PR description. It is the one-screen decision surface: goal,
489
+ scope, changes, commands passed, external acceptance, residual risk and rollback.
490
+ Then inspect the changed files, the latest trace in Verification Plan execution
491
+ records, and the checks. Accept only when the checks pass and external acceptance
492
+ is pass, `not_required`, or an explicit override.
462
493
 
463
494
  Execution facts and acceptance are separate authorities: a passing
464
495
  `verify-contract` run proves a command ran, not that the work is accepted.
@@ -468,15 +499,11 @@ Agents read source artifacts before derived summaries:
468
499
 
469
500
  | Agent reads first | Human reviews first |
470
501
  | --- | --- |
471
- | Current user prompt and referenced files | `tasks/reviews/<task>.review.md` Human Review Card |
502
+ | Current user prompt and referenced files | PR description |
472
503
  | `AGENTS.md` / `CLAUDE.md` | Changed files and diff |
473
- | Active plan in `.ai/harness/active-plan` | Active contract allowed paths and exit criteria |
474
- | Active contract in `tasks/contracts/` | Verification Plan execution records and run trace |
475
- | Latest handoff in `.ai/harness/handoff/` | Residual risks and rollback |
476
-
477
- `tasks/current.md` is an ignored local orientation snapshot, not a tracked file.
478
- If it disagrees with the active plan, contract, review, checks, or handoff, the
479
- source artifacts win.
504
+ | The GitHub issue and PR | Verification Plan execution records and run trace |
505
+ | Latest claim status comment on the issue | Residual risks and rollback |
506
+ If it disagrees with the issue, PR, checks, or handoff, the source artifacts win.
480
507
 
481
508
  Runtime-heavy validators (Unity, browser E2E, mobile simulators, hardware rigs,
482
509
  staging smoke tests) can publish external verification manifests under the
@@ -498,14 +525,15 @@ control context loading. They do not add a host permission boundary.
498
525
  | --- | --- | --- |
499
526
  | `repo-harness` | Bot | Route explicit harness actions |
500
527
  | `repo-harness-check` | Bot | Plan scoped work, review plans, assess recorded checks |
501
- | `repo-harness-product` | Bot | Requested PRD, Sprint or Goal preparation |
528
+ | `repo-harness-product` | Bot | Requested PRD drafting or Goal preparation |
529
+ | `repo-harness-issue-flow` | Bot | Issue and PR driven multi-agent development: split by module, dispatch workers, follow PRs and CI |
502
530
  | `repo-harness-ship` | Bot | Explicit publication and cleanup decisions |
503
531
  | `obsidian-memory` | Bot | Explicit memory recall or persistence |
504
532
  | `repo-harness-cross-review` | Bot | Generic review; direct advisory runtime retired |
505
- | `repo-harness-chatgpt` | Bot | Explicit integration mode and advisory decisions |
506
533
  | `repo-harness-setup` | Worker | Assigned install, migration, repair or scaffold |
507
534
  | `repo-harness-test` | Worker | Source tests and real fixtures |
508
535
  | `repo-harness-architecture` | Worker | Assigned model, projection or diagram work |
536
+ | `repo-harness-archimap` | Worker | Draw or refresh the human-facing architecture map `docs/architecture/archimap.html` |
509
537
  | `windows-python-first` | Worker | Native Windows file, text and shell work through Python |
510
538
 
511
539
  Planning is merged into `repo-harness-check`. No separate planning alias remains.
@@ -540,7 +568,7 @@ paths are symlink-backed runtime entrypoints rebuilt by
540
568
  the npm unpublished-version preflight, then runs the `release` lane: the
541
569
  expensive-gated tests and the tarball install smoke. It is not a second full
542
570
  suite and not the CI gate; a release depends on green CI for the release SHA.
543
- Runtime routing regressions stay in affected tests. The old routing eval gate is retired.
571
+ Runtime routing regressions stay in affected tests. The old routing eval gate is retired. The skill-routing aggregate in `evals/skill-routing/routing-aggregate.json` is advisory evidence, not a merge gate: the provider harness passes the raw corpus prompt with no routing preamble, so the run measures direct model answers, not skill discovery. The aggregate sets `advisory: true` and records the reason; its `overall_pass` and floors stay reported metrics. A follow-up will add the routing preamble and reconsider gating.
544
572
 
545
573
  ```bash
546
574
  bun run check:ci # the whole gate
@@ -568,7 +596,6 @@ dependencies.
568
596
  | [herdr](https://herdr.dev/) | Required peer-terminal runtime: notification dispatch, peer collaboration, and hosting the persistent acceptance reviewer | Externally installed binary, checksum-pinned in `.ai/harness/policy.json`; replaces the retired tmux runtime |
569
597
  | [`reverse-skill-router`](https://github.com/zhaoxuya520/reverse-skill) | Routes reverse-engineering and security tasks to specialist playbooks | Recommended explicit-only Skill (`--with-reverse-skill`); not profile-selected because upstream's target-mention authorization assumption requires independent scope review |
570
598
  | CodeGraph (`@colbymchenry/codegraph`) | Symbol-aware navigation, impact tracing, and readiness checks for this self-host repo | Dev dependency in this repo; generated repos stay global-MCP-first unless policy opts in |
571
- | [Oracle](https://github.com/steipete/oracle) by [Peter Steinberger](https://x.com/steipete) (`@steipete/oracle`, MIT) | Default GPT Pro / ChatGPT Web browser consult engine that the `chatgpt-browser` Oracle provider shells out to for `gptpro` consults | Externally-resolved binary (`--oracle-bin`, `REPO_HARNESS_ORACLE_BIN`, `node_modules/.bin`, or `PATH`); never auto-downloaded, and a missing binary is a hard `ORACLE_NOT_INSTALLED` failure |
572
599
  | OpenAI Codex | Primary execution agent for repo-local implementation, verification, and GitHub contributor attribution when a commit materially includes Codex-authored work | External agent runtime; attribution is an explicit commit trailer, not hidden hook automation |
573
600
 
574
601
  ### GitHub Contributor Attribution
@@ -585,8 +612,8 @@ repo-harness commit scripts or hooks unless that repo adopts the same policy.
585
612
 
586
613
  ## Current Release
587
614
 
588
- - npm package: `repo-harness@0.24.3`
589
- - Generated workflow stamp: `repo-harness@0.24.3+template@0.24.3`
615
+ - npm package: `repo-harness@0.25.1`
616
+ - Generated workflow stamp: `repo-harness@0.25.1+template@0.25.1`
590
617
  - GitHub repository: `Ancienttwo/repo-harness`
591
618
  - Release notes and history: [`docs/CHANGELOG.md`](docs/CHANGELOG.md)
592
619
 
package/SKILL.md CHANGED
@@ -9,17 +9,18 @@ when_to_use: "repo-harness"
9
9
  Bot entrypoint. Resolve scope, worker ownership and the authorized outcome.
10
10
  When acting as a PM Bot, use [the shared PM boundary](references/pm-boundary.md).
11
11
  The PM coordinates work. Coding agents own source edits, tests and repairs.
12
+ GrokBot init: [bot onboarding](docs/bot-onboarding.md).
12
13
  This role applies to Grok, Hermes, Dot and other Bot hosts. It does not restrict
13
14
  an explicitly assigned coding worker or a direct development session.
14
15
  Use `repo-harness state resolve --json` when active harness state is needed.
15
16
  Treat the returned state as authority; load only the files it names.
16
17
  Load the required `herdr` skill before controlling Herdr panes or agents.
17
- Only an agent inside a Herdr pane may run those control commands.
18
+ Discover panes by task path, then use explicit targets.
18
19
 
19
20
  1. **setup** — bind the mode and target repo, then assign `repo-harness-setup`.
20
21
  2. **plan** — use `repo-harness-check` for scoped design or plan review.
21
- Use `repo-harness-product` only for requested PRD, Sprint or Goal work.
22
- 3. **execute** — assign a bounded brief and owning paths. Load worker techniques
22
+ PRD or Goal: `repo-harness-product`. Issues: `repo-harness-issue-flow`.
23
+ 3. **execute** — assign a [worker brief](assets/reference-configs/herdr-notify.md#worker-briefs). Load worker techniques
23
24
  from `repo-harness-test` or
24
25
  [`repo-harness-architecture`](assets/skill-commands/repo-harness-architecture/SKILL.md)
25
26
  only when needed.