@event4u/agent-config 16.2.0 → 16.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (651) hide show
  1. package/.augment-plugin/marketplace.json +3 -3
  2. package/.augment-plugin/plugin.json +1 -1
  3. package/.claude-plugin/marketplace.json +1 -1
  4. package/CHANGELOG.md +337 -234
  5. package/README.md +15 -13
  6. package/agents/templates/.ai-council.yml.example +26 -8
  7. package/dist/agent-src/commands/analyze/inbox.md +11 -8
  8. package/dist/agent-src/commands/analyze/roadmap-repos.md +1 -1
  9. package/dist/agent-src/commands/bug/fix.md +17 -2
  10. package/dist/agent-src/commands/bug/investigate.md +1 -1
  11. package/dist/agent-src/commands/commit/in-chunks.md +40 -31
  12. package/dist/agent-src/commands/commit.md +72 -33
  13. package/dist/agent-src/commands/condense.md +2 -8
  14. package/dist/agent-src/commands/council/debate.md +11 -7
  15. package/dist/agent-src/commands/council/default.md +10 -9
  16. package/dist/agent-src/commands/council.md +1 -1
  17. package/dist/agent-src/commands/estimate-ticket.md +1 -1
  18. package/dist/agent-src/commands/feature/explore.md +3 -3
  19. package/dist/agent-src/commands/feature/plan.md +2 -2
  20. package/dist/agent-src/commands/feature/roadmap.md +1 -1
  21. package/dist/agent-src/commands/fix/ci.md +18 -4
  22. package/dist/agent-src/commands/fix/commit-messages.md +48 -23
  23. package/dist/agent-src/commands/fix/pr-comments.md +3 -6
  24. package/dist/agent-src/commands/implement-ticket.md +4 -4
  25. package/dist/agent-src/commands/jira-ticket.md +1 -1
  26. package/dist/agent-src/commands/memory/add.md +4 -16
  27. package/dist/agent-src/commands/memory/load.md +5 -6
  28. package/dist/agent-src/commands/memory/promote.md +3 -16
  29. package/dist/agent-src/commands/mission/upgrade.md +3 -2
  30. package/dist/agent-src/commands/optimize/agents-dir.md +2 -2
  31. package/dist/agent-src/commands/optimize/deep.md +4 -2
  32. package/dist/agent-src/commands/optimize/rtk.md +4 -26
  33. package/dist/agent-src/commands/pr/create/description-only.md +18 -15
  34. package/dist/agent-src/commands/pr/create.md +42 -34
  35. package/dist/agent-src/commands/pr/merge.md +136 -9
  36. package/dist/agent-src/commands/prepare-for-review.md +13 -11
  37. package/dist/agent-src/commands/project/analyze.md +7 -35
  38. package/dist/agent-src/commands/refine-ticket.md +1 -1
  39. package/dist/agent-src/commands/review/changes.md +14 -19
  40. package/dist/agent-src/commands/roadmap/create.md +1 -1
  41. package/dist/agent-src/commands/roadmap/materialize.md +1 -1
  42. package/dist/agent-src/commands/roadmap/next.md +10 -1
  43. package/dist/agent-src/commands/roadmap/process-full.md +56 -42
  44. package/dist/agent-src/commands/roadmap/resolve-blockers.md +411 -0
  45. package/dist/agent-src/commands/roadmap/triage-parked.md +325 -0
  46. package/dist/agent-src/commands/roadmap.md +18 -4
  47. package/dist/agent-src/commands/tests/create.md +17 -3
  48. package/dist/agent-src/commands/tests/execute.md +22 -5
  49. package/dist/agent-src/commands/worktree/create.md +7 -3
  50. package/dist/agent-src/commands/worktree/verify.md +2 -1
  51. package/dist/agent-src/contexts/authority/decision-revisit-gate-enforcement.md +43 -0
  52. package/dist/agent-src/contexts/communication/rules-auto/design-fidelity-enforcement.md +24 -0
  53. package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +5 -3
  54. package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +7 -9
  55. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -6
  56. package/dist/agent-src/contexts/contracts/frugality-charter.md +8 -5
  57. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +7 -7
  58. package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +0 -1
  59. package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
  60. package/dist/agent-src/contexts/execution/non-interactive-contract.md +5 -8
  61. package/dist/agent-src/contexts/execution/rdp-gate.md +4 -4
  62. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +9 -8
  63. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +99 -54
  64. package/dist/agent-src/contexts/execution/session-canary-enforcement-history.md +67 -0
  65. package/dist/agent-src/contexts/execution/subagent-routing.md +8 -8
  66. package/dist/agent-src/contexts/execution/subagent-steering.md +6 -4
  67. package/dist/agent-src/contexts/execution/terminal-states.md +2 -2
  68. package/dist/agent-src/contexts/execution/toolchain-resolver.md +95 -7
  69. package/dist/agent-src/contexts/subagent-configuration.md +1 -1
  70. package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
  71. package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
  72. package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
  73. package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
  74. package/dist/agent-src/guidelines/agent-infra/layered-settings.md +13 -1
  75. package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  76. package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
  77. package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +36 -0
  78. package/dist/agent-src/guidelines/php/git.md +15 -2
  79. package/dist/agent-src/rules/active-remediation.md +1 -2
  80. package/dist/agent-src/rules/analysis-skill-routing.md +0 -1
  81. package/dist/agent-src/rules/architecture.md +0 -1
  82. package/dist/agent-src/rules/artifact-drafting-protocol.md +0 -1
  83. package/dist/agent-src/rules/artifact-engagement-recording.md +0 -1
  84. package/dist/agent-src/rules/augment-edit-discipline.md +0 -1
  85. package/dist/agent-src/rules/autonomous-execution.md +1 -1
  86. package/dist/agent-src/rules/brand-consistency.md +0 -1
  87. package/dist/agent-src/rules/brand-source-of-truth.md +0 -1
  88. package/dist/agent-src/rules/broken-access-control.md +1 -1
  89. package/dist/agent-src/rules/cli-output-handling.md +0 -1
  90. package/dist/agent-src/rules/code-comment-discipline.md +0 -1
  91. package/dist/agent-src/rules/code-provenance.md +0 -1
  92. package/dist/agent-src/rules/command-suggestion-policy.md +1 -1
  93. package/dist/agent-src/rules/commit-conventions.md +1 -2
  94. package/dist/agent-src/rules/communication-through-line.md +1 -2
  95. package/dist/agent-src/rules/content-quoting-floor.md +1 -2
  96. package/dist/agent-src/rules/context-hygiene.md +6 -6
  97. package/dist/agent-src/rules/copilot-routing.md +1 -2
  98. package/dist/agent-src/rules/council-availability.md +4 -4
  99. package/dist/agent-src/rules/cross-source-consistency.md +4 -6
  100. package/dist/agent-src/rules/decision-revisit-gate.md +17 -35
  101. package/dist/agent-src/rules/delegation-policy.md +2 -3
  102. package/dist/agent-src/rules/design-fidelity.md +12 -16
  103. package/dist/agent-src/rules/design-review-after-ui-write.md +3 -3
  104. package/dist/agent-src/rules/devcontainer-routing.md +1 -2
  105. package/dist/agent-src/rules/doc-screenshot-hygiene.md +1 -1
  106. package/dist/agent-src/rules/docker-commands.md +0 -1
  107. package/dist/agent-src/rules/domain-adoption-policy.md +0 -1
  108. package/dist/agent-src/rules/domain-safety-disclaimer.md +1 -1
  109. package/dist/agent-src/rules/domain-safety-pii.md +1 -1
  110. package/dist/agent-src/rules/domain-safety-retention.md +1 -1
  111. package/dist/agent-src/rules/downstream-changes.md +0 -1
  112. package/dist/agent-src/rules/engineering-safety-floor.md +1 -1
  113. package/dist/agent-src/rules/evaluator-independence.md +3 -2
  114. package/dist/agent-src/rules/external-code-graph-interop.md +0 -1
  115. package/dist/agent-src/rules/external-reference-deep-dive.md +0 -1
  116. package/dist/agent-src/rules/fast-path-marker-visibility.md +2 -2
  117. package/dist/agent-src/rules/finance-safety-floor.md +1 -1
  118. package/dist/agent-src/rules/fix-what-you-see.md +6 -32
  119. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +0 -1
  120. package/dist/agent-src/rules/git-history-discipline.md +2 -2
  121. package/dist/agent-src/rules/guidelines.md +0 -1
  122. package/dist/agent-src/rules/history-discipline.md +0 -1
  123. package/dist/agent-src/rules/icon-consistency.md +0 -1
  124. package/dist/agent-src/rules/image-likeness-and-rights.md +1 -1
  125. package/dist/agent-src/rules/improve-before-implement.md +0 -1
  126. package/dist/agent-src/rules/invite-challenge.md +0 -1
  127. package/dist/agent-src/rules/laravel-routing.md +1 -2
  128. package/dist/agent-src/rules/laravel-translations.md +0 -1
  129. package/dist/agent-src/rules/legal-safety-floor.md +3 -3
  130. package/dist/agent-src/rules/lethal-trifecta-guard.md +1 -1
  131. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -1
  132. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +1 -1
  133. package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
  134. package/dist/agent-src/rules/media-governance-routing.md +13 -17
  135. package/dist/agent-src/rules/media-sync-ground-truth.md +0 -1
  136. package/dist/agent-src/rules/minimal-safe-diff.md +0 -1
  137. package/dist/agent-src/rules/missing-skill-recovery.md +0 -1
  138. package/dist/agent-src/rules/missing-tool-handling.md +0 -1
  139. package/dist/agent-src/rules/model-recommendation.md +0 -1
  140. package/dist/agent-src/rules/neighbour-precedence.md +64 -0
  141. package/dist/agent-src/rules/no-attribution-footers.md +0 -1
  142. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +0 -1
  143. package/dist/agent-src/rules/no-pr-progress-comments.md +0 -1
  144. package/dist/agent-src/rules/no-roadmap-references.md +0 -1
  145. package/dist/agent-src/rules/notes-first-reasoning.md +0 -1
  146. package/dist/agent-src/rules/onboarding-gate.md +0 -1
  147. package/dist/agent-src/rules/output-discipline.md +0 -1
  148. package/dist/agent-src/rules/package-ci-checks.md +0 -1
  149. package/dist/agent-src/rules/persona-governance.md +4 -5
  150. package/dist/agent-src/rules/php-coding.md +0 -1
  151. package/dist/agent-src/rules/prefer-enums-over-literals.md +0 -1
  152. package/dist/agent-src/rules/preservation-guard.md +0 -1
  153. package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -4
  154. package/dist/agent-src/rules/question-not-instruction.md +1 -1
  155. package/dist/agent-src/rules/reviewer-awareness.md +0 -1
  156. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -1
  157. package/dist/agent-src/rules/roadmap-progress-sync.md +4 -7
  158. package/dist/agent-src/rules/role-mode-adherence.md +0 -1
  159. package/dist/agent-src/rules/rule-type-governance.md +0 -1
  160. package/dist/agent-src/rules/runtime-safety.md +1 -1
  161. package/dist/agent-src/rules/scale-discipline.md +0 -1
  162. package/dist/agent-src/rules/secret-vcs-guard.md +1 -1
  163. package/dist/agent-src/rules/security-sensitive-stop.md +3 -3
  164. package/dist/agent-src/rules/self-repair-loop.md +0 -1
  165. package/dist/agent-src/rules/senior-engineering-discipline.md +0 -1
  166. package/dist/agent-src/rules/session-canary.md +7 -62
  167. package/dist/agent-src/rules/settings-ask-protocol.md +6 -6
  168. package/dist/agent-src/rules/size-enforcement.md +0 -1
  169. package/dist/agent-src/rules/skill-improvement-trigger.md +2 -3
  170. package/dist/agent-src/rules/skill-quality.md +0 -1
  171. package/dist/agent-src/rules/slash-command-routing-policy.md +0 -1
  172. package/dist/agent-src/rules/source-confidentiality.md +1 -1
  173. package/dist/agent-src/rules/source-discovery-gate.md +0 -1
  174. package/dist/agent-src/rules/source-of-truth.md +0 -1
  175. package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -2
  176. package/dist/agent-src/rules/strategy-safety-floor.md +1 -1
  177. package/dist/agent-src/rules/symfony-routing.md +1 -2
  178. package/dist/agent-src/rules/think-before-action.md +0 -1
  179. package/dist/agent-src/rules/token-budget-discipline.md +12 -46
  180. package/dist/agent-src/rules/token-efficiency.md +0 -1
  181. package/dist/agent-src/rules/token-optimizer-maintenance.md +0 -1
  182. package/dist/agent-src/rules/tool-safety.md +1 -1
  183. package/dist/agent-src/rules/ui-audit-gate.md +1 -2
  184. package/dist/agent-src/rules/untrusted-input-defense.md +1 -1
  185. package/dist/agent-src/rules/upstream-proposal.md +0 -1
  186. package/dist/agent-src/rules/user-interaction.md +0 -1
  187. package/dist/agent-src/rules/user-interrupt-priority.md +1 -1
  188. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +115 -20
  189. package/dist/agent-src/scripts/deferral_carry.ts +339 -0
  190. package/dist/agent-src/scripts/gate_budget.ts +47 -23
  191. package/dist/agent-src/scripts/gate_execute.ts +12 -4
  192. package/dist/agent-src/scripts/update_roadmap_progress.ts +4 -1
  193. package/dist/agent-src/skills/ai-council/SKILL.md +7 -4
  194. package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +21 -11
  195. package/dist/agent-src/skills/ai-council/references/procedure.md +12 -6
  196. package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
  197. package/dist/agent-src/skills/api-design/data/manifest.json +2 -2
  198. package/dist/agent-src/skills/api-testing/SKILL.md +17 -0
  199. package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
  200. package/dist/agent-src/skills/code-intelligence/SKILL.md +14 -2
  201. package/dist/agent-src/skills/command-routing/SKILL.md +3 -4
  202. package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +127 -139
  203. package/dist/agent-src/skills/corpus-grounding/ATTRIBUTION.md +39 -0
  204. package/dist/agent-src/skills/corpus-grounding/SKILL.md +8 -2
  205. package/dist/agent-src/skills/database/data/manifest.json +2 -2
  206. package/dist/agent-src/skills/database/data/query-tuning.csv +13 -13
  207. package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
  208. package/dist/agent-src/skills/design-system-capture/references/import-procedure.md +1 -1
  209. package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
  210. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +2 -2
  211. package/dist/agent-src/skills/fe-design/SKILL.md +1 -1
  212. package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
  213. package/dist/agent-src/skills/git-workflow/SKILL.md +44 -44
  214. package/dist/agent-src/skills/git-workflow/references/branch-update.md +312 -0
  215. package/dist/agent-src/skills/git-workflow/references/commit-subject.md +205 -0
  216. package/dist/agent-src/skills/iconography/SKILL.md +1 -1
  217. package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
  218. package/dist/agent-src/skills/js-library-packaging/SKILL.md +2 -2
  219. package/dist/agent-src/skills/merge-conflicts/SKILL.md +10 -4
  220. package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
  221. package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
  222. package/dist/agent-src/skills/quality-tools/SKILL.md +11 -1
  223. package/dist/agent-src/skills/quality-tools/references/go-tools.md +76 -0
  224. package/dist/agent-src/skills/quality-tools/references/python-tools.md +104 -0
  225. package/dist/agent-src/skills/refine-ticket/SKILL.md +4 -4
  226. package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
  227. package/dist/agent-src/skills/roadmap-writing/SKILL.md +2 -2
  228. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +5 -3
  229. package/dist/agent-src/skills/source-discovery/SKILL.md +1 -1
  230. package/dist/agent-src/skills/storybook-workshop/SKILL.md +3 -3
  231. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +4 -2
  232. package/dist/agent-src/skills/test-case-discovery/SKILL.md +7 -0
  233. package/dist/agent-src/skills/test-driven-development/SKILL.md +17 -0
  234. package/dist/agent-src/skills/test-performance/SKILL.md +19 -1
  235. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
  236. package/dist/agent-src/skills/ui-component-architect/SKILL.md +2 -2
  237. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -1
  238. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  239. package/dist/agent-src/templates/AGENTS.md +1 -1
  240. package/dist/agent-src/templates/agent-settings.md +46 -129
  241. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
  242. package/dist/agent-src/templates/command.md +2 -2
  243. package/dist/agent-src/templates/roadmaps.md +6 -1
  244. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
  245. package/dist/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
  246. package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +48 -6
  247. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
  248. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
  249. package/dist/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
  250. package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
  251. package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
  252. package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +774 -109
  253. package/dist/agent-src/templates/skill.md +1 -1
  254. package/dist/cli/registry.js +2 -1
  255. package/dist/cli-delegate/archive_completed_roadmaps.js +92 -12
  256. package/dist/cli-delegate/check_update_banner.js +207 -120
  257. package/dist/cli-delegate/chunk-523HCFYO.js +90 -0
  258. package/dist/cli-delegate/{chunk-FP36SWJD.js → chunk-5GPULQBE.js} +2797 -338
  259. package/dist/cli-delegate/{chunk-IGD6ERX6.js → chunk-6SRJTYJS.js} +42 -176
  260. package/dist/cli-delegate/chunk-6V5FMA3P.js +186 -0
  261. package/dist/cli-delegate/{chunk-M2DPGFZ4.js → chunk-6V6TA25H.js} +22 -152
  262. package/dist/cli-delegate/chunk-6YQC2HLF.js +415 -0
  263. package/dist/cli-delegate/{chunk-E4XIZDIB.js → chunk-7HKRE54K.js} +1 -64
  264. package/dist/cli-delegate/chunk-7IQE3D5S.js +191 -0
  265. package/dist/cli-delegate/{chunk-YJ72UIAK.js → chunk-AED2VQGM.js} +1245 -249
  266. package/dist/cli-delegate/{chunk-7HQ52DHU.js → chunk-AL3RZ22D.js} +1 -1
  267. package/dist/cli-delegate/chunk-DEIV7XP7.js +108 -0
  268. package/dist/cli-delegate/{chunk-DBH4AHDK.js → chunk-ED7KCMLB.js} +9 -11
  269. package/dist/cli-delegate/chunk-F3QDG2GT.js +2569 -0
  270. package/dist/cli-delegate/{chunk-6KFEC3G7.js → chunk-G5VVIZRC.js} +3 -3
  271. package/dist/cli-delegate/{chunk-FC75PGJE.js → chunk-H76PHZBI.js} +149 -61
  272. package/dist/cli-delegate/chunk-IAYTIIQW.js +67 -0
  273. package/dist/cli-delegate/chunk-JQOM7TTM.js +1201 -0
  274. package/dist/cli-delegate/chunk-KB5FZ655.js +208 -0
  275. package/dist/cli-delegate/{chunk-7RQP4UDH.js → chunk-KR6EM23A.js} +235 -1455
  276. package/dist/cli-delegate/{chunk-LTYVIY76.js → chunk-KXXWJTDO.js} +6 -11
  277. package/dist/cli-delegate/{chunk-T7L2QK3K.js → chunk-LQOCRFWT.js} +1 -1
  278. package/dist/cli-delegate/{chunk-6KM6ORRY.js → chunk-MDPPKQCQ.js} +58 -9
  279. package/dist/cli-delegate/{chunk-4XFP2Y3E.js → chunk-MSUL5NYP.js} +5 -5
  280. package/dist/cli-delegate/chunk-OAFSJBHH.js +272 -0
  281. package/dist/cli-delegate/{chunk-4E2W63DA.js → chunk-OKJUIAPS.js} +62 -1
  282. package/dist/cli-delegate/{chunk-QAJS5YWY.js → chunk-PHD7OOLE.js} +2 -1
  283. package/dist/cli-delegate/{chunk-P6ZHP5W2.js → chunk-PWX7CKMD.js} +4 -4
  284. package/dist/cli-delegate/{chunk-NDJLNC6Q.js → chunk-T6BP34WI.js} +1 -0
  285. package/dist/cli-delegate/{chunk-7XGBX6ZH.js → chunk-T7XSJSUQ.js} +1144 -589
  286. package/dist/cli-delegate/chunk-ULQRUR23.js +208 -0
  287. package/dist/cli-delegate/chunk-WQWXGIWB.js +1779 -0
  288. package/dist/cli-delegate/{chunk-RGNIWTEA.js → chunk-XQTPXKFA.js} +1 -1
  289. package/dist/cli-delegate/{chunk-NUHLI2RX.js → chunk-YCU3TIXH.js} +2 -0
  290. package/dist/cli-delegate/chunk-ZBZV2G5R.js +210 -0
  291. package/dist/cli-delegate/{chunk-WGXTVKCQ.js → chunk-ZUZKZYCN.js} +5 -3
  292. package/dist/cli-delegate/cmd_analyze_session.js +223 -43
  293. package/dist/cli-delegate/cmd_brand_status.js +3 -2
  294. package/dist/cli-delegate/cmd_conformance.js +1252 -249
  295. package/dist/cli-delegate/cmd_converge.js +3 -3
  296. package/dist/cli-delegate/cmd_doctor.js +19 -9
  297. package/dist/cli-delegate/cmd_doctor_neighbours.js +30 -0
  298. package/dist/cli-delegate/cmd_explain.js +45 -21
  299. package/dist/cli-delegate/cmd_export.js +13 -10
  300. package/dist/cli-delegate/cmd_fleet.js +3 -3
  301. package/dist/cli-delegate/cmd_git_convention.js +1851 -0
  302. package/dist/cli-delegate/cmd_handoff.js +44 -22
  303. package/dist/cli-delegate/cmd_mcp_available.js +3 -2
  304. package/dist/cli-delegate/cmd_memory_get.js +3 -1
  305. package/dist/cli-delegate/cmd_migrate.js +3 -3
  306. package/dist/cli-delegate/cmd_packs_active.js +5 -4
  307. package/dist/cli-delegate/cmd_preflight.js +6 -6
  308. package/dist/cli-delegate/cmd_prune.js +14 -11
  309. package/dist/cli-delegate/cmd_refresh.js +2 -1
  310. package/dist/cli-delegate/cmd_route_audit.js +10 -8
  311. package/dist/cli-delegate/cmd_route_explain.js +4 -4
  312. package/dist/cli-delegate/cmd_session_recycle.js +10 -7
  313. package/dist/cli-delegate/cmd_settings_check.js +54 -7
  314. package/dist/cli-delegate/cmd_settings_get.js +18 -8
  315. package/dist/cli-delegate/cmd_settings_migrate.js +13 -10
  316. package/dist/cli-delegate/cmd_settings_set.js +4 -4
  317. package/dist/cli-delegate/cmd_sync.js +14 -11
  318. package/dist/cli-delegate/cmd_uninstall.js +15 -12
  319. package/dist/cli-delegate/cmd_update.js +7 -7
  320. package/dist/cli-delegate/cmd_upgrade.js +9 -8
  321. package/dist/cli-delegate/cmd_validate.js +15 -12
  322. package/dist/cli-delegate/cmd_versions.js +5 -5
  323. package/dist/cli-delegate/deferral_carry.js +16 -0
  324. package/dist/cli-delegate/gate_budget.js +1 -1
  325. package/dist/cli-delegate/gate_execute.js +3 -3
  326. package/dist/cli-delegate/roadmap_gates.js +6 -6
  327. package/dist/cli-delegate/update_roadmap_progress.js +1 -1
  328. package/dist/discovery/deprecation-report.md +1 -1
  329. package/dist/discovery/discovery-manifest.json +232 -141
  330. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  331. package/dist/discovery/discovery-manifest.summary.md +3 -3
  332. package/dist/discovery/dormancy-report.md +1 -1
  333. package/dist/discovery/orphan-report.md +1 -1
  334. package/dist/discovery/packs.json +26 -9
  335. package/dist/discovery/trust-report.md +3 -3
  336. package/dist/discovery/workspaces.json +7 -4
  337. package/dist/hooks/dispatch.js +5655 -6623
  338. package/dist/hooks/dispatch.sha256 +1 -1
  339. package/dist/install/claudePathsPlan.js +47 -6
  340. package/dist/install/claudeRuleRewrite.js +7 -0
  341. package/dist/install/emit_host_rules_cli.js +39 -36
  342. package/dist/install/globalRuleScope.js +87 -0
  343. package/dist/install/host_rule_ownership.js +160 -0
  344. package/dist/install/install.mjs +2336 -1249
  345. package/dist/install/installThinLayer.js +289 -0
  346. package/dist/install/installedRuleLinks.js +262 -0
  347. package/dist/install/wizard-plan.js +24 -0
  348. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  349. package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
  350. package/dist/mcp/registry-manifest.json +5 -5
  351. package/dist/mcp/server.json +2 -2
  352. package/dist/mcp/server.mjs +36504 -30986
  353. package/dist/router.json +1 -1
  354. package/dist/scripts/_lib/agent_settings.js +26 -120
  355. package/dist/scripts/_lib/claude_settings_hooks.js +10 -8
  356. package/dist/scripts/_lib/compile_time_toggles.js +12 -21
  357. package/dist/scripts/_lib/git_convention.js +232 -0
  358. package/dist/scripts/_lib/global_deploy_inventory.js +730 -0
  359. package/dist/scripts/_lib/installed_layer.js +704 -0
  360. package/dist/scripts/_lib/lean_projection_mode.js +218 -15
  361. package/dist/scripts/_lib/package_root.js +68 -0
  362. package/dist/scripts/_lib/rule_consequence_class.js +45 -0
  363. package/dist/scripts/_lib/rule_injection.js +67 -10
  364. package/dist/scripts/_lib/rule_law_section.js +122 -0
  365. package/dist/scripts/_lib/settings_removed_keys.js +168 -0
  366. package/dist/scripts/_lib/thin_rules.js +535 -0
  367. package/dist/scripts/_lib/windsurf_render.js +60 -0
  368. package/dist/scripts/condense.js +14 -26
  369. package/dist/scripts/project_thin_rules.js +14 -294
  370. package/dist/server/app.js +2 -1
  371. package/dist/server/gitKeysGate.js +105 -0
  372. package/dist/server/routes/settings.js +67 -8
  373. package/dist/server/routes/wizard.js +4 -0
  374. package/dist/server/schemas/settings.js +29 -81
  375. package/dist/shared/skillRanking.js +103 -16
  376. package/dist/ui/assets/{index-Cwq4d0hX.js → index-C3djEJah.js} +2 -2
  377. package/dist/ui/index.html +1 -1
  378. package/docs/MIGRATION.md +72 -1
  379. package/docs/contracts/settings-classes.md +39 -67
  380. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
  381. package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
  382. package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
  383. package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
  384. package/docs/guidelines/agent-infra/layered-settings.md +13 -1
  385. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  386. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
  387. package/docs/guidelines/agent-infra/size-and-scope.md +36 -0
  388. package/docs/guidelines/php/git.md +15 -2
  389. package/package.json +1 -1
  390. package/src/agent-src/scripts/archive_completed_roadmaps.ts +115 -20
  391. package/src/agent-src/scripts/deferral_carry.ts +339 -0
  392. package/src/agent-src/scripts/gate_budget.ts +47 -23
  393. package/src/agent-src/scripts/gate_execute.ts +12 -4
  394. package/src/agent-src/scripts/update_roadmap_progress.ts +4 -1
  395. package/src/agent-src/templates/AGENTS.md +1 -1
  396. package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
  397. package/src/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
  398. package/src/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +48 -6
  399. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
  400. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
  401. package/src/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
  402. package/src/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
  403. package/src/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
  404. package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +774 -109
  405. package/src/config/agent-settings.template.yml +141 -334
  406. package/src/config/agents-paths.yml +16 -0
  407. package/src/config/assurance-capability-registry.json +7 -3
  408. package/src/config/ci-local-parity.yml +3 -0
  409. package/src/config/continuity-surface.json +10 -3
  410. package/src/config/discovery/packs.yml +17 -1
  411. package/src/config/evaluator-budgets.json +23 -10
  412. package/src/config/gate-coverage.yml +138 -3
  413. package/src/config/gate-violation-baselines.json +64 -16
  414. package/src/config/gitignore-block.txt +19 -0
  415. package/src/config/hook-bundle-budget.json +25 -0
  416. package/src/config/hook-token-budget.json +6 -1
  417. package/src/config/host-instruction-limits.json +33 -0
  418. package/src/config/release-gate-locality.yml +2 -1
  419. package/src/config/routing-coverage-seed.json +67 -4
  420. package/src/config/rule-activation-census.json +7 -3
  421. package/src/config/rule-consequence-class.json +161 -0
  422. package/src/config/rule-law-ceilings.json +105 -0
  423. package/src/config/rule-obligations.json +833 -0
  424. package/src/install/claudePathsPlan.ts +46 -4
  425. package/src/install/claudeRuleRewrite.ts +10 -1
  426. package/src/install/emit_host_rules_cli.ts +43 -34
  427. package/src/install/globalRuleScope.ts +109 -0
  428. package/src/install/host_rule_ownership.ts +170 -0
  429. package/src/install/installThinLayer.ts +378 -0
  430. package/src/install/installedRuleLinks.ts +308 -0
  431. package/src/install/wizard-plan.ts +24 -0
  432. package/src/scripts/_cli/cmd_analyze_session.ts +9 -15
  433. package/src/scripts/_cli/cmd_conformance.ts +13 -2
  434. package/src/scripts/_cli/cmd_doctor.ts +33 -81
  435. package/src/scripts/_cli/cmd_doctor_neighbours.ts +426 -0
  436. package/src/scripts/_cli/cmd_explain.ts +72 -14
  437. package/src/scripts/_cli/cmd_git_convention.ts +637 -0
  438. package/src/scripts/_cli/cmd_settings_check.ts +66 -8
  439. package/src/scripts/_cli/cmd_settings_get.ts +18 -3
  440. package/src/scripts/_cli/doctor_execution.ts +72 -1
  441. package/src/scripts/_dispatch.bash +53 -4
  442. package/src/scripts/_lib/agent_settings.ts +26 -124
  443. package/src/scripts/_lib/blocked_by_marker.ts +1 -1
  444. package/src/scripts/_lib/claude_settings_hooks.ts +10 -8
  445. package/src/scripts/_lib/compile_time_toggles.ts +12 -21
  446. package/src/scripts/_lib/dispatch_import_closure.ts +163 -0
  447. package/src/scripts/_lib/estate_offsets.ts +241 -0
  448. package/src/scripts/_lib/exemption_shape.ts +143 -0
  449. package/src/scripts/_lib/fnv.ts +23 -0
  450. package/src/scripts/_lib/foreign_scan.ts +106 -0
  451. package/src/scripts/_lib/git_base_ref.ts +92 -0
  452. package/src/scripts/_lib/git_convention.ts +291 -0
  453. package/src/scripts/_lib/git_convention_carrier.ts +389 -0
  454. package/src/scripts/_lib/git_convention_grammar.ts +246 -0
  455. package/src/scripts/_lib/git_convention_measure.ts +344 -0
  456. package/src/scripts/_lib/gitignore_block.ts +314 -0
  457. package/src/scripts/_lib/global_deploy_inventory.ts +106 -0
  458. package/src/scripts/_lib/graph_feeder_record.ts +437 -0
  459. package/src/scripts/_lib/hook_settings.ts +73 -0
  460. package/src/scripts/_lib/host_capability.ts +40 -19
  461. package/src/scripts/_lib/host_hook_merge.ts +165 -0
  462. package/src/scripts/_lib/installed_layer.ts +963 -0
  463. package/src/scripts/_lib/json_merge.ts +82 -0
  464. package/src/scripts/_lib/json_pointers.ts +93 -11
  465. package/src/scripts/_lib/knowledge_global.ts +14 -1
  466. package/src/scripts/_lib/lean_projection_mode.ts +275 -15
  467. package/src/scripts/_lib/machine_wake.ts +16 -3
  468. package/src/scripts/_lib/module_reach.ts +456 -0
  469. package/src/scripts/_lib/neighbour_census.ts +760 -0
  470. package/src/scripts/_lib/neighbour_contradictions.ts +236 -0
  471. package/src/scripts/_lib/neighbour_scan.ts +122 -0
  472. package/src/scripts/_lib/neighbour_tool_use.ts +187 -0
  473. package/src/scripts/_lib/prompt_shape.ts +46 -0
  474. package/src/scripts/_lib/ratification_artifact.ts +220 -1
  475. package/src/scripts/_lib/ratification_subject.ts +92 -0
  476. package/src/scripts/_lib/release_findings_ingest.ts +15 -7
  477. package/src/scripts/_lib/release_highlights.ts +5 -0
  478. package/src/scripts/_lib/release_migration_gate.ts +19 -3
  479. package/src/scripts/_lib/reserved_name_sweep.ts +73 -0
  480. package/src/scripts/_lib/review_coverage.ts +134 -0
  481. package/src/scripts/_lib/rule_consequence_class.ts +71 -0
  482. package/src/scripts/_lib/rule_injection.ts +130 -10
  483. package/src/scripts/_lib/rule_law_section.ts +147 -0
  484. package/src/scripts/_lib/rule_layer_overlap.ts +58 -0
  485. package/src/scripts/_lib/rule_obligations.ts +205 -0
  486. package/src/scripts/_lib/self_repair.ts +1 -1
  487. package/src/scripts/_lib/settings_removed_keys.ts +173 -0
  488. package/src/scripts/_lib/skill_origin.ts +254 -0
  489. package/src/scripts/_lib/structured_ask.ts +64 -21
  490. package/src/scripts/_lib/test_red_state.ts +5 -0
  491. package/src/scripts/_lib/thin_rules.ts +620 -0
  492. package/src/scripts/_lib/touched_file_quality.ts +570 -0
  493. package/src/scripts/_lib/turn_end_refusals.ts +77 -2
  494. package/src/scripts/_lib/windsurf_render.ts +63 -0
  495. package/src/scripts/_lib/worker_budget.ts +1 -1
  496. package/src/scripts/adr/regenerate_index.ts +16 -1
  497. package/src/scripts/ai_council/cli_call_budget.ts +13 -5
  498. package/src/scripts/ai_council/clients.ts +26 -57
  499. package/src/scripts/ai_council/config.ts +8 -8
  500. package/src/scripts/ai_council/modification_review.ts +100 -0
  501. package/src/scripts/ai_council/modification_review_questions.ts +90 -0
  502. package/src/scripts/ai_council/orchestrator.ts +5 -5
  503. package/src/scripts/ai_council/spend_gate.ts +18 -7
  504. package/src/scripts/ai_council/vendor_defaults.ts +45 -0
  505. package/src/scripts/ai_team/config.ts +11 -16
  506. package/src/scripts/audit_skill_overlap.ts +261 -0
  507. package/src/scripts/audit_user_type_axis.ts +20 -8
  508. package/src/scripts/before_complete_hook.ts +243 -12
  509. package/src/scripts/bench_ab_clone.ts +1 -2
  510. package/src/scripts/bench_concern_spawn_path.ts +129 -0
  511. package/src/scripts/bench_graph_feeder_latency.ts +584 -0
  512. package/src/scripts/bench_touched_file_quality.ts +238 -0
  513. package/src/scripts/check_agent_artifact_location.ts +36 -0
  514. package/src/scripts/check_branch_freshness.ts +147 -24
  515. package/src/scripts/check_enforcement_coverage.ts +130 -0
  516. package/src/scripts/check_enforcement_matrix.ts +377 -20
  517. package/src/scripts/check_estate_count.ts +130 -153
  518. package/src/scripts/check_evaluator_budgets.ts +4 -0
  519. package/src/scripts/check_finding_dispositions.ts +196 -21
  520. package/src/scripts/check_gate_coverage.ts +4 -3
  521. package/src/scripts/check_gate_reachability.ts +48 -1
  522. package/src/scripts/check_generator_sync.ts +48 -0
  523. package/src/scripts/check_hook_bundle_composition.ts +477 -0
  524. package/src/scripts/check_kernel_edit_ratified.ts +132 -14
  525. package/src/scripts/check_memory.ts +7 -1
  526. package/src/scripts/check_pack_size.ts +1 -1
  527. package/src/scripts/check_release_highlights.ts +10 -0
  528. package/src/scripts/check_release_manifest_content.ts +189 -0
  529. package/src/scripts/check_release_pr_shape.ts +38 -15
  530. package/src/scripts/check_standing_rule_delivery.ts +129 -13
  531. package/src/scripts/check_suppression_hygiene.ts +2 -5
  532. package/src/scripts/check_verify_expectation_delta.ts +521 -0
  533. package/src/scripts/ci_settle.ts +42 -5
  534. package/src/scripts/classify_merge_risk.ts +320 -0
  535. package/src/scripts/closure_scan.ts +91 -1
  536. package/src/scripts/code_graph/detect.ts +127 -7
  537. package/src/scripts/code_graph/foreign.ts +194 -0
  538. package/src/scripts/code_graph/query.ts +217 -4
  539. package/src/scripts/code_graph/types.ts +26 -2
  540. package/src/scripts/code_graph/validate.ts +3 -1
  541. package/src/scripts/code_graph/verbs.ts +103 -0
  542. package/src/scripts/command_suggester/settings.ts +8 -108
  543. package/src/scripts/command_suggester/types.ts +4 -5
  544. package/src/scripts/compile_hook_manifest.ts +33 -1
  545. package/src/scripts/condense.ts +14 -27
  546. package/src/scripts/consumer_matrix.ts +102 -0
  547. package/src/scripts/context_hygiene_hook.ts +13 -23
  548. package/src/scripts/cost/preflight.mjs +12 -1
  549. package/src/scripts/council_cli.ts +7 -7
  550. package/src/scripts/dispatch_r2_reviewer.ts +24 -11
  551. package/src/scripts/estate_exemption_shape.ts +202 -0
  552. package/src/scripts/explain_run.ts +8 -13
  553. package/src/scripts/generate_git_convention_grammar.ts +127 -0
  554. package/src/scripts/generate_host_cost_table.ts +21 -4
  555. package/src/scripts/handoff_context_hook.ts +86 -37
  556. package/src/scripts/hook_manifest.json +1 -1
  557. package/src/scripts/hook_manifest.yaml +175 -15
  558. package/src/scripts/hooks/block_config_weakening.ts +115 -7
  559. package/src/scripts/hooks/block_plumbing_writes.ts +37 -5
  560. package/src/scripts/hooks/code_graph_context_hook.ts +252 -23
  561. package/src/scripts/hooks/concern_failure_policy.ts +280 -0
  562. package/src/scripts/hooks/concern_registry.ts +2 -0
  563. package/src/scripts/hooks/delegation_nudge_hook.ts +2 -3
  564. package/src/scripts/hooks/dispatch_hook.ts +52 -52
  565. package/src/scripts/hooks/evidence_independence.ts +12 -4
  566. package/src/scripts/hooks/exit_codes.ts +2 -1
  567. package/src/scripts/hooks/host_lowering.json +1 -1
  568. package/src/scripts/hooks/host_lowering.ts +19 -1
  569. package/src/scripts/hooks/mcp_usage_observation_hook.ts +121 -0
  570. package/src/scripts/hooks/one_question_per_ask_hook.ts +41 -25
  571. package/src/scripts/hooks/payload_stub.ts +10 -1
  572. package/src/scripts/hooks/push_settle_hook.ts +4 -3
  573. package/src/scripts/hooks/rule_inject_hook.ts +795 -60
  574. package/src/scripts/hooks/state_io.ts +8 -4
  575. package/src/scripts/hooks/table_fingerprint.ts +21 -0
  576. package/src/scripts/hooks/telemetry_usage_hook.ts +24 -7
  577. package/src/scripts/hooks/turn_end_gate_hook.ts +85 -0
  578. package/src/scripts/hooks_status.ts +112 -0
  579. package/src/scripts/injection_scan_hook.ts +7 -0
  580. package/src/scripts/install-hooks.sh +42 -14
  581. package/src/scripts/install.ts +78 -215
  582. package/src/scripts/installed_layer_report.ts +103 -0
  583. package/src/scripts/language_mirror_hook.ts +15 -6
  584. package/src/scripts/learning_sidecar.ts +119 -8
  585. package/src/scripts/lint_blocker_citations.ts +198 -0
  586. package/src/scripts/lint_evidence_artifacts.ts +9 -0
  587. package/src/scripts/lint_hook_concern_budget.ts +10 -21
  588. package/src/scripts/lint_hook_manifest.ts +53 -0
  589. package/src/scripts/lint_major_migration_sections.ts +156 -26
  590. package/src/scripts/lint_pack_boundaries.ts +465 -29
  591. package/src/scripts/lint_roadmap_blockers.ts +282 -29
  592. package/src/scripts/lint_roadmap_complexity.ts +4 -2
  593. package/src/scripts/lint_rule_law_section.ts +647 -0
  594. package/src/scripts/lint_rule_skill_pack_reach.ts +17 -0
  595. package/src/scripts/lint_settings_classes.ts +1 -1
  596. package/src/scripts/lint_ticked_unmet_criteria.ts +165 -0
  597. package/src/scripts/lint_workflow_security.ts +173 -6
  598. package/src/scripts/mcp_server/consumer_tool_catalog.json +53 -0
  599. package/src/scripts/mcp_server/graph_tools.ts +72 -3
  600. package/src/scripts/measure_routing_signal.ts +54 -16
  601. package/src/scripts/measure_skill_ranker_baseline.ts +221 -8
  602. package/src/scripts/memory_learn_hook.ts +91 -6
  603. package/src/scripts/model_rule_injection.ts +55 -8
  604. package/src/scripts/onboarding_gate_hook.ts +7 -6
  605. package/src/scripts/print_required_checks.ts +15 -3
  606. package/src/scripts/probe_host_compliance.ts +33 -5
  607. package/src/scripts/probe_turnaround.ts +183 -3
  608. package/src/scripts/project_thin_rules.ts +34 -327
  609. package/src/scripts/ratification_header.ts +77 -0
  610. package/src/scripts/refusal_envelope.ts +138 -0
  611. package/src/scripts/release_publication.ts +29 -3
  612. package/src/scripts/report_dispatch_import_closure.ts +76 -0
  613. package/src/scripts/report_evidence_temperature.ts +657 -0
  614. package/src/scripts/report_installed_rule_links.ts +274 -0
  615. package/src/scripts/report_label_agreement.ts +233 -0
  616. package/src/scripts/report_module_reach.ts +212 -0
  617. package/src/scripts/report_obligation_mechanism.ts +228 -0
  618. package/src/scripts/report_parked_blockers.ts +222 -0
  619. package/src/scripts/report_required_checks_drift.ts +196 -0
  620. package/src/scripts/report_single_token_triggers.ts +277 -0
  621. package/src/scripts/report_skill_ranker_confusion.ts +543 -0
  622. package/src/scripts/report_standing_payload_by_host.ts +188 -15
  623. package/src/scripts/report_verification_record_coverage.ts +306 -0
  624. package/src/scripts/routing_doctor.ts +2 -2
  625. package/src/scripts/rule_activation_census.ts +5 -2
  626. package/src/scripts/rule_trigger_eval.ts +9 -9
  627. package/src/scripts/schemas/agent-settings.schema.json +17 -31
  628. package/src/scripts/schemas/command.schema.json +1 -1
  629. package/src/scripts/schemas/review-findings.schema.json +3 -2
  630. package/src/scripts/schemas/rule.schema.json +5 -0
  631. package/src/scripts/schemas/skill.schema.json +1 -1
  632. package/src/scripts/self_review_gate.ts +101 -9
  633. package/src/scripts/skill_tools/score_skill_relevance.ts +314 -40
  634. package/src/scripts/sweep_skill_ranker_signals.ts +129 -0
  635. package/src/scripts/sync_gitignore.ts +29 -235
  636. package/src/scripts/sync_pr_branch.ts +403 -132
  637. package/src/scripts/trigger_eval_grandfather.json +0 -21
  638. package/src/server/schemas/settings.ts +42 -176
  639. package/src/shared/skillRanking.ts +169 -14
  640. package/dist/cli-delegate/chunk-5R7HOLAF.js +0 -99
  641. package/dist/cli-delegate/chunk-JNMVLWLR.js +0 -4457
  642. package/dist/cli-delegate/chunk-YDPILCOL.js +0 -152
  643. package/src/scripts/_lib/config_chain.ts +0 -477
  644. package/src/scripts/_lib/conformance_report.ts +0 -403
  645. package/src/scripts/_lib/eval_discrimination.ts +0 -95
  646. package/src/scripts/_lib/evaluator_promotion.ts +0 -225
  647. package/src/scripts/_lib/file_slicer.ts +0 -117
  648. package/src/scripts/_lib/legacy_boundary_map.ts +0 -228
  649. package/src/scripts/_lib/minimality_tiebreak.ts +0 -168
  650. package/src/scripts/_lib/overbuild_lens_contract.ts +0 -196
  651. package/src/scripts/_lib/role_split.ts +0 -338
