@event4u/agent-config 16.3.0 → 16.5.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 (532) 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 +178 -78
  5. package/README.md +2 -2
  6. package/agents/templates/.ai-council.yml.example +26 -8
  7. package/dist/agent-src/commands/analyze/inbox.md +10 -7
  8. package/dist/agent-src/commands/bug/investigate.md +1 -1
  9. package/dist/agent-src/commands/commit/in-chunks.md +40 -31
  10. package/dist/agent-src/commands/commit.md +72 -33
  11. package/dist/agent-src/commands/condense.md +2 -8
  12. package/dist/agent-src/commands/council/debate.md +11 -7
  13. package/dist/agent-src/commands/council/default.md +10 -9
  14. package/dist/agent-src/commands/council.md +1 -1
  15. package/dist/agent-src/commands/design.md +1 -1
  16. package/dist/agent-src/commands/estimate-ticket.md +1 -1
  17. package/dist/agent-src/commands/feature/explore.md +3 -3
  18. package/dist/agent-src/commands/feature/plan.md +1 -1
  19. package/dist/agent-src/commands/fix/ci.md +17 -3
  20. package/dist/agent-src/commands/fix/commit-messages.md +48 -23
  21. package/dist/agent-src/commands/fix/pr-comments.md +3 -6
  22. package/dist/agent-src/commands/implement-ticket.md +3 -3
  23. package/dist/agent-src/commands/memory/add.md +4 -16
  24. package/dist/agent-src/commands/memory/load.md +5 -6
  25. package/dist/agent-src/commands/memory/promote.md +3 -16
  26. package/dist/agent-src/commands/mission/upgrade.md +3 -2
  27. package/dist/agent-src/commands/optimize/agents-dir.md +2 -2
  28. package/dist/agent-src/commands/optimize/deep.md +4 -2
  29. package/dist/agent-src/commands/optimize/rtk.md +4 -26
  30. package/dist/agent-src/commands/pr/create/description-only.md +18 -15
  31. package/dist/agent-src/commands/pr/create.md +42 -34
  32. package/dist/agent-src/commands/pr/merge.md +136 -9
  33. package/dist/agent-src/commands/prepare-for-review.md +13 -11
  34. package/dist/agent-src/commands/project/analyze.md +7 -35
  35. package/dist/agent-src/commands/refine-ticket.md +1 -1
  36. package/dist/agent-src/commands/review/changes.md +14 -19
  37. package/dist/agent-src/commands/roadmap/next.md +10 -1
  38. package/dist/agent-src/commands/roadmap/process-full.md +52 -38
  39. package/dist/agent-src/commands/roadmap/resolve-blockers.md +64 -14
  40. package/dist/agent-src/commands/worktree/create.md +7 -3
  41. package/dist/agent-src/commands/worktree/verify.md +2 -1
  42. package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +5 -3
  43. package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +7 -9
  44. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -6
  45. package/dist/agent-src/contexts/contracts/frugality-charter.md +8 -5
  46. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +1 -1
  47. package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +0 -1
  48. package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
  49. package/dist/agent-src/contexts/execution/non-interactive-contract.md +5 -8
  50. package/dist/agent-src/contexts/execution/rdp-gate.md +4 -4
  51. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +9 -8
  52. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +67 -52
  53. package/dist/agent-src/contexts/execution/subagent-routing.md +8 -8
  54. package/dist/agent-src/contexts/execution/subagent-steering.md +6 -4
  55. package/dist/agent-src/contexts/execution/terminal-states.md +2 -2
  56. package/dist/agent-src/contexts/execution/toolchain-resolver.md +4 -10
  57. package/dist/agent-src/contexts/subagent-configuration.md +1 -1
  58. package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
  59. package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
  60. package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
  61. package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
  62. package/dist/agent-src/guidelines/agent-infra/layered-settings.md +13 -1
  63. package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  64. package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
  65. package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +36 -0
  66. package/dist/agent-src/guidelines/design-antipatterns.md +1 -1
  67. package/dist/agent-src/guidelines/php/git.md +15 -2
  68. package/dist/agent-src/rules/active-remediation.md +0 -1
  69. package/dist/agent-src/rules/analysis-skill-routing.md +0 -1
  70. package/dist/agent-src/rules/architecture.md +0 -1
  71. package/dist/agent-src/rules/artifact-drafting-protocol.md +0 -1
  72. package/dist/agent-src/rules/artifact-engagement-recording.md +0 -1
  73. package/dist/agent-src/rules/augment-edit-discipline.md +0 -1
  74. package/dist/agent-src/rules/autonomous-execution.md +0 -1
  75. package/dist/agent-src/rules/brand-consistency.md +0 -1
  76. package/dist/agent-src/rules/brand-source-of-truth.md +0 -1
  77. package/dist/agent-src/rules/broken-access-control.md +0 -1
  78. package/dist/agent-src/rules/cli-output-handling.md +0 -1
  79. package/dist/agent-src/rules/code-comment-discipline.md +0 -1
  80. package/dist/agent-src/rules/code-provenance.md +0 -1
  81. package/dist/agent-src/rules/command-suggestion-policy.md +0 -1
  82. package/dist/agent-src/rules/commit-conventions.md +1 -2
  83. package/dist/agent-src/rules/communication-through-line.md +1 -2
  84. package/dist/agent-src/rules/content-quoting-floor.md +1 -2
  85. package/dist/agent-src/rules/context-hygiene.md +5 -5
  86. package/dist/agent-src/rules/copilot-routing.md +1 -2
  87. package/dist/agent-src/rules/council-availability.md +4 -4
  88. package/dist/agent-src/rules/cross-source-consistency.md +4 -6
  89. package/dist/agent-src/rules/decision-revisit-gate.md +2 -3
  90. package/dist/agent-src/rules/delegation-policy.md +2 -3
  91. package/dist/agent-src/rules/design-fidelity.md +0 -1
  92. package/dist/agent-src/rules/design-review-after-ui-write.md +3 -3
  93. package/dist/agent-src/rules/devcontainer-routing.md +1 -2
  94. package/dist/agent-src/rules/doc-screenshot-hygiene.md +0 -1
  95. package/dist/agent-src/rules/docker-commands.md +0 -1
  96. package/dist/agent-src/rules/domain-adoption-policy.md +0 -1
  97. package/dist/agent-src/rules/domain-safety-disclaimer.md +0 -1
  98. package/dist/agent-src/rules/domain-safety-pii.md +0 -1
  99. package/dist/agent-src/rules/domain-safety-retention.md +0 -1
  100. package/dist/agent-src/rules/downstream-changes.md +0 -1
  101. package/dist/agent-src/rules/engineering-safety-floor.md +0 -1
  102. package/dist/agent-src/rules/external-code-graph-interop.md +0 -1
  103. package/dist/agent-src/rules/external-reference-deep-dive.md +0 -1
  104. package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -2
  105. package/dist/agent-src/rules/finance-safety-floor.md +0 -1
  106. package/dist/agent-src/rules/fix-what-you-see.md +6 -32
  107. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +0 -1
  108. package/dist/agent-src/rules/git-history-discipline.md +1 -2
  109. package/dist/agent-src/rules/guidelines.md +0 -1
  110. package/dist/agent-src/rules/history-discipline.md +0 -1
  111. package/dist/agent-src/rules/icon-consistency.md +0 -1
  112. package/dist/agent-src/rules/image-likeness-and-rights.md +0 -1
  113. package/dist/agent-src/rules/improve-before-implement.md +0 -1
  114. package/dist/agent-src/rules/invite-challenge.md +0 -1
  115. package/dist/agent-src/rules/laravel-routing.md +1 -2
  116. package/dist/agent-src/rules/laravel-translations.md +0 -1
  117. package/dist/agent-src/rules/legal-safety-floor.md +0 -1
  118. package/dist/agent-src/rules/lethal-trifecta-guard.md +0 -1
  119. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -1
  120. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +0 -1
  121. package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
  122. package/dist/agent-src/rules/media-governance-routing.md +1 -2
  123. package/dist/agent-src/rules/media-sync-ground-truth.md +0 -1
  124. package/dist/agent-src/rules/minimal-safe-diff.md +0 -1
  125. package/dist/agent-src/rules/missing-skill-recovery.md +0 -1
  126. package/dist/agent-src/rules/missing-tool-handling.md +0 -1
  127. package/dist/agent-src/rules/model-recommendation.md +0 -1
  128. package/dist/agent-src/rules/neighbour-precedence.md +64 -0
  129. package/dist/agent-src/rules/no-attribution-footers.md +0 -1
  130. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +0 -1
  131. package/dist/agent-src/rules/no-pr-progress-comments.md +0 -1
  132. package/dist/agent-src/rules/no-roadmap-references.md +0 -1
  133. package/dist/agent-src/rules/notes-first-reasoning.md +0 -1
  134. package/dist/agent-src/rules/onboarding-gate.md +0 -1
  135. package/dist/agent-src/rules/output-discipline.md +0 -1
  136. package/dist/agent-src/rules/package-ci-checks.md +0 -1
  137. package/dist/agent-src/rules/persona-governance.md +2 -3
  138. package/dist/agent-src/rules/php-coding.md +0 -1
  139. package/dist/agent-src/rules/prefer-enums-over-literals.md +0 -1
  140. package/dist/agent-src/rules/preservation-guard.md +0 -1
  141. package/dist/agent-src/rules/provider-lifecycle-discipline.md +2 -3
  142. package/dist/agent-src/rules/question-not-instruction.md +0 -1
  143. package/dist/agent-src/rules/reviewer-awareness.md +0 -1
  144. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -1
  145. package/dist/agent-src/rules/roadmap-progress-sync.md +3 -6
  146. package/dist/agent-src/rules/role-mode-adherence.md +0 -1
  147. package/dist/agent-src/rules/rule-type-governance.md +0 -1
  148. package/dist/agent-src/rules/runtime-safety.md +0 -1
  149. package/dist/agent-src/rules/scale-discipline.md +0 -1
  150. package/dist/agent-src/rules/secret-vcs-guard.md +0 -1
  151. package/dist/agent-src/rules/security-sensitive-stop.md +0 -1
  152. package/dist/agent-src/rules/self-repair-loop.md +0 -1
  153. package/dist/agent-src/rules/senior-engineering-discipline.md +0 -1
  154. package/dist/agent-src/rules/session-canary.md +0 -1
  155. package/dist/agent-src/rules/settings-ask-protocol.md +5 -6
  156. package/dist/agent-src/rules/size-enforcement.md +0 -1
  157. package/dist/agent-src/rules/skill-improvement-trigger.md +2 -3
  158. package/dist/agent-src/rules/skill-quality.md +0 -1
  159. package/dist/agent-src/rules/slash-command-routing-policy.md +0 -1
  160. package/dist/agent-src/rules/source-confidentiality.md +0 -1
  161. package/dist/agent-src/rules/source-discovery-gate.md +0 -1
  162. package/dist/agent-src/rules/source-of-truth.md +0 -1
  163. package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -2
  164. package/dist/agent-src/rules/strategy-safety-floor.md +0 -1
  165. package/dist/agent-src/rules/symfony-routing.md +1 -2
  166. package/dist/agent-src/rules/think-before-action.md +0 -1
  167. package/dist/agent-src/rules/token-budget-discipline.md +14 -48
  168. package/dist/agent-src/rules/token-efficiency.md +0 -1
  169. package/dist/agent-src/rules/token-optimizer-maintenance.md +0 -1
  170. package/dist/agent-src/rules/tool-safety.md +0 -1
  171. package/dist/agent-src/rules/ui-audit-gate.md +1 -2
  172. package/dist/agent-src/rules/untrusted-input-defense.md +0 -1
  173. package/dist/agent-src/rules/upstream-proposal.md +0 -1
  174. package/dist/agent-src/rules/user-interaction.md +0 -1
  175. package/dist/agent-src/rules/user-interrupt-priority.md +0 -1
  176. package/dist/agent-src/scripts/gate_budget.ts +47 -23
  177. package/dist/agent-src/scripts/gate_execute.ts +12 -4
  178. package/dist/agent-src/skills/accessibility-auditor/data/aria-patterns.csv +2 -0
  179. package/dist/agent-src/skills/accessibility-auditor/data/manifest.json +3 -3
  180. package/dist/agent-src/skills/ai-council/SKILL.md +7 -4
  181. package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +21 -11
  182. package/dist/agent-src/skills/ai-council/references/procedure.md +12 -6
  183. package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
  184. package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
  185. package/dist/agent-src/skills/canvas-design/SKILL.md +4 -2
  186. package/dist/agent-src/skills/command-routing/SKILL.md +3 -4
  187. package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +127 -139
  188. package/dist/agent-src/skills/corpus-grounding/ATTRIBUTION.md +39 -0
  189. package/dist/agent-src/skills/corpus-grounding/SKILL.md +8 -2
  190. package/dist/agent-src/skills/database/data/manifest.json +2 -2
  191. package/dist/agent-src/skills/database/data/query-tuning.csv +13 -13
  192. package/dist/agent-src/skills/design-intelligence/references/integration-mapping.md +13 -10
  193. package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
  194. package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
  195. package/dist/agent-src/skills/fe-design/references/design-patterns.md +49 -2
  196. package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
  197. package/dist/agent-src/skills/frontend-render-security/SKILL.md +9 -0
  198. package/dist/agent-src/skills/git-workflow/SKILL.md +44 -44
  199. package/dist/agent-src/skills/git-workflow/references/branch-update.md +312 -0
  200. package/dist/agent-src/skills/git-workflow/references/commit-subject.md +205 -0
  201. package/dist/agent-src/skills/iconography/SKILL.md +4 -2
  202. package/dist/agent-src/skills/image-provider-routing/SKILL.md +16 -5
  203. package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
  204. package/dist/agent-src/skills/logo-generation/SKILL.md +12 -8
  205. package/dist/agent-src/skills/merge-conflicts/SKILL.md +10 -4
  206. package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
  207. package/dist/agent-src/skills/refine-ticket/SKILL.md +4 -4
  208. package/dist/agent-src/skills/roadmap-writing/SKILL.md +2 -2
  209. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -2
  210. package/dist/agent-src/skills/source-discovery/SKILL.md +1 -1
  211. package/dist/agent-src/skills/svg-authoring/SKILL.md +318 -0
  212. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +3 -1
  213. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
  214. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -1
  215. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
  216. package/dist/agent-src/skills/wireframe/SKILL.md +5 -2
  217. package/dist/agent-src/templates/AGENTS.md +1 -1
  218. package/dist/agent-src/templates/agent-settings.md +46 -129
  219. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
  220. package/dist/agent-src/templates/command.md +2 -2
  221. package/dist/agent-src/templates/roadmaps.md +6 -1
  222. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
  223. package/dist/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
  224. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
  225. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
  226. package/dist/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
  227. package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
  228. package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
  229. package/dist/agent-src/templates/skill.md +1 -1
  230. package/dist/cli/commands/uiRender.js +201 -4
  231. package/dist/cli/commands/uiRenderAsset.js +1308 -0
  232. package/dist/cli/commands/uiRenderAssetCompare.js +752 -0
  233. package/dist/cli/commands/uiRenderAssetGrid.js +265 -0
  234. package/dist/cli/commands/uiRenderAssetGrounds.js +323 -0
  235. package/dist/cli/commands/uiRenderAssetIsolation.js +85 -0
  236. package/dist/cli/commands/uiRenderAssetTypes.js +145 -0
  237. package/dist/cli/main.js +47 -1
  238. package/dist/cli/registry.js +2 -1
  239. package/dist/cli-delegate/check_update_banner.js +195 -119
  240. package/dist/cli-delegate/{chunk-S4UMZNES.js → chunk-4DBG5K7M.js} +5 -5
  241. package/dist/cli-delegate/{chunk-TRI6DQZ6.js → chunk-5GPULQBE.js} +60 -42
  242. package/dist/cli-delegate/{chunk-JQVYKIZA.js → chunk-6SRJTYJS.js} +33 -177
  243. package/dist/cli-delegate/chunk-6V5FMA3P.js +186 -0
  244. package/dist/cli-delegate/chunk-6YQC2HLF.js +415 -0
  245. package/dist/cli-delegate/{chunk-E4XIZDIB.js → chunk-7HKRE54K.js} +1 -64
  246. package/dist/cli-delegate/{chunk-7HQ52DHU.js → chunk-AL3RZ22D.js} +1 -1
  247. package/dist/cli-delegate/{chunk-DBH4AHDK.js → chunk-ED7KCMLB.js} +9 -11
  248. package/dist/cli-delegate/{chunk-NXEILF2K.js → chunk-F3QDG2GT.js} +481 -72
  249. package/dist/cli-delegate/{chunk-CQWX336L.js → chunk-G5VVIZRC.js} +3 -3
  250. package/dist/cli-delegate/{chunk-JY2I2DXV.js → chunk-H76PHZBI.js} +137 -60
  251. package/dist/cli-delegate/chunk-IAYTIIQW.js +67 -0
  252. package/dist/cli-delegate/{chunk-LIYTLH6O.js → chunk-KXXWJTDO.js} +5 -10
  253. package/dist/cli-delegate/{chunk-T7L2QK3K.js → chunk-LQOCRFWT.js} +1 -1
  254. package/dist/cli-delegate/{chunk-S4YWNRKO.js → chunk-MDPPKQCQ.js} +34 -1
  255. package/dist/cli-delegate/chunk-OAFSJBHH.js +272 -0
  256. package/dist/cli-delegate/{chunk-GKE7ZVFA.js → chunk-PWX7CKMD.js} +1 -1
  257. package/dist/cli-delegate/{chunk-NDJLNC6Q.js → chunk-T6BP34WI.js} +1 -0
  258. package/dist/cli-delegate/{chunk-RQNNW7IF.js → chunk-T7XSJSUQ.js} +433 -632
  259. package/dist/cli-delegate/{chunk-NQ7WT43P.js → chunk-TMWYUOK4.js} +75 -12
  260. package/dist/cli-delegate/{chunk-EEHDXSYD.js → chunk-WQWXGIWB.js} +12 -273
  261. package/dist/cli-delegate/{chunk-QLDHIPWR.js → chunk-XQTPXKFA.js} +1 -1
  262. package/dist/cli-delegate/cmd_analyze_session.js +223 -43
  263. package/dist/cli-delegate/cmd_brand_status.js +3 -2
  264. package/dist/cli-delegate/cmd_conformance.js +489 -238
  265. package/dist/cli-delegate/cmd_converge.js +3 -3
  266. package/dist/cli-delegate/cmd_doctor.js +15 -12
  267. package/dist/cli-delegate/cmd_doctor_neighbours.js +11 -4
  268. package/dist/cli-delegate/cmd_explain.js +43 -19
  269. package/dist/cli-delegate/cmd_export.js +10 -10
  270. package/dist/cli-delegate/cmd_git_convention.js +1851 -0
  271. package/dist/cli-delegate/cmd_handoff.js +40 -21
  272. package/dist/cli-delegate/cmd_mcp_available.js +3 -2
  273. package/dist/cli-delegate/cmd_migrate.js +3 -3
  274. package/dist/cli-delegate/cmd_packs_active.js +4 -3
  275. package/dist/cli-delegate/cmd_prune.js +10 -10
  276. package/dist/cli-delegate/cmd_route_audit.js +7 -7
  277. package/dist/cli-delegate/cmd_route_explain.js +5 -5
  278. package/dist/cli-delegate/cmd_session_recycle.js +9 -7
  279. package/dist/cli-delegate/cmd_settings_check.js +54 -7
  280. package/dist/cli-delegate/cmd_settings_get.js +18 -8
  281. package/dist/cli-delegate/cmd_settings_migrate.js +10 -10
  282. package/dist/cli-delegate/cmd_settings_set.js +1 -1
  283. package/dist/cli-delegate/cmd_sync.js +10 -10
  284. package/dist/cli-delegate/cmd_uninstall.js +10 -10
  285. package/dist/cli-delegate/cmd_update.js +7 -7
  286. package/dist/cli-delegate/cmd_upgrade.js +7 -7
  287. package/dist/cli-delegate/cmd_validate.js +10 -10
  288. package/dist/cli-delegate/cmd_versions.js +5 -5
  289. package/dist/cli-delegate/gate_budget.js +1 -1
  290. package/dist/cli-delegate/gate_execute.js +2 -2
  291. package/dist/cli-delegate/roadmap_gates.js +2 -2
  292. package/dist/discovery/deprecation-report.md +1 -1
  293. package/dist/discovery/discovery-manifest.json +171 -107
  294. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  295. package/dist/discovery/discovery-manifest.summary.md +7 -7
  296. package/dist/discovery/dormancy-report.md +1 -1
  297. package/dist/discovery/orphan-report.md +1 -1
  298. package/dist/discovery/packs.json +41 -22
  299. package/dist/discovery/trust-report.md +3 -3
  300. package/dist/discovery/workspaces.json +16 -11
  301. package/dist/hooks/dispatch.js +2520 -1924
  302. package/dist/hooks/dispatch.sha256 +1 -1
  303. package/dist/hooks/svg_rules.chunk.cjs +1626 -0
  304. package/dist/hooks/svg_rules.chunk.cjs.sha256 +1 -0
  305. package/dist/install/install.mjs +462 -431
  306. package/dist/install/installThinLayer.js +40 -12
  307. package/dist/install/installedRuleLinks.js +105 -19
  308. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  309. package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
  310. package/dist/mcp/registry-manifest.json +5 -5
  311. package/dist/mcp/server.json +2 -2
  312. package/dist/mcp/server.mjs +3063 -2160
  313. package/dist/router.json +1 -1
  314. package/dist/scripts/_lib/agent_settings.js +15 -120
  315. package/dist/scripts/_lib/compile_time_toggles.js +12 -21
  316. package/dist/scripts/_lib/git_convention.js +232 -0
  317. package/dist/scripts/_lib/global_deploy_inventory.js +730 -0
  318. package/dist/scripts/_lib/installed_layer.js +344 -18
  319. package/dist/scripts/_lib/package_root.js +68 -0
  320. package/dist/scripts/_lib/rule_law_section.js +1 -1
  321. package/dist/scripts/_lib/scan_scope.js +105 -0
  322. package/dist/scripts/_lib/settings_removed_keys.js +168 -0
  323. package/dist/scripts/_lib/svg_dom.js +284 -0
  324. package/dist/scripts/_lib/svg_geometry.js +477 -0
  325. package/dist/scripts/_lib/svg_motion.js +179 -0
  326. package/dist/scripts/_lib/svg_rules.js +1337 -0
  327. package/dist/scripts/_lib/svg_urls.js +67 -0
  328. package/dist/scripts/_lib/thin_rules.js +80 -3
  329. package/dist/scripts/lint_svg_asset.js +324 -0
  330. package/dist/server/app.js +2 -1
  331. package/dist/server/gitKeysGate.js +105 -0
  332. package/dist/server/routes/settings.js +67 -8
  333. package/dist/server/routes/wizard.js +4 -0
  334. package/dist/server/schemas/settings.js +23 -81
  335. package/dist/shared/skillRanking.js +30 -4
  336. package/dist/ui/assets/{index-Cwq4d0hX.js → index-C3djEJah.js} +2 -2
  337. package/dist/ui/index.html +1 -1
  338. package/docs/MIGRATION.md +72 -1
  339. package/docs/contracts/settings-classes.md +35 -65
  340. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
  341. package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
  342. package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
  343. package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
  344. package/docs/guidelines/agent-infra/layered-settings.md +13 -1
  345. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  346. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
  347. package/docs/guidelines/agent-infra/size-and-scope.md +36 -0
  348. package/docs/guidelines/design-antipatterns.md +1 -1
  349. package/docs/guidelines/php/git.md +15 -2
  350. package/package.json +4 -3
  351. package/src/agent-src/scripts/gate_budget.ts +47 -23
  352. package/src/agent-src/scripts/gate_execute.ts +12 -4
  353. package/src/agent-src/templates/AGENTS.md +1 -1
  354. package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
  355. package/src/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
  356. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
  357. package/src/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
  358. package/src/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
  359. package/src/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
  360. package/src/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
  361. package/src/config/agent-settings.template.yml +79 -312
  362. package/src/config/agents-paths.yml +16 -0
  363. package/src/config/assurance-capability-registry.json +7 -3
  364. package/src/config/ci-local-parity.yml +3 -0
  365. package/src/config/continuity-surface.json +3 -3
  366. package/src/config/discovery/packs.yml +17 -1
  367. package/src/config/evaluator-budgets.json +19 -6
  368. package/src/config/gate-coverage.yml +65 -23
  369. package/src/config/gate-violation-baselines.json +56 -16
  370. package/src/config/gitignore-block.txt +19 -0
  371. package/src/config/hook-bundle-budget.json +1 -1
  372. package/src/config/release-gate-locality.yml +2 -1
  373. package/src/config/routing-coverage-seed.json +55 -6
  374. package/src/config/rule-law-ceilings.json +12 -6
  375. package/src/config/rule-obligations.json +833 -0
  376. package/src/install/installThinLayer.ts +76 -10
  377. package/src/install/installedRuleLinks.ts +105 -17
  378. package/src/scripts/_cli/cmd_analyze_session.ts +9 -15
  379. package/src/scripts/_cli/cmd_conformance.ts +13 -2
  380. package/src/scripts/_cli/cmd_doctor.ts +10 -10
  381. package/src/scripts/_cli/cmd_doctor_neighbours.ts +133 -0
  382. package/src/scripts/_cli/cmd_explain.ts +72 -14
  383. package/src/scripts/_cli/cmd_git_convention.ts +637 -0
  384. package/src/scripts/_cli/cmd_settings_check.ts +66 -8
  385. package/src/scripts/_cli/cmd_settings_get.ts +18 -3
  386. package/src/scripts/_cli/doctor_execution.ts +72 -1
  387. package/src/scripts/_dispatch.bash +37 -2
  388. package/src/scripts/_lib/agent_settings.ts +15 -124
  389. package/src/scripts/_lib/blocked_by_marker.ts +1 -1
  390. package/src/scripts/_lib/compile_time_toggles.ts +12 -21
  391. package/src/scripts/_lib/dispatch_import_closure.ts +163 -0
  392. package/src/scripts/_lib/git_base_ref.ts +92 -0
  393. package/src/scripts/_lib/git_convention.ts +291 -0
  394. package/src/scripts/_lib/git_convention_carrier.ts +389 -0
  395. package/src/scripts/_lib/git_convention_grammar.ts +246 -0
  396. package/src/scripts/_lib/git_convention_measure.ts +344 -0
  397. package/src/scripts/_lib/global_deploy_inventory.ts +74 -0
  398. package/src/scripts/_lib/graph_feeder_record.ts +236 -13
  399. package/src/scripts/_lib/installed_layer.ts +448 -23
  400. package/src/scripts/_lib/knowledge_global.ts +14 -1
  401. package/src/scripts/_lib/module_reach.ts +456 -0
  402. package/src/scripts/_lib/neighbour_contradictions.ts +236 -0
  403. package/src/scripts/_lib/neighbour_tool_use.ts +8 -10
  404. package/src/scripts/_lib/ratification_artifact.ts +220 -1
  405. package/src/scripts/_lib/ratification_subject.ts +92 -0
  406. package/src/scripts/_lib/release_findings_ingest.ts +15 -7
  407. package/src/scripts/_lib/release_highlights.ts +5 -0
  408. package/src/scripts/_lib/rule_law_section.ts +1 -1
  409. package/src/scripts/_lib/rule_obligations.ts +205 -0
  410. package/src/scripts/_lib/self_repair.ts +1 -1
  411. package/src/scripts/_lib/settings_removed_keys.ts +173 -0
  412. package/src/scripts/_lib/svg_dom.ts +318 -0
  413. package/src/scripts/_lib/svg_geometry.ts +480 -0
  414. package/src/scripts/_lib/svg_motion.ts +208 -0
  415. package/src/scripts/_lib/svg_rules.ts +1453 -0
  416. package/src/scripts/_lib/svg_urls.ts +72 -0
  417. package/src/scripts/_lib/test_red_state.ts +5 -0
  418. package/src/scripts/_lib/thin_rules.ts +83 -3
  419. package/src/scripts/_lib/touched_file_quality.ts +142 -6
  420. package/src/scripts/_lib/verification_command.ts +59 -0
  421. package/src/scripts/_lib/verify_clause.ts +27 -17
  422. package/src/scripts/_lib/worker_budget.ts +1 -1
  423. package/src/scripts/adr/regenerate_index.ts +16 -1
  424. package/src/scripts/ai_council/config.ts +7 -7
  425. package/src/scripts/ai_council/modification_review.ts +100 -0
  426. package/src/scripts/ai_council/modification_review_questions.ts +90 -0
  427. package/src/scripts/ai_council/orchestrator.ts +5 -5
  428. package/src/scripts/ai_council/spend_gate.ts +18 -7
  429. package/src/scripts/ai_team/config.ts +11 -16
  430. package/src/scripts/audit_user_type_axis.ts +20 -8
  431. package/src/scripts/bench_ab_clone.ts +1 -2
  432. package/src/scripts/bench_concern_spawn_path.ts +129 -0
  433. package/src/scripts/bench_graph_feeder_latency.ts +584 -0
  434. package/src/scripts/check_agent_artifact_location.ts +36 -0
  435. package/src/scripts/check_branch_freshness.ts +147 -24
  436. package/src/scripts/check_enforcement_coverage.ts +130 -0
  437. package/src/scripts/check_evaluator_budgets.ts +4 -0
  438. package/src/scripts/check_finding_dispositions.ts +88 -25
  439. package/src/scripts/check_gate_coverage.ts +4 -3
  440. package/src/scripts/check_gate_reachability.ts +48 -1
  441. package/src/scripts/check_generator_sync.ts +48 -0
  442. package/src/scripts/check_hook_bundle_composition.ts +107 -0
  443. package/src/scripts/check_kernel_edit_ratified.ts +86 -6
  444. package/src/scripts/check_pack_size.ts +1 -1
  445. package/src/scripts/check_release_manifest_content.ts +189 -0
  446. package/src/scripts/check_standing_rule_delivery.ts +96 -0
  447. package/src/scripts/check_suppression_hygiene.ts +2 -5
  448. package/src/scripts/ci_settle.ts +42 -5
  449. package/src/scripts/classify_merge_risk.ts +320 -0
  450. package/src/scripts/closure_scan.ts +91 -1
  451. package/src/scripts/command_suggester/settings.ts +8 -108
  452. package/src/scripts/command_suggester/types.ts +4 -5
  453. package/src/scripts/consumer_matrix.ts +102 -0
  454. package/src/scripts/context_hygiene_hook.ts +13 -23
  455. package/src/scripts/cost/preflight.mjs +12 -1
  456. package/src/scripts/council_cli.ts +7 -7
  457. package/src/scripts/dispatch_r2_reviewer.ts +24 -11
  458. package/src/scripts/explain_run.ts +8 -13
  459. package/src/scripts/generate_git_convention_grammar.ts +127 -0
  460. package/src/scripts/generate_host_cost_table.ts +20 -3
  461. package/src/scripts/handoff_context_hook.ts +86 -37
  462. package/src/scripts/hook_manifest.json +1 -1
  463. package/src/scripts/hook_manifest.yaml +25 -6
  464. package/src/scripts/hooks/block_config_weakening.ts +48 -5
  465. package/src/scripts/hooks/block_plumbing_writes.ts +8 -4
  466. package/src/scripts/hooks/block_speaking_inbox_dir.ts +16 -1
  467. package/src/scripts/hooks/concern_registry.ts +2 -0
  468. package/src/scripts/hooks/delegation_nudge_hook.ts +2 -3
  469. package/src/scripts/hooks/design_pass_hook.ts +157 -3
  470. package/src/scripts/hooks/evidence_independence.ts +12 -4
  471. package/src/scripts/hooks/mcp_usage_observation_hook.ts +121 -0
  472. package/src/scripts/hooks/push_settle_hook.ts +4 -3
  473. package/src/scripts/hooks/rule_inject_hook.ts +44 -3
  474. package/src/scripts/hooks/state_io.ts +8 -4
  475. package/src/scripts/hooks/svg_obligation.ts +497 -0
  476. package/src/scripts/hooks/svg_rules_loader.ts +133 -0
  477. package/src/scripts/hooks/telemetry_usage_hook.ts +7 -46
  478. package/src/scripts/hooks/turn_end_gate_hook.ts +6 -3
  479. package/src/scripts/install-hooks.sh +42 -14
  480. package/src/scripts/install.ts +7 -31
  481. package/src/scripts/lint_blocker_citations.ts +198 -0
  482. package/src/scripts/lint_consolidation_lineage.ts +6 -3
  483. package/src/scripts/lint_design_quality.ts +60 -12
  484. package/src/scripts/lint_evidence_artifacts.ts +9 -0
  485. package/src/scripts/lint_hook_concern_budget.ts +10 -21
  486. package/src/scripts/lint_motion_authority_drift.ts +27 -0
  487. package/src/scripts/lint_pack_boundaries.ts +406 -28
  488. package/src/scripts/lint_roadmap_blockers.ts +282 -29
  489. package/src/scripts/lint_roadmap_complexity.ts +4 -2
  490. package/src/scripts/lint_rule_law_section.ts +151 -21
  491. package/src/scripts/lint_rule_skill_pack_reach.ts +17 -0
  492. package/src/scripts/lint_settings_classes.ts +1 -1
  493. package/src/scripts/lint_svg_asset.ts +365 -0
  494. package/src/scripts/lint_ticked_unmet_criteria.ts +165 -0
  495. package/src/scripts/lint_workflow_security.ts +12 -1
  496. package/src/scripts/measure_skill_ranker_baseline.ts +5 -0
  497. package/src/scripts/model_rule_injection.ts +3 -3
  498. package/src/scripts/onboarding_gate_hook.ts +7 -6
  499. package/src/scripts/print_required_checks.ts +15 -3
  500. package/src/scripts/probe_host_compliance.ts +33 -5
  501. package/src/scripts/probe_turnaround.ts +183 -3
  502. package/src/scripts/ratification_header.ts +77 -0
  503. package/src/scripts/refusal_envelope.ts +138 -0
  504. package/src/scripts/release_publication.ts +29 -3
  505. package/src/scripts/report_dispatch_import_closure.ts +76 -0
  506. package/src/scripts/report_installed_rule_links.ts +118 -1
  507. package/src/scripts/report_module_reach.ts +212 -0
  508. package/src/scripts/report_obligation_mechanism.ts +16 -18
  509. package/src/scripts/report_parked_blockers.ts +222 -0
  510. package/src/scripts/report_required_checks_drift.ts +196 -0
  511. package/src/scripts/report_skill_ranker_confusion.ts +103 -2
  512. package/src/scripts/report_standing_payload_by_host.ts +1 -1
  513. package/src/scripts/routing_doctor.ts +2 -2
  514. package/src/scripts/schemas/agent-settings.schema.json +17 -31
  515. package/src/scripts/schemas/command.schema.json +1 -1
  516. package/src/scripts/schemas/skill.schema.json +1 -1
  517. package/src/scripts/self_review_gate.ts +39 -2
  518. package/src/scripts/skill_tools/score_skill_relevance.ts +28 -19
  519. package/src/scripts/sync_pr_branch.ts +403 -132
  520. package/src/scripts/trigger_eval_grandfather.json +0 -16
  521. package/src/server/schemas/settings.ts +33 -177
  522. package/src/shared/skillRanking.ts +53 -4
  523. package/dist/cli-delegate/chunk-NYX3L2PZ.js +0 -99
  524. package/src/scripts/_lib/config_chain.ts +0 -477
  525. package/src/scripts/_lib/conformance_report.ts +0 -403
  526. package/src/scripts/_lib/eval_discrimination.ts +0 -95
  527. package/src/scripts/_lib/evaluator_promotion.ts +0 -225
  528. package/src/scripts/_lib/file_slicer.ts +0 -117
  529. package/src/scripts/_lib/legacy_boundary_map.ts +0 -228
  530. package/src/scripts/_lib/minimality_tiebreak.ts +0 -168
  531. package/src/scripts/_lib/overbuild_lens_contract.ts +0 -196
  532. package/src/scripts/_lib/role_split.ts +0 -338
