agentic-flow-kit 1.8.7 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (936) hide show
  1. package/README.md +113 -148
  2. package/bin/flow-kit.mjs +5 -2
  3. package/locales/en/installer.json +25 -0
  4. package/locales/en/overrides/.agents/commands/deploy.md +52 -0
  5. package/locales/en/overrides/.agents/commands/maintain.md +76 -0
  6. package/locales/en/overrides/.agents/commands/new-task.md +89 -0
  7. package/locales/en/overrides/.agents/commands/pipeline-run.md +56 -0
  8. package/locales/en/overrides/.agents/commands/pr-review.md +30 -0
  9. package/locales/en/overrides/.agents/commands/review.md +93 -0
  10. package/locales/en/overrides/.agents/commands/stages.md +256 -0
  11. package/locales/en/overrides/.agents/notes/pr-review-cost-discipline.md +48 -0
  12. package/locales/en/overrides/.agents/notes/process-order-rule.md +21 -0
  13. package/locales/en/overrides/.agents/notes/runtime-env.local.example.md +21 -0
  14. package/locales/en/overrides/.agents/pipelines/_TEMPLATE.md +75 -0
  15. package/locales/en/overrides/.agents/pipelines/pipeline-closing.md +28 -0
  16. package/locales/en/overrides/.agents/roles/implementer.md +28 -0
  17. package/locales/en/overrides/.agents/roles/independent-reviewer.md +39 -0
  18. package/locales/en/overrides/.agents/roles/pr-adjudicator.md +27 -0
  19. package/locales/en/overrides/.agents/roles/pr-finder.md +51 -0
  20. package/locales/en/overrides/.agents/roles/pr-verifier.md +44 -0
  21. package/locales/en/overrides/.agents/roles/ui-verifier.md +22 -0
  22. package/locales/en/overrides/.agents/roles/wiki-compiler.md +47 -0
  23. package/locales/en/overrides/.agents/skills/arena/SKILL.md +50 -0
  24. package/locales/en/overrides/.agents/skills/autonomous-run/SKILL.md +45 -0
  25. package/locales/en/overrides/.agents/skills/blast-radius/SKILL.md +53 -0
  26. package/locales/en/overrides/.agents/skills/csharp-quality-gates/SKILL.md +109 -0
  27. package/locales/en/overrides/.agents/skills/dev-tour/SKILL.md +98 -0
  28. package/locales/en/overrides/.agents/skills/dream/SKILL.md +63 -0
  29. package/locales/en/overrides/.agents/skills/eval/SKILL.md +42 -0
  30. package/locales/en/overrides/.agents/skills/interrogate/SKILL.md +49 -0
  31. package/locales/en/overrides/.agents/skills/number-vetting/SKILL.md +35 -0
  32. package/locales/en/overrides/.agents/skills/page-refactor/SKILL.md +192 -0
  33. package/locales/en/overrides/.agents/skills/papercut-fix/SKILL.md +92 -0
  34. package/locales/en/overrides/.agents/skills/pause-safely/SKILL.md +31 -0
  35. package/locales/en/overrides/.agents/skills/perf/SKILL.md +42 -0
  36. package/locales/en/overrides/.agents/skills/review-method/SKILL.md +92 -0
  37. package/locales/en/overrides/.agents/skills/session-resume/SKILL.md +69 -0
  38. package/locales/en/overrides/.agents/skills/shipyard-workflow-closeout/SKILL.md +109 -0
  39. package/locales/en/overrides/.agents/skills/show-me-your-work/SKILL.md +57 -0
  40. package/locales/en/overrides/.agents/skills/tfs-pr/SKILL.md +95 -0
  41. package/locales/en/overrides/.agents/skills/verify-ui/SKILL.md +116 -0
  42. package/locales/en/overrides/.agents/skills/visual-parity/SKILL.md +35 -0
  43. package/locales/en/overrides/.agents/skills/why/SKILL.md +56 -0
  44. package/locales/en/overrides/.agents/skills/wiki/SKILL.md +53 -0
  45. package/locales/en/overrides/.claude/agents/implementer.md +9 -0
  46. package/locales/en/overrides/.claude/agents/independent-reviewer.md +10 -0
  47. package/locales/en/overrides/.claude/agents/pr-adjudicator.md +10 -0
  48. package/locales/en/overrides/.claude/agents/pr-finder.md +10 -0
  49. package/locales/en/overrides/.claude/agents/pr-verifier.md +10 -0
  50. package/locales/en/overrides/.claude/agents/ui-verifier.md +10 -0
  51. package/locales/en/overrides/.claude/agents/wiki-compiler.md +10 -0
  52. package/locales/en/overrides/.claude/commands/wf-deploy.md +8 -0
  53. package/locales/en/overrides/.claude/commands/wf-maintain.md +8 -0
  54. package/locales/en/overrides/.claude/commands/wf-new-task.md +8 -0
  55. package/locales/en/overrides/.claude/commands/wf-pipeline-run.md +8 -0
  56. package/locales/en/overrides/.claude/commands/wf-pr-review.md +8 -0
  57. package/locales/en/overrides/.claude/commands/wf-review.md +8 -0
  58. package/locales/en/overrides/.claude/commands/wf-stages.md +8 -0
  59. package/locales/en/overrides/.cline/agents/implementer.yml +13 -0
  60. package/locales/en/overrides/.cline/agents/independent-reviewer.yml +11 -0
  61. package/locales/en/overrides/.cline/agents/pr-adjudicator.yml +11 -0
  62. package/locales/en/overrides/.cline/agents/pr-finder.yml +11 -0
  63. package/locales/en/overrides/.cline/agents/pr-verifier.yml +11 -0
  64. package/locales/en/overrides/.cline/agents/ui-verifier.yml +8 -0
  65. package/locales/en/overrides/.cline/agents/wiki-compiler.yml +14 -0
  66. package/locales/en/overrides/.cline/workflows/wf-deploy.md +8 -0
  67. package/locales/en/overrides/.cline/workflows/wf-maintain.md +8 -0
  68. package/locales/en/overrides/.cline/workflows/wf-new-task.md +8 -0
  69. package/locales/en/overrides/.cline/workflows/wf-pipeline-run.md +8 -0
  70. package/locales/en/overrides/.cline/workflows/wf-pr-review.md +8 -0
  71. package/locales/en/overrides/.cline/workflows/wf-review.md +8 -0
  72. package/locales/en/overrides/.cline/workflows/wf-stages.md +8 -0
  73. package/locales/en/overrides/.codebuddy/CODEBUDDY.md +7 -0
  74. package/locales/en/overrides/.codebuddy/agents/implementer.md +9 -0
  75. package/locales/en/overrides/.codebuddy/agents/independent-reviewer.md +10 -0
  76. package/locales/en/overrides/.codebuddy/agents/pr-adjudicator.md +10 -0
  77. package/locales/en/overrides/.codebuddy/agents/pr-finder.md +10 -0
  78. package/locales/en/overrides/.codebuddy/agents/pr-verifier.md +10 -0
  79. package/locales/en/overrides/.codebuddy/agents/ui-verifier.md +11 -0
  80. package/locales/en/overrides/.codebuddy/agents/wiki-compiler.md +10 -0
  81. package/locales/en/overrides/.codebuddy/commands/wf-deploy.md +8 -0
  82. package/locales/en/overrides/.codebuddy/commands/wf-maintain.md +8 -0
  83. package/locales/en/overrides/.codebuddy/commands/wf-new-task.md +8 -0
  84. package/locales/en/overrides/.codebuddy/commands/wf-pipeline-run.md +8 -0
  85. package/locales/en/overrides/.codebuddy/commands/wf-pr-review.md +8 -0
  86. package/locales/en/overrides/.codebuddy/commands/wf-review.md +8 -0
  87. package/locales/en/overrides/.codebuddy/commands/wf-stages.md +8 -0
  88. package/locales/en/overrides/.codebuddy/rules/backend-scope.md +5 -0
  89. package/locales/en/overrides/.codebuddy/rules/frontend-scope.md +5 -0
  90. package/locales/en/overrides/.codebuddy/skills/tfs-pr/SKILL.md +6 -0
  91. package/locales/en/overrides/.commandcode/agents/implementer.md +10 -0
  92. package/locales/en/overrides/.commandcode/agents/independent-reviewer.md +9 -0
  93. package/locales/en/overrides/.commandcode/agents/pr-adjudicator.md +9 -0
  94. package/locales/en/overrides/.commandcode/agents/pr-finder.md +9 -0
  95. package/locales/en/overrides/.commandcode/agents/pr-verifier.md +9 -0
  96. package/locales/en/overrides/.commandcode/agents/ui-verifier.md +10 -0
  97. package/locales/en/overrides/.commandcode/agents/wiki-compiler.md +10 -0
  98. package/locales/en/overrides/.commandcode/commands/wf-deploy.md +7 -0
  99. package/locales/en/overrides/.commandcode/commands/wf-maintain.md +7 -0
  100. package/locales/en/overrides/.commandcode/commands/wf-new-task.md +7 -0
  101. package/locales/en/overrides/.commandcode/commands/wf-pipeline-run.md +7 -0
  102. package/locales/en/overrides/.commandcode/commands/wf-pr-review.md +7 -0
  103. package/locales/en/overrides/.commandcode/commands/wf-review.md +7 -0
  104. package/locales/en/overrides/.commandcode/commands/wf-stages.md +7 -0
  105. package/locales/en/overrides/.opencode/agents/implementer.md +51 -0
  106. package/locales/en/overrides/.opencode/agents/independent-reviewer.md +18 -0
  107. package/locales/en/overrides/.opencode/agents/pr-adjudicator.md +18 -0
  108. package/locales/en/overrides/.opencode/agents/pr-finder.md +18 -0
  109. package/locales/en/overrides/.opencode/agents/pr-verifier.md +18 -0
  110. package/locales/en/overrides/.opencode/agents/ui-verifier.md +45 -0
  111. package/locales/en/overrides/.opencode/agents/wiki-compiler.md +51 -0
  112. package/locales/en/overrides/.opencode/commands/wf-deploy.md +7 -0
  113. package/locales/en/overrides/.opencode/commands/wf-maintain.md +7 -0
  114. package/locales/en/overrides/.opencode/commands/wf-new-task.md +7 -0
  115. package/locales/en/overrides/.opencode/commands/wf-pipeline-run.md +7 -0
  116. package/locales/en/overrides/.opencode/commands/wf-pr-review.md +7 -0
  117. package/locales/en/overrides/.opencode/commands/wf-review.md +7 -0
  118. package/locales/en/overrides/.opencode/commands/wf-stages.md +7 -0
  119. package/locales/en/overrides/.pi/agents/implementer.md +11 -0
  120. package/locales/en/overrides/.pi/agents/independent-reviewer.md +12 -0
  121. package/locales/en/overrides/.pi/agents/pr-adjudicator.md +12 -0
  122. package/locales/en/overrides/.pi/agents/pr-finder.md +11 -0
  123. package/locales/en/overrides/.pi/agents/pr-verifier.md +11 -0
  124. package/locales/en/overrides/.pi/agents/ui-verifier.md +11 -0
  125. package/locales/en/overrides/.pi/agents/wiki-compiler.md +11 -0
  126. package/locales/en/overrides/.qoder/agents/implementer.md +9 -0
  127. package/locales/en/overrides/.qoder/agents/independent-reviewer.md +10 -0
  128. package/locales/en/overrides/.qoder/agents/pr-adjudicator.md +10 -0
  129. package/locales/en/overrides/.qoder/agents/pr-finder.md +10 -0
  130. package/locales/en/overrides/.qoder/agents/pr-verifier.md +10 -0
  131. package/locales/en/overrides/.qoder/agents/ui-verifier.md +10 -0
  132. package/locales/en/overrides/.qoder/agents/wiki-compiler.md +10 -0
  133. package/locales/en/overrides/.qoder/commands/wf-deploy.md +8 -0
  134. package/locales/en/overrides/.qoder/commands/wf-maintain.md +8 -0
  135. package/locales/en/overrides/.qoder/commands/wf-new-task.md +8 -0
  136. package/locales/en/overrides/.qoder/commands/wf-pipeline-run.md +8 -0
  137. package/locales/en/overrides/.qoder/commands/wf-pr-review.md +8 -0
  138. package/locales/en/overrides/.qoder/commands/wf-review.md +8 -0
  139. package/locales/en/overrides/.qoder/commands/wf-stages.md +8 -0
  140. package/locales/en/overrides/.qwen/agents/implementer.md +10 -0
  141. package/locales/en/overrides/.qwen/agents/independent-reviewer.md +10 -0
  142. package/locales/en/overrides/.qwen/agents/pr-adjudicator.md +10 -0
  143. package/locales/en/overrides/.qwen/agents/pr-finder.md +10 -0
  144. package/locales/en/overrides/.qwen/agents/pr-verifier.md +10 -0
  145. package/locales/en/overrides/.qwen/agents/ui-verifier.md +10 -0
  146. package/locales/en/overrides/.qwen/agents/wiki-compiler.md +13 -0
  147. package/locales/en/overrides/.qwen/commands/wf-deploy.md +7 -0
  148. package/locales/en/overrides/.qwen/commands/wf-maintain.md +7 -0
  149. package/locales/en/overrides/.qwen/commands/wf-new-task.md +7 -0
  150. package/locales/en/overrides/.qwen/commands/wf-pipeline-run.md +7 -0
  151. package/locales/en/overrides/.qwen/commands/wf-pr-review.md +7 -0
  152. package/locales/en/overrides/.qwen/commands/wf-review.md +7 -0
  153. package/locales/en/overrides/.qwen/commands/wf-stages.md +7 -0
  154. package/locales/en/overrides/.trae/agents/implementer.md +9 -0
  155. package/locales/en/overrides/.trae/agents/independent-reviewer.md +10 -0
  156. package/locales/en/overrides/.trae/agents/pr-adjudicator.md +10 -0
  157. package/locales/en/overrides/.trae/agents/pr-finder.md +10 -0
  158. package/locales/en/overrides/.trae/agents/pr-verifier.md +10 -0
  159. package/locales/en/overrides/.trae/agents/ui-verifier.md +10 -0
  160. package/locales/en/overrides/.trae/agents/wiki-compiler.md +10 -0
  161. package/locales/en/overrides/.trae/commands/wf-deploy.md +8 -0
  162. package/locales/en/overrides/.trae/commands/wf-maintain.md +8 -0
  163. package/locales/en/overrides/.trae/commands/wf-new-task.md +8 -0
  164. package/locales/en/overrides/.trae/commands/wf-pipeline-run.md +8 -0
  165. package/locales/en/overrides/.trae/commands/wf-pr-review.md +8 -0
  166. package/locales/en/overrides/.trae/commands/wf-review.md +8 -0
  167. package/locales/en/overrides/.trae/commands/wf-stages.md +8 -0
  168. package/locales/en/overrides/.trae/rules/backend-scope.md +5 -0
  169. package/locales/en/overrides/.trae/rules/frontend-scope.md +5 -0
  170. package/locales/en/overrides/.zcode/agents/implementer.md +8 -0
  171. package/locales/en/overrides/.zcode/agents/independent-reviewer.md +8 -0
  172. package/locales/en/overrides/.zcode/agents/ui-verifier.md +8 -0
  173. package/locales/en/overrides/.zcode/agents/wiki-compiler.md +8 -0
  174. package/locales/en/overrides/AGENTS.md +52 -0
  175. package/locales/en/overrides/CLAUDE.md +20 -0
  176. package/locales/en/overrides/wiki/INDEX.md +33 -0
  177. package/locales/en/overrides/wiki/drafts-archive/README.md +6 -0
  178. package/locales/en/overrides/wiki//346/225/260/346/215/256/347/273/264/346/212/244/README.md +22 -0
  179. package/locales/en/overrides/wiki//347/237/245/350/257/206/346/262/211/346/267/200/346/200/273/350/247/210.html +230 -0
  180. package/locales/en/overrides/workflow/INDEX.md +13 -0
  181. package/locales/en/overrides/workflow/README.md +67 -0
  182. package/locales/en/overrides/workflow/archive/README.md +3 -0
  183. package/locales/en/overrides/workflow/delegations.md +4 -0
  184. package/locales/en/overrides/workflow/effective-policy.md +4 -0
  185. package/locales/en/overrides/workflow/gate-cost.md +4 -0
  186. package/locales/en/overrides/workflow/incidents/_TEMPLATE.md +49 -0
  187. package/locales/en/overrides/workflow/intents/_TEMPLATE.md +43 -0
  188. package/locales/en/overrides/workflow/metrics.md +4 -0
  189. package/locales/en/overrides/workflow/papercuts.md +3 -0
  190. package/locales/en/overrides/workflow/plans/_TEMPLATE.md +47 -0
  191. package/locales/en/overrides/workflow/regression-checklist.md +3 -0
  192. package/locales/en/overrides/workflow/specs/_TEMPLATE.md +86 -0
  193. package/locales/en/overrides/workflow/verify-evidence.md +4 -0
  194. package/locales/zh-CN/installer.json +25 -0
  195. package/package.json +23 -36
  196. package/schemas/install-manifest.schema.json +24 -0
  197. package/schemas/project-profile.schema.json +28 -0
  198. package/src/cli/args.mjs +41 -0
  199. package/src/cli/main.mjs +72 -0
  200. package/src/commands/add-host.mjs +29 -0
  201. package/src/commands/doctor.mjs +80 -0
  202. package/src/commands/install.mjs +149 -0
  203. package/src/commands/upgrade.mjs +30 -0
  204. package/src/git/config.mjs +61 -0
  205. package/src/hosts/registry.mjs +26 -0
  206. package/src/i18n.mjs +32 -0
  207. package/src/install/apply.mjs +124 -0
  208. package/src/install/manifest.mjs +40 -0
  209. package/src/install/plan.mjs +83 -0
  210. package/src/render/tokens.mjs +58 -0
  211. package/templates/engine/.agents/board/dev-tour.html +1940 -0
  212. package/templates/engine/.agents/board/index.html +835 -0
  213. package/templates/engine/.agents/commands/deploy.md +52 -0
  214. package/templates/engine/.agents/commands/maintain.md +76 -0
  215. package/templates/engine/.agents/commands/new-task.md +89 -0
  216. package/templates/engine/.agents/commands/pipeline-run.md +56 -0
  217. package/templates/engine/.agents/commands/pr-review.md +30 -0
  218. package/templates/engine/.agents/commands/review.md +93 -0
  219. package/templates/engine/.agents/commands/stages.md +256 -0
  220. package/templates/engine/.agents/config/commit-msg-rules.json +7 -0
  221. package/templates/engine/.agents/config/engine.json +11 -0
  222. package/templates/engine/.agents/config/gate-budgets.json +5 -0
  223. package/templates/engine/.agents/config/mechanism-registry.md +62 -0
  224. package/templates/engine/.agents/config/model-roles.json +26 -0
  225. package/templates/engine/.agents/config/model-roles.local.example.json +7 -0
  226. package/templates/engine/.agents/config/pr-review.json +67 -0
  227. package/templates/engine/.agents/config/principles.md +32 -0
  228. package/templates/engine/.agents/config/workflow-enums.txt +25 -0
  229. package/templates/engine/.agents/hooks/check-architecture.mjs +168 -0
  230. package/templates/engine/.agents/hooks/check-audit-fields.mjs +56 -0
  231. package/templates/engine/.agents/hooks/check-commit-plan-ref.mjs +84 -0
  232. package/templates/engine/.agents/hooks/check-confirm-order.mjs +281 -0
  233. package/templates/engine/.agents/hooks/check-delete-guard.mjs +63 -0
  234. package/templates/engine/.agents/hooks/check-notify-guard.mjs +55 -0
  235. package/templates/engine/.agents/hooks/commit-check.cjs +208 -0
  236. package/templates/engine/.agents/hooks/gates.json +33 -0
  237. package/templates/engine/.agents/hooks/local-pre-commit.mjs +27 -0
  238. package/templates/engine/.agents/hooks/pre-shell-check.cjs +361 -0
  239. package/templates/engine/.agents/hooks/pre-write-check.cjs +220 -0
  240. package/templates/engine/.agents/notes/gate-diet.md +75 -0
  241. package/templates/engine/.agents/notes/pr-review-cost-discipline.md +48 -0
  242. package/templates/engine/.agents/notes/process-order-rule.md +21 -0
  243. package/templates/engine/.agents/notes/runtime-env.local.example.md +21 -0
  244. package/templates/engine/.agents/pipelines/_TEMPLATE.md +75 -0
  245. package/templates/engine/.agents/pipelines/pipeline-closing.md +28 -0
  246. package/templates/engine/.agents/pipelines//347/244/272/344/276/213-/345/271/266/350/241/214/345/256/236/347/216/260/350/257/204/345/256/241.md +16 -0
  247. package/templates/engine/.agents/roles/implementer.md +28 -0
  248. package/templates/engine/.agents/roles/independent-reviewer.md +39 -0
  249. package/templates/engine/.agents/roles/pr-adjudicator.md +27 -0
  250. package/templates/engine/.agents/roles/pr-finder.md +51 -0
  251. package/templates/engine/.agents/roles/pr-verifier.md +44 -0
  252. package/templates/engine/.agents/roles/ui-verifier.md +22 -0
  253. package/templates/engine/.agents/roles/wiki-compiler.md +47 -0
  254. package/templates/engine/.agents/scripts/agg-delegations.mjs +439 -0
  255. package/templates/engine/.agents/scripts/agg-judgments.mjs +301 -0
  256. package/templates/engine/.agents/scripts/agg-kb-usage.mjs +196 -0
  257. package/templates/engine/.agents/scripts/append-compensation.mjs +109 -0
  258. package/templates/engine/.agents/scripts/archive-sweep.mjs +229 -0
  259. package/templates/engine/.agents/scripts/auto-tour.mjs +77 -0
  260. package/templates/engine/.agents/scripts/board-port.mjs +17 -0
  261. package/templates/engine/.agents/scripts/check-doc-body-drift.mjs +102 -0
  262. package/templates/engine/.agents/scripts/check-engine-artifacts.mjs +54 -0
  263. package/templates/engine/.agents/scripts/check-hook-wiring.mjs +75 -0
  264. package/templates/engine/.agents/scripts/check-lane-surface.mjs +393 -0
  265. package/templates/engine/.agents/scripts/check-ledger-doc-presence.mjs +71 -0
  266. package/templates/engine/.agents/scripts/check-ledger-invariant.mjs +873 -0
  267. package/templates/engine/.agents/scripts/check-local-gate-config.mjs +95 -0
  268. package/templates/engine/.agents/scripts/check-local-gates.mjs +248 -0
  269. package/templates/engine/.agents/scripts/check-loop-kit.mjs +550 -0
  270. package/templates/engine/.agents/scripts/check-loop-rev-semantics.mjs +59 -0
  271. package/templates/engine/.agents/scripts/check-loop-sections/s01-pairing.mjs +116 -0
  272. package/templates/engine/.agents/scripts/check-loop-sections/s03x-regr-evidence.mjs +38 -0
  273. package/templates/engine/.agents/scripts/check-loop-sections/s08-acceptance.mjs +130 -0
  274. package/templates/engine/.agents/scripts/check-loop-sections/s15-fingerprint.mjs +152 -0
  275. package/templates/engine/.agents/scripts/check-loop-sections/s23-convergence-audit.mjs +182 -0
  276. package/templates/engine/.agents/scripts/check-loop-sections/s29-regr-enforcer.mjs +69 -0
  277. package/templates/engine/.agents/scripts/check-loop.mjs +131 -0
  278. package/templates/engine/.agents/scripts/check-regression-consistency.mjs +252 -0
  279. package/templates/engine/.agents/scripts/check-schema-residue.mjs +144 -0
  280. package/templates/engine/.agents/scripts/check-scope-range.mjs +156 -0
  281. package/templates/engine/.agents/scripts/check-scope.mjs +121 -0
  282. package/templates/engine/.agents/scripts/check-scripts-syntax.mjs +138 -0
  283. package/templates/engine/.agents/scripts/check-secrets-lite.mjs +239 -0
  284. package/templates/engine/.agents/scripts/check-secrets.mjs +104 -0
  285. package/templates/engine/.agents/scripts/check-test-impact-map.mjs +107 -0
  286. package/templates/engine/.agents/scripts/ci-assert-frontend-deps.mjs +42 -0
  287. package/templates/engine/.agents/scripts/ci-commit-hygiene.mjs +86 -0
  288. package/templates/engine/.agents/scripts/ci-install-gitleaks.mjs +75 -0
  289. package/templates/engine/.agents/scripts/ci-push-before.mjs +49 -0
  290. package/templates/engine/.agents/scripts/closeout.mjs +127 -0
  291. package/templates/engine/.agents/scripts/compact-ledgers.mjs +70 -0
  292. package/templates/engine/.agents/scripts/confirm-doc.mjs +737 -0
  293. package/templates/engine/.agents/scripts/delegation-presence.mjs +38 -0
  294. package/templates/engine/.agents/scripts/dev-tour-model.mjs +1398 -0
  295. package/templates/engine/.agents/scripts/dream-run.mjs +283 -0
  296. package/templates/engine/.agents/scripts/ensure-board.mjs +187 -0
  297. package/templates/engine/.agents/scripts/failure-attribution.mjs +11 -0
  298. package/templates/engine/.agents/scripts/fill-intent.mjs +60 -0
  299. package/templates/engine/.agents/scripts/fill-plan.mjs +105 -0
  300. package/templates/engine/.agents/scripts/fill-spec.mjs +72 -0
  301. package/templates/engine/.agents/scripts/gen-dev-tour.mjs +191 -0
  302. package/templates/engine/.agents/scripts/gen-effective-policy.mjs +113 -0
  303. package/templates/engine/.agents/scripts/gen-engine-map.mjs +292 -0
  304. package/templates/engine/.agents/scripts/gen-narrative-claims.mjs +275 -0
  305. package/templates/engine/.agents/scripts/gen-verify-evidence.mjs +115 -0
  306. package/templates/engine/.agents/scripts/gen-wiki-board.mjs +221 -0
  307. package/templates/engine/.agents/scripts/gen-workflow-index.mjs +201 -0
  308. package/templates/engine/.agents/scripts/gen-workflow-metrics.mjs +692 -0
  309. package/templates/engine/.agents/scripts/git-merge-jsonl.mjs +62 -0
  310. package/templates/engine/.agents/scripts/judgment-ledger.mjs +68 -0
  311. package/templates/engine/.agents/scripts/kb-cache-evict.mjs +50 -0
  312. package/templates/engine/.agents/scripts/kb-search.mjs +423 -0
  313. package/templates/engine/.agents/scripts/lane-surface-audit.mjs +145 -0
  314. package/templates/engine/.agents/scripts/ledger-loader.mjs +77 -0
  315. package/templates/engine/.agents/scripts/ledger-shards.mjs +346 -0
  316. package/templates/engine/.agents/scripts/metrics-core.mjs +131 -0
  317. package/templates/engine/.agents/scripts/pipeline-run.mjs +964 -0
  318. package/templates/engine/.agents/scripts/policy.mjs +250 -0
  319. package/templates/engine/.agents/scripts/pr-create.mjs +54 -0
  320. package/templates/engine/.agents/scripts/pr-review.mjs +1551 -0
  321. package/templates/engine/.agents/scripts/quote-grounding.mjs +233 -0
  322. package/templates/engine/.agents/scripts/regen-ledgers.mjs +59 -0
  323. package/templates/engine/.agents/scripts/rewrite-file.mjs +135 -0
  324. package/templates/engine/.agents/scripts/rule-budget.mjs +246 -0
  325. package/templates/engine/.agents/scripts/stage-gates.mjs +812 -0
  326. package/templates/engine/.agents/scripts/test-impact-lib.mjs +451 -0
  327. package/templates/engine/.agents/scripts/test-impact.mjs +105 -0
  328. package/templates/engine/.agents/scripts/trust-mode.mjs +130 -0
  329. package/templates/engine/.agents/scripts/verify-scope.mjs +163 -0
  330. package/templates/engine/.agents/scripts/verify-wiki-consistency.mjs +264 -0
  331. package/templates/engine/.agents/scripts/verify.mjs +847 -0
  332. package/templates/engine/.agents/scripts/warn-format.mjs +57 -0
  333. package/templates/engine/.agents/scripts/wf-journal.mjs +230 -0
  334. package/templates/engine/.agents/scripts/workflow-board-server.mjs +696 -0
  335. package/templates/engine/.agents/scripts/workflow-enums.mjs +70 -0
  336. package/templates/engine/.agents/scripts/workflows-check.mjs +260 -0
  337. package/templates/engine/.agents/settings.json +33 -0
  338. package/templates/engine/.agents/skills/arena/SKILL.md +50 -0
  339. package/templates/engine/.agents/skills/autonomous-run/SKILL.md +45 -0
  340. package/templates/engine/.agents/skills/blast-radius/SKILL.md +53 -0
  341. package/templates/engine/.agents/skills/csharp-quality-gates/SKILL.md +109 -0
  342. package/templates/engine/.agents/skills/csharp-quality-gates/scripts/quality-gates.mjs +430 -0
  343. package/templates/engine/.agents/skills/dev-tour/SKILL.md +98 -0
  344. package/templates/engine/.agents/skills/dream/SKILL.md +63 -0
  345. package/templates/engine/.agents/skills/eval/SKILL.md +42 -0
  346. package/templates/engine/.agents/skills/eval/scripts/eval-score.mjs +59 -0
  347. package/templates/engine/.agents/skills/interrogate/SKILL.md +49 -0
  348. package/templates/engine/.agents/skills/interrogate/scripts/interrogate-plan.mjs +72 -0
  349. package/templates/engine/.agents/skills/number-vetting/SKILL.md +35 -0
  350. package/templates/engine/.agents/skills/page-refactor/SKILL.md +192 -0
  351. package/templates/engine/.agents/skills/page-refactor/references/templates.md +989 -0
  352. package/templates/engine/.agents/skills/papercut-fix/SKILL.md +92 -0
  353. package/templates/engine/.agents/skills/papercut-fix/references/response-template.md +81 -0
  354. package/templates/engine/.agents/skills/pause-safely/SKILL.md +31 -0
  355. package/templates/engine/.agents/skills/perf/SKILL.md +42 -0
  356. package/templates/engine/.agents/skills/review-method/SKILL.md +92 -0
  357. package/templates/engine/.agents/skills/review-method/golden-set.md +61 -0
  358. package/templates/engine/.agents/skills/session-resume/SKILL.md +69 -0
  359. package/templates/engine/.agents/skills/session-resume/scripts/worktree-audit.mjs +110 -0
  360. package/templates/engine/.agents/skills/shipyard-workflow-closeout/SKILL.md +109 -0
  361. package/templates/engine/.agents/skills/show-me-your-work/SKILL.md +57 -0
  362. package/templates/engine/.agents/skills/show-me-your-work/references/decision-log-template.tsv +1 -0
  363. package/templates/engine/.agents/skills/show-me-your-work/scripts/decision-log.mjs +24 -0
  364. package/templates/engine/.agents/skills/tfs-pr/SKILL.md +95 -0
  365. package/templates/engine/.agents/skills/tfs-pr/scripts/tfs-pr.mjs +947 -0
  366. package/templates/engine/.agents/skills/verify-ui/SKILL.md +116 -0
  367. package/templates/engine/.agents/skills/verify-ui/features/.gitkeep +0 -0
  368. package/templates/engine/.agents/skills/verify-ui/scripts/gen-verify-feature.mjs +114 -0
  369. package/templates/engine/.agents/skills/visual-parity/SKILL.md +35 -0
  370. package/templates/engine/.agents/skills/why/SKILL.md +56 -0
  371. package/templates/engine/.agents/skills/why/scripts/why-evidence.mjs +74 -0
  372. package/templates/engine/.agents/skills/wiki/SKILL.md +53 -0
  373. package/templates/engine/.agents/tests/auto-tour.test.mjs +82 -0
  374. package/templates/engine/.agents/tests/dev-tour-model.test.mjs +452 -0
  375. package/templates/engine/.agents/tests/fill-plan-lite.test.mjs +46 -0
  376. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-bare-mid-path.md +14 -0
  377. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-bare-mid-path.model.json +179 -0
  378. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-fake-path-guard.md +21 -0
  379. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-fake-path-guard.model.json +194 -0
  380. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-h3-batches.md +20 -0
  381. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-h3-batches.model.json +207 -0
  382. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-issues.md +24 -0
  383. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-issues.model.json +225 -0
  384. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-l1-single-file.md +15 -0
  385. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-l1-single-file.model.json +160 -0
  386. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layer-word-unique.md +29 -0
  387. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layer-word-unique.model.json +266 -0
  388. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layers-fallback.md +17 -0
  389. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layers-fallback.model.json +207 -0
  390. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-numbered-steps.md +39 -0
  391. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-numbered-steps.model.json +359 -0
  392. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-path-guess.md +16 -0
  393. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-path-guess.model.json +131 -0
  394. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-table-rows.md +29 -0
  395. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-table-rows.model.json +190 -0
  396. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-task-checkboxes.md +39 -0
  397. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-task-checkboxes.model.json +362 -0
  398. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-union-label.md +24 -0
  399. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-union-label.model.json +224 -0
  400. package/templates/engine/.agents/tests/tools/gen-synthetic-plan.mjs +108 -0
  401. package/templates/git/.gitattributes +22 -0
  402. package/templates/git/.githooks/commit-msg +72 -0
  403. package/templates/git/.githooks/post-commit +62 -0
  404. package/templates/git/.githooks/pre-commit +197 -0
  405. package/templates/git/.githooks/pre-merge-commit +28 -0
  406. package/templates/git/.githooks/pre-push +201 -0
  407. package/templates/git/.gitignore.engine +11 -0
  408. package/templates/hosts/claude/CLAUDE.md +55 -0
  409. package/templates/hosts/claude/agents/implementer.md +7 -0
  410. package/templates/hosts/claude/agents/independent-reviewer.md +8 -0
  411. package/templates/hosts/claude/agents/pr-adjudicator.md +8 -0
  412. package/templates/hosts/claude/agents/pr-finder.md +8 -0
  413. package/templates/hosts/claude/agents/pr-verifier.md +8 -0
  414. package/templates/hosts/claude/agents/ui-verifier.md +8 -0
  415. package/templates/hosts/claude/agents/wiki-compiler.md +8 -0
  416. package/templates/hosts/claude/commands/wf-deploy.md +10 -0
  417. package/templates/hosts/claude/commands/wf-maintain.md +10 -0
  418. package/templates/hosts/claude/commands/wf-new-task.md +10 -0
  419. package/templates/hosts/claude/commands/wf-pipeline-run.md +10 -0
  420. package/templates/hosts/claude/commands/wf-pr-review.md +10 -0
  421. package/templates/hosts/claude/commands/wf-review.md +10 -0
  422. package/templates/hosts/claude/commands/wf-stages.md +10 -0
  423. package/templates/hosts/claude/settings.json +57 -0
  424. package/templates/hosts/cline/agents/implementer.yml +15 -0
  425. package/templates/hosts/cline/agents/independent-reviewer.yml +20 -0
  426. package/templates/hosts/cline/agents/pr-adjudicator.yml +18 -0
  427. package/templates/hosts/cline/agents/pr-finder.yml +19 -0
  428. package/templates/hosts/cline/agents/pr-verifier.yml +18 -0
  429. package/templates/hosts/cline/agents/ui-verifier.yml +17 -0
  430. package/templates/hosts/cline/agents/wiki-compiler.yml +20 -0
  431. package/templates/hosts/cline/hooks/PreToolUse.cjs +260 -0
  432. package/templates/hosts/cline/workflows/wf-deploy.md +8 -0
  433. package/templates/hosts/cline/workflows/wf-maintain.md +8 -0
  434. package/templates/hosts/cline/workflows/wf-new-task.md +8 -0
  435. package/templates/hosts/cline/workflows/wf-pipeline-run.md +8 -0
  436. package/templates/hosts/cline/workflows/wf-pr-review.md +8 -0
  437. package/templates/hosts/cline/workflows/wf-review.md +8 -0
  438. package/templates/hosts/cline/workflows/wf-stages.md +8 -0
  439. package/templates/hosts/codebuddy/CODEBUDDY.md +7 -0
  440. package/templates/hosts/codebuddy/agents/implementer.md +9 -0
  441. package/templates/hosts/codebuddy/agents/independent-reviewer.md +10 -0
  442. package/templates/hosts/codebuddy/agents/pr-adjudicator.md +10 -0
  443. package/templates/hosts/codebuddy/agents/pr-finder.md +10 -0
  444. package/templates/hosts/codebuddy/agents/pr-verifier.md +10 -0
  445. package/templates/hosts/codebuddy/agents/ui-verifier.md +11 -0
  446. package/templates/hosts/codebuddy/agents/wiki-compiler.md +10 -0
  447. package/templates/hosts/codebuddy/commands/wf-deploy.md +10 -0
  448. package/templates/hosts/codebuddy/commands/wf-maintain.md +10 -0
  449. package/templates/hosts/codebuddy/commands/wf-new-task.md +10 -0
  450. package/templates/hosts/codebuddy/commands/wf-pipeline-run.md +10 -0
  451. package/templates/hosts/codebuddy/commands/wf-pr-review.md +10 -0
  452. package/templates/hosts/codebuddy/commands/wf-review.md +10 -0
  453. package/templates/hosts/codebuddy/commands/wf-stages.md +10 -0
  454. package/templates/hosts/codebuddy/rules/backend-scope.md +5 -0
  455. package/templates/hosts/codebuddy/rules/frontend-scope.md +5 -0
  456. package/templates/hosts/codebuddy/settings.json +31 -0
  457. package/templates/hosts/codebuddy/skills/tfs-pr/SKILL.md +6 -0
  458. package/templates/hosts/commandcode/agents/implementer.md +10 -0
  459. package/templates/hosts/commandcode/agents/independent-reviewer.md +9 -0
  460. package/templates/hosts/commandcode/agents/pr-adjudicator.md +9 -0
  461. package/templates/hosts/commandcode/agents/pr-finder.md +9 -0
  462. package/templates/hosts/commandcode/agents/pr-verifier.md +9 -0
  463. package/templates/hosts/commandcode/agents/ui-verifier.md +11 -0
  464. package/templates/hosts/commandcode/agents/wiki-compiler.md +10 -0
  465. package/templates/hosts/commandcode/commands/wf-deploy.md +9 -0
  466. package/templates/hosts/commandcode/commands/wf-maintain.md +9 -0
  467. package/templates/hosts/commandcode/commands/wf-new-task.md +9 -0
  468. package/templates/hosts/commandcode/commands/wf-pipeline-run.md +9 -0
  469. package/templates/hosts/commandcode/commands/wf-pr-review.md +9 -0
  470. package/templates/hosts/commandcode/commands/wf-review.md +9 -0
  471. package/templates/hosts/commandcode/commands/wf-stages.md +9 -0
  472. package/templates/hosts/commandcode/settings.json +59 -0
  473. package/templates/hosts/opencode/agents/implementer.md +51 -0
  474. package/templates/hosts/opencode/agents/independent-reviewer.md +18 -0
  475. package/templates/hosts/opencode/agents/pr-adjudicator.md +18 -0
  476. package/templates/hosts/opencode/agents/pr-finder.md +18 -0
  477. package/templates/hosts/opencode/agents/pr-verifier.md +18 -0
  478. package/templates/hosts/opencode/agents/ui-verifier.md +45 -0
  479. package/templates/hosts/opencode/agents/wiki-compiler.md +51 -0
  480. package/templates/hosts/opencode/commands/wf-deploy.md +7 -0
  481. package/templates/hosts/opencode/commands/wf-maintain.md +7 -0
  482. package/templates/hosts/opencode/commands/wf-new-task.md +7 -0
  483. package/templates/hosts/opencode/commands/wf-pipeline-run.md +7 -0
  484. package/templates/hosts/opencode/commands/wf-pr-review.md +7 -0
  485. package/templates/hosts/opencode/commands/wf-review.md +7 -0
  486. package/templates/hosts/opencode/commands/wf-stages.md +7 -0
  487. package/templates/hosts/pi/agents/implementer.md +10 -0
  488. package/templates/hosts/pi/agents/independent-reviewer.md +11 -0
  489. package/templates/hosts/pi/agents/pr-adjudicator.md +11 -0
  490. package/templates/hosts/pi/agents/pr-finder.md +10 -0
  491. package/templates/hosts/pi/agents/pr-verifier.md +10 -0
  492. package/templates/hosts/pi/agents/ui-verifier.md +10 -0
  493. package/templates/hosts/pi/agents/wiki-compiler.md +10 -0
  494. package/templates/hosts/pi/extensions/lib/gates-core.cjs +196 -0
  495. package/templates/hosts/pi/extensions/shipyard-gates.ts +95 -0
  496. package/templates/hosts/pi/settings.json +5 -0
  497. package/templates/hosts/qoder/agents/implementer.md +9 -0
  498. package/templates/hosts/qoder/agents/independent-reviewer.md +10 -0
  499. package/templates/hosts/qoder/agents/pr-adjudicator.md +10 -0
  500. package/templates/hosts/qoder/agents/pr-finder.md +10 -0
  501. package/templates/hosts/qoder/agents/pr-verifier.md +10 -0
  502. package/templates/hosts/qoder/agents/ui-verifier.md +10 -0
  503. package/templates/hosts/qoder/agents/wiki-compiler.md +10 -0
  504. package/templates/hosts/qoder/commands/wf-deploy.md +8 -0
  505. package/templates/hosts/qoder/commands/wf-maintain.md +8 -0
  506. package/templates/hosts/qoder/commands/wf-new-task.md +8 -0
  507. package/templates/hosts/qoder/commands/wf-pipeline-run.md +8 -0
  508. package/templates/hosts/qoder/commands/wf-pr-review.md +8 -0
  509. package/templates/hosts/qoder/commands/wf-review.md +8 -0
  510. package/templates/hosts/qoder/commands/wf-stages.md +8 -0
  511. package/templates/hosts/qoder/settings.json +63 -0
  512. package/templates/hosts/qwen/agents/implementer.md +8 -0
  513. package/templates/hosts/qwen/agents/independent-reviewer.md +8 -0
  514. package/templates/hosts/qwen/agents/pr-adjudicator.md +8 -0
  515. package/templates/hosts/qwen/agents/pr-finder.md +8 -0
  516. package/templates/hosts/qwen/agents/pr-verifier.md +8 -0
  517. package/templates/hosts/qwen/agents/ui-verifier.md +8 -0
  518. package/templates/hosts/qwen/agents/wiki-compiler.md +11 -0
  519. package/templates/hosts/qwen/commands/wf-deploy.md +9 -0
  520. package/templates/hosts/qwen/commands/wf-maintain.md +9 -0
  521. package/templates/hosts/qwen/commands/wf-new-task.md +9 -0
  522. package/templates/hosts/qwen/commands/wf-pipeline-run.md +9 -0
  523. package/templates/hosts/qwen/commands/wf-pr-review.md +9 -0
  524. package/templates/hosts/qwen/commands/wf-review.md +9 -0
  525. package/templates/hosts/qwen/commands/wf-stages.md +9 -0
  526. package/templates/hosts/qwen/settings.json +59 -0
  527. package/templates/hosts/trae/agents/implementer.md +9 -0
  528. package/templates/hosts/trae/agents/independent-reviewer.md +10 -0
  529. package/templates/hosts/trae/agents/pr-adjudicator.md +10 -0
  530. package/templates/hosts/trae/agents/pr-finder.md +10 -0
  531. package/templates/hosts/trae/agents/pr-verifier.md +10 -0
  532. package/templates/hosts/trae/agents/ui-verifier.md +10 -0
  533. package/templates/hosts/trae/agents/wiki-compiler.md +10 -0
  534. package/templates/hosts/trae/commands/wf-deploy.md +8 -0
  535. package/templates/hosts/trae/commands/wf-maintain.md +8 -0
  536. package/templates/hosts/trae/commands/wf-new-task.md +8 -0
  537. package/templates/hosts/trae/commands/wf-pipeline-run.md +8 -0
  538. package/templates/hosts/trae/commands/wf-pr-review.md +8 -0
  539. package/templates/hosts/trae/commands/wf-review.md +8 -0
  540. package/templates/hosts/trae/commands/wf-stages.md +8 -0
  541. package/templates/hosts/trae/hooks.json +17 -0
  542. package/templates/hosts/trae/rules/backend-scope.md +5 -0
  543. package/templates/hosts/trae/rules/frontend-scope.md +5 -0
  544. package/templates/hosts/zcode/agents/implementer.md +8 -0
  545. package/templates/hosts/zcode/agents/independent-reviewer.md +8 -0
  546. package/templates/hosts/zcode/agents/ui-verifier.md +8 -0
  547. package/templates/hosts/zcode/agents/wiki-compiler.md +8 -0
  548. package/templates/hosts/zcode/config.json +31 -0
  549. package/templates/hosts/zcode/workflows/code-review.dwf.ts +428 -0
  550. package/templates/hosts/zcode/workflows/fullchain-flow-test.dwf.ts +898 -0
  551. package/templates/profiles/dotnet/.agents/config/lane-surfaces.txt +33 -0
  552. package/templates/profiles/dotnet/.agents/config/rule-budgets.txt +84 -0
  553. package/templates/profiles/dotnet/.agents/config/test-impact-map.json +590 -0
  554. package/templates/profiles/dotnet/.agents/config/workflow-modules.txt +18 -0
  555. package/templates/profiles/dotnet/.agents/hooks/commit-check.config.json +18 -0
  556. package/templates/profiles/dotnet/.agents/hooks/delete-guard-allowlist.txt +28 -0
  557. package/templates/profiles/dotnet/.agents/notes/runtime-env.md +178 -0
  558. package/templates/profiles/dotnet/AGENTS.md +52 -0
  559. package/templates/profiles/empty/.agents/config/lane-surfaces.txt +12 -0
  560. package/templates/profiles/empty/.agents/config/rule-budgets.txt +3 -0
  561. package/templates/profiles/empty/.agents/config/test-impact-map.json +8 -0
  562. package/templates/profiles/empty/.agents/config/workflow-modules.txt +2 -0
  563. package/templates/profiles/empty/.agents/hooks/commit-check.config.json +5 -0
  564. package/templates/profiles/empty/.agents/hooks/delete-guard-allowlist.txt +2 -0
  565. package/templates/profiles/empty/.agents/notes/runtime-env.md +44 -0
  566. package/templates/profiles/empty/AGENTS.md +52 -0
  567. package/templates/profiles/node/.agents/config/lane-surfaces.txt +12 -0
  568. package/templates/profiles/node/.agents/config/rule-budgets.txt +3 -0
  569. package/templates/profiles/node/.agents/config/test-impact-map.json +8 -0
  570. package/templates/profiles/node/.agents/config/workflow-modules.txt +2 -0
  571. package/templates/profiles/node/.agents/hooks/commit-check.config.json +5 -0
  572. package/templates/profiles/node/.agents/hooks/delete-guard-allowlist.txt +2 -0
  573. package/templates/profiles/node/.agents/notes/runtime-env.md +44 -0
  574. package/templates/profiles/node/AGENTS.md +52 -0
  575. package/templates/scaffold/wiki/INDEX.md +33 -0
  576. package/templates/scaffold/wiki/drafts-archive/README.md +7 -0
  577. package/templates/scaffold/wiki//344/272/247/345/223/201/351/234/200/346/261/202/.gitkeep +0 -0
  578. package/templates/scaffold/wiki//345/274/200/345/217/221/346/226/271/346/241/210/.gitkeep +0 -0
  579. package/templates/scaffold/wiki//346/225/260/346/215/256/347/273/264/346/212/244/README.md +22 -0
  580. package/templates/scaffold/wiki//346/265/213/350/257/225/346/212/245/345/221/212/.gitkeep +0 -0
  581. package/templates/scaffold/wiki//347/224/250/346/210/267/345/212/237/350/203/275/.gitkeep +0 -0
  582. package/templates/scaffold/wiki//347/237/245/350/257/206/346/262/211/346/267/200/346/200/273/350/247/210.html +230 -0
  583. package/templates/scaffold/wiki//351/241/271/347/233/256/350/247/204/350/214/203/.gitkeep +0 -0
  584. package/templates/scaffold/workflow/INDEX.md +13 -0
  585. package/templates/scaffold/workflow/README.md +67 -0
  586. package/templates/scaffold/workflow/archive/README.md +3 -0
  587. package/templates/scaffold/workflow/delegations.d/.gitkeep +0 -0
  588. package/templates/scaffold/workflow/delegations.md +4 -0
  589. package/templates/scaffold/workflow/effective-policy.md +4 -0
  590. package/templates/scaffold/workflow/evidence/.gitkeep +0 -0
  591. package/templates/scaffold/workflow/gate-cost.md +4 -0
  592. package/templates/scaffold/workflow/gate-metrics.d/.gitkeep +0 -0
  593. package/templates/scaffold/workflow/incidents/_TEMPLATE.md +49 -0
  594. package/templates/scaffold/workflow/intents/_TEMPLATE.md +43 -0
  595. package/templates/scaffold/workflow/metrics.md +4 -0
  596. package/templates/scaffold/workflow/papercuts.d/.gitkeep +0 -0
  597. package/templates/scaffold/workflow/papercuts.md +3 -0
  598. package/templates/scaffold/workflow/plans/_TEMPLATE.md +47 -0
  599. package/templates/scaffold/workflow/regression-checklist.d/.gitkeep +0 -0
  600. package/templates/scaffold/workflow/regression-checklist.md +3 -0
  601. package/templates/scaffold/workflow/research/.gitkeep +0 -0
  602. package/templates/scaffold/workflow/reviews.d/.gitkeep +0 -0
  603. package/templates/scaffold/workflow/specs/_TEMPLATE.md +87 -0
  604. package/templates/scaffold/workflow/verify-evidence/.gitkeep +0 -0
  605. package/templates/scaffold/workflow/verify-evidence.md +4 -0
  606. package/LICENSE +0 -21
  607. package/modules/gates/README.md +0 -25
  608. package/modules/gates/dotnet-ca/README.md +0 -24
  609. package/modules/gates/dotnet-ca/check-architecture.sh +0 -150
  610. package/modules/gates/dotnet-ca/local-pre-commit.line +0 -1
  611. package/modules/gates/generated-readonly/README.md +0 -13
  612. package/modules/gates/generated-readonly/check-generated.mjs +0 -61
  613. package/modules/gates/generated-readonly/local-pre-commit.line +0 -1
  614. package/modules/gates/node-layer/README.md +0 -9
  615. package/modules/gates/node-layer/check-node-layer.mjs +0 -29
  616. package/modules/gates/node-layer/local-pre-commit.line +0 -1
  617. package/modules/gates/py-import/README.md +0 -9
  618. package/modules/gates/py-import/check-py-import.mjs +0 -30
  619. package/modules/gates/py-import/local-pre-commit.line +0 -1
  620. package/modules/gates/test-protect/README.md +0 -23
  621. package/modules/gates/test-protect/check-test-protect.mjs +0 -64
  622. package/modules/gates/test-protect/local-pre-commit.line +0 -1
  623. package/modules/hosts/README.md +0 -57
  624. package/modules/hosts/claude/agents/implementer.md +0 -51
  625. package/modules/hosts/claude/agents/independent-reviewer.md +0 -49
  626. package/modules/hosts/claude/agents/ui-verifier.md +0 -48
  627. package/modules/hosts/claude/commands/wf-build.md +0 -69
  628. package/modules/hosts/claude/commands/wf-deploy.md +0 -58
  629. package/modules/hosts/claude/commands/wf-design.md +0 -49
  630. package/modules/hosts/claude/commands/wf-gate-checklist.md +0 -77
  631. package/modules/hosts/claude/commands/wf-maintain.md +0 -76
  632. package/modules/hosts/claude/commands/wf-new-task.md +0 -102
  633. package/modules/hosts/claude/commands/wf-pipeline-run.md +0 -35
  634. package/modules/hosts/claude/commands/wf-plan.md +0 -40
  635. package/modules/hosts/claude/commands/wf-review.md +0 -49
  636. package/modules/hosts/claude/commands/wf-sync-hosts.md +0 -64
  637. package/modules/hosts/claude/commands/wf-test.md +0 -68
  638. package/modules/hosts/codex/agents/implementer.md +0 -51
  639. package/modules/hosts/codex/agents/independent-reviewer.md +0 -49
  640. package/modules/hosts/codex/agents/ui-verifier.md +0 -48
  641. package/modules/hosts/codex/commands/wf-build.md +0 -69
  642. package/modules/hosts/codex/commands/wf-deploy.md +0 -58
  643. package/modules/hosts/codex/commands/wf-design.md +0 -49
  644. package/modules/hosts/codex/commands/wf-gate-checklist.md +0 -77
  645. package/modules/hosts/codex/commands/wf-maintain.md +0 -76
  646. package/modules/hosts/codex/commands/wf-new-task.md +0 -102
  647. package/modules/hosts/codex/commands/wf-pipeline-run.md +0 -35
  648. package/modules/hosts/codex/commands/wf-plan.md +0 -40
  649. package/modules/hosts/codex/commands/wf-review.md +0 -49
  650. package/modules/hosts/codex/commands/wf-sync-hosts.md +0 -64
  651. package/modules/hosts/codex/commands/wf-test.md +0 -68
  652. package/modules/hosts/codex/skills/flow-kit/SKILL.md +0 -14
  653. package/modules/hosts/cursor/agents/implementer.md +0 -51
  654. package/modules/hosts/cursor/agents/independent-reviewer.md +0 -49
  655. package/modules/hosts/cursor/agents/ui-verifier.md +0 -48
  656. package/modules/hosts/cursor/commands/wf-build.md +0 -69
  657. package/modules/hosts/cursor/commands/wf-deploy.md +0 -58
  658. package/modules/hosts/cursor/commands/wf-design.md +0 -49
  659. package/modules/hosts/cursor/commands/wf-gate-checklist.md +0 -77
  660. package/modules/hosts/cursor/commands/wf-maintain.md +0 -76
  661. package/modules/hosts/cursor/commands/wf-new-task.md +0 -102
  662. package/modules/hosts/cursor/commands/wf-pipeline-run.md +0 -35
  663. package/modules/hosts/cursor/commands/wf-plan.md +0 -40
  664. package/modules/hosts/cursor/commands/wf-review.md +0 -49
  665. package/modules/hosts/cursor/commands/wf-sync-hosts.md +0 -64
  666. package/modules/hosts/cursor/commands/wf-test.md +0 -68
  667. package/modules/hosts/omp/agents/implementer.md +0 -52
  668. package/modules/hosts/omp/agents/independent-reviewer.md +0 -50
  669. package/modules/hosts/omp/agents/ui-verifier.md +0 -49
  670. package/modules/hosts/opencode/agents/implementer.md +0 -59
  671. package/modules/hosts/opencode/agents/independent-reviewer.md +0 -53
  672. package/modules/hosts/opencode/agents/ui-verifier.md +0 -52
  673. package/modules/hosts/opencode/commands/wf-build.md +0 -69
  674. package/modules/hosts/opencode/commands/wf-deploy.md +0 -58
  675. package/modules/hosts/opencode/commands/wf-design.md +0 -49
  676. package/modules/hosts/opencode/commands/wf-gate-checklist.md +0 -77
  677. package/modules/hosts/opencode/commands/wf-maintain.md +0 -76
  678. package/modules/hosts/opencode/commands/wf-new-task.md +0 -102
  679. package/modules/hosts/opencode/commands/wf-pipeline-run.md +0 -35
  680. package/modules/hosts/opencode/commands/wf-plan.md +0 -40
  681. package/modules/hosts/opencode/commands/wf-review.md +0 -49
  682. package/modules/hosts/opencode/commands/wf-sync-hosts.md +0 -64
  683. package/modules/hosts/opencode/commands/wf-test.md +0 -68
  684. package/modules/hosts/trae/agents/implementer.md +0 -52
  685. package/modules/hosts/trae/agents/independent-reviewer.md +0 -51
  686. package/modules/hosts/trae/agents/ui-verifier.md +0 -50
  687. package/modules/hosts/trae/commands/wf-build.md +0 -70
  688. package/modules/hosts/trae/commands/wf-deploy.md +0 -59
  689. package/modules/hosts/trae/commands/wf-design.md +0 -50
  690. package/modules/hosts/trae/commands/wf-gate-checklist.md +0 -78
  691. package/modules/hosts/trae/commands/wf-maintain.md +0 -77
  692. package/modules/hosts/trae/commands/wf-new-task.md +0 -103
  693. package/modules/hosts/trae/commands/wf-pipeline-run.md +0 -36
  694. package/modules/hosts/trae/commands/wf-plan.md +0 -41
  695. package/modules/hosts/trae/commands/wf-review.md +0 -50
  696. package/modules/hosts/trae/commands/wf-sync-hosts.md +0 -65
  697. package/modules/hosts/trae/commands/wf-test.md +0 -69
  698. package/modules/hosts/trae/hooks/post-edit-check.cjs +0 -98
  699. package/modules/hosts/trae/hooks/pre-shell-check.cjs +0 -192
  700. package/modules/hosts/trae/hooks/resolve-shell.cjs +0 -30
  701. package/modules/hosts/trae/hooks.json +0 -29
  702. package/modules/hosts/trae/rules/beautify-input-chinese.md +0 -6
  703. package/modules/hosts/trae/rules/git-commit-message.md +0 -10
  704. package/modules/hosts/trae/rules/project-workflow.md +0 -14
  705. package/modules/hosts/zcode/agents/implementer.md +0 -51
  706. package/modules/hosts/zcode/agents/independent-reviewer.md +0 -49
  707. package/modules/hosts/zcode/agents/ui-verifier.md +0 -48
  708. package/src/add-gate.mjs +0 -116
  709. package/src/add-gate.test.mjs +0 -103
  710. package/src/add-host.mjs +0 -68
  711. package/src/cli.mjs +0 -169
  712. package/src/doctor.mjs +0 -629
  713. package/src/executor.mjs +0 -262
  714. package/src/executor.test.mjs +0 -295
  715. package/src/fresh-init.test.mjs +0 -64
  716. package/src/gate-dotnet-ca.test.mjs +0 -124
  717. package/src/gates.test.mjs +0 -143
  718. package/src/init.mjs +0 -382
  719. package/src/init.test.mjs +0 -163
  720. package/src/instance-ref.test.mjs +0 -62
  721. package/src/jscpd-drift.test.mjs +0 -145
  722. package/src/pack.test.mjs +0 -24
  723. package/src/profiles.mjs +0 -183
  724. package/src/render.mjs +0 -132
  725. package/src/rule-budget.test.mjs +0 -103
  726. package/src/run-tests.mjs +0 -56
  727. package/src/stack-profile.test.mjs +0 -95
  728. package/src/sync-hosts.mjs +0 -257
  729. package/src/sync-hosts.test.mjs +0 -291
  730. package/src/sync.mjs +0 -228
  731. package/src/sync.test.mjs +0 -452
  732. package/src/trae-hooks.test.mjs +0 -127
  733. package/src/validate.mjs +0 -77
  734. package/src/validate.test.mjs +0 -95
  735. package/templates/.gitattributes +0 -17
  736. package/templates/AGENTS.md +0 -58
  737. package/templates/_agents/board/index.html +0 -676
  738. package/templates/_agents/commands/build.md +0 -84
  739. package/templates/_agents/commands/deploy.md +0 -66
  740. package/templates/_agents/commands/design.md +0 -63
  741. package/templates/_agents/commands/gate-checklist.md +0 -91
  742. package/templates/_agents/commands/maintain.md +0 -90
  743. package/templates/_agents/commands/new-task.md +0 -110
  744. package/templates/_agents/commands/pipeline-run.md +0 -43
  745. package/templates/_agents/commands/plan.md +0 -48
  746. package/templates/_agents/commands/review.md +0 -62
  747. package/templates/_agents/commands/sync-hosts.md +0 -77
  748. package/templates/_agents/commands/test.md +0 -87
  749. package/templates/_agents/control-surfaces.txt +0 -53
  750. package/templates/_agents/engine-lock.json +0 -342
  751. package/templates/_agents/hooks/check-index-incremental.mjs +0 -48
  752. package/templates/_agents/hooks/check-pairing-incremental.mjs +0 -66
  753. package/templates/_agents/hooks/check-wiki-ledger.mjs +0 -30
  754. package/templates/_agents/hooks/commit-check.cjs +0 -193
  755. package/templates/_agents/hooks/local-pre-commit +0 -6
  756. package/templates/_agents/lane-surfaces.txt +0 -17
  757. package/templates/_agents/level-hints.txt +0 -30
  758. package/templates/_agents/loop/papercut-debt/DESIGN.md +0 -112
  759. package/templates/_agents/mechanism-registry.md +0 -35
  760. package/templates/_agents/metric-claims.txt +0 -81
  761. package/templates/_agents/notes/engine-internals.md +0 -17
  762. package/templates/_agents/notes/runtime-env.md +0 -18
  763. package/templates/_agents/roles/implementer.md +0 -47
  764. package/templates/_agents/roles/independent-reviewer.md +0 -45
  765. package/templates/_agents/roles/ui-verifier.md +0 -44
  766. package/templates/_agents/rule-budgets.txt +0 -20
  767. package/templates/_agents/scripts/agg-delegations.cjs +0 -302
  768. package/templates/_agents/scripts/agg-delegations.test.mjs +0 -282
  769. package/templates/_agents/scripts/agg-gate-stats.mjs +0 -113
  770. package/templates/_agents/scripts/agg-gate-stats.test.mjs +0 -95
  771. package/templates/_agents/scripts/agg-judgments.mjs +0 -156
  772. package/templates/_agents/scripts/agg-judgments.test.mjs +0 -93
  773. package/templates/_agents/scripts/archive-sweep.mjs +0 -235
  774. package/templates/_agents/scripts/archive-sweep.test.mjs +0 -129
  775. package/templates/_agents/scripts/check-attribution.mjs +0 -37
  776. package/templates/_agents/scripts/check-convergence.mjs +0 -124
  777. package/templates/_agents/scripts/check-engine-integrity.mjs +0 -220
  778. package/templates/_agents/scripts/check-engine-integrity.test.mjs +0 -215
  779. package/templates/_agents/scripts/check-funnel.mjs +0 -56
  780. package/templates/_agents/scripts/check-hygiene.mjs +0 -167
  781. package/templates/_agents/scripts/check-hygiene.test.mjs +0 -182
  782. package/templates/_agents/scripts/check-index-incremental.test.mjs +0 -73
  783. package/templates/_agents/scripts/check-lane-surface.mjs +0 -238
  784. package/templates/_agents/scripts/check-lane-surface.test.mjs +0 -302
  785. package/templates/_agents/scripts/check-ledger-invariant.mjs +0 -586
  786. package/templates/_agents/scripts/check-ledger-invariant.test.mjs +0 -639
  787. package/templates/_agents/scripts/check-loop-rev.test.mjs +0 -336
  788. package/templates/_agents/scripts/check-loop-unit.test.mjs +0 -103
  789. package/templates/_agents/scripts/check-loop.mjs +0 -1987
  790. package/templates/_agents/scripts/check-loop.sh +0 -6
  791. package/templates/_agents/scripts/check-loop.test.mjs +0 -3912
  792. package/templates/_agents/scripts/check-metric-claims.mjs +0 -277
  793. package/templates/_agents/scripts/check-prejudgment.mjs +0 -64
  794. package/templates/_agents/scripts/check-registry.mjs +0 -45
  795. package/templates/_agents/scripts/check-scope.mjs +0 -96
  796. package/templates/_agents/scripts/check-scope.test.mjs +0 -99
  797. package/templates/_agents/scripts/check-scripts-syntax.mjs +0 -84
  798. package/templates/_agents/scripts/check-scripts-syntax.test.mjs +0 -72
  799. package/templates/_agents/scripts/check-spec-verif.mjs +0 -47
  800. package/templates/_agents/scripts/check-stage-index.mjs +0 -40
  801. package/templates/_agents/scripts/check-stage-index.test.mjs +0 -77
  802. package/templates/_agents/scripts/closeout-l1.mjs +0 -217
  803. package/templates/_agents/scripts/closeout-l1.test.mjs +0 -105
  804. package/templates/_agents/scripts/commit-check-trigger.test.mjs +0 -205
  805. package/templates/_agents/scripts/compact-ledgers.mjs +0 -97
  806. package/templates/_agents/scripts/compact-ledgers.test.mjs +0 -162
  807. package/templates/_agents/scripts/confirm-doc.mjs +0 -610
  808. package/templates/_agents/scripts/confirm-doc.test.mjs +0 -1119
  809. package/templates/_agents/scripts/doctor.test.mjs +0 -770
  810. package/templates/_agents/scripts/draft-sediment.mjs +0 -178
  811. package/templates/_agents/scripts/draft-sediment.test.mjs +0 -272
  812. package/templates/_agents/scripts/edit-face-check.mjs +0 -109
  813. package/templates/_agents/scripts/edit-face-check.test.mjs +0 -99
  814. package/templates/_agents/scripts/ensure-board.mjs +0 -185
  815. package/templates/_agents/scripts/fill-intent.mjs +0 -91
  816. package/templates/_agents/scripts/fill-intent.test.mjs +0 -113
  817. package/templates/_agents/scripts/fill-plan.mjs +0 -79
  818. package/templates/_agents/scripts/fill-plan.test.mjs +0 -224
  819. package/templates/_agents/scripts/fill-spec.mjs +0 -70
  820. package/templates/_agents/scripts/fill-spec.test.mjs +0 -266
  821. package/templates/_agents/scripts/fixture-scripts.mjs +0 -153
  822. package/templates/_agents/scripts/fixture-scripts.test.mjs +0 -112
  823. package/templates/_agents/scripts/gate-checklist.mjs +0 -209
  824. package/templates/_agents/scripts/gate-checklist.test.mjs +0 -201
  825. package/templates/_agents/scripts/gate-seg.mjs +0 -54
  826. package/templates/_agents/scripts/gate-seg.test.mjs +0 -112
  827. package/templates/_agents/scripts/gen-effective-policy.mjs +0 -107
  828. package/templates/_agents/scripts/gen-effective-policy.test.mjs +0 -100
  829. package/templates/_agents/scripts/gen-verify-evidence.mjs +0 -107
  830. package/templates/_agents/scripts/gen-verify-evidence.test.mjs +0 -84
  831. package/templates/_agents/scripts/gen-wiki-board.mjs +0 -276
  832. package/templates/_agents/scripts/gen-wiki-board.test.mjs +0 -249
  833. package/templates/_agents/scripts/gen-workflow-dashboard.mjs +0 -251
  834. package/templates/_agents/scripts/gen-workflow-dashboard.test.mjs +0 -188
  835. package/templates/_agents/scripts/gen-workflow-index.mjs +0 -201
  836. package/templates/_agents/scripts/gen-workflow-index.test.mjs +0 -152
  837. package/templates/_agents/scripts/gen-workflow-metrics.mjs +0 -466
  838. package/templates/_agents/scripts/gen-workflow-metrics.test.mjs +0 -343
  839. package/templates/_agents/scripts/git-merge-jsonl.mjs +0 -63
  840. package/templates/_agents/scripts/git-merge-jsonl.test.mjs +0 -125
  841. package/templates/_agents/scripts/judgment-ledger.mjs +0 -65
  842. package/templates/_agents/scripts/judgment-ledger.test.mjs +0 -129
  843. package/templates/_agents/scripts/kb-cache-evict.mjs +0 -50
  844. package/templates/_agents/scripts/kb-cache-evict.test.mjs +0 -104
  845. package/templates/_agents/scripts/kb-search.mjs +0 -413
  846. package/templates/_agents/scripts/kb-search.test.mjs +0 -299
  847. package/templates/_agents/scripts/lane-surface-audit.mjs +0 -143
  848. package/templates/_agents/scripts/lane-surface-audit.test.mjs +0 -93
  849. package/templates/_agents/scripts/ledger-doc-chain.test.mjs +0 -166
  850. package/templates/_agents/scripts/ledger-loader.mjs +0 -108
  851. package/templates/_agents/scripts/ledger-loader.test.mjs +0 -131
  852. package/templates/_agents/scripts/ledger-prune.mjs +0 -96
  853. package/templates/_agents/scripts/ledger-prune.test.mjs +0 -120
  854. package/templates/_agents/scripts/ledger-shards.mjs +0 -344
  855. package/templates/_agents/scripts/ledger-shards.test.mjs +0 -356
  856. package/templates/_agents/scripts/ledger-ts-monotonic.test.mjs +0 -135
  857. package/templates/_agents/scripts/level-criteria.mjs +0 -231
  858. package/templates/_agents/scripts/level-criteria.test.mjs +0 -281
  859. package/templates/_agents/scripts/mechanism-retire-watch.mjs +0 -183
  860. package/templates/_agents/scripts/mechanism-retire-watch.test.mjs +0 -114
  861. package/templates/_agents/scripts/papercut-debt-controller.mjs +0 -141
  862. package/templates/_agents/scripts/papercut-debt-controller.test.mjs +0 -127
  863. package/templates/_agents/scripts/papercut-debt-sensor.mjs +0 -170
  864. package/templates/_agents/scripts/papercut-debt-sensor.test.mjs +0 -146
  865. package/templates/_agents/scripts/pipeline-run-docs.mjs +0 -76
  866. package/templates/_agents/scripts/pipeline-run-run.mjs +0 -63
  867. package/templates/_agents/scripts/pipeline-run.mjs +0 -867
  868. package/templates/_agents/scripts/pipeline-run.test.mjs +0 -517
  869. package/templates/_agents/scripts/policy.mjs +0 -281
  870. package/templates/_agents/scripts/pre-push.test.mjs +0 -105
  871. package/templates/_agents/scripts/resolve-merge-conflicts.mjs +0 -110
  872. package/templates/_agents/scripts/resolve-merge-conflicts.test.mjs +0 -87
  873. package/templates/_agents/scripts/rewrite-file.mjs +0 -133
  874. package/templates/_agents/scripts/rewrite-file.test.mjs +0 -148
  875. package/templates/_agents/scripts/rule-budget.mjs +0 -96
  876. package/templates/_agents/scripts/rule-budget.test.mjs +0 -118
  877. package/templates/_agents/scripts/run-tests.mjs +0 -99
  878. package/templates/_agents/scripts/run-tests.test.mjs +0 -105
  879. package/templates/_agents/scripts/solidify-task.mjs +0 -109
  880. package/templates/_agents/scripts/solidify-task.test.mjs +0 -129
  881. package/templates/_agents/scripts/stage-gates.mjs +0 -343
  882. package/templates/_agents/scripts/stage-gates.test.mjs +0 -105
  883. package/templates/_agents/scripts/trust-mode.mjs +0 -67
  884. package/templates/_agents/scripts/trust-mode.test.mjs +0 -110
  885. package/templates/_agents/scripts/verify-wiki-consistency.mjs +0 -253
  886. package/templates/_agents/scripts/verify-wiki-consistency.test.mjs +0 -123
  887. package/templates/_agents/scripts/verify.mjs +0 -345
  888. package/templates/_agents/scripts/verify.test.mjs +0 -373
  889. package/templates/_agents/scripts/wf-journal.mjs +0 -231
  890. package/templates/_agents/scripts/wf-journal.test.mjs +0 -216
  891. package/templates/_agents/scripts/wiki-search.mjs +0 -19
  892. package/templates/_agents/scripts/wiki-search.test.mjs +0 -57
  893. package/templates/_agents/scripts/workflow-board-server.mjs +0 -393
  894. package/templates/_agents/scripts/workflow-board-server.test.mjs +0 -201
  895. package/templates/_agents/scripts/workflow-enums.mjs +0 -70
  896. package/templates/_agents/scripts/workflow-enums.test.mjs +0 -118
  897. package/templates/_agents/scripts/workflows-check.mjs +0 -260
  898. package/templates/_agents/scripts/workflows-check.test.mjs +0 -278
  899. package/templates/_agents/scripts-test-exempt.txt +0 -16
  900. package/templates/_agents/skills/papercut-fix/SKILL.md +0 -60
  901. package/templates/_agents/skills/papercut-fix/references/response-template.md +0 -81
  902. package/templates/_agents/skills/review-method/SKILL.md +0 -58
  903. package/templates/_agents/skills/verify-ui/SKILL.md +0 -61
  904. package/templates/_agents/skills/wiki/SKILL.md +0 -106
  905. package/templates/_agents/workflow-enums.txt +0 -26
  906. package/templates/_agents/workflow-modules.txt +0 -11
  907. package/templates/_agents/workflows/_TEMPLATE.md +0 -75
  908. package/templates/_agents/workflows/pipeline-closing.md +0 -28
  909. package/templates/_agents/workflows//347/244/272/344/276/213-/345/271/266/350/241/214/345/256/236/347/216/260/350/257/204/345/256/241.md +0 -16
  910. package/templates/_githooks/commit-msg +0 -17
  911. package/templates/_githooks/post-commit +0 -10
  912. package/templates/_githooks/pre-commit +0 -126
  913. package/templates/_githooks/pre-merge-commit +0 -29
  914. package/templates/_githooks/pre-push +0 -136
  915. package/templates/_github/workflows/kit-ci.yml +0 -49
  916. package/templates/wiki/INDEX.md +0 -73
  917. package/templates/wiki/drafts-archive/README.md +0 -3
  918. package/templates/wiki//344/272/247/345/223/201/351/234/200/346/261/202/README.md +0 -3
  919. package/templates/wiki//345/274/200/345/217/221/346/226/271/346/241/210/README.md +0 -3
  920. package/templates/wiki//346/225/260/346/215/256/347/273/264/346/212/244/README.md +0 -3
  921. package/templates/wiki//346/265/213/350/257/225/346/212/245/345/221/212/README.md +0 -3
  922. package/templates/wiki//347/224/250/346/210/267/345/212/237/350/203/275/README.md +0 -3
  923. package/templates/wiki//347/237/245/350/257/206/346/262/211/346/267/200/346/200/273/350/247/210.html +0 -77
  924. package/templates/wiki//351/241/271/347/233/256/350/247/204/350/214/203/README.md +0 -3
  925. package/templates/wiki//351/241/271/347/233/256/350/256/241/345/210/222/README.md +0 -3
  926. package/templates/workflow/README.md +0 -91
  927. package/templates/workflow/delegations.md +0 -29
  928. package/templates/workflow/incidents/_TEMPLATE.md +0 -51
  929. package/templates/workflow/intents/_TEMPLATE.md +0 -51
  930. package/templates/workflow/papercuts.md +0 -9
  931. package/templates/workflow/plans/_TEMPLATE.md +0 -47
  932. package/templates/workflow/regression-checklist.md +0 -23
  933. package/templates/workflow/specs/_TEMPLATE.md +0 -80
  934. /package/templates/{_agents → engine/.agents}/board/marked.min.js +0 -0
  935. /package/templates/{_agents/workflows → engine/.agents/pipelines}/steps//347/244/272/344/276/213-/351/203/250/347/275/262/351/252/214/350/257/201.md" +0 -0
  936. /package/templates/{_agents → engine/.agents}/scripts/git-core.mjs +0 -0
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: papercut-fix
3
+ description: Fix a designated un-escalated papercut entry in workflow/papercuts.md (the loop executor that drives outstanding debt to 0). Locate the symptom by the line number given in the instruction/ledger, change the authoritative file per the "Planned fix" column, write back to the ledger, and run the verification gates; also used for mining recurring error classes and choosing an enforcement layer when the same mistake keeps recurring.
4
+ ---
5
+
6
+ # papercut-fix — Single-papercut escalation executor
7
+
8
+ ## Goal
9
+ Update the status of one designated papercut entry in `workflow/papercuts.md` to "debt cleared".
10
+
11
+ ## Triggers
12
+ - User command: `跑一轮 papercut 回路` / `清 papercut 存量` / `修第 N 条 papercut`.
13
+ - User command: `跑一轮错题回路` / `同一类错又犯了` / `把这类错固化` → go through §0 first, then §1–§4 one entry at a time.
14
+
15
+ ## 0. Recurring-error loop (batch mode, mutually exclusive with single-item mode)
16
+
17
+ Only treats mistakes that the **engine face** repeatedly makes (business-code debt follows the incident flow and does not enter this loop). Four sources, default window the last 3 calendar months:
18
+
19
+ | Source | How to read |
20
+ |---|---|
21
+ | `.agents/judgments.jsonl` | `node .agents/scripts/agg-judgments.mjs --retire-candidates` (per-rule counts and candidates) |
22
+ | `workflow/delegations.md` | rework-reason enum distribution + monthly aggregate snapshot |
23
+ | `workflow/reviews.d/<YYYY-MM>.md` | per-comment accepted/rejected/false-positive, merged by root-cause direction |
24
+ | `workflow/incidents/` | root-cause enum (engine-face entries only) |
25
+
26
+ **Clustering threshold**: establish a rule only when the same error class occurs ≥3 times; for a single occurrence record only a papercut (if actionable) and do not establish a rule—avoid overfitting a single instance.
27
+
28
+ > Data-plane note: `judgments.jsonl` / `verifications.jsonl` are gitignored local runtime state; a fresh clone / new worktree may have only scattered rows. When a source is missing, use `delegations.md`, `reviews.d/`, `incidents/` as the basis; **do not fabricate an error class because a source is missing**; if there are fewer than 3 occurrences in the window, write "insufficient data" and do not establish a rule.
29
+
30
+ **Enforcement ladder** (choose the highest feasible layer; any downgrade must state why the higher layer is infeasible):
31
+
32
+ | Layer | Means | Infeasibility signal |
33
+ |---|---|---|
34
+ | 1 | Types / compile time (types, schema, enums, contracts) | Cannot express the constraint |
35
+ | 2 | Gate script or hook (check-loop segment, commit-check, verify gate) | False positives cannot be suppressed, or trigger frequency cannot sustain it |
36
+ | 3 | Automated test (dotnet test / vitest / engine `*.test.mjs`) | Environment unreachable, non-deterministic |
37
+ | 4 | Smoke script (`regression-smoke.mjs` script group) | Cannot assert (purely visual/interactive) |
38
+ | 5 | Command / skill / role text (prompt-only) | None (last resort) |
39
+
40
+ - Landing at layer 5: prefix the **symptom column** of the new row in `workflow/papercuts.d/` with `[prompt-only]`, carrying the debt until a later escalation.
41
+ - Landing at layer 2 with a new gate: must also register in `mechanism-registry.md` (including the retirement threshold) and obey the `rule-budgets.txt` one-in-one-out rule.
42
+ - Relation to existing conventions: rules 5/7 in `workflow/regression-checklist.md` are this ladder specialized for regression entries (layer 3–5 order + enforcer column); do not establish a second system.
43
+
44
+ **Output** (table first, then act): `error class | count | evidence location | current enforcer | gap | chosen layer | files to change`. After confirmation, enter §1–§4 one entry at a time; each round still handles only one.
45
+
46
+ ## Constraints and red lines
47
+ - **Single target**: each execution handles only one target; do not opportunistically fix adjacent entries or bundle other changes.
48
+ - **Scope limit**: changes are limited to the documentation surface (`.agents/commands/`, `.agents/roles/`, `.agents/skills/`, `.githooks/`, `.agents/scripts/`, `workflow/`).
49
+ - **Absolute no-go**: do not modify `backend/`, `frontend/`, `tests/`, `wiki/`, and do not connect to a database. Stop and report to the user when out of scope.
50
+ - **Verify before acting**: do not guess the current state from the ledger description. Read the authoritative file first to verify that the symptom holds.
51
+ - **Edit convention**: modify `workflow/` documents with `node .agents/scripts/rewrite-file.mjs <file> --find <literal string> --replace <literal string>` (same as `stages.md` Build §4).
52
+ - **Debt-clearing criterion**: branch A (fix) and branch B (deferred/obsolete) **both** satisfy the `debt -1` invariant (debt = number of pending-fix
53
+ rows in the ledger, manually counted: the touched row carries a terminal marker and no new pending row is added; the scheduled-debt sensor was retired 2026-11-08).
54
+
55
+ ## Workflow
56
+
57
+ ### 1. Locate and pre-check
58
+ - Extract from the given instruction: `line number` (Lxx), `location` (path), `symptom`, `planned fix`.
59
+ - Use the Read tool to read that line and its context.
60
+
61
+ ### 2. Verify the current state
62
+ - Read the authoritative file specified in the "Location" column.
63
+ - **Verdict**:
64
+ - **Defect still present** $\rightarrow$ enter branch A.
65
+ - **Already obsolete** (fixed by another change / file deleted) $\rightarrow$ enter branch B.
66
+ - **Opposite direction / description wrong** $\rightarrow$ re-characterize before executing.
67
+
68
+ ### 3. Execute the fix
69
+ - **Branch A (defect still present)**:
70
+ 1. Apply a minimal fix to the authoritative file.
71
+ 2. Append to the end of that row in `workflow/papercuts.md`: `✅ 已升级修复(YYYY-MM-DD): <改动描述> <commit>`.
72
+ 3. If the original "Planned fix" description no longer applies, state the actual fix in the appended record.
73
+ - **Branch B (already obsolete)**:
74
+ 1. Append to the end of that row in `workflow/papercuts.md`: `⏸ 暂缓(YYYY-MM-DD): <失效理由>`. The reason must be explicit.
75
+ 2. **Verification discipline**:
76
+ - Check user-level paths (`~/.workbuddy/skills/` etc.) to confirm whether the file was only migrated rather than deleted.
77
+ - Distinguish "environment constraint" from "code defect".
78
+ - For "cross-environment" symptoms, use `git worktree` to build a real checkout and run an experiment to falsify.
79
+ - For "already landed" symptoms, use `git log -S` to trace the date of the introducing commit.
80
+ - **Branch C (out of bounds)**: stop execution, report the reason, and request authorization.
81
+
82
+ ### 4. Verify and wrap up
83
+ - **Backup**: before modifying the ledger, force `cp workflow/papercuts.md tmp/papercuts.wip-backup.md`.
84
+ - **Run checks**:
85
+ - The touched row already carries a terminal marker (`✅ 已升级修复` / `⏸ 暂缓`), and this round added no new pending row (`debt -1`, manually counted).
86
+ - Check `workflow/papercuts.md` for total line count, column-count distribution, and any overly long rows (a line-compression signal).
87
+ - **Size check**: if `.agents/commands/` or the root `AGENTS.md` was modified, run `node .agents/scripts/rule-budget.mjs --all` and use its exit code as authoritative.
88
+
89
+ ## Reporting requirements
90
+ - Output per `references/response-template.md`.
91
+ - Include: line number, location, branch verdict (A/B/C), changed files, verification result (touched-row terminal marker / manually counted debt before and after), items awaiting decision.
92
+ - **Prohibition**: do not auto commit or push.
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: pause-safely
3
+ description: Leave a resumable trail before a long run is interrupted or you step away — write a resume brief (state/next step/open items/evidence pointers), stop processes you started, do not commit or delete; use before pausing, going offline, context compression, or a session restart.
4
+ ---
5
+
6
+ # pause-safely — Pausing with a trail
7
+
8
+ ## Triggers
9
+
10
+ - The user says "stop for now / I'm leaving / continue tomorrow".
11
+ - Context is about to be compressed, or the session is about to restart.
12
+ - A long run (`autonomous-run` / `pipeline-run`) needs to be suspended.
13
+
14
+ ## Steps
15
+
16
+ 1. **Write a resume brief** to `tmp/pause-<slug>.md` (do not commit):
17
+ - **State**: branch, HEAD short SHA, worktree path, summary of `git status --porcelain -uall`.
18
+ - **Where you got to**: completed units + corresponding green evidence `headShort` / decision-trail rows.
19
+ - **Next step**: the first unfinished action, concrete down to file/command.
20
+ - **Open**: forks awaiting the user's decision, known risks, blocked items.
21
+ - **Evidence pointers**: checkbox state of `workflow/plans/...`, `decisions.tsv`, `tmp/verify-*.log`, screenshot paths.
22
+ - **Processes**: services/ports/PIDs you started (record only your own).
23
+ 2. **Do not commit, push, or delete**: leave uncommitted changes as-is; ask the user first if a commit is needed.
24
+ 3. **Stop processes**: stop only processes started by this session; do not kill by process name, kill by PID/port.
25
+ 4. **Resume**: in the new session, rebuild first per `.agents/skills/session-resume/SKILL.md`, then read the resume brief; do not rely on memory.
26
+
27
+ ## Boundaries
28
+
29
+ - Do not clean worktrees, delete temp files, or `git reset`—pausing is not wrap-up.
30
+ - Do not write the resume brief as a running diary; keep only the facts that let "the next person continue".
31
+ - Do not commit half-finished work; do not use `--no-verify`.
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: perf
3
+ description: Performance investigation playbook — baseline first, then single variable; accept only when retests exceed the noise band; for "slow / laggy / long load / API latency" tasks.
4
+ ---
5
+
6
+ # perf — Performance investigation
7
+
8
+ ## Trigger
9
+
10
+ - User reports "slow / laggy / long load / API takes N seconds".
11
+ - The approach involves performance tradeoffs that need measurement to decide.
12
+
13
+ ## 0. Define a measurable target first
14
+
15
+ Metric (LCP / API p95 / list first screen / build time) + scenario (page / API / data volume) + pass line. Cannot articulate the metric → measure first before optimizing; changing based on feeling is forbidden.
16
+
17
+ ## 1. Baseline (same machine / same data / same concurrency)
18
+
19
+ - Rerun $\ge 3$ times, take median and slowest; record machine load and data volume.
20
+ - Evidence lands in `tmp/perf/<topic>-baseline.json` (or stdout archive).
21
+
22
+ ## 2. Locate
23
+
24
+ - Frontend: Performance trace / LCP / long tasks; backend: slow queries, N+1, unbounded fetches (performance three see `.agents/skills/review-method/SKILL.md`).
25
+ - Validate one hypothesis at a time; when a hypothesis is falsified, write down the conclusion then switch.
26
+
27
+ ## 3. Single-variable change
28
+
29
+ Change one place at a time; do not change criteria, do not swap data, do not adjust the machine. For gate-timing changes distinguish "gate got faster" from "quality improved".
30
+
31
+ ## 4. Retest and accept
32
+
33
+ - Rerun the same scenario $\ge 3$ times; improvement must exceed the noise band (number credibility single source `.agents/skills/number-vetting/SKILL.md`).
34
+ - Not past the noise band → roll back or record "unproven", do not put it in conclusions.
35
+
36
+ ## 5. Record
37
+
38
+ Table: baseline / change / retest / conclusion + evidence path. For environment jitter (shared DB locks, machine load), isolate and retest first; attribute per `review-method/golden-set.md` #21 criteria, do not falsely report regression.
39
+
40
+ ## Red lines
41
+
42
+ - Do not change two variables at once; do not use a single run; do not optimize what was not measured.
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: review-method
3
+ description: Code review walkthrough method (Standards×Spec dual axis + bad-smell checklist + merge bar). Used by independent-reviewer or the main agent when reviewing a diff; it is the method-layer single source for the .agents/commands/review.md execution flow and does not depend on host global skills.
4
+ ---
5
+
6
+ # review-method — Review walkthrough method
7
+
8
+ ## Positioning and division of labor
9
+ The three review layers each have their own single source; this file only handles "how to walk through":
10
+
11
+ | Layer | Single source |
12
+ |---|---|
13
+ | What to block (invariants) | `.agents/commands/review.md` P0/P1 table |
14
+ | In what capacity to check (evidence discipline) | `.agents/roles/independent-reviewer.md` Constraints |
15
+ | How to walk through (this file) | dual-axis framework + bad-smell checklist + merge bar |
16
+
17
+ When the host has global `code-review` / `review-verification-protocol` skills they may be layered on; otherwise this file is the fallback.
18
+
19
+ ## Calibration set (golden-set.md)
20
+ The `golden-set.md` in the same directory is a known-answer sample library for independent review quality (positive = defect should be reported, negative = should pass; each with this repo's context points). Before reviewers/new sessions go on duty they may blind-evaluate samples then compare answers to self-check calibration difference; monthly reconciliation sampling (registered in mechanism-registry) uses it as a comparison baseline, must run **both arms** (A = with this skill loaded / B = clean session given only inline sample context; Δ is the effect of context injection) and run **variance reruns** for suspicious judgments (flippers count as question ambiguity, not calibration difference). When hit difference exceeds 20% for two consecutive months, register calibration debt in papercuts; samples' answers are finalized when the anchor loop closes; later code evolution does not change answers.
21
+
22
+ ## Dual-axis framework (report by axis; merged sorting forbidden)
23
+ | Axis | Question asked | Basis |
24
+ |---|---|---|
25
+ | **Standards** | Does it comply with this repo's written standards | Root/directory-level `AGENTS.md` + review.md P0/P1 table |
26
+ | **Spec** | Does it faithfully implement the entry document's commitments | intent/plan "acceptance criteria" + spec §test cases |
27
+
28
+ The two axes stand independently: compliant but doing the wrong thing (Standards pass, Spec fail) and doing the right thing but breaking standards (Spec pass, Standards fail) both exist — report separately to prevent one axis masking the other. The Spec axis reports three finding classes: missing/partially landed commitments, scope creep, implementation distortion.
29
+
30
+ ### Pre-dispatch self-check and axis isolation
31
+ - **Baseline self-check first**: before dispatching review (or self-review) `git rev-parse <baseline>` resolves + `git diff <baseline>...HEAD` non-empty — bad refs/empty diff fail before dispatch, not midway through the two-axis walkthrough.
32
+ - **Spec source discovery order**: workflow reference in commit message → path given by user → same-named family of entry document (intent/spec/plan) → if none ask the user; when not found the Spec axis explicitly reports "no spec available", silently skipping the whole axis is forbidden.
33
+ - **Dual-axis dispatchable isolation**: when the host supports subagents, dispatch the two axes to two read-only subagents in parallel (context isolation prevents mutual contamination), and present each axis as-is when aggregating — the cross-axis reordering prohibition is not relaxed.
34
+
35
+ ## Bad-smell walkthrough checklist (Standards axis supplement)
36
+ Judgment items outside the P0/P1 table. Constraints: repo written standards prevail (written acceptance suppresses this checklist); always judgment items, not hard violations; skip what gates/tooling already catch. Each entry = what it is $\rightarrow$ how to fix:
37
+
38
+ | Bad smell | What it is $\rightarrow$ how to fix |
39
+ |---|---|
40
+ | Mysterious Name | Name does not reveal purpose $\rightarrow$ rename; if you cannot find an honest name = design is murky |
41
+ | Duplicated Code | Same-shaped logic appears in multiple places $\rightarrow$ extract shared implementation, call from both |
42
+ | Feature Envy | Method uses another's data more than its own $\rightarrow$ move the method onto the data it envies |
43
+ | Data Clumps | Several fields/parameters always travel together $\rightarrow$ bundle into one type and pass it |
44
+ | Primitive Obsession | Raw value replaces a domain concept $\rightarrow$ build a dedicated small type for the concept |
45
+ | Repeated Switches | switch/cascading if on the same type recurs $\rightarrow$ polymorphism or shared mapping |
46
+ | Shotgun Surgery | One logic change forces scattered edits across files $\rightarrow$ gather into the same module |
47
+ | Divergent Change | One module changed for multiple unrelated reasons $\rightarrow$ split by single reason to change |
48
+ | Speculative Generality | Adding abstraction/parameters/hooks for requirements not in spec $\rightarrow$ delete and inline, wait for the real requirement |
49
+ | Message Chains | Long `a.b().c().d()` navigation $\rightarrow$ hide one method on the first object |
50
+ | Middle Man | Class/function almost only forwards $\rightarrow$ delete, call the real target directly |
51
+ | Refused Bequest | Subclass ignores/overrides most inherited members $\rightarrow$ drop inheritance for composition |
52
+
53
+ Performance three (beyond the P1 pagination clause): N+1 queries, unbounded fetches/loops, large objects on hot paths.
54
+
55
+ ### Storage host selection (added 2026-10-23, source incident 2026-10-23-pml-pbs-relation-host)
56
+
57
+ During the new/old system coexistence period, **host table selection for business relation tables (A↔B many-to-many) must answer "does the old system already have a synonym table"**:
58
+
59
+ - The old system already has it → **reuse**, and fix that table's column semantics in the spec (which table the FK points to, type-code criteria, which columns are not persisted and need read-time back-inquiry).
60
+ - Truly new → the spec states **why not reuse**.
61
+ - When reusing a shared table, **structure must not change** (no added column/index/constraint); dedup and constraints are handled by the server side.
62
+
63
+ Review action: for every new table or new mapping in the spec/diff, check the old system source or DB metadata once for an existing synonym table.
64
+
65
+ **Why a human/review agent must actively check**: `SchemaLedgerDriftTests` only validates "whether declared table structures match the real DB" — correct structure = green, cannot discover "this table should never have been created"; static gates are also blind to "two table sets for the same business relation". On 2026-09-28 "associated PBS single-value to multi-value" thus a private table `MM_PML_ProductionPMLPBS` was created by default, coexisting with the old system's existing table `BOM_PalletPBS_Relation` for a long time, until the 2026-10-23 user instruction changed it back to reuse.
66
+
67
+ ### Whether persisted column semantics are rewritten by display demands (added 2026-10-23, source incident 2026-10-23-pml-quota-substitute-identity-overwrite)
68
+
69
+ When the requirement says "this field should display as X", first distinguish **display projection** from **storage identity rewrite**:
70
+
71
+ - **Display projection**: only change the read side/frontend mapping, underlying column semantics unchanged → preferred.
72
+ - **Storage identity rewrite**: writing "what should be displayed" as an override of an existing column → only when that column's semantics should genuinely change, and must answer three questions: after override **where does the original value go** (trace column / restorable?), **can it roll back**, **do all downstream consumers of that column use the same criteria**.
73
+
74
+ Review action: for every sentence in the spec like "rewrite column X" "column X updated to Y", first ask "what did column X originally represent? **should** this semantics change?" — do not only check "it is self-consistent after the change".
75
+
76
+ **Why a human/review agent must actively check**: static gates only see structure and compilability, cannot read column semantics; if tests and implementation share the same source, wrong criteria get **frozen into expectations** (this case's 20 cases all asserted the old criteria and were all green before the change), making the wrong criteria itself undiscoverable; once a spec is written as the "source of truth" it also keeps reinforcing itself. In this case spec `2026-10-13-pml-quota-substitute-rewrite` item two implemented "whose identity the quota row displays after substitution" as "rewriting the quota row's material identity (code/name/spec/stock-unit/unit/TAG)", and **passed item-by-item independent review**, until the 2026-10-23 user instruction reversed it.
77
+
78
+ ### Spec half-landing verification (added 2026-11-02, source batch three)
79
+
80
+ Before reviewing a spec/plan `done` declaration, check each "observable criterion": can each criterion be pointed to code, a test, or an executable script? If not pointable = half-landing; half-landing must not be marked `done`; add tests or downgrade to a registered item and leave a pointer in incident/notes.
81
+
82
+ **Why a human/review agent must actively check**: static gates can only prove compilation/structure, not that "the promised behavior actually landed"; when implementation and tests share a source, half-landing can still be all green.
83
+
84
+ ## Structured fix actions
85
+ When reporting structural problems give named actions, do not just say "this is complex" and let the author guess: remove condition chains by building a type/dispatcher, fold duplicate branches, separate orchestration from business, move feature logic back to its owning layer, reuse authoritative helpers instead of near-copies, explicit type boundaries to remove downstream branches, delete pass-through wrappers with no clarification value, extract helpers or split large files.
86
+
87
+ ## Merge bar (prevent P2 entanglement)
88
+ When it clearly improves overall code health, recommend merging; do not block because "I wouldn't write it that way" — perfection does not exist, continuous improvement is the goal. Style preferences and hypothetical risks must not be reported (evidence discipline see role contract Constraints).
89
+
90
+ ## Provenance
91
+ - Dual-axis framework and bad-smell checklist: distilled from the host global `code-review` skill (Fowler, Refactoring ch.3 baseline).
92
+ - Structured fix actions and merge bar: borrowed from [addyosmani/agent-skills](https://github.com/addyosmani/agent-skills) (MIT).
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: session-resume
3
+ description: Session re-entry and interruption handoff — when taking over, switching worktrees, or continuing after compression/new session, rebuild the current state from machine facts before acting; for use by the main agent before starting work at any level.
4
+ ---
5
+
6
+ # session-resume — Session re-entry and interruption handoff
7
+
8
+ ## Triggers
9
+
10
+ - New session / continuing an existing task after context compression; taking over someone else's branch or worktree.
11
+ - The user asks "where did we get to / what is still uncommitted".
12
+ - Before acting you find the working tree dirty but cannot tell who owns the changes.
13
+
14
+ ## 1. Rebuild (machine facts first, not memory)
15
+
16
+ Run in order, all read-only:
17
+
18
+ | Question | Command | What to read |
19
+ |---|---|---|
20
+ | Where am I | `node .agents/skills/session-resume/scripts/worktree-audit.mjs` (classification + cleanup suggestions, read-only) | main / active / cleanable / stale, all at once |
21
+ | What is unsaved | `git status --porcelain -uall` + `git stash list` | untracked files and stashes (easiest to miss) |
22
+ | What is in flight | active states in `workflow/{plans,specs,intents,incidents}` + the last run in `.agents/cache/pipeline-runs/*.json` | task-list checkbox state, stage progress of orchestration runs |
23
+ | Where was the last green | last row of `.agents/verifications.jsonl` (pinned `headShort` + 24h window) | whether the current HEAD already has green evidence |
24
+
25
+ > The single source for L2/L3 plan checkbox alignment = "Session re-entry" in the Build chapter of `.agents/commands/stages.md`; this skill does not copy it, only supplements the L1 and cross-worktree cases.
26
+
27
+ ### 1.5 Dream report loading (if present)
28
+
29
+ If `tmp/dream-report-*.md` or `tmp/dream-judge-brief-*.md` exists (gitignored runtime state; if deleted it can be rebuilt from git + the ledger), load it per `.agents/skills/dream/SKILL.md`:
30
+
31
+ 1. Read the latest report and AI Judge brief;
32
+ 2. Delegate independent-reviewer to verify the AI Judge samples;
33
+ 3. Write verification conclusions back to papercuts / correction notes (no auto commit / push).
34
+
35
+ ## 2. Align (stop first on mismatch)
36
+
37
+ - Checked but uncommitted / committed but unchecked / changes of unknown origin in the worktree → confirm ownership before continuing; do not overwrite.
38
+ - Across worktrees: uncommitted changes **do not** follow automatically. Compare the two trees with `git diff | sha1sum` to confirm whether they are the same set of changes, avoiding a double commit.
39
+ - Two branches pointing at the same commit but each with its own changes = two independent worktrees, not sharing.
40
+
41
+ ## 3. Output (4-line brief, conclusion first)
42
+
43
+ ```
44
+ Location: <worktree> @ <branch> (<headShort>), ahead/behind
45
+ Unsaved: <N modified / M deleted / K untracked / stash count>
46
+ Next: <next unchecked item in the active plan, or next stage of the run>
47
+ Blocked: <the single item requiring a user decision; write "none" if none>
48
+ ```
49
+
50
+ ## 4. Interruption handoff (pause)
51
+
52
+ Write `.agents/cache/handoff.md` (gitignored, local runtime state, disposable; git is the truth):
53
+
54
+ ```
55
+ Date / branch / worktree / HEAD
56
+ In-flight task: <workflow file>
57
+ Completed: <checked items>
58
+ Next: <first item>
59
+ Uncommitted: <file list + ownership>
60
+ Blocked: <none / item>
61
+ ```
62
+
63
+ On resume, read it first, then verify per §1; on mismatch, git wins, and write the handoff back.
64
+
65
+ ## Red lines
66
+
67
+ - Do not continue from memory; do not overwrite uncommitted changes of unknown origin.
68
+ - Do not auto commit / push WIP; saving to disk is not committing and requires an explicit user request.
69
+ - Do not treat `.agents/cache/` as authoritative: after deletion it must be rebuildable from git + the ledger.
@@ -0,0 +1,109 @@
1
+ ---
2
+ name: shipyard-workflow-closeout
3
+ description: Shipyard.Material close-out sequence — verify --scope, acceptance checklist, closeout.mjs writing terminal state/index/commit, machine gates and failure recovery. Used to bring workflow documents to done/closed.
4
+ ---
5
+
6
+ # Shipyard.Material close-out confirmation gate operation sequence
7
+
8
+ ## Goal
9
+ Bring approved workflow documents to terminal state and leave auditable verification evidence, confirmation shards, and an index.
10
+
11
+ ## Trigger conditions
12
+ - `workflow/{intents,specs,plans,incidents}` documents are to enter `done` or `closed`.
13
+
14
+ ## Prerequisites
15
+ `approved` (incident `fixed`) is already in the current branch's git history. If still `draft` or `open`, first `confirm-doc` to `approved` / `fixed` and commit separately, then run the close-out below.
16
+
17
+ **L1 single-commit exception (from 2026-11-08 batch 2-D, `new-task.md` fast lane step 6)**: after L1's two consecutive approved→done hops, plan(done) + code + confirmation shard + verify evidence **go into the repository in the same commit** — approved need not be committed separately first, and this skill and closeout.mjs are **not used** (its candidate path list does not include product code, and the foreign-path guard rejects it); commit directly with git. Two hops for the same document may use the same release utterance; reuse across documents is forbidden. This skill remains only for "plan independent close-out" (code already committed in a previous commit) and L2/L3 / incident scenarios.
18
+
19
+ The status line is changed only by `confirm-doc.mjs`. Proxy recording uses the user's original utterance in the conversation. Commits do not use `--no-verify`. Self-done L1 does not write result lines into `workflow/delegations.md`; delegated tasks and self-done L2/L3 still leave traces per `stages.md` Test §5. **Way out when the commitment surface is rewritten**: `confirm-doc.mjs <doc> --reconfirm --delegated "<user's original utterance>"` — re-records the fingerprint and commitment-surface fingerprint, status remains approved (the status line is still written by the script, do not hand-edit frontmatter).
20
+
21
+ ## Execution sequence
22
+
23
+ ### 0. Close-out self-check (former check-loop §1/§3x hard responsibilities pushed down, 2026-10-21 gate minimization batch 2)
24
+ Check four items against the document family to close; if any is missing → fill it first before closing, never write done with gaps. Items 1 (L2/L3), 2, 3 (L2/L3 intent) have been moved earlier to machine enforcement at the `confirm-doc.mjs` close-out action (2026-11-08 closeout-skill-hardening) — humans only fill legacy stock and out-of-specialty cases; when the script rejects, fill per the error:
25
+
26
+ 1. **Pairing self-check**: sibling documents of the same family present — L2/L3 intent must have same-named spec and plan (confirm-doc's `specConfirmed` / `planConfirmedFor` hard gates); intent (including legacy L1) must have a same-named plan; incident must have a same-named plan (L2/L3 additionally must have a same-named spec). L1 pairing remains a self-check: 2026-10-21 gate minimization downgraded the pairing hard gate to WARN, not re-hardened here.
27
+ 2. **incident trio** (when closing an incident): `## 复盘三件套` section contains `1. 结构性修复 / 2. 防复发验证 / 3. 规范条目` all three + "whether a new intent is needed" line; if "yes" → the referenced intent path exists. Criterion single source `stage-gates.mjs / incidentTrioGate`, hard-blocked by confirm-doc for →fixed/→closed; legacy documents before the 2026-11-09 first-anchor addition and documents declaring `流程: legacy` / `存量确认态豁免(` remain manual self-check (same criteria).
28
+ 3. **L2/L3 review context required**: persisted line format `- 独立复核:…(复核上下文:<session/subagent id>)`, starting with `- 独立复核:` and containing "复核上下文:"; L2/L3 intent→done hard-blocked by confirm-doc's `reviewLineFor`, spec/plan and L1 remain self-check. If missing → **HALT**: go back to `.agents/commands/stages.md` Test §4 to add the independent review, persist that line, then close.
29
+ 4. **Commitment surface not rewritten (new 2026-10-27)**: if the **commitment surface** (criteria text / red lines / goal / change plan) was changed after approval, the user must **nod again** before close-out — run `node .agents/scripts/confirm-doc.mjs <doc> --reconfirm --delegated "<user's original utterance>"` to re-record the commitment-surface fingerprint (does not advance status). **Checking acceptance + evidence backfill / `确认结果` / review-line anchor changes do not count as commitment changes** (normalized; normal close-out unaffected).
30
+
31
+ Completion criteria: four items pass; machine gates per confirm-doc rejection messages, human self-check items verified one by one.
32
+
33
+ ### 1. Verification
34
+ Run `node .agents/scripts/verify.mjs --scope`. If just run in fast lane step 5 it can be reused; criteria no longer rely on memory: when the all-green line is persisted record `dirty` (snapshot of dirty paths under `backend/` `frontend/` at that time); at close-out confirm-doc compares current business dirty paths — business changes appearing after verify are judged stale evidence (24h window as before). Legacy green lines (without a dirty field) keep the original criteria.
35
+
36
+ Completion criteria: one exit code 0, and not judged "evidence stale" at close-out (if judged, rerun verify to refresh the snapshot). When scope judgment needs full coverage the script falls back itself; do not hand-edit `workflow/verify-evidence.md`. Ordering: the verify green line must be produced **before** the done transition (the dirty snapshot records current business dirty paths; code from the same-batch L1 single commit is already in the working tree at verify time, a path the green line has seen, so it is not judged stale).
37
+
38
+ Scope reconciliation (advisory, 2026-11-11 dev-tour wiring): run `node .agents/scripts/gen-dev-tour.mjs workflow/plans/<name>.md --scope-report` — when "actual changes outside the document" is non-empty, explain or backfill the plan before closing (same criteria as dev-tour trigger conditions; complements the `check-scope.mjs` out-of-scope hard gate, here only prompts and never blocks, always exit 0).
39
+
40
+ ### 2. Check acceptance
41
+ In the document check each acceptance item and write evidence, fixed format: `- [x] acceptance item` with "证据:<command output / path / verification record>" on the same line or immediately following continuation line. Criterion single source `stage-gates.mjs / acceptanceEvidenceGate` (close-out format gate): unchecked items, checked items missing the "证据:" annotation, and L2/L3 specs without a "验收判据" data row are all rejected at confirm-doc. L1 checks the plan. L2/L3 new requirements check the intent. Fixes check the incident, path is `open` → `fixed` → `closed`.
42
+
43
+ Completion criteria: every acceptance item points to evidence (command output, path, or verification record); for the L1 single commit, checking and evidence backfill must be completed **before commit** (checks go into the same commit's plan(done) blob).
44
+
45
+ **Check semantics (criteria declaration, 2026-11-10)**: document checks fall into three classes; done is unrelated to total check count — ① task-breakdown checks = process trace / session re-entry anchor (e.g., `stages.md` §1 shortcut check reads check state to align progress); not all checked ≠ not complete, not a reason to withhold close-out; ② entry red-line questionnaires are negative declarations; L1 all unchecked is the correct "not touched" state; ③ the only check criterion for done = acceptance criteria section each `[x]` cleared + evidence line (this section's acceptanceEvidenceGate). Fabricating backfilled checks for "tidiness" is forbidden.
46
+
47
+ ### 3. Proxy-record terminal state
48
+ First choice is one call `node .agents/scripts/closeout.mjs <doc> --delegated "<user's original utterance>"` (chains §3–§5; usage and failure recovery see §5.1); the three steps below are the manual equivalent path.
49
+
50
+ Manual proxy record: `node .agents/scripts/confirm-doc.mjs <doc> --delegated "<user's original utterance>"`.
51
+
52
+ Incident from `fixed` to `closed` run once more. When spec is marked `done`, step 1's all-green evidence already exists.
53
+
54
+ Completion criteria: target document status is `done` or `closed`, body remains unchanged after this proxy record.
55
+
56
+ ### 4. Index
57
+ Run `node .agents/scripts/gen-workflow-index.mjs`.
58
+
59
+ Completion criteria: `workflow/INDEX.md` regenerated from disk.
60
+
61
+ ### 5. Commit
62
+ `git add` these paths: `.agents/confirmations.d/<document basename>.jsonl`, `workflow/INDEX.md`, `workflow/verify-evidence.md`, and the closed documents. Add `.agents/confirmations.jsonl` only if this diff touched it.
63
+
64
+ Before commit inspect that shard's `git diff`, keep only this session's confirmation lines. `closeout.mjs` has automatically added per this list and checks that the staging area contains only candidate paths (any other in-flight change = reject); commits do not use `--no-verify`.
65
+
66
+ Commit message: `docs(workflow): <batch> close-out`.
67
+
68
+ Completion criteria: above paths committed, hooks pass.
69
+
70
+ ### 5.1 Single call and failure recovery (re-entry)
71
+
72
+ `node .agents/scripts/closeout.mjs <doc> --delegated "<user's original utterance>" [--msg "<commit subject>"] [--dry-run]`
73
+
74
+ Chain order: confirm-doc writes terminal state → gen-workflow-index regenerates → git add fixed path list → git commit. Incident's two hops run once each (`fixed` and `closed`). `--dry-run` reports only current status / next hop / candidate path changes; no state, no write, no commit.
75
+
76
+ On any step failure stop, fix the cause then **rerun the same command** (idempotent: terminal state skips proxy record, index generation idempotent, no staged changes skips commit):
77
+
78
+ - confirm-doc rejects: that document not recorded, not written; fill per the error (pairing / trio / review line / acceptance evidence / delegation ledger) then rerun.
79
+ - Evidence stale: rerun `verify.mjs --scope` to refresh the dirty snapshot then rerun.
80
+ - Commitment-surface fingerprint mismatch: first `confirm-doc.mjs <doc> --reconfirm --delegated "<user's original utterance>"` to re-nod, then close out.
81
+ - Staging area contains foreign paths: the script rejects the commit and lists them; commit or revert these paths separately then rerun (proxy record and index already done; rerun only commits).
82
+ - Hook rejects the commit: fix the hook cause then rerun, do not use `--no-verify`.
83
+
84
+ > L1 single commit does not use this entry (see "Prerequisites" exception) — that path has only one git commit and no separate close-out commit.
85
+
86
+ ### 6. Backfill feature docs
87
+
88
+ Write this behavior change into the corresponding living doc, and leave a pointer in plan / incident; keep only one doc per feature:
89
+
90
+ | Change type | Backfill target |
91
+ |---|---|
92
+ | User-visible interaction / path | `.agents/skills/verify-ui/features/<feature>.md` |
93
+ | Contract / rule / data criteria | Amend the original spec in place (`workflow/README.md` spec lifecycle) |
94
+ | Anti-recurrence assertion | Corresponding module section of `workflow/regression-checklist.md` |
95
+ | Architecture / approach | `wiki/开发方案/` |
96
+
97
+ Append only change facts and evidence pointers, do not copy the whole doc; backfill goes with the close-out commit. If no corresponding doc exists, create one with the feature key in the topic.
98
+
99
+ ### 7. Recipe recovery (long tasks / detours, not incidents)
100
+
101
+ Criteria (any): the same action repeated $\ge 2$ times in this session; the same spot reworked $\ge 2$ times; $\ge 2$ rounds probing to locate an entry or environment.
102
+
103
+ Action: write the recipe back to one authoritative file — prefer editing existing command / skill / role text, do not create a new skill. Placement level per `.agents/skills/papercut-fix/SKILL.md` §0 ladder; this loop usually lands at level 5 (text).
104
+
105
+ Wording: one trigger condition + one action step + one identifiable verification; cite this session's blocker, generic advice forbidden.
106
+
107
+ Do not: one-off environment failures (go to `.agents/notes/runtime-env.local.md` or papercuts `[env]`); incidents follow `.agents/commands/maintain.md` trio.
108
+
109
+ Commit: `docs(engine)` separate commit, no business code.
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: show-me-your-work
3
+ description: Decision trail for long/unattended runs — append-only TSV, one row per decision (what/why/evidence/result), evidence is pointers not paragraphs; use for overnight, multi-stage, or post-departure review.
4
+ ---
5
+
6
+ # show-me-your-work — Decision trail
7
+
8
+ ## Triggers
9
+
10
+ - Unattended / overnight / multi-stage long runs (`autonomous-run`, `pipeline-run`).
11
+ - The user says "I'm leaving / I'll trust it when I'm back / show me when it's done".
12
+ - Changes span multiple units and afterwards need a reviewable decision chain.
13
+
14
+ ## Format
15
+
16
+ A single TSV, one row per decision. Keep cells single-line; evidence is a pointer, not a paragraph.
17
+
18
+ ```
19
+ ts phase decision why evidence result
20
+ ```
21
+
22
+ - **ts**: ISO8601.
23
+ - **phase**: phase or workflow.
24
+ - **decision**: what was chosen/done, one line.
25
+ - **why**: the reason, in plain language; if it is principle-driven, say so plainly, do not pile on jargon.
26
+ - **evidence**: a provable pointer—commit SHA, PR number, `file:line`, artifact/trace/screenshot path. Paragraphs forbidden.
27
+ - **result**: the outcome or predicate state—`tests green` / `reverted` / `pixel-diff 0` / `INCONCLUSIVE` / `open`.
28
+
29
+ Template: `.agents/skills/show-me-your-work/references/decision-log-template.tsv`.
30
+
31
+ ## Recording rules
32
+
33
+ - **append-only**: do not delete bad rows; append a supersede row; never edit/delete history.
34
+ - Record only decision points and checkpoints: which fork was chosen, unit completion and its verification result, pivot/revert and its trigger, exposed blockers, gates fixed. Do not record trivial actions.
35
+ - Loop runs: one row per round.
36
+ - One run = one agent session (including follow-up rounds). Takeover / switching sessions / a new chat = a new run; the first row's phase of a new run is `start`, and name this run in evidence (e.g., agent id).
37
+ - Prefer evidence produced by **committed scripts** over hand-rolled one-off commands ("raise the ladder before writing prose").
38
+
39
+ ## Storage
40
+
41
+ - By default this is a work product, not committed: `decisions.tsv` or `.audit/<task-slug>.tsv`, kept outside git.
42
+ - Commit only when "the reviewer needs this trail to trust the result" (large changes / unattended / spanning multiple PRs).
43
+
44
+ ## Wrap-up audit
45
+
46
+ Before handing back, reconcile against this run's transcript: does each row correspond to a real decision/action; can the evidence be resolved and does it prove that row; forks/pivots that affected work but were not recorded are gaps—add them. The audit does not change the story—supersede bad rows with a new row.
47
+
48
+ ## Cross-model review
49
+
50
+ Before handing back, have a subagent on a **different model tier** read the trail + transcript and flag what the user should notice: weak/missing evidence, verification skipped or only verbal, decisions that look risky in hindsight, gaps a casual scan would miss. End the reply with an `Attention` section whose first line is `reviewed by <model>`; `No flags` is a legal value.
51
+
52
+ ## Where it lives in this repo
53
+
54
+ - `autonomous-run`: add a "decision trail" clause when establishing the contract.
55
+ - `pipeline-run`: record one row per work-order sign-off.
56
+ - `workflow/delegations.md`: delegation results still go in the ledger; this TSV is the per-run decision chain and does not replace the ledger.
57
+ - Append a row: `node .agents/skills/show-me-your-work/scripts/decision-log.mjs <logfile> <phase> <decision> <why> <evidence> <result>` (auto ts, header on first use, sanitize tabs/newlines, escape a leading `=+-@`).
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: tfs-pr
3
+ description: Internal self-hosted TFS / Azure DevOps Server PR skill, project-agnostic — auto-detects the git repository and remote to derive collection/project/repo, guides creation and saves an env var when PAT is missing; query PR / create PR (context pulls diff to distill title and description) / update PR description / conflict pre-check and worktree-isolated resolution, via REST API + PAT (the az devops extension rejects http organization URLs, so az is unavailable). Command entry .agents/skills/tfs-pr/scripts/tfs-pr.mjs.
4
+ ---
5
+
6
+ # tfs-pr — Internal TFS / Azure DevOps Server PR (project-agnostic)
7
+
8
+ Zero project assumptions: if the remote is in TFS / Azure DevOps form (path contains `_git`), or a collection URL can be provided, it is usable. The skill directory is self-contained. Host side holds only pointer shells (this repo only `.codebuddy`; the `.trae` shell was removed 2026-11-08); main-copy changes carry no synchronization obligation. Below, `tfs-pr` refers to `node .agents/skills/tfs-pr/scripts/tfs-pr.mjs`.
9
+
10
+ ## Trigger / do not trigger
11
+ - Trigger: internal TFS transactions such as "check PR / any conflicts", "add / update PR description", "resolve PR conflicts"; `az devops login` reporting "Refusing to attach credentials to an invalid Azure DevOps organization URL" → switch to this skill, do not retry az.
12
+ - Trigger (PR creation class): when the host has a unique PR entry convention (e.g., Shipyard.Material's `pr-create.mjs`), "create PR / push and create PR" **does not directly trigger this skill** — PR creation only goes through the host's unique entry `node .agents/scripts/pr-create.mjs` (which internally calls `tfs-pr create`); agents are forbidden to bypass the host entry and call `tfs-pr create` directly. Hosts without this convention may keep direct triggering. (This repo's former review pre-step was retired to a manual tool on 2026-11-09: panel review runs manually on demand, see `.agents/commands/pr-review.md`.)
13
+ - Do not trigger: GitHub / GitLab and other public hosted PRs; ordinary code review, commit messages.
14
+
15
+ ## 0. Prerequisite probing
16
+ ```bash
17
+ git rev-parse --is-inside-work-tree # non-zero → not a git repository, stop and inform
18
+ tfs-pr target # base/project/repo/tokenUrl/prPage, zero requests, no PAT needed
19
+ ```
20
+ - `target` errors carry remediation: ask the user for a collection URL (form `http://<host>:<port>/tfs/<collection>`), place per `--base` (single run) / `TFS_BASE` (env var) / `git config tfs-pr.base` (repo level); override project / repo with `--project` / `--repo`; non-origin remotes use `--remote` / `TFS_REMOTE`.
21
+ - Recognized remote forms: `ssh://host:22/tfs/COLL/PROJ/_git/R`, `git@host:tfs/...` (scp style), `https://host/tfs/COLL/PROJ/_git/R`, root mount (no /tfs), short form (project==collection), `dev.azure.com` / `*.visualstudio.com`.
22
+ - ssh remote web base defaults to `http://<host>:8080`, overridden by `TFS_WEB_SCHEME` / `TFS_WEB_PORT`; old TFS set `TFS_API_VERSION=4.1` (default 6.0); target branch can be fixed with `git config tfs-pr.target <branch>`.
23
+
24
+ ## 1. PAT: read → guide → use
25
+ Store only in environment variables (never in argv / conversation / prints): single server uses global `TFS_PAT`; multiple servers store per base hostname `TFS_PAT_<HOST>` (non-alphanumerics become `_` uppercase, e.g., `TFS_PAT_10_0_0_1`, matched preferentially).
26
+ - Probe and guide in one command: `tfs-pr setup` — prints process/user-level status of the two variables, dynamic portal `<base>/_usersSettings/tokens` (hardcoding site IP forbidden), setx command, whoami self-check. Not configured → give the user the three steps printed by setup: portal generation (scopes check Code Read&Write + Pull Request Read&Write + **Work Items Read** — required for verifying linked work items after creation; without this scope the verification step gets 401) → `setx <variable> "<PAT>"` (effective in a new terminal) → `tfs-pr whoami` real verification (non-empty length ≠ valid PAT).
27
+ - After setx the current process does not inherit: read from registry and feed the script, the value must not appear on the command line: `TFS_PAT="$(powershell -NoProfile -Command "[Environment]::GetEnvironmentVariable('TFS_PAT','User')")" tfs-pr …` (same for split variables).
28
+ - Fallback `--pat-file` only when the user explicitly does not use env vars; clean up with `rm -f`; if PAT leaks into conversation/logs/history → at wrap-up must remind to revoke and recreate in the portal.
29
+
30
+ ## 2. Commands
31
+ | Action | Command | Description |
32
+ |---|---|---|
33
+ | Identify target | `tfs-pr target` | base/project/repo/tokenUrl/prPage |
34
+ | PAT guidance | `tfs-pr setup` | portal address + persistence + self-check commands |
35
+ | Verify PAT | `tfs-pr whoami` | current identity + base/project/repo + PR page |
36
+ | List PRs | `tfs-pr list [--source <b>] [--target <b>] [--status active\|all] [--json]` | `#12 [active/succeeded] feat/x → develop <title>` |
37
+ | Get one | `tfs-pr get <id> [--json]` | status/mergeStatus + PR page URL; JSON contains the full description |
38
+ | Pre-create context | `tfs-pr context [--source <b>] [--target <b>] [--no-fetch] [--patch] [--json]` | commits/files/stat/overlap/conflicts/push/dirty in one shot |
39
+ | Create PR | `tfs-pr create [--source <b>] [--target <b>] --title <t> --body-file <f\|-> [--dry-run] [--json]` | `CREATED #id …` or idempotent `EXISTING #id` |
40
+ | Update description | `tfs-pr desc <id> --body-file <f\|-> [--dry-run] [--json]` | `UPDATED #id …` (already read back and compared) |
41
+ | Conflict pre-check | `tfs-pr conflicts <id> [--no-fetch] [--json]` | fetch conflicts/overlap/mergeBase by PR branch |
42
+ | Local conflict pre-check | `tfs-pr conflicts --source <b> --target <b> [--no-fetch] [--json]` | no PAT, no PR id needed |
43
+
44
+ - source defaults to current branch (detached HEAD requires `--source`); target defaults to `--target` / `TFS_TARGET` / `git config tfs-pr.target` / remote HEAD; branch names need no `refs/heads/` prefix.
45
+ - `--body-file -` reads body from stdin, no temp file; body UTF-8 (BOM auto-stripped), Chinese and line breaks as-is.
46
+ - `--dry-run` zero requests and no PAT needed; exit code 0 success (including EXISTING) / 1 HTTP·API·network error / 2 usage·configuration error.
47
+
48
+ ## 3. Create PR: distill title and description from the diff
49
+ 1. `tfs-pr context --target <target branch> --json` (auto-fetch by default; `--no-fetch` only offline or fresh refs). Output: commits, files, stat/shortstat, overlap (both sides changed), conflicts (merge-tree; `conflictsSupported=false` means git does not support pre-check, do not treat as no conflict), push (unpushed/no remote branch), dirty (uncommitted changes).
50
+ 2. Pre-create checks: `push.unpushed` or no remote branch → normal `git push` first (if blocked by gates fix the root cause; `--no-verify` / force push forbidden); `dirty` → confirm whether uncommitted changes enter the PR, do not silently ignore; `conflicts.files` non-empty → resolve per §5 first; `overlap` non-empty but no textual conflict → manually review both changes for semantic confirmation.
51
+ 3. To see specific changes, read key files or `git diff origin/<target branch>...HEAD` (`--patch` may attach the full diff).
52
+ 4. **Title**: Conventional Commits Chinese `feat(scope): summary` (compound topics joined with `+`, about 70 characters, empty title / PR number forbidden); scope takes the main module/directory, the subject is distilled from the diff's main changes + commits, not a restatement of commit messages.
53
+ - **`#number` prohibition (empirically 2026-10-26)**: in commit messages / PR titles / PR descriptions, **references to PR numbers must always be written "PR 720", never `#720`** — `#N` is work-item linking syntax; pushing automatically links work item N to the commit and PR; PR numbers and work item IDs share the same numeric space, so unrelated work items will definitely collide (PR #719 was once wrongly linked this way). `#N` is used only when genuinely linking a work item. **In PR descriptions, reference other PRs with markdown links** (`[PR 720](<prPage>/<id>)`, `prPage` see `target` output, single-page URL is `pullrequest/<id>`); linking at the first occurrence of a PR number suffices, the rest plain text.
54
+ 5. **Description** (`create` / `desc` both replace the whole segment, must give the complete body; the template is a **default value** — when the host repo already has its own PR body convention, the host convention prevails; check the host's review/merge docs, this template is only a fallback):
55
+ ```markdown
56
+ ## Summary
57
+ - Why the change, what changed (1-4 items, pointing at key modules/files; must come from the actual diff)
58
+
59
+ ## Evidence
60
+ - Tests/builds/manual verification actually run; if not run, explicitly write "not run" and the reason, fabrication forbidden
61
+
62
+ ## Merge Danger
63
+ - Door: impact surface (API / DB / config / permissions / compatibility); write "none" if no risk, omission forbidden
64
+ - Blast Radius: local / module / global
65
+ - Rollback: rollback method and risk
66
+ ```
67
+ Large diff, non-empty overlap, or irreversible change → append `## Tradeoffs`: cite the real shortstat scale + why this is still done.
68
+ 6. `--dry-run` first to verify URL and body, then create officially; `mergeStatus=queued` poll with `get`, `conflicts` go to §5; return the PR page URL to the user.
69
+
70
+ ## 4. Update PR description
71
+ `get <id> --json` read existing → decide replace or supplement (supplement = merge new content into existing, keep useful three sections) → `desc <id> --body-file -` (stdin) or file. **desc replaces the whole segment, it is not an append**; incremental fragments overwriting the original are forbidden. If the source branch has new commits → rerun context before updating the description, to prevent Summary drifting from the actual diff.
72
+
73
+ ## 5. Resolve PR conflicts
74
+ Locate: `tfs-pr conflicts <id> --json` (take branch from PR → fetch → merge-tree + overlap + mergeBase). Server-side conflicts but empty locally → refs stale/server not refreshed, fetch again then `get` confirm, **directly asserting no conflict is forbidden**.
75
+
76
+ Resolve (worktree isolation; do not touch the user's current working area; do not stash/reset the user's uncommitted changes):
77
+ ```bash
78
+ git fetch <remote> <src> <tgt>
79
+ git worktree add <tmp>/pr-<id> -b tfs-pr/<id>-resolve refs/remotes/<remote>/<src>
80
+ cd <tmp>/pr-<id> && git merge refs/remotes/<remote>/<tgt>
81
+ # resolve file by file, preserve both intents; blind --ours/--theirs forbidden; even auto-merged overlaps must pass semantic review (callers/config/migrations/contracts)
82
+ # run project tests/build; stage only resolved files; commit message states which conflicts were resolved — PR numbers must not be written #N (same §3 step 4 prohibition: #N wrongly links unrelated work items, write "PR 720")
83
+ git push <remote> HEAD:<src>
84
+ ```
85
+ - No force push (including `--force-with-lease`, unless the user explicitly confirms); a blocked push = gate enforcement, fix the root cause, `--no-verify` forbidden; if branch policy forbids direct push → stop and report options, do not bypass.
86
+ - fork source branch local fetch failure → ask the user for the source repo or resolve in the source repo, do not guess; PR already completed/abandoned → do not resolve conflicts, report status.
87
+ - Wrap-up delete only worktrees/branches created by this skill: `git worktree remove <tmp>/pr-<id> && git branch -D tfs-pr/<id>-resolve`, touch no user branch/worktree.
88
+ - Recheck: `get <id>` → mergeStatus leaves conflicts (poll queued until converged) before considering complete.
89
+
90
+ ## 6. Error interpretation
91
+ - **Three response judgments** (built into the script; manual troubleshooting in the same order): first judge `status` → then judge `content-type` (`401 + text/html` = missing/wrong credentials, common `TF400813`; direct `JSON.parse` only yields misleading `Unexpected token '<'`, hard parse forbidden) → confirm JSON then parse.
92
+ - `401 JSON` = PAT invalid/expired/insufficient scope (rebuild in portal); `404 JSON` = base points to wrong site/port (e.g., API on 8080 but base points to 80) or project/repo misspelled (check `target`); `EXISTING` = an active PR already exists from the same source→target (switch to `desc` or abandon first); network/TLS errors check VPN/proxy/certificate (`--verbose` prints only URLs, not PAT).
93
+
94
+ ## 7. Wrap-up criteria
95
+ After query/create/update, status/mergeStatus match expectations (desc already read back and compared); **linked work items verified** (`curl -s -u ":$TFS_PAT" "<base>/<project>/_apis/git/repositories/<repo>/pullrequests/<id>/workitems?api-version=6.0"` lists them, verify each against expected work items — this repo defaults to no work-item link, non-empty must be explained; wrong links must be removed in the portal and rechecked as empty; when the PAT lacks the Work Items Read scope this step returns 401 and requires manual portal verification); PR page URL returned to the user; after conflict resolution push succeeds and conflicts no longer appear; temporary body/credential files deleted; PAT not in repository/logs/conversation, leaks reminded to revoke; report PR number, URL, status/mergeStatus, and verification actually performed; if tests were not run, say so explicitly.