@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
@@ -0,0 +1,833 @@
1
+ {
2
+ "_comment": "Stable obligation ids per rule (road-to-enforcement-per-obligation, council 2026-10-07, option (a)). One id per normative obligation, `<rule>.<obligation>`, instruction-only obligations included so the denominator is not shaped by what is gateable. `bindings` maps an enforced_by entry, spelled as in the rule frontmatter, to the ids it refuses; an entry absent from `bindings` is UNBOUND and keeps rule-level credit only, an entry bound to [] refuses none of the rule obligations. Kernel rules are absent and stay at rule granularity. The id is never derived from law text, so rewording a law keeps its id. Read by src/scripts/_lib/rule_obligations.ts and check_enforcement_coverage; checked by tests/scripts/rule_obligation_ids.test.ts.",
3
+ "rules": {
4
+ "active-remediation": {
5
+ "obligations": [
6
+ "active-remediation.never-ignore-spotted-issue",
7
+ "active-remediation.fix-small-aligned-now",
8
+ "active-remediation.note-then-ask-after-task",
9
+ "active-remediation.follow-up-pr-when-many",
10
+ "active-remediation.live-security-gap-not-deferred",
11
+ "active-remediation.ask-carries-candidate-fixes"
12
+ ]
13
+ },
14
+ "analysis-skill-routing": {
15
+ "obligations": [
16
+ "analysis-skill-routing.narrowest-analysis-skill"
17
+ ]
18
+ },
19
+ "architecture": {
20
+ "obligations": [
21
+ "architecture.thin-handlers",
22
+ "architecture.validate-at-request-boundary",
23
+ "architecture.read-project-docs-before-structure"
24
+ ]
25
+ },
26
+ "artifact-drafting-protocol": {
27
+ "obligations": [
28
+ "artifact-drafting-protocol.understand-research-draft-phases",
29
+ "artifact-drafting-protocol.numbered-prompt-per-phase",
30
+ "artifact-drafting-protocol.commit-only-on-approval"
31
+ ]
32
+ },
33
+ "artifact-engagement-recording": {
34
+ "obligations": [
35
+ "artifact-engagement-recording.record-engagement-when-enabled",
36
+ "artifact-engagement-recording.content-free-event-schema"
37
+ ]
38
+ },
39
+ "augment-edit-discipline": {
40
+ "obligations": [
41
+ "augment-edit-discipline.project-agnostic-content",
42
+ "augment-edit-discipline.sync-counts-and-references"
43
+ ]
44
+ },
45
+ "autonomous-execution": {
46
+ "obligations": [
47
+ "autonomous-execution.task-scoped-autonomy",
48
+ "autonomous-execution.fix-loop-strategy-ladder",
49
+ "autonomous-execution.allowlist-growth-cap"
50
+ ]
51
+ },
52
+ "brand-consistency": {
53
+ "obligations": [
54
+ "brand-consistency.values-trace-to-brand-tokens"
55
+ ]
56
+ },
57
+ "brand-source-of-truth": {
58
+ "obligations": [
59
+ "brand-source-of-truth.consumer-brand-wins",
60
+ "brand-source-of-truth.values-trace-to-brand-tokens"
61
+ ]
62
+ },
63
+ "broken-access-control": {
64
+ "obligations": [
65
+ "broken-access-control.server-side-ownership-check",
66
+ "broken-access-control.three-negative-tests",
67
+ "broken-access-control.server-strips-fields-by-role",
68
+ "broken-access-control.live-exposure-surfaced"
69
+ ]
70
+ },
71
+ "cli-output-handling": {
72
+ "obligations": [
73
+ "cli-output-handling.wrap-verbose-output-with-rtk"
74
+ ]
75
+ },
76
+ "code-comment-discipline": {
77
+ "obligations": [
78
+ "code-comment-discipline.comment-states-why-only",
79
+ "code-comment-discipline.no-restating-comments",
80
+ "code-comment-discipline.no-signature-mirror-docblock",
81
+ "code-comment-discipline.no-provenance-comments"
82
+ ],
83
+ "bindings": {
84
+ "validator:src/scripts/lint_code_comments.ts": [
85
+ "code-comment-discipline.no-provenance-comments"
86
+ ],
87
+ "hook:comment-discipline": [
88
+ "code-comment-discipline.no-provenance-comments"
89
+ ]
90
+ }
91
+ },
92
+ "code-provenance": {
93
+ "obligations": [
94
+ "code-provenance.no-verbatim-external-code",
95
+ "code-provenance.ledger-and-license-check-per-borrow",
96
+ "code-provenance.unknown-license-no-borrow",
97
+ "code-provenance.harvest-claims-cited-or-labelled"
98
+ ]
99
+ },
100
+ "command-suggestion-policy": {
101
+ "obligations": [
102
+ "command-suggestion-policy.suggest-never-invoke",
103
+ "command-suggestion-policy.run-as-is-always-present",
104
+ "command-suggestion-policy.high-tier-removes-only-second-confirmation"
105
+ ]
106
+ },
107
+ "commit-conventions": {
108
+ "obligations": [
109
+ "commit-conventions.repo-convention-or-conventional-commits",
110
+ "commit-conventions.emoji-free-subjects-and-branches"
111
+ ]
112
+ },
113
+ "communication-through-line": {
114
+ "obligations": [
115
+ "communication-through-line.state-goal-once",
116
+ "communication-through-line.tie-turns-to-goal",
117
+ "communication-through-line.one-end-summary"
118
+ ]
119
+ },
120
+ "content-quoting-floor": {
121
+ "obligations": [
122
+ "content-quoting-floor.quote-max-fifteen-words",
123
+ "content-quoting-floor.one-quote-per-source",
124
+ "content-quoting-floor.no-complete-short-work",
125
+ "content-quoting-floor.paraphrase-by-default"
126
+ ]
127
+ },
128
+ "context-hygiene": {
129
+ "obligations": [
130
+ "context-hygiene.suggest-fresh-chat-at-thresholds",
131
+ "context-hygiene.stop-after-three-failures",
132
+ "context-hygiene.no-tool-loop",
133
+ "context-hygiene.read-loop-abort",
134
+ "context-hygiene.one-waiter-per-condition"
135
+ ]
136
+ },
137
+ "copilot-routing": {
138
+ "obligations": [
139
+ "copilot-routing.route-copilot-tuning-to-copilot-config"
140
+ ]
141
+ },
142
+ "council-availability": {
143
+ "obligations": [
144
+ "council-availability.cli-resolver-decides-availability",
145
+ "council-availability.probe-before-claiming-unavailable",
146
+ "council-availability.never-copy-global-config",
147
+ "council-availability.fan-out-is-not-a-council"
148
+ ]
149
+ },
150
+ "cross-source-consistency": {
151
+ "obligations": [
152
+ "cross-source-consistency.surface-discrepancy-and-ask",
153
+ "cross-source-consistency.no-silent-scope-expansion"
154
+ ]
155
+ },
156
+ "decision-revisit-gate": {
157
+ "obligations": [
158
+ "decision-revisit-gate.surface-lock-blocking-benefit",
159
+ "decision-revisit-gate.council-first-reevaluation",
160
+ "decision-revisit-gate.user-for-reserved-set",
161
+ "decision-revisit-gate.evaluate-lock-before-citing"
162
+ ]
163
+ },
164
+ "delegation-policy": {
165
+ "obligations": [
166
+ "delegation-policy.dispatch-delegable-slices",
167
+ "delegation-policy.ambiguity-asks-not-spawns",
168
+ "delegation-policy.verify-subagent-returns"
169
+ ]
170
+ },
171
+ "design-fidelity": {
172
+ "obligations": [
173
+ "design-fidelity.build-provided-design-one-to-one",
174
+ "design-fidelity.surface-better-idea-as-proposal",
175
+ "design-fidelity.source-over-screenshot",
176
+ "design-fidelity.adapt-artifact-code-by-default",
177
+ "design-fidelity.fidelity-proof-artifact"
178
+ ]
179
+ },
180
+ "design-review-after-ui-write": {
181
+ "obligations": [
182
+ "design-review-after-ui-write.review-ui-before-done",
183
+ "design-review-after-ui-write.scope-verdict-without-render"
184
+ ]
185
+ },
186
+ "devcontainer-routing": {
187
+ "obligations": [
188
+ "devcontainer-routing.route-dev-environment-to-devcontainer"
189
+ ]
190
+ },
191
+ "doc-screenshot-hygiene": {
192
+ "obligations": [
193
+ "doc-screenshot-hygiene.anonymize-before-shipping",
194
+ "doc-screenshot-hygiene.confirm-data-bearing-embed",
195
+ "doc-screenshot-hygiene.no-terminal-screenshots"
196
+ ]
197
+ },
198
+ "docker-commands": {
199
+ "obligations": [
200
+ "docker-commands.php-tooling-in-container"
201
+ ]
202
+ },
203
+ "domain-adoption-policy": {
204
+ "obligations": [
205
+ "domain-adoption-policy.three-gates-before-new-domain"
206
+ ]
207
+ },
208
+ "domain-safety-disclaimer": {
209
+ "obligations": [
210
+ "domain-safety-disclaimer.advisory-disclaimer",
211
+ "domain-safety-disclaimer.refuse-diagnosis-and-dosage",
212
+ "domain-safety-disclaimer.strategic-assumptions-and-confidence"
213
+ ]
214
+ },
215
+ "domain-safety-pii": {
216
+ "obligations": [
217
+ "domain-safety-pii.placeholders-in-drafts",
218
+ "domain-safety-pii.allowlisted-log-fields",
219
+ "domain-safety-pii.export-redaction-and-reidentification-check",
220
+ "domain-safety-pii.privilege-markers-block-outbound"
221
+ ]
222
+ },
223
+ "domain-safety-retention": {
224
+ "obligations": [
225
+ "domain-safety-retention.name-jurisdiction-gap",
226
+ "domain-safety-retention.no-deletion-under-hold",
227
+ "domain-safety-retention.raw-versus-aggregate-tracks",
228
+ "domain-safety-retention.dsr-readiness-floor"
229
+ ]
230
+ },
231
+ "downstream-changes": {
232
+ "obligations": [
233
+ "downstream-changes.update-all-downstream",
234
+ "downstream-changes.defect-pattern-search-with-count",
235
+ "downstream-changes.doc-follows-public-surface"
236
+ ]
237
+ },
238
+ "engineering-safety-floor": {
239
+ "obligations": [
240
+ "engineering-safety-floor.production-moves-need-this-turn-confirmation",
241
+ "engineering-safety-floor.surface-blast-radius-and-rollback"
242
+ ]
243
+ },
244
+ "evaluator-independence": {
245
+ "obligations": [
246
+ "evaluator-independence.no-verdict-in-evaluator-prompt",
247
+ "evaluator-independence.no-narrowed-review-scope",
248
+ "evaluator-independence.prompt-recorded-with-verdict",
249
+ "evaluator-independence.one-evaluation-per-turn",
250
+ "evaluator-independence.no-silent-test-weakening"
251
+ ]
252
+ },
253
+ "external-code-graph-interop": {
254
+ "obligations": [
255
+ "external-code-graph-interop.query-shipped-index-first",
256
+ "external-code-graph-interop.report-index-freshness"
257
+ ]
258
+ },
259
+ "external-reference-deep-dive": {
260
+ "obligations": [
261
+ "external-reference-deep-dive.deep-dive-before-conclusion",
262
+ "external-reference-deep-dive.cite-inspected-sources"
263
+ ]
264
+ },
265
+ "fast-path-marker-visibility": {
266
+ "obligations": [
267
+ "fast-path-marker-visibility.verbatim-fast-path-marker"
268
+ ]
269
+ },
270
+ "finance-safety-floor": {
271
+ "obligations": [
272
+ "finance-safety-floor.no-final-investment-call",
273
+ "finance-safety-floor.disclosure-footer",
274
+ "finance-safety-floor.sensitivity-and-counter-case"
275
+ ]
276
+ },
277
+ "fix-what-you-see": {
278
+ "obligations": [
279
+ "fix-what-you-see.fix-or-roadmap-whoever-wrote-it",
280
+ "fix-what-you-see.no-red-check-handed-back"
281
+ ]
282
+ },
283
+ "framework-neutrality-in-generic-skills": {
284
+ "obligations": [
285
+ "framework-neutrality-in-generic-skills.no-framework-mandate-in-generic-artifacts"
286
+ ],
287
+ "bindings": {
288
+ "validator:src/scripts/lint_framework_leakage.ts": [
289
+ "framework-neutrality-in-generic-skills.no-framework-mandate-in-generic-artifacts"
290
+ ]
291
+ }
292
+ },
293
+ "git-history-discipline": {
294
+ "obligations": [
295
+ "git-history-discipline.no-unsolicited-rewrite",
296
+ "git-history-discipline.rewrite-pairs-with-repush",
297
+ "git-history-discipline.never-drop-inherited-commits",
298
+ "git-history-discipline.no-hook-bypass"
299
+ ],
300
+ "bindings": {
301
+ "hook:block-no-verify": [
302
+ "git-history-discipline.no-hook-bypass"
303
+ ]
304
+ }
305
+ },
306
+ "guidelines": {
307
+ "obligations": [
308
+ "guidelines.check-guideline-before-code"
309
+ ]
310
+ },
311
+ "history-discipline": {
312
+ "obligations": [
313
+ "history-discipline.audit-who-what-when",
314
+ "history-discipline.cheapest-sufficient-tier",
315
+ "history-discipline.audit-table-growth-budget",
316
+ "history-discipline.audit-privacy-interlock",
317
+ "history-discipline.no-lossy-audit-trail"
318
+ ]
319
+ },
320
+ "icon-consistency": {
321
+ "obligations": [
322
+ "icon-consistency.one-icon-system"
323
+ ]
324
+ },
325
+ "image-likeness-and-rights": {
326
+ "obligations": [
327
+ "image-likeness-and-rights.rights-before-likeness-mark-or-style"
328
+ ]
329
+ },
330
+ "improve-before-implement": {
331
+ "obligations": [
332
+ "improve-before-implement.demand-gate",
333
+ "improve-before-implement.solution-size-ladder",
334
+ "improve-before-implement.three-pre-implementation-checks",
335
+ "improve-before-implement.challenge-never-refuse"
336
+ ]
337
+ },
338
+ "invite-challenge": {
339
+ "obligations": [
340
+ "invite-challenge.confirm-goal-before-complex-plan"
341
+ ]
342
+ },
343
+ "laravel-routing": {
344
+ "obligations": [
345
+ "laravel-routing.route-laravel-php-to-laravel-skill"
346
+ ]
347
+ },
348
+ "laravel-translations": {
349
+ "obligations": [
350
+ "laravel-translations.user-strings-via-translation-keys"
351
+ ]
352
+ },
353
+ "legal-safety-floor": {
354
+ "obligations": [
355
+ "legal-safety-floor.no-binding-legal-conclusion",
356
+ "legal-safety-floor.consent-gate",
357
+ "legal-safety-floor.council-gated-work-product",
358
+ "legal-safety-floor.no-individual-case-examination",
359
+ "legal-safety-floor.work-product-line",
360
+ "legal-safety-floor.eu-de-scope-only"
361
+ ]
362
+ },
363
+ "lethal-trifecta-guard": {
364
+ "obligations": [
365
+ "lethal-trifecta-guard.break-a-leg-or-gate-egress"
366
+ ],
367
+ "bindings": {
368
+ "validator:src/scripts/lint_skill_frontmatter_safety.ts": []
369
+ }
370
+ },
371
+ "linked-projects-onboarding-gate": {
372
+ "obligations": [
373
+ "linked-projects-onboarding-gate.prompt-once-for-sibling-repo"
374
+ ]
375
+ },
376
+ "low-impact-corpus-privacy-floor": {
377
+ "obligations": [
378
+ "low-impact-corpus-privacy-floor.redactor-clears-every-entry",
379
+ "low-impact-corpus-privacy-floor.refuse-never-auto-rewrite"
380
+ ]
381
+ },
382
+ "markdown-safe-codeblocks": {
383
+ "obligations": [
384
+ "markdown-safe-codeblocks.no-nested-triple-backticks"
385
+ ]
386
+ },
387
+ "media-governance-routing": {
388
+ "obligations": [
389
+ "media-governance-routing.consult-media-policies-before-prompt"
390
+ ],
391
+ "bindings": {
392
+ "validator:src/scripts/lint_media_policy_linkage.ts": []
393
+ }
394
+ },
395
+ "media-sync-ground-truth": {
396
+ "obligations": [
397
+ "media-sync-ground-truth.transcribe-audio-first",
398
+ "media-sync-ground-truth.vocal-map-signoff-before-render"
399
+ ]
400
+ },
401
+ "minimal-safe-diff": {
402
+ "obligations": [
403
+ "minimal-safe-diff.smallest-change",
404
+ "minimal-safe-diff.no-drive-by-edits",
405
+ "minimal-safe-diff.repair-shared-path-once",
406
+ "minimal-safe-diff.clean-own-orphans"
407
+ ]
408
+ },
409
+ "missing-skill-recovery": {
410
+ "obligations": [
411
+ "missing-skill-recovery.no-absence-from-catalogue",
412
+ "missing-skill-recovery.ask-by-task",
413
+ "missing-skill-recovery.no-rebuild-of-undelivered-skill"
414
+ ]
415
+ },
416
+ "missing-tool-handling": {
417
+ "obligations": [
418
+ "missing-tool-handling.ask-before-installing-missing-tool"
419
+ ]
420
+ },
421
+ "model-recommendation": {
422
+ "obligations": [
423
+ "model-recommendation.route-to-tier-best-model"
424
+ ]
425
+ },
426
+ "neighbour-precedence": {
427
+ "obligations": [
428
+ "neighbour-precedence.authority-bands-first",
429
+ "neighbour-precedence.follow-source-order",
430
+ "neighbour-precedence.name-followed-instruction",
431
+ "neighbour-precedence.neighbour-done-is-not-completion"
432
+ ]
433
+ },
434
+ "no-attribution-footers": {
435
+ "obligations": [
436
+ "no-attribution-footers.no-attribution-footer"
437
+ ]
438
+ },
439
+ "no-decorative-emojis-in-git-surfaces": {
440
+ "obligations": [
441
+ "no-decorative-emojis-in-git-surfaces.no-emoji-in-titles-and-comments",
442
+ "no-decorative-emojis-in-git-surfaces.no-blacklist-emoji",
443
+ "no-decorative-emojis-in-git-surfaces.body-emoji-needs-legend"
444
+ ]
445
+ },
446
+ "no-pr-progress-comments": {
447
+ "obligations": [
448
+ "no-pr-progress-comments.no-unsolicited-pr-comments"
449
+ ]
450
+ },
451
+ "no-roadmap-references": {
452
+ "obligations": [
453
+ "no-roadmap-references.no-roadmap-file-links",
454
+ "no-roadmap-references.no-council-artefact-links"
455
+ ],
456
+ "bindings": {
457
+ "validator:src/scripts/check_no_roadmap_refs.ts": [
458
+ "no-roadmap-references.no-roadmap-file-links"
459
+ ],
460
+ "validator:src/scripts/check_council_references.ts": [
461
+ "no-roadmap-references.no-council-artefact-links"
462
+ ]
463
+ }
464
+ },
465
+ "notes-first-reasoning": {
466
+ "obligations": [
467
+ "notes-first-reasoning.reasoning-in-notes-file"
468
+ ]
469
+ },
470
+ "onboarding-gate": {
471
+ "obligations": [
472
+ "onboarding-gate.setup-before-first-request"
473
+ ]
474
+ },
475
+ "output-discipline": {
476
+ "obligations": [
477
+ "output-discipline.no-placeholder-prose",
478
+ "output-discipline.paused-marker-on-overflow"
479
+ ],
480
+ "bindings": {
481
+ "validator:src/scripts/lint_output_slop.ts": [
482
+ "output-discipline.no-placeholder-prose"
483
+ ]
484
+ }
485
+ },
486
+ "package-ci-checks": {
487
+ "obligations": [
488
+ "package-ci-checks.task-ci-green-before-push"
489
+ ]
490
+ },
491
+ "persona-governance": {
492
+ "obligations": [
493
+ "persona-governance.per-domain-specialist-cap",
494
+ "persona-governance.skill-citation-floor",
495
+ "persona-governance.deprecation-candidate-when-full",
496
+ "persona-governance.schema-conformance"
497
+ ],
498
+ "bindings": {
499
+ "validator:src/scripts/lint_persona_governance.ts": [
500
+ "persona-governance.per-domain-specialist-cap"
501
+ ]
502
+ }
503
+ },
504
+ "php-coding": {
505
+ "obligations": [
506
+ "php-coding.php-coding-patterns"
507
+ ]
508
+ },
509
+ "playbook-precedence": {
510
+ "obligations": [
511
+ "playbook-precedence.matching-playbook-first",
512
+ "playbook-precedence.propose-playbook-commands",
513
+ "playbook-precedence.no-synthesised-commands"
514
+ ]
515
+ },
516
+ "prefer-enums-over-literals": {
517
+ "obligations": [
518
+ "prefer-enums-over-literals.multi-state-field-is-enum",
519
+ "prefer-enums-over-literals.defer-literal-refactor-to-ask"
520
+ ]
521
+ },
522
+ "preservation-guard": {
523
+ "obligations": [
524
+ "preservation-guard.every-passage-stays",
525
+ "preservation-guard.iron-law-headings-verbatim",
526
+ "preservation-guard.fences-byte-for-byte",
527
+ "preservation-guard.no-weakening",
528
+ "preservation-guard.no-scope-broadening"
529
+ ],
530
+ "bindings": {
531
+ "validator:src/scripts/check_condensation.ts": [
532
+ "preservation-guard.every-passage-stays",
533
+ "preservation-guard.iron-law-headings-verbatim",
534
+ "preservation-guard.fences-byte-for-byte"
535
+ ],
536
+ "validator:src/scripts/skill_linter.ts": []
537
+ }
538
+ },
539
+ "provider-lifecycle-discipline": {
540
+ "obligations": [
541
+ "provider-lifecycle-discipline.no-silent-non-stable-provider",
542
+ "provider-lifecycle-discipline.read-tier-before-picking"
543
+ ]
544
+ },
545
+ "question-not-instruction": {
546
+ "obligations": [
547
+ "question-not-instruction.answer-questions-never-act"
548
+ ]
549
+ },
550
+ "recurring-criticism": {
551
+ "obligations": [
552
+ "recurring-criticism.reopen-dismissing-disposition",
553
+ "recurring-criticism.resolve-on-evidence-not-count",
554
+ "recurring-criticism.no-hardening-by-weakening-floor"
555
+ ]
556
+ },
557
+ "reviewer-awareness": {
558
+ "obligations": [
559
+ "reviewer-awareness.reviewer-by-path-and-risk",
560
+ "reviewer-awareness.consult-ownership-before-safety-claim"
561
+ ]
562
+ },
563
+ "roadmap-ci-steps-policy": {
564
+ "obligations": [
565
+ "roadmap-ci-steps-policy.no-scheduled-pipeline-steps",
566
+ "roadmap-ci-steps-policy.skip-pipeline-steps-inline"
567
+ ]
568
+ },
569
+ "roadmap-progress-sync": {
570
+ "obligations": [
571
+ "roadmap-progress-sync.regen-dashboard-same-response",
572
+ "roadmap-progress-sync.flip-checkbox-with-work",
573
+ "roadmap-progress-sync.no-silent-archive-with-deferred",
574
+ "roadmap-progress-sync.park-blocked-roadmaps-in-later",
575
+ "roadmap-progress-sync.archive-in-completing-pr"
576
+ ]
577
+ },
578
+ "role-mode-adherence": {
579
+ "obligations": [
580
+ "role-mode-adherence.contract-fields-in-order",
581
+ "role-mode-adherence.mode-marker",
582
+ "role-mode-adherence.refuse-forbidden-work"
583
+ ]
584
+ },
585
+ "rule-type-governance": {
586
+ "obligations": [
587
+ "rule-type-governance.always-versus-auto-per-table"
588
+ ]
589
+ },
590
+ "runtime-safety": {
591
+ "obligations": [
592
+ "runtime-safety.manual-default-execution",
593
+ "runtime-safety.assisted-proposes-only",
594
+ "runtime-safety.automated-requirements",
595
+ "runtime-safety.allowlisted-handlers"
596
+ ]
597
+ },
598
+ "scale-discipline": {
599
+ "obligations": [
600
+ "scale-discipline.indexes-with-queries",
601
+ "scale-discipline.bounded-reads",
602
+ "scale-discipline.reversible-migrations",
603
+ "scale-discipline.append-only-retention",
604
+ "scale-discipline.thin-sync-handler",
605
+ "scale-discipline.durable-queue-after-commit",
606
+ "scale-discipline.finite-resource-headroom",
607
+ "scale-discipline.waiver-carries-reason"
608
+ ]
609
+ },
610
+ "secret-vcs-guard": {
611
+ "obligations": [
612
+ "secret-vcs-guard.no-credential-in-tracked-file",
613
+ "secret-vcs-guard.detect-show-ask-offer",
614
+ "secret-vcs-guard.never-silently-strip",
615
+ "secret-vcs-guard.rotate-first-when-in-history"
616
+ ],
617
+ "bindings": {
618
+ "validator:src/scripts/check_secret_leak.ts": [
619
+ "secret-vcs-guard.no-credential-in-tracked-file"
620
+ ]
621
+ }
622
+ },
623
+ "security-sensitive-stop": {
624
+ "obligations": [
625
+ "security-sensitive-stop.threat-model-before-first-edit",
626
+ "security-sensitive-stop.ask-when-analysis-blocked"
627
+ ]
628
+ },
629
+ "self-repair-loop": {
630
+ "obligations": [
631
+ "self-repair-loop.queue-and-fix-own-defects",
632
+ "self-repair-loop.fix-in-agent-config-not-project",
633
+ "self-repair-loop.correct-turn-openly",
634
+ "self-repair-loop.outward-step-needs-user-word"
635
+ ]
636
+ },
637
+ "senior-engineering-discipline": {
638
+ "obligations": [
639
+ "senior-engineering-discipline.generalize-not-overfit",
640
+ "senior-engineering-discipline.supply-invisible-controls",
641
+ "senior-engineering-discipline.verify-apis-against-source",
642
+ "senior-engineering-discipline.changed-files-static-pass-before-push"
643
+ ]
644
+ },
645
+ "session-canary": {
646
+ "obligations": [
647
+ "session-canary.greet-by-name-at-task-start",
648
+ "session-canary.keep-reply-close-markers",
649
+ "session-canary.surface-dropped-canary"
650
+ ]
651
+ },
652
+ "settings-ask-protocol": {
653
+ "obligations": [
654
+ "settings-ask-protocol.one-settings-question-per-execution",
655
+ "settings-ask-protocol.class-decides-storage",
656
+ "settings-ask-protocol.conservative-defaults-named",
657
+ "settings-ask-protocol.no-silent-permissive-default"
658
+ ]
659
+ },
660
+ "size-enforcement": {
661
+ "obligations": [
662
+ "size-enforcement.split-by-responsibility",
663
+ "size-enforcement.pitfalls-as-section-not-skill",
664
+ "size-enforcement.small-rule-files"
665
+ ]
666
+ },
667
+ "skill-improvement-trigger": {
668
+ "obligations": [
669
+ "skill-improvement-trigger.capture-learning-after-task"
670
+ ]
671
+ },
672
+ "skill-quality": {
673
+ "obligations": [
674
+ "skill-quality.executable-validated-self-contained-skills"
675
+ ],
676
+ "bindings": {
677
+ "validator:src/scripts/skill_linter.ts": [
678
+ "skill-quality.executable-validated-self-contained-skills"
679
+ ]
680
+ }
681
+ },
682
+ "slash-command-routing-policy": {
683
+ "obligations": [
684
+ "slash-command-routing-policy.route-to-command-file"
685
+ ]
686
+ },
687
+ "source-confidentiality": {
688
+ "obligations": [
689
+ "source-confidentiality.no-derivation-attribution",
690
+ "source-confidentiality.encrypted-source-links",
691
+ "source-confidentiality.anonymized-tracked-harvest-roadmaps"
692
+ ],
693
+ "bindings": {
694
+ "validator:src/scripts/check_no_external_sources.ts": [
695
+ "source-confidentiality.no-derivation-attribution"
696
+ ]
697
+ }
698
+ },
699
+ "source-discovery-gate": {
700
+ "obligations": [
701
+ "source-discovery-gate.evidence-before-structural-claim",
702
+ "source-discovery-gate.local-before-remote"
703
+ ]
704
+ },
705
+ "source-of-truth": {
706
+ "obligations": [
707
+ "source-of-truth.no-edits-in-projections",
708
+ "source-of-truth.edit-src-then-condense"
709
+ ],
710
+ "bindings": {
711
+ "validator:src/scripts/check_condensation.ts": [
712
+ "source-of-truth.no-edits-in-projections",
713
+ "source-of-truth.edit-src-then-condense"
714
+ ]
715
+ }
716
+ },
717
+ "spreadsheet-source-quality": {
718
+ "obligations": [
719
+ "spreadsheet-source-quality.official-sources-first",
720
+ "spreadsheet-source-quality.unofficial-figures-marked-with-permission",
721
+ "spreadsheet-source-quality.source-per-cell"
722
+ ]
723
+ },
724
+ "strategy-safety-floor": {
725
+ "obligations": [
726
+ "strategy-safety-floor.no-final-strategy-call",
727
+ "strategy-safety-floor.disclosure-footer",
728
+ "strategy-safety-floor.structural-elements"
729
+ ]
730
+ },
731
+ "symfony-routing": {
732
+ "obligations": [
733
+ "symfony-routing.route-symfony-php-to-symfony-workflow"
734
+ ]
735
+ },
736
+ "telegraph-speak": {
737
+ "obligations": [
738
+ "telegraph-speak.condense-body-prose-only",
739
+ "telegraph-speak.preserve-carve-outs-byte-for-byte",
740
+ "telegraph-speak.dormant-until-bench-passes"
741
+ ]
742
+ },
743
+ "test-first": {
744
+ "obligations": [
745
+ "test-first.failing-test-first",
746
+ "test-first.regression-test-for-bug",
747
+ "test-first.characterization-test-for-legacy",
748
+ "test-first.test-seen-red"
749
+ ]
750
+ },
751
+ "think-before-action": {
752
+ "obligations": [
753
+ "think-before-action.analyze-before-coding",
754
+ "think-before-action.verify-with-real-tools",
755
+ "think-before-action.max-two-retries-per-approach",
756
+ "think-before-action.intent-line-before-behaviour-change"
757
+ ]
758
+ },
759
+ "token-budget-discipline": {
760
+ "obligations": [
761
+ "token-budget-discipline.load-rich-skills-in-full",
762
+ "token-budget-discipline.rich-justification-and-cap",
763
+ "token-budget-discipline.rich-size-ceiling",
764
+ "token-budget-discipline.surface-budget-tradeoff"
765
+ ]
766
+ },
767
+ "token-efficiency": {
768
+ "obligations": [
769
+ "token-efficiency.no-full-output-in-context",
770
+ "token-efficiency.no-repeated-tool-calls",
771
+ "token-efficiency.batch-independent-calls",
772
+ "token-efficiency.one-command-per-bash-call",
773
+ "token-efficiency.probe-large-files"
774
+ ]
775
+ },
776
+ "token-optimizer-maintenance": {
777
+ "obligations": [
778
+ "token-optimizer-maintenance.update-optimizer-row-with-asset"
779
+ ],
780
+ "bindings": {
781
+ "validator:src/scripts/check_token_optimizer_freshness.ts": [
782
+ "token-optimizer-maintenance.update-optimizer-row-with-asset"
783
+ ]
784
+ }
785
+ },
786
+ "tool-safety": {
787
+ "obligations": [
788
+ "tool-safety.deny-by-default-tools",
789
+ "tool-safety.allowlisted-tool-names",
790
+ "tool-safety.read-first",
791
+ "tool-safety.no-hidden-credentials",
792
+ "tool-safety.no-arbitrary-execution",
793
+ "tool-safety.scoped-grants-over-bare-names"
794
+ ],
795
+ "bindings": {
796
+ "validator:src/scripts/lint_agent_security.ts": [
797
+ "tool-safety.deny-by-default-tools",
798
+ "tool-safety.scoped-grants-over-bare-names"
799
+ ]
800
+ }
801
+ },
802
+ "ui-audit-gate": {
803
+ "obligations": [
804
+ "ui-audit-gate.audit-before-new-ui"
805
+ ]
806
+ },
807
+ "untrusted-input-defense": {
808
+ "obligations": [
809
+ "untrusted-input-defense.untrusted-content-is-data",
810
+ "untrusted-input-defense.quarantine-found-instructions"
811
+ ]
812
+ },
813
+ "upstream-proposal": {
814
+ "obligations": [
815
+ "upstream-proposal.ask-to-upstream"
816
+ ]
817
+ },
818
+ "user-interaction": {
819
+ "obligations": [
820
+ "user-interaction.single-recommendation-line",
821
+ "user-interaction.pre-send-self-check",
822
+ "user-interaction.decision-outlives-turn",
823
+ "user-interaction.one-decision-per-turn"
824
+ ]
825
+ },
826
+ "user-interrupt-priority": {
827
+ "obligations": [
828
+ "user-interrupt-priority.stop-for-new-task",
829
+ "user-interrupt-priority.ask-before-resume"
830
+ ]
831
+ }
832
+ }
833
+ }