@@ -180,13 +180,14 @@ discipline_profile: __DISCIPLINE_PROFILE__
180
180
  # custom = ignore profile — every matrix value must be set explicitly.
181
181
  rule_loading_tier: __RULE_LOADING_TIER__
182
182
 
183
- # --- Lean projection (experimental, opt-in) ---
183
+ # --- Lean projection ---
184
184
  #
185
185
  # How the per-tool projector emits the rule layer. See
186
186
  # docs/contracts/rule-router.md § Kill-switch.
187
187
  #
188
- # eager-all = every rule body inlined into every projection (DEFAULT,
189
- # today's behaviour). Safe — bodies are always in context.
188
+ # eager-all = every rule body inlined into every projection. Safe — bodies
189
+ # are always in context. What every host outside `hosts` below
190
+ # receives, regardless of `mode`.
190
191
  # thin = kernel rules full-bodied + non-kernel rules as
191
192
  # router-resolved pointers (the agent loads the body on
192
193
  # trigger-match). Measured ~45k GPT-tok lighter per session
@@ -213,46 +214,6 @@ lean_projection:
213
214
  mode: delivery
214
215
  hosts: [claude-code]
215
216
 
216
- # --- Telegraph condensation (output-side) ---
217
- #
218
- # `speak: false` is the shipped default per
219
- # docs/adrs/telegraph/0001-default-off-until-bench.md (Status: accepted) and
220
- # docs/contracts/condensation-default-kill-criterion.md.
221
- # Reason it is off: the only output-side bench (telegraph-v1, n=10, 2026-05-16)
222
- # measured median vs_terse -9.27% (API counts) / -5.47% (exact cl100k_base
223
- # re-analysis) — telegraph emits MORE tokens than a plain "be terse" instruction.
224
- # The kill-criterion table therefore lands on "criterion not met — defer" and the
225
- # telemetry multiplier stays suspended (0.9155 < 1.0).
226
- #
227
- # Stated explicitly here because until 2026-07-29 this default existed only in
228
- # prose — and two prose sources disagreed. Do not flip without a passing
229
- # output-side bench.
230
- telegraph:
231
- # speak: false = DORMANT (the shipped default per docs/adrs/telegraph/0002).
232
- # The rule is omitted from dist/router.json entirely, so its ~982-token body
233
- # never ships. This is the only lever that stops the cost: compile_router
234
- # gates on `speak` and on nothing else.
235
- # Set true only after an output-side bench clears the kill-criterion bar.
236
- speak: false
237
-
238
- # --- Token-rich skills governance ---
239
- #
240
- # Skills marked `token_budget_class: rich` in their frontmatter are exempt
241
- # from telegraph-speak condensation and thin-projector trimming. They load
242
- # their full content (examples, tables, code blocks) to maximize design-output
243
- # quality. This setting controls whether that extra spend is allowed globally.
244
- #
245
- # Values:
246
- # on — rich skills load in full (default; recommended for design-intensive workflows)
247
- # off — rich skills fall back to standard condensed behavior
248
- # ask — before loading a rich skill, the agent surfaces an estimated token
249
- # delta (≈ file size in chars / 4, reported in tokens not dollars) and
250
- # asks the user once; the answer is cached for the session
251
- #
252
- # Configurable in the browser setup wizard (Setup → Skills → Token budget).
253
- tokens:
254
- rich_skills: "on"
255
-
256
217
  # --- Cost tracking + budget enforcement ---