@@ -13,7 +13,16 @@ tools and run the right one — instead of a per-stack command explosion.
13
13
  > pytest / go / cargo, not N per-stack variants. "Only genuine PHP-space
14
14
  > commands stay PHP-locked."
15
15
 
16
- **Size budget:** ≤ 6,000 chars.
16
+ **Size budget: none of its own.** The enforced ceiling is
17
+ `check_depth_budget`'s 16,000 chars (`DEPTH_CEILING_CHARS`), and that is the
18
+ only one. Do not add a page-local ceiling: one fitted to the file's current
19
+ size breaks on the next edit and constrains nothing.
20
+
21
+ What actually bounds this page is **what belongs in it**: the resolver's
22
+ contract — the axes, the detection order, the confidence tiers, the refusal
23
+ doctrine, the cache key. Narration, worked examples and per-round history
24
+ belong in the roadmap and the review artifacts, not here. That rule is
25
+ checkable by a reader; a character count was only ever checkable by `wc`.
17
26
 
18
27
  ## 1. The resolver
19
28
 
@@ -29,9 +38,25 @@ for (const r of result.selected) {
29
38
  }
30
39
  ```
31
40
 
32
- Resolution is filesystem-cheap (a handful of small manifest reads) and
33
- **never raises** — a malformed manifest or unknown stack degrades to a
34
- `LOW`-confidence empty result so the command can ask, never crash. This
41
+ Resolution costs **per scope**, not per repository: a fixed name list stat-ed,
42
+ six-or-so manifests read, and the .NET probe's directory listings — three at
43
+ the root with no .NET target present, where the native axis lists once and the
44
+ behavior axis twice. They run in every repository, .NET or not; WITH a root
45
+ target the descent runs too and the count rises with the project tree. A wide workspace pays that times
46
+ its package count, so the cost is proportional and not negligible.
47
+
48
+ The **cache probe is the expensive path**, with the magnitude stated, not
49
+ implied as a SHAPE, because the arithmetic has already been published wrong
50
+ once: `latest_manifest_mtime` stats both fixed-name lists in every scope,
51
+ bounded at 200 scopes (`_MAX_BEHAVIOR_SCOPES`), each hit paying a second stat — and without
52
+ an explicit `scopes` it also expands the globs. The guard can cost more than
53
+ the resolution it guards, so a caller holding the scope list passes it. The
54
+ widening is still right: a root-only key cannot see a behavior runner
55
+ arriving in a package, and a key invalidating too often is recoverable where
56
+ one that never invalidates is not.
57
+
58
+ Resolution **never raises** — a malformed manifest or unknown stack degrades
59
+ to a `LOW`-confidence empty result so the command can ask, never crash. This
35
60
  mirrors the recoverable-error contract of the frontend `detect_stack`.
36
61
 
37
62
  ## 2. Detection order — per ecosystem, first match wins
@@ -47,6 +72,30 @@ mirrors the recoverable-error contract of the frontend `detect_stack`.
47
72
  | Python | `pytest` in pyproject / `pytest.ini` | pytest | `pytest` |
48
73
  | Go | `go.mod` present | go-test | `go test ./...` |
49
74
  | Rust | `Cargo.toml` present | cargo-test | `cargo test` |
75
+ | Ruby | `rspec` gem in `Gemfile`/`gems.rb`, `.rspec`, `spec/spec_helper.rb` | rspec | `bundle exec rspec`, or bare `rspec` with no Gemfile |
76
+ | JVM | `build.gradle[.kts]` / `settings.gradle[.kts]` by PRESENCE; `pom.xml` by CONTENT | junit | `./mvnw`/`./gradlew test`, else `mvn`/`gradle test` |
77
+ | .NET | `*.sln[x]` or `*.csproj`/`*.fsproj`/`*.vbproj` **in the scope root** | dotnet-test | `dotnet test` |
78
+
79
+ Each Ruby signal stands alone, and Ruby has **no MEDIUM default** (minitest is
80
+ in the stdlib): no signal, no row. JVM defaults to `junit` at MEDIUM when the
81
+ build file names no runner. A wrapper wins where one exists, since it pins the
82
+ build-tool version.
83
+
84
+ **.NET needs a target in the scope ROOT, because `dotnet test` is not
85
+ recursive.** With no project or solution in the working directory it fails
86
+ MSB1003, whatever sits below — so the row is gated on the root listing, and
87
+ `global.json` / `Directory.Build.props` never produce one on their own. They
88
+ are SDK pins, not targets, and confidence does not gate `selected`
89
+ (`_apply_guard` has never read it), so a row emitted on one would be a
90
+ command the repository cannot run.
91
+
92
+ Given a root target: HIGH when a PROJECT file names a test stack
93
+ (`Microsoft.NET.Test.Sdk`, xunit, nunit, mstest), MEDIUM otherwise. A root
94
+ `.sln` IS a valid target even though its own body names no package, so the
95
+ projects it references are read to decide the tier — which is the one case
96
+ the scan descends for. A `src/<Name>/<Name>.csproj` layout with NO root
97
+ solution therefore emits nothing: correct, because `dotnet test` from that
98
+ root does not run either.
50
99
 
51
100
  **Task-runner wrappers win.** When the project root has a `Makefile`
52
101
  `test:` target, a `Taskfile.yml` `test:` task, or a `package.json`
@@ -57,6 +106,33 @@ container access, env, and parallelism (the architecture rule's
57
106
  The package manager is read from the lockfile (`pnpm-lock.yaml` → pnpm,
58
107
  `yarn.lock` → yarn, else npm).
59
108
 
109
+ ## 2b. Behavior-runner axis — per scope, detection only
110
+
111
+ `result.behavior_runners` is a **separate list** from `runners`: it reports
112
+ which behavior runner each scope already owns, across the same ecosystems.
113
+
114
+ - **`command` is relative to `scope_root`, not to the project root.** It is
115
+ built from files inside the scope (`vendor/bin/behat`, `./gradlew test`), so
116
+ a consumer runs it WITH `scope_root` as the working directory. Every NATIVE
117
+ `runners` command is root-relative; this axis is the exception.
118
+ - **Per scope, never repository-wide.** Each row carries `scope_root` (the
119
+ root plus every declared workspace package). A monorepo
120
+ returns a row per owning package and none for the others; one answer would
121
+ erase which package owns it.
122
+ - **Two of the SAME ecosystem in one scope is a refusal, not a pick** —
123
+ `runner: "unknown"` plus `conflict: [both names]`, the same refusal the
124
+ frontend detector makes between two mutually exclusive workspaces. Two
125
+ DIFFERENT ecosystems are a polyglot repository, not a conflict: a PHP app
126
+ with a JS frontend returns two rows.
127
+ - **Detection, never adoption.** No row recommends installing anything and the
128
+ axis is unreachable from `selected`, so nothing runs *because* this axis
129
+ reported it. That is reachability, not execution: for four of the eight
130
+ labels the behavior command equals a native command already in `selected`
131
+ (`pytest-bdd`/`pytest`, `cucumber-jvm`/`jvm.command`, `reqnroll` and
132
+ `specflow`/`dotnet test`), and those rows are `SPEED_FAST`, so the suite
133
+ runs anyway as part of the native run. The axis adds nothing to what
134
+ executes and removes nothing from it.
135
+
60
136
  ## 3. Confidence tiers — declarative, shared with the non-interactive contract
61
137
 
62
138
  Each runner carries a `confidence` (`HIGH` / `MEDIUM` / `LOW`) and a
@@ -71,6 +147,17 @@ tables:
71
147
  asking (interactive) or `ambiguous_routing` (CI, per the
72
148
  non-interactive contract).
73
149
 
150
+ **`confidence` is about the RUNNER, never about `quality`.** The three
151
+ ecosystems this change added — ruby, jvm, dotnet — contribute a runner and NO
152
+ quality commands, because picking `rubocop`, a Spotless task or
153
+ `dotnet format` is an adoption decision this resolver has no standing to make.
154
+ The consequence is worth stating because it is silent: a Ruby-, JVM- or
155
+ .NET-only repository used to resolve `LOW` with an empty `quality`, which is
156
+ the tier that makes a command ASK; it now resolves `HIGH` with an empty
157
+ `quality`, which a quality pass can read as nothing to do. An empty `quality`
158
+ means **no quality tool was resolved**, never **no quality step is needed** —
159
+ a command that finds one should ask rather than report success.
160
+
74
161
  ## 4. Monorepo guard — fast by default, opt-in for the rest
75
162
 
76
163
  `resolve_toolchain` returns the full `runners` inventory **and** a
@@ -91,9 +178,10 @@ e2e and slow stay out until their flag is passed.
91
178
 
92
179
  `write_config(root, result)` persists the resolved per-stack commands to
93
180
  `agents/runtime/state/toolchain.json` (best-effort; never raises). The
94
- config is keyed on the manifest `mtime`, so it is re-read cheaply and
95
- re-resolved only when a manifest changes — the same cache-invalidation
96
- hook the frontend detector uses.
181
+ config is keyed on the latest `mtime` across every scope's manifests and
182
+ markers — not the root's alone, or a behavior runner arriving in a workspace
183
+ package would never invalidate it. Same hook the frontend detector uses,
184
+ widened to the scopes the behavior axis reads.
97
185
 
98
186
  ## 6. What stays stack-locked
99
187
 
@@ -10,7 +10,7 @@ Loaded by the `subagent-orchestration` skill and the `/do-and-judge`,
10
10
  |---|---|---|
11
11
  | `subagents.implementer_model` | _(empty → session model)_ | Model alias used for implementer subagents |
12
12
  | `subagents.judge_model` | _(empty → one tier up)_ | Model alias used for judge subagents |
13
- | `subagents.max_parallel` | `3` | Hard cap on concurrent subagent invocations |
13
+ | `subagents.max_parallel` | `3` | Limit on concurrent subagent invocations the model reads from settings — no code counts spawns against it |
14
14
 
15
15
  ## Model tier ladder
16
16
 
@@ -150,6 +150,45 @@ artifact exists because the issue is still owed, and "it failed one of six" is n
150
150
  something a later triage can act on. A deferral with no reason is the
151
151
  note-and-forget this rule already forbids, wearing an artifact's clothes.
152
152
 
153
+ ## fix-what-you-see — why a separate rule, and its activation gap
154
+
155
+ Moved verbatim from [`fix-what-you-see`](../../rules/fix-what-you-see.md)
156
+ on 2026-10-06 to pay for the standing-payload cost of `neighbour-precedence`;
157
+ the rule keeps a pointer here.
158
+
159
+ ### Why separate from `active-remediation`
160
+
161
+ That rule forbids ignoring a spotted issue and its ladder permits **note + ask**.
162
+ Two properties made it insufficient, both measured 2026-08-20: it is `type: auto`
163
+ on `refactor`/`legacy`/`cleanup` triggers — **none of which a failing CI job
164
+ matches**, so it does not load when the obligation matters most — and its
165
+ note-and-ask tier is what let a session name a red check's cause, name the
166
+ file's author, and hand it back still red.
167
+
168
+ Mechanics (fix-now size criteria, follow-up shape) stay there; this rule only
169
+ deletes the two escapes.
170
+
171
+ ### Honest activation gap — this rule is `auto`, and it wanted to be `always`
172
+
173
+ It shipped `auto` for a budget reason, not a design one, and the gap that leaves
174
+ is exactly the one it was written to close: **a red check the agent sees in tool
175
+ output triggers nothing.** Keyword triggers match the PROMPT. So the rule loads
176
+ when a human says "CI is red" or "not my test", and does NOT load when a test
177
+ run comes back red and nobody has said a word.
178
+
179
+ `check_always_budget` is the reason: the extended always-budget sat at
180
+ 60,252 / 60,254 chars — **two characters of headroom** — and the cap is a
181
+ ratchet that may only move down. The other nine always-rules are the kernel,
182
+ which `block_kernel_rule_writes` denies agent writes to, so no room can be made
183
+ from this side. A 2,332-char rule puts the total at 103.9 %.
184
+
185
+ Closing the gap needs one of: the ext-cap ratchet opened deliberately (a
186
+ maintainer decision, recorded), a kernel rule shortened to make room, or a
187
+ `post_tool_use` carrier that notices a non-zero verification exit — the only
188
+ option that would fire on tool output rather than on wording. Until then, `auto`
189
+ plus this paragraph is the honest state: the obligation is real, its delivery is
190
+ partial, and the partiality is named rather than implied away.
191
+
153
192
  ## See also
154
193
 
155
194
  - [`active-remediation`](../../rules/active-remediation.md) — the rule this file details (Iron Law + ladder + live-security carve-out).
@@ -69,7 +69,7 @@ If you need an ignored skill: read its SKILL.md directly, apply guidance, then a
69
69
  GitHub Copilot has no `PostToolUse` hook surface, so
70
70
  `scripts/context_hygiene_hook.ts` cannot run structurally and
71
71
  `agents/state/context-hygiene.json` is not maintained automatically
72
- (tool-call count, loop signal, freshness milestones at 20/40/60).
72
+ (tool-call count, freshness milestones at 20/40/60).
73
73
 
74
74
  The cooperative path: track turns and tool-loop signals from memory
75
75
  during the conversation and apply the suggest-a-new-chat / 3-failure
@@ -37,19 +37,17 @@ from a ticket/spec that carries a second source:
37
37
  4. **Classify confidence.** High = the sources plainly disagree, or the missing
38
38
  behavior is clearly load-bearing. Low = the "conflict" is a plausible
39
39
  re-reading, or the missing behavior may be intentionally out of scope.
40
- 5. **Decide per the setting** (below), then **batch** every surviving discrepancy
41
- into ONE question folded into this turn's single `ask-when-uncertain` prompt.
40
+ 5. **Batch** every surviving discrepancy into ONE question folded into this
41
+ turn's single `ask-when-uncertain` prompt.
42
42
 
43
- ## Confidence-tiered noise control (`consistency.cross_source`)
43
+ ## Noise control
44
44
 
45
45
  The rule fires only under a real trade-off (it must pass the
46
- `no-cheap-questions` Pre-Send Self-Check). The setting tunes how aggressively:
47
-
48
- | Value | High-confidence discrepancy | Low-confidence discrepancy |
49
- |---|---|---|
50
- | `on` (default) | Surface + ask before proceeding. | Surface + ask (batched into the same question). |
51
- | `auto` | Surface + ask. | State as an explicit assumption and proceed (no question). |
52
- | `off` | No cross-source checking — legacy behavior. | No cross-source checking. |
46
+ `no-cheap-questions` Pre-Send Self-Check). Every real discrepancy, high- or
47
+ low-confidence, is surfaced and asked — batched into the same question. That
48
+ is the fixed behavior since the `consistency.cross_source` key (which offered
49
+ `auto` and `off`) was retired on 2026-10-09 with this, its default, as the only
50
+ mode.
53
51
 
54
52
  Batching is the anti-noise mechanism: N discrepancies for one artefact become
55
53
  one numbered-options block, never N prompts. Plain vagueness (a single unclear
@@ -141,8 +141,9 @@ is therefore **agent self-assessed**, never looked up (roadmap L10/L17):
141
141
  **One** constraint-light scaffold ships — no heavy/light content variants, since
142
142
  two variants would be a hidden model→band table. A standard host **expands it on
143
143
  request**. Two gates, both default-on: automatic (task signal + agent
144
- self-assessment) + the user `reasoning:` settings toggle (global + per-component
145
- + hard off).
144
+ self-assessment) + the user's `reasoning.enabled` hard off. The per-component
145
+ toggles and `reasoning.auto_gate` were retired on 2026-10-09; the automatic gate
146
+ decides per component.
146
147
 
147
148
  ## Notes template grounding
148
149
 
@@ -18,7 +18,7 @@ on user request.
18
18
  | File | Git | Scope | Owner | Example values |
19
19
  |---|---|---|---|---|
20
20
  | `.agent-project-settings.yml` | **committed** | team / repo | lead maintainer | `project.stack`, `quality.php.tools`, `memory.dogfood` |
21
- | `~/.event4u/agent-config/agent-settings.yml` | **n/a** (outside repo) | individual developer · cross-project | individual | `name`, `ide`, `rule_loading_tier`, `personal.bot_icon`, `personal.autonomy`, `memory.cadence` (legacy `~/.config/agent-config/agent-settings.yml` read as fallback) |
21
+ | `~/.event4u/agent-config/agent-settings.yml` | **n/a** (outside repo) | individual developer · cross-project | individual | `name`, `ide`, `rule_loading_tier`, `personal.autonomy` — the full whitelist is `MERGEABLE_KEYS` in `scripts/_lib/agent_settings.ts` (legacy `~/.config/agent-config/agent-settings.yml` read as fallback) |
22
22
  | `agents/settings/.agent-settings.yml` | **gitignored** | individual developer · this project | individual | `personal.ide`, `personal.user_name`, `subagents.max_parallel`, `onboarding.onboarded` | <!-- ref-ignore -->
23
23
 
24
24
  > **Canonical location (ADR-038):** the developer file lives in the settings
@@ -27,6 +27,12 @@ on user request.
27
27
  > `.agent-settings.yml` is read as a **back-compat fallback** and is migrated
28
28
  > into the canonical location by `install` on the next run.
29
29
 
30
+ The `git.*` keys (`commit_format`, `branch_pattern`, `update_strategy`) have a
31
+ fourth home a team uses instead: `.git-convention.yml` at the repository root,
32
+ committed, read over every file above (ADR-283). `update_strategy` is read from
33
+ it at the commit a pull request is judged against, the other two at `HEAD`.
34
+ The team file carries no `git.*` key.
35
+
30
36
  All three are YAML. Schemas:
31
37
 
32
38
  - Developer (project-local): [`agent-settings.md`](../../templates/agent-settings.md).
@@ -45,6 +51,12 @@ Lowest priority → highest priority:
45
51
  4. agents/settings/.agent-settings.yml (developer file, gitignored; legacy repo-root .agent-settings.yml read as fallback — ADR-038) <!-- ref-ignore -->
46
52
  ```
