@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
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
2
2
  import {
3
- readHookStdin
4
- } from "./chunk-F7DQWYR5.js";
3
+ read_lockfile
4
+ } from "./chunk-LQOCRFWT.js";
5
5
  import {
6
6
  has_stable_session_id,
7
7
  owns_session_state,
@@ -9,13 +9,13 @@ import {
9
9
  prune_stale_session_states,
10
10
  session_state_file,
11
11
  update_json_under_lock
12
- } from "./chunk-E4XIZDIB.js";
13
- import {
14
- read_lockfile
15
- } from "./chunk-T7L2QK3K.js";
12
+ } from "./chunk-7HKRE54K.js";
16
13
  import {
17
14
  scanText
18
15
  } from "./chunk-KB5FZ655.js";
16
+ import {
17
+ readHookStdin
18
+ } from "./chunk-F7DQWYR5.js";
19
19
 
20
20
  // src/scripts/_lib/subagent_capsule.ts
21
21
  var EPISTEMIC_STATES = ["verified", "assumed", "gap"];
@@ -562,6 +562,8 @@ function segmentVerifies(rawWords) {
562
562
  case "node":
563
563
  case "deno":
564
564
  return rest.some((a) => a === "test" || a.startsWith("--test"));
565
+ case "agent-config":
566
+ return false;
565
567
  case "scripts-run": {
566
568
  const script = bareName(arg1);
567
569
  return /^(check|lint|verify|validate)[-_]/.test(script);
@@ -579,6 +581,12 @@ var _WIDE_CANDIDATE_RE = /\b(test|tests|vitest|jest|pytest|phpunit|pest|tsc|esli
579
581
  function mightBeVerification(command) {
580
582
  return _WIDE_CANDIDATE_RE.test(command);
581
583
  }
584
+ function isAssetRenderCommand(command) {
585
+ return /\bui:render\b/.test(command) && /--profile[= ]\s*asset\b/.test(command);
586
+ }
587
+ function isVerificationAttempt(command) {
588
+ return isVerificationCommand(command) || isAssetRenderCommand(command);
589
+ }
582
590
 
583
591
  // src/scripts/_lib/touched_file_quality.ts
584
592
  import { spawnSync } from "node:child_process";
@@ -586,9 +594,18 @@ import * as fs2 from "node:fs";
586
594
  import * as path2 from "node:path";
587
595
  var OUTPUT_HEAD_LINES = 20;
588
596
  var DEFAULT_TIMEOUT_MS = 3e4;
597
+ var ESLINT_IGNORED = /^\s+\d+:\d+\s+warning\s+File ignored because of a matching ignore pattern\b/;
589
598
  var JS_EXTENSIONS = [".js", ".jsx", ".mjs", ".cjs", ".ts", ".tsx", ".mts", ".cts"];
590
599
  var SCOPED_FORMS = /* @__PURE__ */ new Map([
591
- ["npx eslint .", { argv: ["npx", "eslint"], extensions: JS_EXTENSIONS, check_form: false }],
600
+ [
601
+ "npx eslint .",
602
+ {
603
+ argv: ["npx", "eslint"],
604
+ extensions: JS_EXTENSIONS,
605
+ check_form: false,
606
+ ignored_signal: ESLINT_IGNORED
607
+ }
608
+ ],
592
609
  [
593
610
  "vendor/bin/phpstan analyse",
594
611
  { argv: ["vendor/bin/phpstan", "analyse"], extensions: [".php"], check_form: false }
@@ -605,6 +622,15 @@ var SCOPED_FORMS = /* @__PURE__ */ new Map([
605
622
  ["mypy .", { argv: ["mypy"], extensions: [".py"], check_form: false }]
606
623
  ]);
607
624
  var MUTATING_WITHOUT_CHECK_FORM = /* @__PURE__ */ new Set([]);
625
+ var SCOPED_FORM_COMMANDS = [...SCOPED_FORMS.keys()];
626
+ var MUTATING_COMMANDS = [...MUTATING_WITHOUT_CHECK_FORM];
627
+ var TYPE_CHECK_COMMANDS = /* @__PURE__ */ new Set([
628
+ "npx tsc --noEmit",
629
+ "vendor/bin/phpstan analyse",
630
+ "mypy .",
631
+ "go vet ./...",
632
+ "cargo clippy"
633
+ ]);
608
634
  function extensionOf(file) {
609
635
  const base = path2.basename(file);
610
636
  const dot = base.lastIndexOf(".");
@@ -665,6 +691,7 @@ function runTouchedFileQuality(opts) {
665
691
  output_head: [],
666
692
  skipped: plan.skipped,
667
693
  files: [],
694
+ ignored_files: [],
668
695
  at: now()
669
696
  });
670
697
  continue;
@@ -681,25 +708,60 @@ function runTouchedFileQuality(opts) {
681
708
  enoent = true;
682
709
  }
683
710
  const absent = enoent || status === 127;
711
+ const signal = SCOPED_FORMS.get(plan.source_command)?.ignored_signal;
712
+ const ignored = absent || signal === void 0 ? [] : ignoredFiles(output2, signal, plan.files);
713
+ const nothingLooked = ignored.length === plan.files.length && status === 0;
684
714
  out.push({
685
715
  command: renderCommand(plan.argv),
686
716
  source_command: plan.source_command,
687
- exit_code: absent ? null : status,
717
+ exit_code: absent || nothingLooked ? null : status,
688
718
  output_head: absent ? [] : headLines(output2, OUTPUT_HEAD_LINES),
689
719
  skipped: absent ? "absent" : null,
690
720
  files: plan.files,
721
+ ignored_files: ignored,
691
722
  at: now()
692
723
  });
693
724
  }
694
- return out;
725
+ const typecheck_not_run = out.filter(
726
+ (r) => TYPE_CHECK_COMMANDS.has(r.source_command) && r.exit_code === null && r.skipped !== "no_files" && r.skipped !== null
727
+ ).map((r) => r.source_command);
728
+ return out.map((r) => ({ ...r, typecheck_not_run: [...typecheck_not_run] }));
729
+ }
730
+ function ignoredFiles(output2, signal, files) {
731
+ const reported = [];
732
+ let unattributed = false;
733
+ let current = null;
734
+ for (const line of output2.split(/\r\n|\r|\n/)) {
735
+ if (signal.test(line)) {
736
+ if (current === null) unattributed = true;
737
+ else reported.push(normalizePath(current));
738
+ continue;
739
+ }
740
+ if (line !== "" && !/^\s/.test(line)) current = line.trim();
741
+ }
742
+ const hit = files.filter((f) => {
743
+ const want = normalizePath(f);
744
+ return reported.some((r) => r === want || r.endsWith(`/${want}`));
745
+ });
746
+ if (hit.length === 0 && unattributed && files.length === 1) return [...files];
747
+ return hit;
695
748
  }
696
749
  var WARN_LINE_MAX_BYTES = 200;
697
750
  function advisoryLine(runs) {
751
+ const ignored = [...new Set(runs.flatMap((r) => r.ignored_files))];
752
+ const ignoredPart = ignored.length === 0 ? "" : `ignored ${ignored[0] ?? ""}${ignored.length > 1 ? ` (+${String(ignored.length - 1)} more)` : ""}`;
698
753
  const failed = runs.find((r) => r.skipped === null && r.exit_code !== null && r.exit_code !== 0);
699
- if (failed === void 0) return null;
754
+ if (failed === void 0) {
755
+ if (ignored.length === 0) return null;
756
+ return truncateToBytes(
757
+ `touched-file quality: no verdict, ${ignoredPart}`,
758
+ WARN_LINE_MAX_BYTES
759
+ );
760
+ }
700
761
  const file = failed.files[0] ?? "(no file)";
701
762
  const more = failed.files.length > 1 ? ` (+${String(failed.files.length - 1)} more)` : "";
702
- const line = `touched-file quality: ${failed.source_command} exited ${String(failed.exit_code)} on ${file}${more}`;
763
+ const tail = ignoredPart === "" ? "" : `; ${ignoredPart}`;
764
+ const line = `touched-file quality: ${failed.source_command} exited ${String(failed.exit_code)} on ${file}${more}${tail}`;
703
765
  return truncateToBytes(line, WARN_LINE_MAX_BYTES);
704
766
  }
705
767
  function truncateToBytes(text, max) {
@@ -2699,7 +2761,8 @@ function pruneAgedRefusalState(workspaceRoot, opts = {}) {
2699
2761
  }
2700
2762
 
2701
2763
  export {
2702
- isVerificationCommand,
2764
+ isAssetRenderCommand,
2765
+ isVerificationAttempt,
2703
2766
  readRunEvidence,
2704
2767
  hasRedThenGreen,
2705
2768
  describeRecordFinding,
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  resolve_with_fallback,
7
7
  write_target
8
- } from "./chunk-NDJLNC6Q.js";
8
+ } from "./chunk-T6BP34WI.js";
9
9
  import {
10
10
  __export,
11
11
  __toESM
@@ -875,7 +875,7 @@ function _build_debate(d) {
875
875
  if (!_isDict(d)) {
876
876
  throw new CouncilConfigError("`debate` must be a mapping.");
877
877
  }
878
- const cap = _pyFloat(_get(d, "max_cost_usd", 5));
878
+ const cap = _pyFloat(_get(d, "max_cost_usd", 0));
879
879
  if (cap < 0) {
880
880
  throw new CouncilConfigError(
881
881
  `debate.max_cost_usd must be >= 0 (got ${_pyRepr(_f(cap))}; use 0 to disable the cap).`
@@ -1400,10 +1400,14 @@ function _build_cost_budget(d) {
1400
1400
  throw new CouncilConfigError("`cost_budget` must be a mapping.");
1401
1401
  }
1402
1402
  const cb = {
1403
- max_input_tokens: _pyInt(_get(d, "max_input_tokens", 5e5)),
1404
- max_output_tokens: _pyInt(_get(d, "max_output_tokens", 2e5)),
1403
+ max_input_tokens: _pyInt(_get(d, "max_input_tokens", 0)),
1404
+ // 0 = unbounded (ADR-279)
1405
+ max_output_tokens: _pyInt(_get(d, "max_output_tokens", 0)),
1406
+ // 0 = unbounded (ADR-279)
1405
1407
  max_calls: _pyInt(_get(d, "max_calls", 50)),
1406
- max_total_usd: _pyFloat(_get(d, "max_total_usd", 20)),
1408
+ // fan-out, not money — kept
1409
+ max_total_usd: _pyFloat(_get(d, "max_total_usd", 0)),
1410
+ // 0 = unbounded (ADR-279)
1407
1411
  daily_limit_usd: _pyFloat(_get(d, "daily_limit_usd", 0))
1408
1412
  };
1409
1413
  const fields = [
@@ -1749,275 +1753,7 @@ function _pyTruthy(value) {
1749
1753
  return Object.keys(value).length > 0;
1750
1754
  }
1751
1755
 
1752
- // src/scripts/_lib/cc_transcript.ts
1753
- import * as fs3 from "node:fs";
1754
- import * as path3 from "node:path";
1755
- import { homedir as homedir2 } from "node:os";
1756
- var DEFAULT_PROJECTS_ROOT = path3.join(homedir2(), ".claude", "projects");
1757
- function projectStoreSlug(cwd) {
1758
- return cwd.replace(/[^A-Za-z0-9-]/g, "-");
1759
- }
1760
- function billableInputTokens(u) {
1761
- return u.input_tokens + u.cache_read_input_tokens + u.cache_creation_input_tokens;
1762
- }
1763
- function weightedInputUnits(u) {
1764
- const knownSplit = u.ephemeral_5m_input_tokens + u.ephemeral_1h_input_tokens;
1765
- const unaccounted = Math.max(0, u.cache_creation_input_tokens - knownSplit);
1766
- return u.input_tokens * 1 + u.cache_read_input_tokens * 0.1 + (u.ephemeral_5m_input_tokens + unaccounted) * 1.25 + u.ephemeral_1h_input_tokens * 2;
1767
- }
1768
- function numOr0(value) {
1769
- return typeof value === "number" && Number.isFinite(value) ? value : 0;
1770
- }
1771
- function toTokenCounts(raw) {
1772
- const cc = raw?.cache_creation ?? {};
1773
- return {
1774
- input_tokens: numOr0(raw?.input_tokens),
1775
- cache_read_input_tokens: numOr0(raw?.cache_read_input_tokens),
1776
- cache_creation_input_tokens: numOr0(raw?.cache_creation_input_tokens),
1777
- output_tokens: numOr0(raw?.output_tokens),
1778
- ephemeral_5m_input_tokens: numOr0(cc.ephemeral_5m_input_tokens),
1779
- ephemeral_1h_input_tokens: numOr0(cc.ephemeral_1h_input_tokens)
1780
- };
1781
- }
1782
- function measureContentBytes(raw) {
1783
- const content = raw.message?.content;
1784
- if (content === void 0 || content === null) return null;
1785
- if (typeof content === "string") return Buffer.byteLength(content, "utf8");
1786
- try {
1787
- return Buffer.byteLength(JSON.stringify(content), "utf8");
1788
- } catch {
1789
- return null;
1790
- }
1791
- }
1792
- function classifyBucket(raw) {
1793
- const hasAgentId = typeof raw.agentId === "string" && raw.agentId.length > 0;
1794
- return hasAgentId || raw.isSidechain === true ? "subagent" : "main";
1795
- }
1796
- function dedupKey(raw) {
1797
- const id = typeof raw.message?.id === "string" ? raw.message.id : "";
1798
- const reqId = typeof raw.requestId === "string" ? raw.requestId : "";
1799
- return `${id}\0${reqId}`;
1800
- }
1801
- function parseLine(line) {
1802
- if (line.trim().length === 0) return null;
1803
- try {
1804
- return JSON.parse(line);
1805
- } catch {
1806
- return null;
1807
- }
1808
- }
1809
- function listTranscriptFiles(opts = {}) {
1810
- const root = opts.root ?? DEFAULT_PROJECTS_ROOT;
1811
- const base = opts.projectDir ? path3.isAbsolute(opts.projectDir) ? opts.projectDir : path3.join(root, opts.projectDir) : root;
1812
- if (!fs3.existsSync(base)) return [];
1813
- const cutoffMs = opts.maxAgeDays !== void 0 ? (opts.now ?? /* @__PURE__ */ new Date()).getTime() - opts.maxAgeDays * 24 * 60 * 60 * 1e3 : null;
1814
- const out = [];
1815
- const stack = [base];
1816
- while (stack.length > 0) {
1817
- const dir = stack.pop();
1818
- let entries;
1819
- try {
1820
- entries = fs3.readdirSync(dir, { withFileTypes: true });
1821
- } catch {
1822
- continue;
1823
- }
1824
- for (const entry of entries) {
1825
- const full = path3.join(dir, entry.name);
1826
- if (entry.isDirectory()) {
1827
- stack.push(full);
1828
- continue;
1829
- }
1830
- if (!entry.isFile() || !entry.name.endsWith(".jsonl")) continue;
1831
- if (cutoffMs !== null) {
1832
- let mtimeMs;
1833
- try {
1834
- mtimeMs = fs3.statSync(full).mtimeMs;
1835
- } catch {
1836
- continue;
1837
- }
1838
- if (mtimeMs < cutoffMs) continue;
1839
- }
1840
- out.push(full);
1841
- }
1842
- }
1843
- return out.sort();
1844
- }
1845
- function scanTranscripts(opts = {}) {
1846
- const files = listTranscriptFiles(opts);
1847
- const seen = /* @__PURE__ */ new Set();
1848
- const records = [];
1849
- let totalSeen = 0;
1850
- for (const file of files) {
1851
- let text;
1852
- try {
1853
- text = fs3.readFileSync(file, "utf-8");
1854
- } catch {
1855
- continue;
1856
- }
1857
- for (const line of text.split("\n")) {
1858
- const raw = parseLine(line);
1859
- if (!raw || raw.type !== "assistant" || !raw.message?.usage) continue;
1860
- totalSeen += 1;
1861
- const key = dedupKey(raw);
1862
- if (seen.has(key)) continue;
1863
- seen.add(key);
1864
- records.push({
1865
- bucket: classifyBucket(raw),
1866
- agentId: typeof raw.agentId === "string" ? raw.agentId : null,
1867
- model: typeof raw.message.model === "string" ? raw.message.model : "unknown",
1868
- timestamp: typeof raw.timestamp === "string" ? raw.timestamp : null,
1869
- usage: toTokenCounts(raw.message.usage),
1870
- content_bytes: opts.measureBytes === true ? measureContentBytes(raw) : null
1871
- });
1872
- }
1873
- }
1874
- const dedupedCount = records.length;
1875
- return {
1876
- records,
1877
- totalSeen,
1878
- dedupedCount,
1879
- dedup_ratio: totalSeen > 0 ? (totalSeen - dedupedCount) / totalSeen : 0
1880
- };
1881
- }
1882
- function measureBytesPerToken(records) {
1883
- let bytes = 0;
1884
- let tokens = 0;
1885
- let n = 0;
1886
- for (const rec of records) {
1887
- if (rec.content_bytes === null || rec.usage.output_tokens <= 0) continue;
1888
- bytes += rec.content_bytes;
1889
- tokens += rec.usage.output_tokens;
1890
- n += 1;
1891
- }
1892
- if (n === 0 || tokens <= 0) return null;
1893
- return {
1894
- basis: "measured",
1895
- content_bytes: bytes,
1896
- output_tokens: tokens,
1897
- bytes_per_token: bytes / tokens,
1898
- records: n
1899
- };
1900
- }
1901
- function derivedBytes(tokens, factor) {
1902
- if (factor === null) return null;
1903
- return {
1904
- basis: "derived",
1905
- tokens,
1906
- factor,
1907
- bytes: Math.round(tokens * factor.bytes_per_token)
1908
- };
1909
- }
1910
- function emptyAggregate(bucket) {
1911
- return {
1912
- bucket,
1913
- calls: 0,
1914
- input_tokens: 0,
1915
- cache_read_input_tokens: 0,
1916
- cache_creation_input_tokens: 0,
1917
- output_tokens: 0,
1918
- ephemeral_5m_input_tokens: 0,
1919
- ephemeral_1h_input_tokens: 0,
1920
- read_share: 0,
1921
- weighted_input_units: 0
1922
- };
1923
- }
1924
- function aggregateByBucket(records) {
1925
- const buckets = {
1926
- main: emptyAggregate("main"),
1927
- subagent: emptyAggregate("subagent")
1928
- };
1929
- for (const rec of records) {
1930
- const agg = buckets[rec.bucket];
1931
- agg.calls += 1;
1932
- agg.input_tokens += rec.usage.input_tokens;
1933
- agg.cache_read_input_tokens += rec.usage.cache_read_input_tokens;
1934
- agg.cache_creation_input_tokens += rec.usage.cache_creation_input_tokens;
1935
- agg.output_tokens += rec.usage.output_tokens;
1936
- agg.ephemeral_5m_input_tokens += rec.usage.ephemeral_5m_input_tokens;
1937
- agg.ephemeral_1h_input_tokens += rec.usage.ephemeral_1h_input_tokens;
1938
- }
1939
- for (const bucket of Object.values(buckets)) {
1940
- const billable = billableInputTokens(bucket);
1941
- bucket.read_share = billable > 0 ? bucket.cache_read_input_tokens / billable : 0;
1942
- bucket.weighted_input_units = weightedInputUnits(bucket);
1943
- }
1944
- return buckets;
1945
- }
1946
-
1947
- // src/scripts/_lib/spawn_env.ts
1948
- var DENY_EXACT = /* @__PURE__ */ new Set([
1949
- // dynamic loader
1950
- "LD_PRELOAD",
1951
- "LD_LIBRARY_PATH",
1952
- "LD_AUDIT",
1953
- "DYLD_INSERT_LIBRARIES",
1954
- "DYLD_LIBRARY_PATH",
1955
- "DYLD_FRAMEWORK_PATH",
1956
- "GCONV_PATH",
1957
- // git command-injection
1958
- "GIT_EXTERNAL_DIFF",
1959
- "GIT_SSH",
1960
- "GIT_SSH_COMMAND",
1961
- "GIT_PROXY_COMMAND",
1962
- "GIT_PAGER",
1963
- "PAGER",
1964
- // git config-injection: GIT_ALTERNATE_OBJECT_DIRECTORIES can point git at
1965
- // attacker-controlled object stores; the GIT_CONFIG* family is handled by
1966
- // prefix below (it is a general arbitrary-config-injection primitive).
1967
- "GIT_ALTERNATE_OBJECT_DIRECTORIES",
1968
- // git path-redirection: GIT_DIR / GIT_INDEX_FILE / GIT_NAMESPACE point a
1969
- // child's git at an attacker-controlled repo, index file, or ref namespace
1970
- // — ordinary git ops then read and write attacker state (low severity,
1971
- // same family as GIT_ALTERNATE_OBJECT_DIRECTORIES above).
1972
- "GIT_DIR",
1973
- "GIT_INDEX_FILE",
1974
- "GIT_NAMESPACE",
1975
- // resolver hijack: HOSTALIASES remaps hostnames via an attacker file,
1976
- // redirecting any network fetch the child performs (CWE-427-adjacent).
1977
- "HOSTALIASES",
1978
- // runtime auto-exec hooks
1979
- "NODE_OPTIONS",
1980
- "BASH_ENV",
1981
- "ENV",
1982
- "PYTHONPATH",
1983
- "PYTHONSTARTUP",
1984
- "PYTHONINSPECT",
1985
- "PERL5OPT",
1986
- "PERL5LIB",
1987
- "RUBYOPT",
1988
- // shell field-splitting
1989
- "IFS"
1990
- ]);
1991
- function isDeniedByFamily(name) {
1992
- if (name.startsWith("LD_") || name.startsWith("DYLD_")) return true;
1993
- if (name.startsWith("GIT_") && name.endsWith("_COMMAND")) return true;
1994
- if (name === "GIT_CONFIG" || name.startsWith("GIT_CONFIG_")) return true;
1995
- return false;
1996
- }
1997
- function hardenedSpawnEnv(overrides = {}) {
1998
- const out = {};
1999
- for (const [key, value] of Object.entries(process.env)) {
2000
- if (value === void 0) continue;
2001
- if (DENY_EXACT.has(key)) continue;
2002
- if (isDeniedByFamily(key)) continue;
2003
- out[key] = value;
2004
- }
2005
- for (const [key, value] of Object.entries(overrides)) {
2006
- out[key] = value;
2007
- }
2008
- return out;
2009
- }
2010
-
2011
1756
  export {
2012
- DEFAULT_PROJECTS_ROOT,
2013
- projectStoreSlug,
2014
- billableInputTokens,
2015
- weightedInputUnits,
2016
- scanTranscripts,
2017
- measureBytesPerToken,
2018
- derivedBytes,
2019
- aggregateByBucket,
2020
- hardenedSpawnEnv,
2021
1757
  CLI_CALLS_ATTRIBUTION_SUFFIX,
2022
1758
  CLI_CONSUMER_COUNCIL,
2023
1759
  CLI_CONSUMER_TEAM,
@@ -2036,5 +1772,8 @@ export {
2036
1772
  admitsContent,
2037
1773
  policyExclusionReason,
2038
1774
  _RAW_KEY_PREFIXES,
1775
+ COUNCIL_CONFIG_ENV,
1776
+ resolve_config_path,
1777
+ load_council_config,
2039
1778
  config_exports
2040
1779
  };
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-F7DQWYR5.js";
5
5
  import {
6
6
  load_agent_settings
7
- } from "./chunk-JY2I2DXV.js";
7
+ } from "./chunk-H76PHZBI.js";
8
8
 
9
9
  // src/scripts/chat_history.ts
10
10
  import { createHash } from "node:crypto";