257
218
  #
258
219
  # USD budgets evaluated against `agents/cost-tracking/sessions.jsonl` by
@@ -312,16 +273,6 @@ personal:
312
273
  # Agent will auto-detect and ask once, then store the result
313
274
  rtk_installed: false
314
275
 
315
- # Minimal output mode (true, false)
316
- # true = short bullet points during work, concise summary at the end
317
- # false = verbose explanations and reasoning
318
- minimal_output: true
319
-
320
- # Play-by-play mode (true, false)
321
- # true = briefly share intermediate findings as you go
322
- # false = silently investigate, only report the conclusion
323
- play_by_play: false
324
-
325
276
  # Session canary — the name the agent addresses you with at the start of
326
277
  # every new task (e.g. "Alex"). Like a canary in a coal mine: when the
327
278
  # greeting silently disappears, the context window is degrading and it is
@@ -334,10 +285,6 @@ personal:
334
285
  # See rules/session-canary.md.
335
286
  canary_name: ""
336
287
 
337
- # Prefix PR comment replies with a bot icon 🤖 (true, false)
338
- # Personal preference — each developer decides for themselves.
339
- pr_comment_bot_icon: false
340
-
341
288
  # Allow the agent to post unsolicited progress / status comments on
342
289
  # an open PR (e.g. "CI fix iteration #2", "blocked on workflow scope").