47
53
 
54
+ For the `git.*` keys, `.git-convention.yml` sits above all four layers when it
55
+ sets a key, and either value there is a declaration; a key it does not set
56
+ falls through to this order, read at the repository root rather than per
57
+ directory. `agent-config git:convention show` prints the value in force and a
58
+ differing checkout value as a candidate.
59
+
48
60
  Keys from higher layers win unless a lower layer marks them
49
61
  `locked` (team file only). The user-global file does **not** support
50
62
  `locked` — its purpose is cross-project comfort, never policy.
@@ -224,7 +224,7 @@ Keep aligned with the dashboard counter in `scripts/update_roadmap_progress.ts`
224
224
 
225
225
  See [`guarded-baseline`](guarded-baseline.md).
226
226
 
227
- **Dashboard regen cadence — opt-in batching.** The checkbox flip is non-batchable. The **subprocess regen** (`./agent-config roadmap:progress`) is batchable per `roadmap.dashboard_regen_cadence` in `.agent-settings.yml` (`every_5_steps` default · `per_step` · `phase_boundary`). Run end, phase boundary, and any file-shape touch (rename / phase add / archive — Iron Law 1) always force an immediate regen regardless of cadence.
227
+ **Dashboard regen cadence — fixed batching.** The checkbox flip is non-batchable. The **subprocess regen** (`./agent-config roadmap:progress`) batches to every 5th closed step — a fixed cadence since the `roadmap.dashboard_regen_cadence` key was retired on 2026-10-09 with that default as the behavior. Run end, phase boundary, and any file-shape touch (rename / phase add / archive — Iron Law 1) always force an immediate regen.
228
228
 