343
290
  # true = agent may narrate work on the PR via `gh pr comment` etc.
@@ -365,31 +312,11 @@ personal:
365
312
 
366
313
  # --- Reply verbosity ---
367
314
  verbosity:
368
- # Announce intent before tool batches ("Let me check X…") — only honored
369
- # when personal.play_by_play is ALSO true (the direct-answers narration
370
- # carve-out requires both). Default false = no intent narration.
371
- intent_announcements: false
372
-
373
- # Show generated commit messages, PR titles/bodies, branch names before
374
- # acting. false = use generated content directly (/commit terse path).
375
- preview_artifacts: false
376
-
377
- # Confirmation prompts for routine workflow steps with one obvious answer.
378
- # Iron-Law gates (commit-policy, scope-control git-ops, Hard Floor) ALWAYS
379
- # ask regardless of this setting.
380
- routine_confirmations: false
381
-
382
315
  # Offer "run AI Council on this?" inside delivery commands.
383
316
  offer_council_in_delivery: false
384
317
 
385
- # Status blocks after a successful action: off | minimal | full.
386
- post_action_reports: minimal
387
-
388
318
  # --- Project / team preferences ---
389
319
  project:
390
- # Path to the PR template file (relative to project root)
391
- pr_template: .github/pull_request_template.md
392
-
393
320
  # Target repository for universal improvement PRs (e.g. org/agent-config)
394
321
  upstream_repo: ""
395
322
 
@@ -415,6 +342,35 @@ project:
415
342
  # this is not a settingsCarveOut key, so absent == an explicit `public`.
416
343
  audience: public
417
344
 
345
+ # --- Git conventions: commit subjects, branch names, base sync ---
346
+ #
347
+ # Representation and workflow only. None of these keys authorises a commit,
348
+ # a push or a history rewrite — commit-policy, scope-control and
349
+ # git-history-discipline decide that, unchanged. A commit-linting config in the
350
+ # repository (commitlint, a commit-msg hook) also runs at commit and may reject
351
+ # what git.commit_format accepts; `git:convention subject` names it, never runs it.
352
+ git:
353
+ # Where a ticket id goes in a commit subject.
354
+ # ticket-scope -> `feat(DEV-1234): add export filter` (default —
355
+ # the behaviour before this key existed)
356
+ # ticket-conventional -> `DEV-1234 feat(exporter): add export filter` —
357
+ # the ticket leads, the scope names the system
358
+ # area, and a ticket is never a scope
359
+ commit_format: ticket-scope
360
+
361
+ # Shape of a branch name the agent creates. Placeholders: {type}, {ticket},
362
+ # {slug}; {slug} is required and other characters are limited to
363
+ # A-Z a-z 0-9 . _ / -. Ticket-named branches: "{ticket}-{slug}". An empty placeholder is
364
+ # dropped with the separator after it (before it, when last).
365
+ branch_pattern: "{type}/{slug}"
366
+
367
+ # How a feature branch is brought up to date with its base.
368
+ # merge -> merge origin/<base> into the branch (default)
369
+ # rebase -> rebase onto origin/<base>, publish with --force-with-lease;
370
+ # never a merge of the base into the branch. Still asked for
371
+ # unless git-history-discipline already authorises the rewrite.
372
+ update_strategy: merge
373
+
418
374
  # --- GitHub integration ---
419
375
  github:
420
376
  # API method for replying to PR review comments
@@ -546,15 +502,6 @@ chat_history:
546
502
  tool: 200
547
503
  phase: 200
548
504
 
549
- # --- Optional pipelines ---
550
- pipelines:
551
- # Skill improvement pipeline (true, false)
552
- # true = after meaningful tasks, propose learning capture and improvements (default)
553
- # false = silent, no post-task analysis
554
- # Included by every rule_loading_tier except `custom`. Flip to false here if you
555
- # want a silent agent; `custom` profile ignores this default entirely.
556
- skill_improvement: true
557
-
558
505
  # --- Reasoning Discipline Protocol (RDP) ---
559
506
  #
560
507
  # Transplants the *operating discipline* of a frontier reasoning model
@@ -565,30 +512,11 @@ pipelines:
565
512
  # Rationale + sources: docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md
566
513
  reasoning:
567
514
  # Master switch (true, false). false = the whole layer is inert (zero overhead).
515
+ # When on, the discipline engages per task through the RDP gate's own signals
516
+ # (task triviality + the host's self-assessed reasoning strength, ADR-035) —
517
+ # there is no per-component switch; every component follows those signals.
568
518
  enabled: true
569
519
 
570
- # Auto benefit-gating (true, false). Engages only where it pays, using
571
- # table-free signals (ADR-035 forbids any runtime model->band lookup table):
572
- # - task signal: trivial / short / fully-specified tasks -> OFF
573
- # - host reasoning strength (agent self-assessed, no maintained list): a
574
- # strong-reasoning host applies the discipline lightly / as suggestion;
575
- # a standard host applies it fully.
576
- # One constraint-light scaffold ships; standard hosts expand it on request.
577
- # false = gate on task-signal + toggles only (skip the self-assessment touch).
578
- auto_gate: true
579
-
580
- # Per-component switches. Each fires only when `enabled` AND the auto_gate test passes.
581
- components:
582
- orchestrator: true # sequences the chain; the single coordination point
583
- notes_first: true # reasoning in session notes, never echoed in the response
584
- grounding: true # explore environment / close info-gaps before designing
585
- intent: true # infer the underlying goal before solving the literal ask
586
- complexity_first: true # risk-first: resolve the load-bearing unknown first (RDP derivation, not Fable-documented)
587
- verifier_default: true # fresh-context verifier on the structural-complexity gate (branching/constraints/stateful/irreversible + token floor)
588
- prediction_tracking: true # log prediction + confidence + outcome + lesson (calibration loop)
589
- decision_ledger: true # log decision + alternatives + reason + revisit-if; escalates to decision-record/ADR when durable
590
- uncertainty_budget: true # per-dimension uncertainty score; feeds adaptive effort
591
-
592
520
  # --- Roadmap execution ---