229
229
  **Blockers follow the same cadence as checkboxes.** Clearing a `## Blockers` entry (per `templates/roadmaps.md` rule 20) flips its `Status: resolved` and regenerates the dashboard in the same reply — Iron Law 1's "same response" obligation applies to blocker resolution exactly as it applies to a checkbox flip.
230
230
 
@@ -1,8 +1,11 @@
1
1
  # Self-Improvement Pipeline
2
2
 
3
3
  Five-stage flow that turns real project experience into reviewed
4
- rule / skill / command / guideline changes. No autonomous self-edits;
5
- every upstream change ships via a human-reviewed PR.
4
+ rule / skill / command / guideline changes. Self-modification is a goal
5
+ (ADR-281): for a proposal scoped to the package the approval is the AI
6
+ council's ratification record, and the user is its last rung; a change a
7
+ user asked for keeps that user's approval as now. A passing record makes a
8
+ change ready, not landed — every upstream change still ships via a PR.
6
9
 
7
10
  Referenced by `road-to-curated-self-improvement.md`. Consumed by the live
8
11
  artifacts — the `skill-improvement-trigger` rule and the existing skills
@@ -84,7 +87,11 @@ blocks — it does not hand a half-filled doc to the next stage.
84
87
 
85
88
  ### Stage 5 — Upstream
86
89
 
87
- - **Trigger:** gate passed AND a human approver signed off.
90
+ - **Trigger:** gate passed AND, for a proposal scoped to the package, a
91
+ council ratification record whose `subject` matches the proposal's change
92
+ passed it (ADR-281); where the council cannot conclude, the user decides by
93
+ the route ADR-281 § 5 names. A proposal scoped to a consumer's own project
94
+ needs that user's approval, as before.
88
95
  - **Executor:** `upstream-contribute` skill. Refuses invocation if
89
96
  the proposal frontmatter is not `stage: gated`.
90
97
  - **Input:** gated proposal doc.
@@ -221,6 +221,42 @@ Before creating or modifying:
221
221
  5. Is this entrypoint → AGENTS.md
222
222
  6. Is this behavior hint → copilot-instructions.md
223
223
 
224
+ ## Rich-class size band — moved from `token-budget-discipline`
225
+
226
+ Moved verbatim from the rule on 2026-10-06 to pay for the standing-payload cost
227
+ of `neighbour-precedence`; the rule keeps the band and a pointer here.
228
+
229
+ ### Candidate rich skills (justified, not exhaustive)
230
+
231
+ These skills are approved `rich` by this roadmap's council:
232
+
233
+ | Skill | Justification summary |
234
+ |---|---|
235
+ | `design-intelligence` | 11 corpus CSVs + 16 design-language prose specs + a 10-category checklist; grounded selection needs the full reference to avoid random corpus subsets |
236
+ | `typography-system` | Modular-scale math + 6 worked example type systems; condensing to "use 1.25 ratio" produces agents that invent arbitrary px values |
237
+ | `accessibility-auditor` | WCAG criteria are non-negotiable detail; every criterion has a testable condition + failure mode; compression loses the test procedures |
238
+ | `design-system-capture` (Phase 6) | Writes + maintains DESIGN.md + PRODUCT.md; needs full templates + worked examples to generate useful artifacts |
239
+
240
+ ### The size band is measured, and only its ceiling is gated
241
+
242
+ The `rich` band is **2,000–3,500 tokens** (ADR-217, `docs/decisions/ADR-217-rich-class-band-measured-and-enforced.md`).
243
+ It was 2,000–5,000 and enforced by nothing until that record: measured with the
244
+ exact BPE tokenizer, the largest rich artifact in the tree is 3,331 tokens, so
245
+ the old ceiling described no artifact that existed. An unused permission costs
246
+ nothing until someone uses it.
247
+
248
+ `lint_token_budget_discipline.ts` gates the **ceiling** and publishes every rich
249
+ artifact's size on the green path. It does **not** gate the floor, and that is a
250
+ finding rather than an omission: running the check once surfaced a 1,931-token
251
+ skill legitimately holding the class, because `rich` buys exemption from
252
+ condensation — a claim about what compression would *lose*, not about file size.
253
+ The published study supplies a degradation threshold, which is a ceiling.
254
+ Nothing measures a minimum.
255
+
256
+ Measurement is exact where `js-tiktoken` resolves and the character proxy where
257
+ it does not; the gate says which, and a proxy reading within its own error
258
+ margin of the ceiling is reported **unresolved** rather than classified.
259
+
224
260
  ---