593
521
  #
594
522
  # Controls when /roadmap execute runs the project's quality pipeline
@@ -602,8 +530,8 @@ roadmap:
602
530
  # templates/roadmaps.md rule 18) changes ONLY the run's interaction
603
531
  # pattern: which asks are batched into the run-start execution
604
532
  # contract and where checkpoint prompts fire. It overrides NONE of
605
- # the keys below — `skip_pre_run_gate`, `quality_cadence`, and
606
- # `dashboard_regen_cadence` keep their global meaning in every mode.
533
+ # the keys below — `quality_cadence` keeps its global meaning in
534
+ # every mode.
607
535
  #
608
536
  # WHAT NO MODE LIFTS, NAMED. This sentence used to read "no mode lifts a
609
537
  # safety floor", which is unfalsifiable: it never says which floor or how
@@ -621,17 +549,6 @@ roadmap:
621
549
  # reach and this comment as the authority on what a MODE can change: nothing.
622
550
  # See contexts/execution/roadmap-execution-contract.md.
623
551
 
624
- # Skip the /roadmap:process-* pre-run confirmation gate (true, false).
625
- # true = default. The command name names the scope; a discoverable
626
- # single active roadmap (or a named one) starts the loop
627
- # immediately, resolved config surfaced inline so a wrong
628
- # pick can still be aborted mid-stream.
629
- # false = legacy. Shows the pre-run summary with numbered options
630
- # and waits. The gate is still shown regardless when the
631
- # roadmap is ambiguous or a scope / cadence conflict has no
632
- # sensible default. See rules/autonomous-execution.md.
633
- skip_pre_run_gate: true
634
-
635
552
  # When to run quality tools during /roadmap execute.
636
553
  # end_of_roadmap = once, before archiving the completed roadmap (fastest, fewest tokens)
637
554
  # per_phase = once after every completed phase (default since 2026-09-13)
@@ -647,35 +564,6 @@ roadmap:
647
564
  # knob only decides WHEN, and is inert wherever both resolve false.
648
565
  quality_cadence: per_phase
649
566
 
650
- # Dashboard regen cadence inside autonomous runs (process-step /
651
- # process-phase / process-full). Controls how often
652
- # `./agent-config roadmap:progress` runs **between** steps in a
653
- # single session. The dashboard is always regenerated at the start
654
- # of the run, at every phase boundary, and at run end — this knob
655
- # only affects the inter-step beat.
656
- #
657
- # per_step = regen after every checkbox flip. Safest for
658
- # crash recovery; highest subprocess overhead.
659
- # Use when a session may be killed mid-roadmap
660
- # and a fresh dashboard must always reflect the
661
- # last-saved step.
662
- # every_5_steps = default: batch flips, regen every 5 closed
663
- # steps + at every phase boundary. Balanced
664
- # cost/freshness for runs of 20–100 steps.
665
- # phase_boundary = regen only at phase boundaries + run end.
666
- # Cheapest for long roadmaps (100+ steps).
667
- # The checkbox flip itself is still inline per
668
- # Iron Law 2 — only the subprocess regen batches.
669
- #
670
- # `process-step` ignores this knob (single-step runs always regen
671
- # at the end of the step). The Iron Law 1 mandate to regen on any
672
- # file-shape touch (rename / phase add / archive) still fires
673
- # immediately regardless of this setting — so the dashboard is never
674
- # stale across a rename, a phase add, or an archive, whatever the
675
- # inter-step beat is.
676
- dashboard_regen_cadence: every_5_steps
677
-
678
-
679
567
  # Visible-horizon framing in roadmap authoring (integer weeks, default 0).
680
568
  # 0 = off (default). Time-boxed plate / horizon framing is forbidden:
681
569
  # no `## Horizon (N-week visible plate)` sections, no
@@ -707,14 +595,22 @@ roadmap:
707
595
  # authorisation: `gates --execute` still requires `--confirm` on every
708
596
  # class-1 run, and a class-1 entry over either cap renders its consent
709
597
  # line instead of running.
598
+ #
599
+ # BOTH SHIP UNSET (`null`), per ADR-279: a spend bound applies only where
600
+ # one was set. Unset is not a refusal — the gate runs on the `--confirm`
601
+ # above, unbounded in size. Each cap also bounds ON ITS OWN, so setting one
602
+ # and leaving the other `null` is a supported configuration; until
603
+ # 2026-10-06 both had to be numeric before either applied, which meant
604
+ # setting one left you bounded by neither.
710
605
  gate_budget:
711
606
  # Per-run ceiling in USD. A class-1 entry whose `Budget:` field states a
712
- # larger figure renders instead of running.
713
- max_cost_per_run_usd: 5
607
+ # larger figure renders instead of running. `null` = no per-run ceiling.
608
+ max_cost_per_run_usd: null
714
609
 
715
610
  # Rolling-window ceiling in USD over the last 7 days, summed from the
716
611
  # receipt ledger. A run whose estimate would cross it renders instead.
717
- max_cost_per_rolling_7d_usd: 25
612
+ # `null` = no rolling ceiling.
613
+ max_cost_per_rolling_7d_usd: null
718
614
 
719
615
  # --- Plan governance gates ---
720
616
  #
@@ -916,34 +812,6 @@ design:
916
812
  # at large dimensions with no evidence that this is wanted.
917
813
  length: null
918
814
 
919
- # --- Cross-source consistency ---
920
- #
921
- # When the agent plans, refines, roadmaps, or implements from multiple
922
- # sources — ticket text, an attached image / mockup / screenshot, the spec,
923
- # the codebase — it actively checks them AGAINST each other and STOPS to ask
924
- # before proceeding on a detected discrepancy, instead of silently guessing
925
- # (even a correct guess). Consumed by the `cross-source-consistency` rule.
926
- # Catches: (a) ticket text vs an attached image/mockup, (b) a spec silent on
927
- # a clearly-needed behavior (weekend/holiday shifting, empty/error states),
928
- # (c) spec vs the codebase, (d) intra-ticket contradiction (AC vs description).
929
- #
930
- # The discipline is deliberately subordinate to `ask-when-uncertain` (it folds
931
- # a detected discrepancy into the same turn's single question — never a second
932
- # prompt) and defers to `scope-control` for the permission to expand scope.
933
- consistency:
934
- # on | auto | off (default: on)
935
- #
936
- # on = default. Detect discrepancies across sources and surface ONE
937
- # numbered-options question before proceeding. A silent guess on a
938
- # real contradiction is a rule violation, even when the guess is
939
- # correct. An inferred-but-unspecified behavior is a scope expansion:
940
- # ask before implementing it.
941
- # auto = detect + surface only HIGH-confidence contradictions; low-confidence
942
- # ones are stated as an assumption and proceed (noise control).
943
- # off = no cross-source checking (legacy: the agent may proceed on its own
944
- # reading of whichever source it happened to read).
945
- cross_source: "on"
946
-
947
815
  # --- Documentation screenshots ---
948
816
  #
949
817
  # When the agent creates screenshots for documentation (e.g. generating a docs
@@ -1030,10 +898,8 @@ code_style:
1030
898
  # .augment/contexts/subagent-configuration.md and
1031
899
  # .augment/contexts/execution/auto-orchestration-activation.md.
1032
900
  subagents:
1033
- # Route delegable sub-tasks to the lowest-capable model tier (cost + speed
1034
- # via model downshift). true (default) = downshift per declared model_tier;
1035
- # false = every subagent runs on the session tier.
1036
- downshift: true
901
+ # Delegable sub-tasks always run on the lowest-capable model tier they
902
+ # declare (cost + speed via model downshift); this is fixed, not a key.
1037
903
 
1038
904
  # Prefer a separate-quota-pool model for delegable sub-tasks WHERE the host
1039
905
  # manifest reports `separate_quota_pool: true` (e.g. a subscription whose
@@ -1065,7 +931,8 @@ subagents:
1065
931
  model_ceiling: ""
1066
932
 
1067
933
  # Maximum number of parallel subagent invocations
1068
- # Integer, default 3. Set to 1 to serialize. Hard cap enforced by runtime.
934
+ # Integer, default 3. Set to 1 to serialize. A limit the model reads
935
+ # from settings — no code counts spawns against it.
1069
936
  max_parallel: 3
1070
937
 
1071
938
  # Opt-in adversarial-verification-council (subagent-orchestration Mode 9,
@@ -1095,7 +962,7 @@ subagents:
1095
962
  # let the agent start parallel work on its own, and `off` was the behaviour
1096
963
  # everyone actually wanted — so the setting's only real value was hardcoded and
1097
964
  # the other two values removed. A leftover key from an older install is ignored
1098
- # with one deprecation line (see `REMOVED_KEYS` in `_lib/agent_settings.ts`).
965
+ # with one deprecation line (see `REMOVED_KEYS` in `_lib/settings_removed_keys.ts`).
1099
966
  #
1100
967
  # The Iron-Law gates on creation (ignore-safety check, clean baseline) are
1101
968
  # unchanged and still run on every explicitly-requested worktree.
@@ -1155,10 +1022,6 @@ ai_team:
1155
1022
  # raise if you review heavily.
1156
1023
  max_calls_per_day: 50
1157
1024
 