225
261
 
226
262
  # Final principle
@@ -34,6 +34,11 @@ hotfix/DEV-999/critical-payment-bug
34
34
  - Always include the Jira ticket ID when one exists
35
35
  - Use kebab-case for the description part
36
36
  - Keep branch names short but descriptive
37
+ - The shape above is this guideline's convention; the agent renders branches from `git.branch_pattern` per [`commit-subject`](../../skills/git-workflow/references/commit-subject.md).
38
+ - A team declares `git.branch_pattern`, `git.commit_format` and
39
+ `git.update_strategy` in `.git-convention.yml` at the repository root, committed
40
+ so every checkout, worktree and CI run reads the same value; there either value
41
+ is a declaration. `agent-config git:convention show` prints what is in force.
37
42
 
38
43
  ## Commit Messages
39
44
 
@@ -68,9 +73,14 @@ that is not better classified as `build`, `ci`, or `docs`.
68
73
 
69
74
  Use a scope when it adds clarity. Good scopes:
70
75
 
71
- - Jira ticket ID: `DEV-1234`
76
+ - Jira ticket ID: placed per [`commit-subject`](../../skills/git-workflow/references/commit-subject.md) § Placing the ticket
72
77
  - Module/area: `api`, `auth`, `skills`, `rules`, `ci`, `frontend`, `linter`
73
78
 
79
+ Under `git.commit_format: ticket-conventional` the ticket leads the subject and is
80
+ **never** in the scope (`DEV-1234 feat(exporter-models): …`); tooling that parses
81
+ subjects (commitlint, release automation, changelog generators) must be
82
+ configured for that prefixed form.
83
+
74
84
  Do not add a scope if it adds no value. `fix(core): fix typo` → just `fix: fix typo`.
75
85
 
76
86
  ### Description rules
@@ -157,7 +167,10 @@ Before writing the commit message:
157
167
 
158
168
  ## Pull Requests
159
169
 
160
- - PR title follows commit message format: `feat(DEV-1234): short description`
170
+ - PR title per [`commit-subject`](../../skills/git-workflow/references/commit-subject.md) § A title that becomes a commit
171
+ - Bring the branch up to date per `git.update_strategy` — merge the base in
172
+ (default) or rebase onto `origin/main` and push with `--force-with-lease`;
173
+ see `git-workflow` › `references/branch-update.md`
161
174
  - Fill in the PR template (checklist, description, testing notes)
162
175
  - Link the Jira ticket in the PR description
163
176
  - Ensure all quality gates pass before requesting review
@@ -20,7 +20,6 @@ enforced_by:
20
20
  - "instruction-only: the note, the ask and the user decision are all prose, so no gate can tell a discharged issue from a mentioned one"