1158
- # Suppress the one-line wizard/init recommendation to set up the codex
1159
- # plugin on Claude-Code hosts. Cosmetic only — never changes behavior.
1160
- suppress_setup_hint: false
1161
-
1162
1025
  # Managed governance of the codex plugin's Stop-hook Review Gate
1163
1026
  # (road-to-team-mode Phase 4). The gate itself stays upstream's; these
1164
1027
  # keys only govern it. Upstream's own warning: "The review gate can
@@ -1214,39 +1077,16 @@ onboarding:
1214
1077
  # plus an always-present "run as-is" option. The suggestion layer
1215
1078
  # never auto-executes — the user picks. See rules/command-suggestion-policy.md.
1216
1079
  commands:
1217
- # --- Orchestrator auto-detection (6.1.0 non-interactive-contract) ---
1218
- #
1219
- # Global kill-switch for the auto-detection layer on cluster
1220
- # orchestrators (/judge, /fix, /analytics, /tests, /override).
1221
- # enabled = (default) orchestrators auto-detect the sub-command per
1222
- # their confidence-tiered detection table.
1223
- # warn = detect, but always confirm the detected sub-command
1224
- # before routing (never silent, even on HIGH confidence).
1225
- # disabled = never auto-detect; orchestrators always show the menu
1226
- # (interactive) or require an explicit sub-command (CI).
1227
- # Per-orchestrator override: auto_detect: false in a command's
1228
- # front-matter. Per-invocation override: --no-auto-detect.
1229
- # See src/agent-src/contexts/execution/non-interactive-contract.md.
1230
- auto_detect: enabled
1231
-
1080
+ # Orchestrator auto-detection (/judge, /fix, /analytics, /tests,
1081
+ # /override) has no global switch: opt one orchestrator out with
1082
+ # `auto_detect: false` in its front-matter, or one invocation with
1083
+ # --no-auto-detect. See
1084
+ # src/agent-src/contexts/execution/non-interactive-contract.md.
1232
1085
  suggestion:
1233
- # Master switch (true, false). false = the layer is silent; explicit
1234
- # /commands still work as today.
1235
- enabled: true
1236
-
1237
- # Minimum match score (0.0–1.0) before a suggestion surfaces.
1238
- # 0.6 = default; raise to 0.7 for stricter behaviour, lower to 0.5
1239
- # if too many useful suggestions are being suppressed.
1240
- confidence_floor: 0.6
1241
-
1242
- # Cooldown in seconds between re-suggestions of the same
1243
- # (command, evidence) pair. Default 600s = 10m.
1244
- cooldown_seconds: 600
1245
-
1246
- # Max number of command suggestions before the as-is option.
1247
- # The as-is option is always extra (so total = max_options + 1).
1248
- max_options: 4
1249
-
1086
+ # The layer is always on; its score floor (0.6), cooldown (600s) and
1087
+ # option cap (4, plus the always-present as-is option) are fixed. A
1088
+ # command's own `suggestion:` frontmatter may still tighten its floor.
1089
+ # To silence one conversation, use the /command-suggestion-off directive.
1250
1090
  # Commands to never suggest. Still work when typed explicitly.
1251
1091
  # Example: ["/refine-ticket", "/work"]
1252
1092
  blocklist: []
@@ -1274,16 +1114,6 @@ commands:
1274
1114
  # reviewer guidance (the richest, ~legacy output).
1275
1115
  detail_level: min
1276
1116
 
1277
- # JSON request/response examples for API-endpoint changes.
1278
- # true (default) = include a fenced example ONLY when it can be
1279
- # grounded in a real source (response DTO/resource,
1280
- # OpenAPI/schema, test fixture, or an actual probe).
1281
- # No grounded source → a one-line pointer, never an
1282
- # invented example (a hallucinated contract misleads
1283
- # reviewers, so it is worse than none).
1284
- # false = never add API examples.
1285
- api_examples: true
1286
-
1287
1117
  # Screenshots for frontend changes. Default false (off). Capability-gated:
1288
1118
  # requires the host to have browser/preview tooling (Playwright / a
1289
1119
  # dev-server URL). When true + a frontend change + no such tooling, the
@@ -1294,13 +1124,9 @@ commands:
1294
1124
  # true = attempt when capable (see command contract).
1295
1125
  screenshots: false
1296
1126
 
1297
- # Optional glob lists that make frontend / API-endpoint detection
1298
- # explicit instead of heuristic. Empty (default) = the command uses a
1299
- # light path/extension heuristic and fails open (no false enrichment
1300
- # when the surface is ambiguous). Populate to pin your project's paths,
1301
- # e.g. ui_paths: ["resources/views/**", "src/pages/**"].
1302
- ui_paths: []
1303
- api_paths: []
1127
+ # API examples (grounded only, never invented) and frontend / API
1128
+ # detection (a light path heuristic that fails open) are fixed
1129
+ # behavior, not settings — see the /create-pr command contract.
1304
1130
 
1305
1131
  # --- Continuity ---
1306
1132
  #
@@ -1350,21 +1176,6 @@ continuity:
1350
1176
  # for the retrieval contract and .augment/skills/memory-consolidation/ for
1351
1177
  # the four-phase loop.
1352
1178
  memory:
1353
- # Cadence for the "🧠 Memory: <hits>/<asks>" visibility line emitted
1354
- # after a memory-consulting step (see docs/contracts/memory-visibility-v1.md).
1355
- # always = (default) emit whenever at least one memory type was asked.
1356
- # auto = emit only when ≥ 3 memory types were consulted (less noise
1357
- # on shallow-retrieval steps).
1358
- # never = suppress the line entirely.
1359
- # The legacy `memory.visibility: off` master switch still wins over this.
1360
- cadence: always
1361
-
1362
- # Inline-review threshold for /memory load.
1363
- # When the unreviewed intake stream contains more than this many
1364
- # entries, /memory load surfaces a top-3 preview block before the
1365
- # full curated load. Set to 0 to disable the inline review entirely.
1366
- review_threshold: 10
1367
-
1368
1179
  # Patterns redacted from transcripts before mining.
1369
1180
  # The TranscriptAdapter applies these as a regex blocklist on every
1370
1181
  # yielded turn. Add personal identifiers, project-internal tokens,
@@ -1426,8 +1237,8 @@ knowledge:
1426
1237
  # and the layer fully no-ops.
1427
1238
  #
1428
1239
  # Turning sharing on does NOT make promotion automatic — promotion is always
1429
- # suggest-then-confirm (auto_promote_threshold gates the *suggestion*, never
1430
- # a silent write). v1 (project-local discipline + cards) is byte-for-byte
1240
+ # suggest-then-confirm (a card seen in two distinct repos triggers the
1241
+ # *suggestion*, never a silent write). v1 (project-local discipline + cards) is byte-for-byte
1431
1242
  # unaffected by this default; only the cross-project store is gated off.
1432
1243
  enabled: true
1433
1244
 
@@ -1440,26 +1251,11 @@ knowledge:
1440
1251
  # deliberate opt-in widening, not the shipped default.
1441
1252
  allowed_tiers: [public]
1442
1253
 
1443
- # Write-time redaction before any card is eligible to go global. Runs the
1444
- # low-impact-corpus-privacy-floor + source-confidentiality pattern set
1445
- # (API keys, internal hostnames, emails, blocklisted field/table names).
1446
- redaction:
1447
- enabled: true
1448
- # halt-and-prompt on a trigger; never silent-share, never auto-rewrite.
1449
- halt_on_trigger: true
1450
-
1451
- # A `public`/`vendor` card seen in >= this many distinct repos triggers a
1452
- # promotion SUGGESTION (one-tap confirm). It never auto-promotes.
1453
- auto_promote_threshold: 2
1454
-
1455
- # Freshness flip thresholds (days) for the untracked global store. A global
1456
- # card whose newest observed_at is older than `hypothesis_after_days` is
1457
- # lead-only (positive structure must be re-confirmed); older than
1458
- # `stale_after_days` it is skipped until re-verified. Negative facts +
1459
- # pointers stay usable as leads regardless.
1460
- freshness:
1461
- hypothesis_after_days: 90
1462
- stale_after_days: 180
1254
+ # Fixed, not settings: write-time redaction (the privacy-floor +
1255
+ # source-confidentiality pattern set) always runs and halts on a trigger;
1256
+ # a card seen in >= 2 distinct repos triggers a promotion SUGGESTION; a
1257
+ # global card older than 90 days is lead-only and older than 180 days is
1258
+ # skipped until re-verified.
1463
1259
 
1464
1260
  # --- Hooks ---
1465
1261
  #
@@ -1468,26 +1264,16 @@ knowledge:
1468
1264
  # concern script under scripts/hooks/ or scripts/. Defaults are safe;
1469
1265
  # tune only when CI surfaces a real signal.
1470
1266
  hooks:
1471
- # Concern budget gate (P3.3, lint_hook_concern_budget.py). Caps how
1472
- # many concerns may bind to a single (platform, event) cell and
1473
- # restricts fail_closed=true to an explicit Tier-1 allowlist.
1474
- #
1475
- # max_per_event — placeholder until Phase 1 of
1476
- # road-to-proof-not-features.md captures real session evidence.
1477
- # Threshold rule per roadmap: max(observed-in-Phase-1) × 1.5, rounded
1478
- # up. 8 = current-observed-max (5) × 1.5 = 7.5 → 8.
1267
+ # Concern budget gate (P3.3, lint_hook_concern_budget). Caps how
1268
+ # many concerns may bind to a single (platform, event) cell — a fixed
1269
+ # 8 — and restricts fail_closed=true to an explicit Tier-1 allowlist.
1270
+ # The gate is warn-only unless run with --strict.
1479
1271
  #