21
21
  collision_ok:
22
22
  "refactor": "an explicit clean-up/refactor ask is the remediation ladder's own trigger"
23
- # obligation: line 31
24
23
  obligation_frequency: "per-edit"
25
24
  ---
26
25
 
@@ -103,7 +102,7 @@ The note, the ask and the user's decision are all prose, and the issue set is
103
102
  whatever the agent happened to see, so no gate can tell a discharged issue from a
104
103
  mentioned one. This rule ships `instruction-only` — the honesty boundary
105
104
  [`security-sensitive-stop`](security-sensitive-stop.md) and
106
- [`ui-audit-gate`](ui-audit-gate.md) state for their own obligations. The ladder
105
+ `ui-audit-gate` state for their own obligations. The ladder
107
106
  is the control; skipping it is caught by nothing.
108
107
 
109
108
  Body migrated to [`guideline:agent-infra/active-remediation-mechanics`](../guidelines/agent-infra/active-remediation-mechanics.md) (per P4 of `road-to-kernel-and-router.md`) — per-tier fix-now/note+ask/follow-up-PR criteria, version-gated modernization, anti-nagging guardrails.
@@ -10,7 +10,6 @@ routes_to:
10
10
  - "skill:analysis-skill-router"
11
11
  workspaces: [agent-config-maintainer, engineering]
12
12
  packs: [meta]
13
- # obligation: line 19
14
13
  obligation_frequency: "none"
15
14
  ---
16
15
 
@@ -13,7 +13,6 @@ workspaces: [agent-config-maintainer, engineering]
13
13
  packs: [meta]
14
14
  collision_ok:
15
15
  "controller": "thin-handler floor on controller work"
16
- # obligation: line 26
17
16
  obligation_frequency: "per-edit"
18
17
  ---
19
18
 
@@ -14,7 +14,6 @@ routes_to:
14
14
  - "guideline:agent-infra/artifact-drafting-protocol-mechanics"
15
15
  workspaces: [agent-config-maintainer, engineering]
16
16
  packs: [meta]
17
- # obligation: line 41
18
17
  obligation_frequency: "per-task"
19
18
  ---
20
19
 
@@ -13,7 +13,6 @@ load_context:
13
13
  - "../contexts/contracts/artifact-engagement-flow.md"
14
14
  workspaces: [agent-config-maintainer, engineering]
15
15
  packs: [meta]
16
- # obligation: line 22
17
16
  obligation_frequency: "per-task"
18
17
  ---
19
18
 
@@ -19,7 +19,6 @@ workspaces: [agent-config-maintainer]
19
19
  packs: [meta]
20
20
  collision_ok:
21
21
  ".augment/": "portability + sync floors for the .augment tree"
22
- # obligation: line 28
23
22
  obligation_frequency: "per-edit"
24
23
  ---
25
24
 
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "3"
4
+ consequence_class: "authority-bypass"
4
5
  description: "Ask-or-act on a workflow step — trivial-vs-blocking, autonomy opt-in, commit default; Hard Floor stays"
5
6
  alwaysApply: false
6
7
  load_context:
@@ -13,7 +14,6 @@ triggers:
13
14
  self_contained: true
14
15
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
15
16
  packs: [meta]
16
- # obligation: line 4
17
17
  obligation_frequency: "per-turn"
18
18
  ---
19
19
 
@@ -10,7 +10,6 @@ applies_to_user_types:
10
10
  self_contained: true
11
11
  workspaces: [engineering]
12
12
  packs: [brand]
13
- # obligation: line 20
14
13
  obligation_frequency: "none"
15
14
  ---
16
15
 
@@ -20,7 +20,6 @@ applies_to_user_types:
20
20
  self_contained: true
21
21
  workspaces: [engineering]
22
22
  packs: [brand]
23
- # obligation: line 51
24
23
  obligation_frequency: "per-edit"
25
24
  ---
26
25
 
@@ -2,6 +2,7 @@
2
2
  type: "auto"
3
3
  tier: "2a"
4
4
  alwaysApply: false
5
+ consequence_class: "security-boundary"
5
6
  description: "Endpoint/query on user/tenant data — authenticated ≠ authorized: server-derived ownership/tenant/role + negative tests (401/non-owner/cross-tenant)"
6
7
  triggers:
7
8
  - keyword: "endpoint"
@@ -23,7 +24,6 @@ collision_ok:
23
24
  "controller": "controllers return user data — the ownership/tenant check floor"
24
25
  "endpoint": "every data-returning endpoint needs the three negative tests"
25
26
  "tenant": "cross-tenant isolation is this rule's core subject"
26
- # obligation: line 55
27
27
  obligation_frequency: "per-edit"
28
28
  evidence:
29
29
  source_type: external-standard
@@ -35,7 +35,6 @@ collision_ok:
35
35
  "composer": "composer output is verbose — rtk wrap applies"
36
36
  "docker": "docker output is verbose — rtk wrap applies"
37
37
  "rector": "rector output is verbose — rtk wrap applies"
38
- # obligation: line 42
39
38
  obligation_frequency: "per-edit"
40
39
  ---
41
40
 
@@ -20,7 +20,6 @@ packs: [engineering-base]
20
20
  collision_ok:
21
21
  "refactor": "refactors churn comments — the keep/drop discipline applies"
22
22
  "implement": "fresh implementation is where over-commenting lands"
23
- # obligation: line 5
24
23
  obligation_frequency: "per-edit"
25
24
  enforced_by:
26
25
  - "validator:src/scripts/lint_code_comments.ts"
@@ -23,7 +23,6 @@ packs: [engineering-base]
23
23
  roles: [developer, reviewer, tester, po, incident, planner]
24
24
  enforced_by:
25
25
  - "instruction-only: close-the-source-and-re-derive is a pre-write reasoning step only the model observes; CI checks the ledger, never the derivation"
26
- # obligation: line 40
27
26
  obligation_frequency: "per-edit"
28
27
  evidence:
29
28
  source_type: external-research
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "mechanical-already"
4
+ consequence_class: "authority-bypass"
4
5
  description: "Prompt matches an eligible slash command — surface as numbered options with as-is escape; never auto-execute"
5
6
  triggers:
6
7
  - phrase: "free-form prompt"
@@ -11,7 +12,6 @@ load_context:
11
12
  - "../contexts/contracts/command-suggestion-flow.md"
12
13
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
13
14
  packs: [meta]
14
- # obligation: line 18
15
15
  obligation_frequency: "per-turn"
16
16
  ---
17
17
 
@@ -12,13 +12,12 @@ workspaces: [engineering]
12
12
  packs: [engineering-base]
13
13
  collision_ok:
14
14
  "commit": "format floor for every commit message"
15
- # obligation: line 19
16
15
  obligation_frequency: "per-commit"
17
16
  ---
18
17
 
19
18
  # Commit Conventions
20
19
 
21
- **Iron Law.** Match the repo's configured or approved convention; else Conventional Commits (`feat:`, `fix:` …), branches `<type>/<short-slug>`; never invent one. Subjects + branch names stay emoji-free per [`no-decorative-emojis-in-git-surfaces`](no-decorative-emojis-in-git-surfaces.md); body emojis need an in-artifact legend.
20
+ **Iron Law.** Match a repo's configured, then git.* settings, then approved convention; else Conventional Commits, branches `<type>/<short-slug>`; never invent one. Subjects + branch names stay emoji-free per [`no-decorative-emojis-in-git-surfaces`](no-decorative-emojis-in-git-surfaces.md); body emojis need an in-artifact legend.
22
21
 
23
22
  Body migrated to `skill:conventional-commits-writing` (per P4 of `road-to-kernel-and-router.md`).
24
23
  Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
@@ -8,7 +8,6 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
8
8
  packs: [meta]
9
9
  triggers:
10
10
  - phrase: "reporting progress"
11
- # obligation: line 20
12
11
  obligation_frequency: "per-turn"
13
12
  ---
14
13
 
@@ -34,7 +33,7 @@ CLOSE THE LOOP WITH ONE END-SUMMARY. NEVER MAKE THE USER RE-DERIVE WHERE THINGS
34
33
  ## When NOT to over-apply
35
34
 
36
35
  - A one-shot answer or trivial reply needs no plan-anchor or end-summary (`direct-answers` brevity wins).
37
- - Don't narrate for its own sake — the thread is orientation, not play-by-play (respect `personal.play_by_play`).
36
+ - Don't narrate for its own sake — the thread is orientation, not play-by-play.
38
37
  - Never let the through-line inflate a reply past what the task needs; brevity and the one-recommendation rule win on conflict.
39
38
 
40
39
  ## See also
@@ -9,7 +9,6 @@ triggers:
9
9
  self_contained: true
10
10
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
11
11
  packs: [meta]
12
- # obligation: line 19
13
12
  obligation_frequency: "per-event"
14
13
  ---
15
14
 
@@ -88,7 +87,7 @@ does not substitute for engaging with the source.
88
87
  **markup**: a design artifact the user hands over is their own material, so
89
88
  adapting its code is not a borrow. Third-party code arriving inside that
90
89
  handover is not covered, on either side.
91
- - [`docs/contracts/write-engine.md`](../docs/contracts/write-engine.md) —
90
+ - `docs/contracts/write-engine.md` —
92
91
  ghostwriter's disclosure-footer contract; this rule's quote floor
93
92
  applies to any ghostwriter draft that cites an external source.
94
93
  - [`source-confidentiality`](source-confidentiality.md) — the license-