1480
1272
  # tier1_concerns — concerns allowed to block agent execution on
1481
1273
  # failure (fail_closed: true in the manifest). Promotion is explicit
1482
1274
  # opt-in; keep empty until Phase 1 evidence justifies an entry.
1483
- #
1484
- # hard_fail — false = warn-only (default). Flip to true after ≥10
1485
- # captured sessions across host agents per
1486
- # road-to-distribution-and-adoption.md.
1487
1275
  concern_budget:
1488
- max_per_event: 8
1489
1276
  tier1_concerns: []
1490
- hard_fail: false
1491
1277
 
1492
1278
  # PostToolUse prompt-injection scanner (road-to-security-pillar.md P3.2).
1493
1279
  # Default-OFF. When enabled, scans tool output (file reads, web fetches, MCP
@@ -1680,10 +1466,6 @@ hooks:
1680
1466
  # Unknown keys are rejected hard by scripts/validate_decision_engine.py
1681
1467
  # (wired into `task ci`). Removing the entire block restores observe-only.
1682
1468
  decision_engine:
1683
- # Opt-in for DecisionTraceHook (default false). Mirrored into
1684
- # hooks.decision_trace.enabled by work_engine.hooks.settings.
1685
- surface_traces: false
1686
-
1687
1469
  # Confidence-band floor for Phase=Plan.
1688
1470
  # off = no floor (default)
1689
1471
  # low = refuse to advance when band is below low
@@ -1706,20 +1488,15 @@ decision_engine:
1706
1488
 
1707
1489
  # What happens when a gate fires.
1708
1490
  # stop = halt the engine with reason on the trace (default)
1709
- # ask = prompt the user; falls back to on_block_fallback in CI
1491
+ # ask = prompt the user; stops after ask_timeout_seconds in CI
1710
1492
  # warn = log the reason but advance
1711
1493
  on_block: stop
1712
1494
 
1713
1495
  # Non-TTY timeout (seconds) when on_block=ask runs without a TTY
1714
1496
  # (CI=true env or stdin not a TTY). After the timeout, the engine
1715
- # applies on_block_fallback and surfaces block_reason=ask_timeout.
1497
+ # stops (fail-safe) and surfaces block_reason=ask_timeout.
1716
1498
  ask_timeout_seconds: 30
1717
1499
 
1718
- # Resolution after ask_timeout fires.
1719
- # stop = halt the engine (default — fail-safe)
1720
- # warn = log and advance
1721
- on_block_fallback: stop
1722
-
1723
1500
  # --- Update check ---
1724
1501
  #
1725
1502
  # Daily background check against the npm registry for a newer
@@ -1734,16 +1511,6 @@ decision_engine:
1734
1511
  update_check:
1735
1512
  enabled: true
1736
1513
 
1737
- # ─── explain ──────────────────────────────────────────────────────────────
1738
- # `agent-config explain last` renders the read-only execution trace for the
1739
- # most recent /work run (state file `.work-state.json`). Trace output is
1740
- # PII-scrubbed before emission; the command never makes network calls and
1741
- # never writes to state. Set `enable_last: false` to suppress the subcommand
1742
- # (the call still exits 0 with a one-line notice — used by air-gapped
1743
- # tenants that disable diagnostics surface-wide).
1744
- explain:
1745
- enable_last: true
1746
-
1747
1514
  # ─── legal-review-prep consent gate ──────────────────────────────────────────
1748
1515
  # The legal-review-prep pack is high-risk (EU/DE legal review-prep, NOT legal
1749
1516
  # advice). It stays inactive until you acknowledge it is not legal advice — set
@@ -267,3 +267,19 @@
267
267
  policy: ignored
268
268
  writer: Fastify wizard server (POST /api/v1/wizard/state)
269
269
  rationale: Step-transition crash-recovery; deleted on wizard finish; local-only
270
+
271
+ # ---------------------------------------------------------------------------
272
+ # Neighbour census caches
273
+ # ---------------------------------------------------------------------------
274
+
275
+ - path: /agents/reports/neighbour-overlap.json
276
+ scope: both
277
+ policy: ignored
278
+ writer: agent-config doctor neighbours (audit_skill_overlap cross-root mode)
279
+ rationale: Cross-root overlap pairs; carries each neighbour skill's ABSOLUTE path under the consumer's home directory
280
+
281
+ - path: /agents/reports/neighbour-scan.json
282
+ scope: both
283
+ policy: ignored
284
+ writer: agent-config doctor neighbours (skill_origin shape-scan verdicts)
285
+ rationale: Shape-scan verdicts keyed by the consumer's own installed-skill inventory and per-file digests
@@ -62,10 +62,14 @@
62
62
  "axis": "self",
63
63
  "owner_surface": "src/skills/test-driven-development/SKILL.md",
64
64
  "projection": null,
65
- "state": "available",
66
- "rationale": "Was `projection: null` on the rationale that \"an observed failing test is a fact about a run, and no repository scan can recover it\". That held until 2026-08-26, when this entry's own `revisit_if` fired: `src/scripts/_lib/test_red_state.ts` now emits a durable RED-run record carrying the target, the observed failure CLASS, and a run identifier a later reader can cite. The classification stays the TDD skill's -- the store records the class the caller observed and never decides it, because a store that classified would be a second opinion competing with the contract. `projection` stays null on the contract's own terms: it names a grader DIMENSION, and `grade_target_readiness` reads a target repository, while this record is gitignored per-run state at `agents/runtime/state/test-results.json` on the machine that ran the test. An `axis: self` fact no shipped probe can read off a target is exactly the null case. Still owned by the RED -> GREEN -> REFACTOR cycle; what changed is that the cycle now leaves a trace.",
65
+ "state": "degraded",
66
+ "limitations": [
67
+ "the recorder is built and tested (22 tests) but no run produces its record — `test_red_state.ts`'s writer has no production caller, so `agents/runtime/state/test-results.json` is never populated outside a direct unit-test invocation",
68
+ "the caller belongs to `road-to-tdd-phase-guard.md`'s stub, which says \"No hook concern was registered\" — wiring it is that stub's to do, not this entry's"
69
+ ],
70
+ "rationale": "Was `projection: null` on the rationale that \"an observed failing test is a fact about a run, and no repository scan can recover it\". That held until 2026-08-26, when this entry's own `revisit_if` fired: `src/scripts/_lib/test_red_state.ts` now emits a durable RED-run record carrying the target, the observed failure CLASS, and a run identifier a later reader can cite. The classification stays the TDD skill's -- the store records the class the caller observed and never decides it, because a store that classified would be a second opinion competing with the contract. `projection` stays null on the contract's own terms: it names a grader DIMENSION, and `grade_target_readiness` reads a target repository, while this record is gitignored per-run state at `agents/runtime/state/test-results.json` on the machine that ran the test. An `axis: self` fact no shipped probe can read off a target is exactly the null case. Still owned by the RED -> GREEN -> REFACTOR cycle; what the module adds is a trace the cycle could leave -- `available` claimed the cycle already leaves one, which road-to-modules-that-something-calls.md Phase 2.4 found false: the writer has no caller, so nothing today leaves that trace.",
67
71
  "evidence": "src/scripts/_lib/test_red_state.ts + tests/scripts/test_red_state.test.ts (22 tests). The load-bearing half is the invalid set: a broken fixture, a test syntax error, a missing unrelated dependency and a runner fault are recorded and marked NOT a valid red, so a production edit cannot be cleared by a failure that was never about the behaviour under test. Sensitivity proven -- admitting `broken-fixture` to the valid set turns 4 of the 22 red.",
68
- "revisit_if": "The record is gitignored per-run state, so it proves a red was observed on THIS machine and nothing about CI or another developer. Revisit if a cross-machine claim is ever wanted: that needs a tracked artefact, which is a different decision under ADR-124 and not this entry's to make. Also revisit if a consumer of the record starts fuzzy-matching targets -- exact match is what stops a red observed for one behaviour clearing an edit to another."
72
+ "revisit_if": "The record is gitignored per-run state, so it proves a red was observed on THIS machine and nothing about CI or another developer. Revisit if a cross-machine claim is ever wanted: that needs a tracked artefact, which is a different decision under ADR-124 and not this entry's to make. Also revisit if a consumer of the record starts fuzzy-matching targets -- exact match is what stops a red observed for one behaviour clearing an edit to another. Revisit to `available` when `road-to-tdd-phase-guard.md`'s caller lands and a run actually produces the record."
69
73
  },
70
74
  "mutation-sensitivity": {
71
75
  "axis": "target",
@@ -168,6 +168,9 @@ ci_only:
168
168
  - id: check_release_surface_equality
169
169
  class: release
170
170
  reason: "shells out to `gh pr diff <n>` for a live release PR — there is no PR body to compare the CHANGELOG against on a local checkout"
171
+ - id: check_release_manifest_content
172
+ class: release
173
+ reason: "compares a release PR's manifests against its base; on any other branch the version fields do not move and the assertion is vacuous. `src/config/release-gate-locality.yml` gives it a `local:` command under the release-shape row, so `task release:verify` runs it on a release head before the PR exists"
171
174
  - id: check_release_highlights
172
175
  class: release
173
176
  reason: "requires `--version X.Y.Z` and derives evidence from a release span; exits 2 without one, so a local run gates nothing"