@event4u/agent-config 14.11.0 → 14.13.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 (762) 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 +368 -516
  5. package/CONTRIBUTING.md +38 -0
  6. package/CREDITS.md +135 -0
  7. package/NOTICE +13 -0
  8. package/README.md +8 -6
  9. package/dist/agent-src/commands/analyze/inbox.md +109 -2
  10. package/dist/agent-src/commands/feature/dev.md +7 -2
  11. package/dist/agent-src/commands/ghostwriter/write.md +5 -1
  12. package/dist/agent-src/commands/implement-ticket.md +1 -1
  13. package/dist/agent-src/commands/mission/upgrade.md +1 -1
  14. package/dist/agent-src/commands/orchestrate.md +2 -2
  15. package/dist/agent-src/commands/post-as/me.md +5 -1
  16. package/dist/agent-src/commands/pr/merge.md +19 -6
  17. package/dist/agent-src/commands/roadmap/process-full.md +19 -5
  18. package/dist/agent-src/commands/tdd/red.md +12 -2
  19. package/dist/agent-src/commands/work.md +1 -1
  20. package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +40 -0
  21. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +5 -2
  22. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +21 -0
  23. package/dist/agent-src/contexts/execution/evidence-discipline.md +26 -0
  24. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +1 -0
  25. package/dist/agent-src/contexts/execution/subagent-response-contract.md +40 -0
  26. package/dist/agent-src/contexts/execution/subagent-steering.md +13 -1
  27. package/dist/agent-src/contexts/execution/terminal-states.md +96 -0
  28. package/dist/agent-src/rules/artifact-drafting-protocol.md +1 -1
  29. package/dist/agent-src/rules/broken-access-control.md +4 -0
  30. package/dist/agent-src/rules/code-provenance.md +4 -0
  31. package/dist/agent-src/rules/design-fidelity.md +1 -1
  32. package/dist/agent-src/rules/domain-safety-pii.md +4 -0
  33. package/dist/agent-src/rules/domain-safety-retention.md +4 -0
  34. package/dist/agent-src/rules/engineering-safety-floor.md +2 -0
  35. package/dist/agent-src/rules/external-code-graph-interop.md +14 -12
  36. package/dist/agent-src/rules/improve-before-implement.md +6 -8
  37. package/dist/agent-src/rules/laravel-routing.md +1 -1
  38. package/dist/agent-src/rules/lethal-trifecta-guard.md +4 -0
  39. package/dist/agent-src/rules/secret-vcs-guard.md +2 -0
  40. package/dist/agent-src/rules/security-sensitive-stop.md +2 -0
  41. package/dist/agent-src/rules/source-confidentiality.md +12 -34
  42. package/dist/agent-src/rules/symfony-routing.md +1 -1
  43. package/dist/agent-src/rules/token-efficiency.md +14 -0
  44. package/dist/agent-src/rules/tool-safety.md +4 -0
  45. package/dist/agent-src/rules/untrusted-input-defense.md +4 -0
  46. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +247 -3
  47. package/dist/agent-src/scripts/guarded_baseline.ts +328 -0
  48. package/dist/agent-src/scripts/roadmap_set_step.ts +253 -0
  49. package/dist/agent-src/scripts/stub_queue.ts +82 -0
  50. package/dist/agent-src/scripts/stubs_due.ts +400 -0
  51. package/dist/agent-src/scripts/ticket_bundles.ts +84 -0
  52. package/dist/agent-src/scripts/update_roadmap_progress.ts +8 -4
  53. package/dist/agent-src/skills/brand-asset-generation/SKILL.md +17 -4
  54. package/dist/agent-src/skills/brand-audit/SKILL.md +33 -0
  55. package/dist/agent-src/skills/code-intelligence/SKILL.md +57 -0
  56. package/dist/agent-src/skills/code-refactoring/SKILL.md +45 -1
  57. package/dist/agent-src/skills/code-review/SKILL.md +65 -6
  58. package/dist/agent-src/skills/command-writing/SKILL.md +35 -0
  59. package/dist/agent-src/skills/database/SKILL.md +8 -0
  60. package/dist/agent-src/skills/dependency-upgrade/SKILL.md +27 -0
  61. package/dist/agent-src/skills/design-review/SKILL.md +1 -1
  62. package/dist/agent-src/skills/doc-coauthoring/SKILL.md +1 -1
  63. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +25 -2
  64. package/dist/agent-src/skills/feature-planning/SKILL.md +9 -2
  65. package/dist/agent-src/skills/frontend-render-security/SKILL.md +44 -0
  66. package/dist/agent-src/skills/git-workflow/SKILL.md +1 -1
  67. package/dist/agent-src/skills/js-library-packaging/scripts/check_package_surface.ts +38 -4
  68. package/dist/agent-src/skills/judge-artifact-completeness/rubrics/ticket-quality-score.json +2 -2
  69. package/dist/agent-src/skills/laravel/SKILL.md +35 -0
  70. package/dist/agent-src/skills/laravel-migration/SKILL.md +57 -3
  71. package/dist/agent-src/skills/monorepo-workspace/SKILL.md +26 -0
  72. package/dist/agent-src/skills/playbook-authoring/SKILL.md +28 -1
  73. package/dist/agent-src/skills/project-analysis-core/SKILL.md +23 -0
  74. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +30 -13
  75. package/dist/agent-src/skills/skill-writing/references/procedure.md +29 -7
  76. package/dist/agent-src/skills/sql-writing/SKILL.md +7 -1
  77. package/dist/agent-src/skills/standards-from-config/SKILL.md +27 -4
  78. package/dist/agent-src/skills/storybook-workshop/SKILL.md +9 -0
  79. package/dist/agent-src/skills/supply-chain-intake/SKILL.md +11 -4
  80. package/dist/agent-src/skills/symfony-workflow/SKILL.md +35 -0
  81. package/dist/agent-src/skills/test-case-discovery/SKILL.md +85 -0
  82. package/dist/agent-src/skills/test-driven-development/SKILL.md +33 -9
  83. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
  84. package/dist/agent-src/skills/testing-anti-patterns/process-anti-patterns.md +37 -0
  85. package/dist/agent-src/skills/ui-component-architect/SKILL.md +53 -2
  86. package/dist/agent-src/skills/upstream-contribute/SKILL.md +38 -1
  87. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +9 -4
  88. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  89. package/dist/agent-src/templates/roadmaps.md +97 -3
  90. package/dist/agent-src/templates/scripts/check_memory.ts +258 -17
  91. package/dist/agent-src/templates/scripts/check_memory_proposal.ts +9 -3
  92. package/dist/agent-src/templates/scripts/memory_lookup.ts +86 -0
  93. package/dist/agent-src/templates/scripts/memory_signal.ts +44 -0
  94. package/dist/agent-src/templates/scripts/work_engine/directives/backend/implement.ts +90 -0
  95. package/dist/agent-src/templates/scripts/work_engine/directives/backend/index.ts +11 -0
  96. package/dist/agent-src/templates/scripts/work_engine/directives/backend/test.ts +23 -1
  97. package/dist/agent-src/templates/scripts/work_engine/directives/backend/verify.ts +10 -1
  98. package/dist/agent-src/templates/scripts/work_engine/directives/mixed/stitch.ts +5 -1
  99. package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +102 -14
  100. package/dist/cli/commands/uiAudit.js +124 -5
  101. package/dist/cli/registry.js +2 -0
  102. package/dist/cli-delegate/{chunk-HYWSRNUX.js → chunk-2DK2VJWG.js} +3 -3
  103. package/dist/cli-delegate/{chunk-L43NCYPB.js → chunk-4FS4WRXP.js} +10 -0
  104. package/dist/cli-delegate/{chunk-OMIVVCG2.js → chunk-A4QJ6ENT.js} +24 -0
  105. package/dist/cli-delegate/{chunk-236PNQZK.js → chunk-AKJGUQNO.js} +466 -285
  106. package/dist/cli-delegate/{chunk-E46KPN6K.js → chunk-BTWUYDGN.js} +424 -363
  107. package/dist/cli-delegate/{chunk-K4FFODTS.js → chunk-ILMUPLGW.js} +1227 -316
  108. package/dist/cli-delegate/{chunk-FF7WAFMR.js → chunk-KPBWFOPZ.js} +5 -1
  109. package/dist/cli-delegate/cmd_adr_effective.js +102 -0
  110. package/dist/cli-delegate/cmd_conformance.js +42 -10
  111. package/dist/cli-delegate/cmd_doctor.js +3 -3
  112. package/dist/cli-delegate/cmd_export.js +3 -2
  113. package/dist/cli-delegate/cmd_fleet.js +2 -2
  114. package/dist/cli-delegate/cmd_handoff.js +1 -1
  115. package/dist/cli-delegate/cmd_preflight.js +2 -2
  116. package/dist/cli-delegate/cmd_prune.js +3 -2
  117. package/dist/cli-delegate/cmd_settings_get.js +1 -1
  118. package/dist/cli-delegate/cmd_settings_migrate.js +3 -2
  119. package/dist/cli-delegate/cmd_settings_set.js +2 -2
  120. package/dist/cli-delegate/cmd_sync.js +3 -2
  121. package/dist/cli-delegate/cmd_uninstall.js +3 -2
  122. package/dist/cli-delegate/cmd_validate.js +3 -2
  123. package/dist/discovery/deprecation-report.md +1 -1
  124. package/dist/discovery/discovery-manifest.json +62 -62
  125. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  126. package/dist/discovery/discovery-manifest.summary.md +1 -1
  127. package/dist/discovery/dormancy-report.md +1 -1
  128. package/dist/discovery/orphan-report.md +1 -1
  129. package/dist/discovery/packs.json +2 -2
  130. package/dist/discovery/trust-report.md +1 -1
  131. package/dist/discovery/workspaces.json +2 -2
  132. package/dist/hooks/dispatch.js +2413 -1087
  133. package/dist/install/claudeRuleRewrite.js +254 -0
  134. package/dist/install/detect.js +29 -16
  135. package/dist/install/detect_php_shape.js +159 -0
  136. package/dist/install/install.mjs +639 -428
  137. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  138. package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
  139. package/dist/mcp/registry-manifest.json +3 -3
  140. package/dist/mcp/server.json +3 -3
  141. package/dist/mcp/server.mjs +4818 -2645
  142. package/dist/server/schemas/settings.js +6 -0
  143. package/dist/ui/assets/index-D0jaCRPM.js +29 -0
  144. package/dist/ui/index.html +1 -1
  145. package/docs/MIGRATION.md +1 -1
  146. package/docs/THIRD-PARTY-NOTICES.md +25 -0
  147. package/docs/contracts/provider-lifecycle.md +1 -1
  148. package/docs/contracts/settings-classes.md +30 -4
  149. package/docs/guidelines/agent-infra/5w2h-analysis.md +3 -3
  150. package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +1 -0
  151. package/docs/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +58 -3
  152. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +2 -2
  153. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +3 -3
  154. package/docs/guidelines/agent-infra/break-glass-usage.md +7 -7
  155. package/docs/guidelines/agent-infra/carve-out-predicates.md +3 -3
  156. package/docs/guidelines/agent-infra/comparison-matrix.md +1 -1
  157. package/docs/guidelines/agent-infra/critical-thinking.md +4 -4
  158. package/docs/guidelines/agent-infra/direct-answers-demos.md +2 -2
  159. package/docs/guidelines/agent-infra/domain-eval-anti-pattern.md +1 -1
  160. package/docs/guidelines/agent-infra/downstream-changes-mechanics.md +91 -0
  161. package/docs/guidelines/agent-infra/engineering-memory-data-format.md +3 -3
  162. package/docs/guidelines/agent-infra/existence-question-verdicts.md +80 -0
  163. package/docs/guidelines/agent-infra/first-principles.md +2 -2
  164. package/docs/guidelines/agent-infra/framework-neutrality-patterns.md +2 -2
  165. package/docs/guidelines/agent-infra/guarded-baseline.md +39 -0
  166. package/docs/guidelines/agent-infra/inversion-thinking.md +5 -5
  167. package/docs/guidelines/agent-infra/language-and-tone-examples.md +1 -1
  168. package/docs/guidelines/agent-infra/layered-settings.md +10 -10
  169. package/docs/guidelines/agent-infra/memory-access.md +1 -1
  170. package/docs/guidelines/agent-infra/mental-models.md +3 -3
  171. package/docs/guidelines/agent-infra/reuse-verdict-mechanics.md +71 -0
  172. package/docs/guidelines/agent-infra/review-routing-data-format.md +7 -7
  173. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +13 -7
  174. package/docs/guidelines/agent-infra/role-contracts.md +2 -2
  175. package/docs/guidelines/agent-infra/role-mode-router.md +3 -3
  176. package/docs/guidelines/agent-infra/rule-type-governance.md +2 -2
  177. package/docs/guidelines/agent-infra/scqa-framework.md +5 -5
  178. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +6 -6
  179. package/docs/guidelines/agent-infra/simplicity-and-goal-demos.md +2 -2
  180. package/docs/guidelines/agent-infra/six-hats.md +3 -3
  181. package/docs/guidelines/agent-infra/skill-quality-checklist.md +6 -6
  182. package/docs/guidelines/agent-infra/source-confidentiality-mechanics.md +109 -0
  183. package/docs/guidelines/agent-infra/systems-thinking.md +1 -1
  184. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +2 -2
  185. package/docs/guidelines/augment-portability-patterns.md +6 -4
  186. package/docs/guidelines/code-clarity.md +21 -0
  187. package/docs/guidelines/component-oriented-and-oop-development.md +3 -2
  188. package/docs/guidelines/cross-role-handoff.md +2 -2
  189. package/docs/guidelines/design-fidelity-mechanics.md +1 -1
  190. package/docs/guidelines/docs/readme-size-and-splitting.md +3 -3
  191. package/docs/guidelines/php/database.md +90 -7
  192. package/docs/guidelines/prompt-templates.md +7 -7
  193. package/docs/guidelines/redundancy-taxonomy.md +180 -0
  194. package/llms.txt +2 -2
  195. package/package.json +10 -3
  196. package/src/agent-src/scripts/archive_completed_roadmaps.ts +247 -3
  197. package/src/agent-src/scripts/guarded_baseline.ts +328 -0
  198. package/src/agent-src/scripts/roadmap_set_step.ts +253 -0
  199. package/src/agent-src/scripts/stub_queue.ts +82 -0
  200. package/src/agent-src/scripts/stubs_due.ts +400 -0
  201. package/src/agent-src/scripts/ticket_bundles.ts +84 -0
  202. package/src/agent-src/scripts/update_roadmap_progress.ts +8 -4
  203. package/src/agent-src/templates/scripts/check_memory.ts +258 -17
  204. package/src/agent-src/templates/scripts/check_memory_proposal.ts +9 -3
  205. package/src/agent-src/templates/scripts/memory_lookup.ts +86 -0
  206. package/src/agent-src/templates/scripts/memory_signal.ts +44 -0
  207. package/src/agent-src/templates/scripts/work_engine/directives/backend/implement.ts +90 -0
  208. package/src/agent-src/templates/scripts/work_engine/directives/backend/index.ts +11 -0
  209. package/src/agent-src/templates/scripts/work_engine/directives/backend/test.ts +23 -1
  210. package/src/agent-src/templates/scripts/work_engine/directives/backend/verify.ts +10 -1
  211. package/src/agent-src/templates/scripts/work_engine/directives/mixed/stitch.ts +5 -1
  212. package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +102 -14
  213. package/src/config/agent-settings.template.yml +48 -3
  214. package/src/config/assurance-capability-registry.json +21 -9
  215. package/src/config/budgets.yml +19 -0
  216. package/src/config/canonical-terms.yml +119 -0
  217. package/src/config/capability-native-outcome-bars.json +81 -0
  218. package/src/config/ci-local-parity.yml +95 -0
  219. package/src/config/discovery/prompt-patterns.yml +56 -0
  220. package/src/config/drafting-channels.yml +43 -0
  221. package/src/config/estate-count-budget.json +38 -31
  222. package/src/config/evaluator-budgets.json +14 -14
  223. package/src/config/gate-coverage.yml +731 -30
  224. package/src/config/gate-reachability-exemptions.json +21 -0
  225. package/src/config/gate-violation-baselines.json +38 -20
  226. package/src/config/harness-evolution-budget.json +25 -0
  227. package/src/config/lapsed-beta-baseline.json +96 -0
  228. package/src/config/memory-twin-verdicts.yml +129 -0
  229. package/src/config/metric-registry.yml +124 -0
  230. package/src/config/pack-size-budget.json +35 -7
  231. package/src/config/preamble-payload-budget.json +97 -71
  232. package/src/config/profiles/balanced.ini +27 -0
  233. package/src/config/profiles/full.ini +27 -0
  234. package/src/config/profiles/minimal.ini +27 -0
  235. package/src/config/publish-surface.json +9 -2
  236. package/src/config/routing-coverage-seed.json +43 -0
  237. package/src/config/rule-stub-ceilings.json +126 -112
  238. package/src/config/suggestion-capture.json +28 -0
  239. package/src/config/surface-matrix.yml +21 -2
  240. package/src/config/turnaround-budget.json +66 -0
  241. package/src/config/web-launch-readiness.json +188 -0
  242. package/src/install/claudeRuleRewrite.ts +288 -0
  243. package/src/install/detect.ts +60 -17
  244. package/src/install/detect_php_shape.ts +191 -0
  245. package/src/scripts/_cli/cmd_doctor.ts +27 -112
  246. package/src/scripts/_dispatch.bash +27 -0
  247. package/src/scripts/_lib/activation_ladder.ts +211 -0
  248. package/src/scripts/_lib/activation_states.ts +88 -0
  249. package/src/scripts/_lib/adherence_detectors.ts +143 -0
  250. package/src/scripts/_lib/arith_claims.ts +181 -0
  251. package/src/scripts/_lib/arm_ranking.ts +62 -0
  252. package/src/scripts/_lib/asset_delivery_ledger.ts +303 -0
  253. package/src/scripts/_lib/audit_field_provenance.ts +54 -0
  254. package/src/scripts/_lib/auto_dispatch.ts +32 -3
  255. package/src/scripts/_lib/bench_ab_size_claim.ts +98 -4
  256. package/src/scripts/_lib/benchmark_cache_fields.ts +158 -0
  257. package/src/scripts/_lib/candidate_proposer.ts +402 -0
  258. package/src/scripts/_lib/candidate_record.ts +601 -0
  259. package/src/scripts/_lib/capture_rate.ts +319 -0
  260. package/src/scripts/_lib/collector_denominator.ts +771 -0
  261. package/src/scripts/_lib/collector_record.ts +340 -0
  262. package/src/scripts/_lib/collector_store.ts +664 -0
  263. package/src/scripts/_lib/collector_supervision.ts +827 -0
  264. package/src/scripts/_lib/concern_estate.ts +77 -0
  265. package/src/scripts/_lib/config_chain.ts +477 -0
  266. package/src/scripts/_lib/config_cost.ts +209 -0
  267. package/src/scripts/_lib/council_settings_block.ts +6 -0
  268. package/src/scripts/_lib/curator_ops.ts +172 -0
  269. package/src/scripts/_lib/delivery_arm_experiment.ts +266 -0
  270. package/src/scripts/_lib/delivery_criticality.ts +126 -0
  271. package/src/scripts/_lib/doctor_runtime_checks.ts +70 -0
  272. package/src/scripts/_lib/empty_cycles.ts +88 -0
  273. package/src/scripts/_lib/eval_publication.ts +354 -0
  274. package/src/scripts/_lib/evaluation_vector.ts +283 -0
  275. package/src/scripts/_lib/evaluator_promotion.ts +225 -0
  276. package/src/scripts/_lib/evidence_basis.ts +118 -0
  277. package/src/scripts/_lib/exec_evidence.ts +8 -0
  278. package/src/scripts/_lib/experience_card.ts +272 -0
  279. package/src/scripts/_lib/experience_report.ts +151 -0
  280. package/src/scripts/_lib/experiment_freeze.ts +112 -0
  281. package/src/scripts/_lib/gate_baseline.ts +150 -1
  282. package/src/scripts/_lib/generated_by.ts +66 -0
  283. package/src/scripts/_lib/harness_evolution_guards.ts +229 -0
  284. package/src/scripts/_lib/hook_effect_probe.ts +141 -0
  285. package/src/scripts/_lib/host_denominator.ts +687 -0
  286. package/src/scripts/_lib/host_projection_reach.ts +157 -0
  287. package/src/scripts/_lib/ignored_blocker.ts +148 -0
  288. package/src/scripts/_lib/install_reach_checks.ts +495 -0
  289. package/src/scripts/_lib/json_duplicate_keys.ts +150 -0
  290. package/src/scripts/_lib/judge_hygiene.ts +228 -0
  291. package/src/scripts/_lib/legacy_boundary_map.ts +228 -0
  292. package/src/scripts/_lib/loop_guards.ts +299 -0
  293. package/src/scripts/_lib/loss_class.ts +129 -0
  294. package/src/scripts/_lib/machine_wake.ts +51 -0
  295. package/src/scripts/_lib/md_prose_lines.ts +177 -0
  296. package/src/scripts/_lib/minimality_tiebreak.ts +168 -0
  297. package/src/scripts/_lib/one_resolver_invariant.ts +449 -0
  298. package/src/scripts/_lib/orchestration_record.ts +253 -5
  299. package/src/scripts/_lib/outcome_envelope.ts +227 -0
  300. package/src/scripts/_lib/outcome_vocabularies.ts +125 -0
  301. package/src/scripts/_lib/paired_stats.ts +245 -0
  302. package/src/scripts/_lib/paired_verdict.ts +226 -0
  303. package/src/scripts/_lib/prefix_stable_surfaces.ts +123 -0
  304. package/src/scripts/_lib/privacy_class.ts +47 -0
  305. package/src/scripts/_lib/regression_neighbourhood.ts +259 -0
  306. package/src/scripts/_lib/repeated_failure.ts +105 -0
  307. package/src/scripts/_lib/repo_root.ts +111 -0
  308. package/src/scripts/_lib/review_skipped_record.ts +37 -0
  309. package/src/scripts/_lib/role_split.ts +338 -0
  310. package/src/scripts/_lib/runtime_journal.ts +1499 -0
  311. package/src/scripts/_lib/runtime_wiring_checks.ts +430 -0
  312. package/src/scripts/_lib/skill_catalogue.ts +11 -1
  313. package/src/scripts/_lib/skill_estate.ts +115 -0
  314. package/src/scripts/_lib/source_digest.ts +200 -0
  315. package/src/scripts/_lib/source_redact.ts +260 -0
  316. package/src/scripts/_lib/source_shape.ts +502 -0
  317. package/src/scripts/_lib/source_snapshot_dedup.ts +199 -0
  318. package/src/scripts/_lib/strip_comments.d.mts +8 -0
  319. package/src/scripts/_lib/strip_comments.mjs +65 -0
  320. package/src/scripts/_lib/test_red_state.ts +154 -0
  321. package/src/scripts/_lib/trigger_shift.ts +144 -0
  322. package/src/scripts/_lib/untrusted_content.ts +82 -7
  323. package/src/scripts/adoption_report.ts +1 -1
  324. package/src/scripts/adr/evidence_census.ts +1 -1
  325. package/src/scripts/adr/regenerate_index.ts +26 -2
  326. package/src/scripts/adr_cite_check.ts +164 -1
  327. package/src/scripts/ai_council/argument_exhaustion.ts +130 -0
  328. package/src/scripts/ai_council/blind_review.ts +11 -1
  329. package/src/scripts/ai_council/clients.ts +4 -0
  330. package/src/scripts/ai_council/config.ts +3 -0
  331. package/src/scripts/ai_council/consensus.ts +28 -8
  332. package/src/scripts/ai_council/consensus_round.ts +226 -0
  333. package/src/scripts/ai_council/disagreement_signal.ts +338 -0
  334. package/src/scripts/ai_council/inline_findings.ts +340 -0
  335. package/src/scripts/ai_council/judge_position_bias.ts +197 -0
  336. package/src/scripts/ai_council/orchestrator.ts +16 -203
  337. package/src/scripts/ai_council/orchestrator_results.ts +23 -3
  338. package/src/scripts/ai_council/pricing.ts +106 -0
  339. package/src/scripts/ai_council/prompts.ts +74 -7
  340. package/src/scripts/ai_council/provider_leakage_bench.ts +327 -0
  341. package/src/scripts/ai_council/py_format.ts +14 -3
  342. package/src/scripts/ai_council/recouncil_guard.ts +293 -0
  343. package/src/scripts/ai_council/response_record.ts +50 -0
  344. package/src/scripts/ai_council/topology_bench_manifest.ts +860 -0
  345. package/src/scripts/ai_council/topology_vocabulary.ts +175 -0
  346. package/src/scripts/asset_delivery_ledger.ts +157 -0
  347. package/src/scripts/attest_artifact.ts +193 -0
  348. package/src/scripts/audit_auto_rules.ts +2 -1
  349. package/src/scripts/audit_command_surface.ts +1 -1
  350. package/src/scripts/audit_mcp_tools.ts +2 -2
  351. package/src/scripts/audit_skill_overlap_allowlist.json +6 -1
  352. package/src/scripts/audit_user_type_axis.ts +2 -1
  353. package/src/scripts/bench_ab_clone.ts +215 -10
  354. package/src/scripts/bench_ab_integrity.ts +119 -5
  355. package/src/scripts/bench_ab_v2_stats.ts +40 -213
  356. package/src/scripts/build_archive_index.ts +1 -1
  357. package/src/scripts/build_linear_digest.ts +1 -1
  358. package/src/scripts/build_proof.ts +11 -4
  359. package/src/scripts/build_rule_trigger_matrix.ts +1 -1
  360. package/src/scripts/build_source_digests.ts +157 -0
  361. package/src/scripts/cache_realization_report.ts +103 -0
  362. package/src/scripts/check_adr_frontmatter.ts +126 -0
  363. package/src/scripts/check_benchmark_report_fields.ts +207 -0
  364. package/src/scripts/check_beta_review_markers.ts +235 -6
  365. package/src/scripts/check_bundle_path_leakage.ts +195 -7
  366. package/src/scripts/check_claims.ts +576 -6
  367. package/src/scripts/check_command_examples.ts +557 -0
  368. package/src/scripts/check_composite_arming.ts +35 -0
  369. package/src/scripts/check_concern_admissions.ts +365 -0
  370. package/src/scripts/check_enforcement_coverage.ts +28 -0
  371. package/src/scripts/check_estate_count.ts +263 -3
  372. package/src/scripts/check_gate_reachability.ts +383 -0
  373. package/src/scripts/check_host_loadability.ts +104 -0
  374. package/src/scripts/check_loss_class_declared.ts +308 -0
  375. package/src/scripts/check_md_language.ts +15 -98
  376. package/src/scripts/check_memory_proposal.ts +18 -11
  377. package/src/scripts/check_no_currency_in_cost_surfaces.ts +225 -0
  378. package/src/scripts/check_no_external_sources.ts +281 -6
  379. package/src/scripts/check_pack_conformance_fixture.ts +11 -1
  380. package/src/scripts/check_pack_size.ts +59 -2
  381. package/src/scripts/check_preamble_payload_budget.ts +144 -6
  382. package/src/scripts/check_prefix_stable_mutation.ts +372 -0
  383. package/src/scripts/check_publish_surface.ts +10 -1
  384. package/src/scripts/check_references.ts +24 -1
  385. package/src/scripts/check_routing_coverage.ts +352 -0
  386. package/src/scripts/check_rule_evidence_declaration.ts +316 -0
  387. package/src/scripts/check_rule_projection_integrity.ts +14 -4
  388. package/src/scripts/check_score_contract.ts +528 -0
  389. package/src/scripts/check_skill_admissions.ts +514 -0
  390. package/src/scripts/check_static_parity.ts +285 -0
  391. package/src/scripts/check_supervision_claim_atomicity.ts +498 -0
  392. package/src/scripts/check_suppression_hygiene.ts +15 -0
  393. package/src/scripts/check_web_launch_readiness.ts +705 -0
  394. package/src/scripts/ci_settle.ts +39 -2
  395. package/src/scripts/code_graph/build.ts +60 -3
  396. package/src/scripts/code_graph/extract.ts +44 -0
  397. package/src/scripts/code_graph/types.ts +24 -0
  398. package/src/scripts/collector_daemon.ts +714 -0
  399. package/src/scripts/config_cost_report.ts +302 -0
  400. package/src/scripts/consumer_matrix.ts +74 -1
  401. package/src/scripts/cost/budget.mjs +10 -3
  402. package/src/scripts/cost/track.mjs +10 -3
  403. package/src/scripts/council_cli.ts +37 -54
  404. package/src/scripts/description_route_check.ts +494 -0
  405. package/src/scripts/dispatch_r2_reviewer.ts +46 -5
  406. package/src/scripts/evolution_lab.ts +980 -0
  407. package/src/scripts/external_sources_denylist.json +5 -18
  408. package/src/scripts/extract_audit_patterns.ts +21 -0
  409. package/src/scripts/fold_intake.ts +12 -1
  410. package/src/scripts/gen_discovery_baseline.ts +1 -1
  411. package/src/scripts/generate_capabilities_index.ts +12 -5
  412. package/src/scripts/generate_capability_matrix.ts +3 -3
  413. package/src/scripts/generate_command_flows.ts +2 -2
  414. package/src/scripts/generate_cookbook.ts +2 -2
  415. package/src/scripts/generate_index.ts +8 -1
  416. package/src/scripts/generate_knowledge_index.ts +2 -1
  417. package/src/scripts/generate_ownership_matrix.ts +2 -1
  418. package/src/scripts/generate_pack_manifests.ts +10 -2
  419. package/src/scripts/generate_role_experiences_catalog.ts +2 -2
  420. package/src/scripts/generate_settings_reference.ts +1 -1
  421. package/src/scripts/git_authorization_hook.ts +22 -1
  422. package/src/scripts/grade_target_readiness.ts +48 -5
  423. package/src/scripts/hook_effect_doctor.ts +261 -0
  424. package/src/scripts/hook_manifest.json +1 -1
  425. package/src/scripts/hook_manifest.yaml +125 -11
  426. package/src/scripts/hooks/block_speaking_inbox_dir.ts +271 -0
  427. package/src/scripts/hooks/block_unauthorized_git.ts +18 -0
  428. package/src/scripts/hooks/concern_registry.ts +6 -0
  429. package/src/scripts/hooks/dispatch_hook.ts +32 -0
  430. package/src/scripts/hooks/journal_record_hook.ts +345 -0
  431. package/src/scripts/hooks/prepush_metadata_sources.sh +110 -0
  432. package/src/scripts/hooks/run_continuation_hook.ts +44 -9
  433. package/src/scripts/hooks/shims/install.sh +61 -0
  434. package/src/scripts/hooks/shims/php +101 -0
  435. package/src/scripts/hooks/suggestion_capture_hook.ts +378 -0
  436. package/src/scripts/hot_context_hook.ts +16 -0
  437. package/src/scripts/install-hooks.sh +20 -5
  438. package/src/scripts/install.ts +17 -35
  439. package/src/scripts/inventory_frontmatter.ts +2 -1
  440. package/src/scripts/lint_adr_sweep_routing.ts +12 -0
  441. package/src/scripts/lint_budget_ownership.ts +54 -4
  442. package/src/scripts/lint_canonical_terms.ts +604 -0
  443. package/src/scripts/lint_composition_review.ts +619 -0
  444. package/src/scripts/lint_consolidation_lineage.ts +666 -0
  445. package/src/scripts/lint_eval_specs.ts +593 -0
  446. package/src/scripts/lint_hook_manifest.ts +19 -0
  447. package/src/scripts/lint_host_portability.ts +373 -0
  448. package/src/scripts/lint_judge_prompt_expectation.ts +27 -1
  449. package/src/scripts/lint_memory_twin_parity.ts +335 -0
  450. package/src/scripts/lint_metric_consumers.ts +355 -0
  451. package/src/scripts/lint_skill_descriptions.ts +18 -1
  452. package/src/scripts/lint_skill_frontmatter_safety.ts +58 -0
  453. package/src/scripts/lint_skill_link_reach.ts +252 -0
  454. package/src/scripts/lint_skill_trigger_corpus.ts +752 -0
  455. package/src/scripts/lint_ticket_buildable.ts +17 -1
  456. package/src/scripts/mcp_server/consumer_tool_catalog.json +1 -1
  457. package/src/scripts/mcp_server/tool_catalog_source.ts +1 -1
  458. package/src/scripts/measure_docs_dead_links.ts +348 -0
  459. package/src/scripts/measure_host_capture.ts +461 -0
  460. package/src/scripts/migration_status.ts +3 -3
  461. package/src/scripts/model_rule_injection.ts +60 -0
  462. package/src/scripts/orchestration_record.ts +14 -0
  463. package/src/scripts/pack_install_smoke.ts +363 -0
  464. package/src/scripts/pr_conflict_census.ts +187 -0
  465. package/src/scripts/preamble_byte_census.ts +139 -10
  466. package/src/scripts/prepack-check.mjs +4 -1
  467. package/src/scripts/probe_turnaround.ts +384 -0
  468. package/src/scripts/probe_unblocked_ask.ts +279 -0
  469. package/src/scripts/render_benchmark_md.ts +1 -1
  470. package/src/scripts/report_pack_delta.ts +204 -0
  471. package/src/scripts/rule_activation_census.ts +70 -9
  472. package/src/scripts/rule_backlinks.ts +1 -1
  473. package/src/scripts/run_lifecycle_suite.ts +208 -0
  474. package/src/scripts/run_skill_evals.ts +40 -0
  475. package/src/scripts/schemas/delivery-manifest.schema.json +43 -0
  476. package/src/scripts/schemas/drafting-channels.schema.json +43 -0
  477. package/src/scripts/schemas/evals.schema.json +24 -1
  478. package/src/scripts/schemas/rule.schema.json +52 -1
  479. package/src/scripts/schemas/skill.schema.json +17 -2
  480. package/src/scripts/select_analysis_mode.ts +112 -0
  481. package/src/scripts/skill_overlap.ts +7 -1
  482. package/src/scripts/skill_tools/run_block_d_eval.ts +8 -1
  483. package/src/scripts/skill_tools/score_skill_relevance.ts +84 -3
  484. package/src/scripts/skill_tools/suggest_skill_for_task.ts +8 -1
  485. package/src/scripts/skill_usage_report.ts +2 -1
  486. package/src/scripts/stubs_due.ts +211 -0
  487. package/src/scripts/sweep_source_surfaces.ts +678 -0
  488. package/src/scripts/sync_pr_branch.ts +40 -1
  489. package/src/scripts/trigger_eval_grandfather.json +202 -222
  490. package/src/scripts/utilization_report.ts +22 -2
  491. package/src/server/schemas/settings.ts +10 -0
  492. package/src/templates/marketing-copy.yml +1 -1
  493. package/dist/agent-src/skills/accessibility-auditor/evals/evals.json +0 -15
  494. package/dist/agent-src/skills/agent-security-review/evals/triggers.json +0 -52
  495. package/dist/agent-src/skills/ai-code-blindspots/evals/triggers.json +0 -52
  496. package/dist/agent-src/skills/alerting-doctrine/evals/triggers.json +0 -17
  497. package/dist/agent-src/skills/analysis-skill-router/evals/evals.json +0 -13
  498. package/dist/agent-src/skills/brand/evals/triggers.json +0 -17
  499. package/dist/agent-src/skills/brand-asset-generation/evals/triggers.json +0 -17
  500. package/dist/agent-src/skills/brand-audit/evals/triggers.json +0 -17
  501. package/dist/agent-src/skills/brand-identity/evals/triggers.json +0 -17
  502. package/dist/agent-src/skills/brand-strategy/evals/triggers.json +0 -17
  503. package/dist/agent-src/skills/brand-to-tokens/evals/triggers.json +0 -17
  504. package/dist/agent-src/skills/bug-analyzer/evals/evals.json +0 -13
  505. package/dist/agent-src/skills/canvas-design/evals/triggers.json +0 -17
  506. package/dist/agent-src/skills/character-consistency/evals/evals.json +0 -16
  507. package/dist/agent-src/skills/code-intelligence/evals/triggers.json +0 -52
  508. package/dist/agent-src/skills/code-review/evals/evals.json +0 -100
  509. package/dist/agent-src/skills/command-routing/evals/evals.json +0 -14
  510. package/dist/agent-src/skills/complexity-first-planning/evals/triggers.json +0 -17
  511. package/dist/agent-src/skills/contract-review/evals/triggers.json +0 -17
  512. package/dist/agent-src/skills/conventional-commits-writing/evals/evals.json +0 -15
  513. package/dist/agent-src/skills/corpus-grounding/evals/triggers.json +0 -17
  514. package/dist/agent-src/skills/dashboard-design/evals/evals.json +0 -16
  515. package/dist/agent-src/skills/dcf-modeling/evals/domain-truth.json +0 -29
  516. package/dist/agent-src/skills/dcf-modeling/evals/evals.json +0 -20
  517. package/dist/agent-src/skills/decision-record/evals/evals.json +0 -20
  518. package/dist/agent-src/skills/decision-record/evals/triggers.json +0 -87
  519. package/dist/agent-src/skills/design-intelligence/evals/evals.json +0 -14
  520. package/dist/agent-src/skills/design-intelligence/evals/triggers.json +0 -17
  521. package/dist/agent-src/skills/design-system-capture/evals/evals.json +0 -15
  522. package/dist/agent-src/skills/design-tokens/evals/triggers.json +0 -17
  523. package/dist/agent-src/skills/design-variations/evals/triggers.json +0 -17
  524. package/dist/agent-src/skills/developer-like-execution/evals/evals.json +0 -16
  525. package/dist/agent-src/skills/doc-coauthoring/evals/evals.json +0 -16
  526. package/dist/agent-src/skills/doc-coauthoring/evals/triggers.json +0 -17
  527. package/dist/agent-src/skills/docx-authoring/evals/triggers.json +0 -52
  528. package/dist/agent-src/skills/dpa-review/evals/triggers.json +0 -17
  529. package/dist/agent-src/skills/editorial-calendar/evals/domain-truth.json +0 -16
  530. package/dist/agent-src/skills/editorial-calendar/evals/evals.json +0 -16
  531. package/dist/agent-src/skills/eloquent/evals/triggers.json +0 -17
  532. package/dist/agent-src/skills/estimate-ticket/evals/evals.json +0 -16
  533. package/dist/agent-src/skills/estimate-ticket/evals/output-schema.yml +0 -20
  534. package/dist/agent-src/skills/estimate-ticket/evals/triggers.json +0 -19
  535. package/dist/agent-src/skills/evaluate-llm-feature/evals/triggers.json +0 -52
  536. package/dist/agent-src/skills/existing-ui-audit/evals/triggers.json +0 -47
  537. package/dist/agent-src/skills/experiment-loop/evals/output-schema.yml +0 -27
  538. package/dist/agent-src/skills/experiment-loop/evals/triggers.json +0 -17
  539. package/dist/agent-src/skills/fe-design/evals/triggers.json +0 -67
  540. package/dist/agent-src/skills/forecasting/evals/domain-truth.json +0 -29
  541. package/dist/agent-src/skills/forecasting/evals/evals.json +0 -20
  542. package/dist/agent-src/skills/forensics-report/evals/triggers.json +0 -17
  543. package/dist/agent-src/skills/frontend-render-security/evals/triggers.json +0 -52
  544. package/dist/agent-src/skills/fundraising-narrative/evals/domain-truth.json +0 -16
  545. package/dist/agent-src/skills/fundraising-narrative/evals/evals.json +0 -16
  546. package/dist/agent-src/skills/gated-reach/evals/triggers.json +0 -72
  547. package/dist/agent-src/skills/github-ci/evals/evals.json +0 -25
  548. package/dist/agent-src/skills/history-design/evals/triggers.json +0 -17
  549. package/dist/agent-src/skills/html-deck/evals/triggers.json +0 -17
  550. package/dist/agent-src/skills/humanizer/evals/strip_fixtures.json +0 -57
  551. package/dist/agent-src/skills/humanizer/evals/triggers.json +0 -17
  552. package/dist/agent-src/skills/iconography/evals/triggers.json +0 -17
  553. package/dist/agent-src/skills/image-analyser/evals/triggers.json +0 -17
  554. package/dist/agent-src/skills/image-creator/evals/triggers.json +0 -17
  555. package/dist/agent-src/skills/image-editing/evals/triggers.json +0 -17
  556. package/dist/agent-src/skills/image-generation/evals/triggers.json +0 -17
  557. package/dist/agent-src/skills/image-provider-routing/evals/triggers.json +0 -17
  558. package/dist/agent-src/skills/incident-commander/evals/domain-truth.json +0 -16
  559. package/dist/agent-src/skills/incident-commander/evals/evals.json +0 -20
  560. package/dist/agent-src/skills/js-library-packaging/evals/triggers.json +0 -17
  561. package/dist/agent-src/skills/judge-artifact-completeness/evals/triggers.json +0 -17
  562. package/dist/agent-src/skills/judge-injection-defense/evals/triggers.json +0 -17
  563. package/dist/agent-src/skills/judge-synthesis/evals/triggers.json +0 -17
  564. package/dist/agent-src/skills/launch-readiness/evals/evals.json +0 -21
  565. package/dist/agent-src/skills/learning-tutor/evals/triggers.json +0 -52
  566. package/dist/agent-src/skills/legal-intake-triage/evals/triggers.json +0 -17
  567. package/dist/agent-src/skills/legal-practice-profile/evals/triggers.json +0 -17
  568. package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +0 -52
  569. package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +0 -52
  570. package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +0 -52
  571. package/dist/agent-src/skills/llm-provider-knowledge/evals/triggers.json +0 -20
  572. package/dist/agent-src/skills/logging-monitoring/evals/evals.json +0 -16
  573. package/dist/agent-src/skills/logo-generation/evals/triggers.json +0 -17
  574. package/dist/agent-src/skills/messaging-architecture/evals/domain-truth.json +0 -16
  575. package/dist/agent-src/skills/messaging-architecture/evals/evals.json +0 -16
  576. package/dist/agent-src/skills/monorepo-workspace/evals/triggers.json +0 -17
  577. package/dist/agent-src/skills/nda-triage/evals/triggers.json +0 -17
  578. package/dist/agent-src/skills/operational-readiness/evals/triggers.json +0 -17
  579. package/dist/agent-src/skills/pdf-tools/evals/triggers.json +0 -52
  580. package/dist/agent-src/skills/perf-feedback-craft/evals/evals.json +0 -16
  581. package/dist/agent-src/skills/persona-improvement/evals/triggers.json +0 -52
  582. package/dist/agent-src/skills/php-coder/evals/triggers.json +0 -17
  583. package/dist/agent-src/skills/prediction-pool-optimizer/evals/triggers.json +0 -21
  584. package/dist/agent-src/skills/prompt-engineering-image/evals/triggers.json +0 -17
  585. package/dist/agent-src/skills/prompt-engineering-patterns/evals/evals.json +0 -16
  586. package/dist/agent-src/skills/prompt-validator/evals/triggers.json +0 -17
  587. package/dist/agent-src/skills/quality-tools/evals/evals.json +0 -15
  588. package/dist/agent-src/skills/reasoning-orchestrator/evals/triggers.json +0 -17
  589. package/dist/agent-src/skills/refine-prompt/evals/evals.json +0 -16
  590. package/dist/agent-src/skills/refine-ticket/evals/evals.json +0 -16
  591. package/dist/agent-src/skills/refine-ticket/evals/output-schema.yml +0 -16
  592. package/dist/agent-src/skills/refine-ticket/evals/triggers.json +0 -17
  593. package/dist/agent-src/skills/release-comms/evals/evals.json +0 -16
  594. package/dist/agent-src/skills/rice-prioritization/evals/evals.json +0 -20
  595. package/dist/agent-src/skills/runway-cognition/evals/domain-truth.json +0 -29
  596. package/dist/agent-src/skills/runway-cognition/evals/evals.json +0 -20
  597. package/dist/agent-src/skills/scenario-modeling/evals/domain-truth.json +0 -29
  598. package/dist/agent-src/skills/scenario-modeling/evals/evals.json +0 -20
  599. package/dist/agent-src/skills/schema-review/evals/triggers.json +0 -17
  600. package/dist/agent-src/skills/screenshot-hygiene/evals/triggers.json +0 -52
  601. package/dist/agent-src/skills/security-maturity-assessment/evals/triggers.json +0 -52
  602. package/dist/agent-src/skills/server-hardening/evals/triggers.json +0 -17
  603. package/dist/agent-src/skills/skill-writing/evals/triggers.json +0 -17
  604. package/dist/agent-src/skills/spreadsheet-authoring/evals/triggers.json +0 -47
  605. package/dist/agent-src/skills/storybook-workshop/evals/triggers.json +0 -17
  606. package/dist/agent-src/skills/subagent-orchestration/evals/evals.json +0 -60
  607. package/dist/agent-src/skills/supply-chain-intake/evals/triggers.json +0 -52
  608. package/dist/agent-src/skills/systematic-debugging/evals/evals.json +0 -20
  609. package/dist/agent-src/skills/test-case-discovery/evals/triggers.json +0 -52
  610. package/dist/agent-src/skills/test-driven-development/evals/evals.json +0 -16
  611. package/dist/agent-src/skills/threat-modeling/evals/evals.json +0 -21
  612. package/dist/agent-src/skills/typography-system/evals/evals.json +0 -14
  613. package/dist/agent-src/skills/typography-system/evals/triggers.json +0 -17
  614. package/dist/agent-src/skills/unit-economics-modeling/evals/domain-truth.json +0 -40
  615. package/dist/agent-src/skills/unit-economics-modeling/evals/evals.json +0 -24
  616. package/dist/agent-src/skills/verify-completion-evidence/evals/evals.json +0 -16
  617. package/dist/agent-src/skills/verify-repair-loop/evals/output-schema.yml +0 -20
  618. package/dist/agent-src/skills/verify-repair-loop/evals/triggers.json +0 -17
  619. package/dist/agent-src/skills/vision-articulation/evals/evals.json +0 -16
  620. package/dist/agent-src/skills/voice-and-tone-design/evals/evals.json +0 -16
  621. package/dist/agent-src/skills/wireframe/evals/triggers.json +0 -17
  622. package/dist/agent-src/skills/workspace-link/evals/triggers.json +0 -17
  623. package/dist/agent-src/skills/worktree-lifecycle/evals/evals.json +0 -38
  624. package/dist/agent-src/skills/worktree-lifecycle/evals/triggers.json +0 -52
  625. package/dist/cli/agent-config.js.map +0 -1
  626. package/dist/cli/bash/runBash.js.map +0 -1
  627. package/dist/cli/commands/commands.js.map +0 -1
  628. package/dist/cli/commands/config.js.map +0 -1
  629. package/dist/cli/commands/doctorShell.js.map +0 -1
  630. package/dist/cli/commands/mcpServer.js.map +0 -1
  631. package/dist/cli/commands/packs.js.map +0 -1
  632. package/dist/cli/commands/profiles.js.map +0 -1
  633. package/dist/cli/commands/recordTriggerEval.js.map +0 -1
  634. package/dist/cli/commands/rtkDetect.js.map +0 -1
  635. package/dist/cli/commands/settings.js.map +0 -1
  636. package/dist/cli/commands/uiAudit.js.map +0 -1
  637. package/dist/cli/commands/uiRender.js.map +0 -1
  638. package/dist/cli/commands/uiServe.js.map +0 -1
  639. package/dist/cli/commands/versions.js.map +0 -1
  640. package/dist/cli/commands/workspaces.js.map +0 -1
  641. package/dist/cli/configRoot.js.map +0 -1
  642. package/dist/cli/discovery/loadManifest.js.map +0 -1
  643. package/dist/cli/firstRunNotice.js.map +0 -1
  644. package/dist/cli/help.js.map +0 -1
  645. package/dist/cli/initRouting.js.map +0 -1
  646. package/dist/cli/log/logger.js.map +0 -1
  647. package/dist/cli/main.js.map +0 -1
  648. package/dist/cli/mcp/content.js.map +0 -1
  649. package/dist/cli/mcp/dispatch.js.map +0 -1
  650. package/dist/cli/mcp/stdio.js.map +0 -1
  651. package/dist/cli/paths.js.map +0 -1
  652. package/dist/cli/python/knowledge_ingest.js.map +0 -1
  653. package/dist/cli/python/workspace_analytics.js.map +0 -1
  654. package/dist/cli/python/workspace_crypto.js.map +0 -1
  655. package/dist/cli/python/workspace_documents.js.map +0 -1
  656. package/dist/cli/python/workspace_drive.js.map +0 -1
  657. package/dist/cli/python/workspace_drive_health.js.map +0 -1
  658. package/dist/cli/python/workspace_explain.js.map +0 -1
  659. package/dist/cli/python/workspace_hosts.js.map +0 -1
  660. package/dist/cli/python/workspace_inbox.js.map +0 -1
  661. package/dist/cli/python/workspace_render.js.map +0 -1
  662. package/dist/cli/python/workspace_roles.js.map +0 -1
  663. package/dist/cli/python/workspace_secrets.js.map +0 -1
  664. package/dist/cli/python/workspace_sessions.js.map +0 -1
  665. package/dist/cli/python/workspace_skills.js.map +0 -1
  666. package/dist/cli/registry.js.map +0 -1
  667. package/dist/install/agentSwitchDetection.js.map +0 -1
  668. package/dist/install/agentSwitchProfile.js.map +0 -1
  669. package/dist/install/atomic.js.map +0 -1
  670. package/dist/install/claudePathsPlan.js.map +0 -1
  671. package/dist/install/conflict.js.map +0 -1
  672. package/dist/install/detect.js.map +0 -1
  673. package/dist/install/emit_host_rules_cli.js.map +0 -1
  674. package/dist/install/globalRuleLayers.js.map +0 -1
  675. package/dist/install/hostLayerFingerprint.js.map +0 -1
  676. package/dist/install/partitionEligibility.js.map +0 -1
  677. package/dist/install/paths.js.map +0 -1
  678. package/dist/install/plan.js.map +0 -1
  679. package/dist/install/preflight.js.map +0 -1
  680. package/dist/install/rtkDetection.js.map +0 -1
  681. package/dist/install/ruleInScope.js.map +0 -1
  682. package/dist/install/ruleLayerPartition.js.map +0 -1
  683. package/dist/install/rule_scope.js.map +0 -1
  684. package/dist/install/rule_scope_cli.js.map +0 -1
  685. package/dist/install/selectedTools.js.map +0 -1
  686. package/dist/install/toolDetection.js.map +0 -1
  687. package/dist/install/txlog.js.map +0 -1
  688. package/dist/install/types.js.map +0 -1
  689. package/dist/install/wizard-plan.js.map +0 -1
  690. package/dist/install/wizardDismissals.js.map +0 -1
  691. package/dist/scripts/_lib/agent_settings.js.map +0 -1
  692. package/dist/scripts/_lib/agent_src.js.map +0 -1
  693. package/dist/scripts/_lib/claude_builtin_names.js.map +0 -1
  694. package/dist/scripts/_lib/claude_plugin.js.map +0 -1
  695. package/dist/scripts/_lib/claude_settings_hooks.js.map +0 -1
  696. package/dist/scripts/_lib/compile_time_toggles.js.map +0 -1
  697. package/dist/scripts/_lib/environment_detector.js.map +0 -1
  698. package/dist/scripts/_lib/host_launch.js.map +0 -1
  699. package/dist/scripts/_lib/install_layout.js.map +0 -1
  700. package/dist/scripts/_lib/installed_lock.js.map +0 -1
  701. package/dist/scripts/_lib/lean_projection_mode.js.map +0 -1
  702. package/dist/scripts/_lib/model_tier.js.map +0 -1
  703. package/dist/scripts/_lib/prune_empty_dirs.js.map +0 -1
  704. package/dist/scripts/_lib/scoped_projection.js.map +0 -1
  705. package/dist/scripts/_lib/script_output.js.map +0 -1
  706. package/dist/scripts/_lib/spawn_env.js.map +0 -1
  707. package/dist/scripts/_lib/surface_tiers.js.map +0 -1
  708. package/dist/scripts/_lib/token_count.js.map +0 -1
  709. package/dist/scripts/_lib/trigger_eval_floors.js.map +0 -1
  710. package/dist/scripts/_lib/ui_surface.js.map +0 -1
  711. package/dist/scripts/_lib/user_global_paths.js.map +0 -1
  712. package/dist/scripts/ai_council/modes.js.map +0 -1
  713. package/dist/scripts/ai_council/transport_resolver.js.map +0 -1
  714. package/dist/scripts/condense.js.map +0 -1
  715. package/dist/scripts/project_thin_rules.js.map +0 -1
  716. package/dist/server/app.js.map +0 -1
  717. package/dist/server/io/atomicMultiWrite.js.map +0 -1
  718. package/dist/server/io/atomicWrite.js.map +0 -1
  719. package/dist/server/io/sharedWriteCheck.js.map +0 -1
  720. package/dist/server/io/substituteTemplate.js.map +0 -1
  721. package/dist/server/io/yamlIO.js.map +0 -1
  722. package/dist/server/nicknameResolver.js.map +0 -1
  723. package/dist/server/port.js.map +0 -1
  724. package/dist/server/routes/discovery.js.map +0 -1
  725. package/dist/server/routes/install.js.map +0 -1
  726. package/dist/server/routes/ping.js.map +0 -1
  727. package/dist/server/routes/schema.js.map +0 -1
  728. package/dist/server/routes/settings.js.map +0 -1
  729. package/dist/server/routes/settingsChanges.js.map +0 -1
  730. package/dist/server/routes/userMd.js.map +0 -1
  731. package/dist/server/routes/wizard.js.map +0 -1
  732. package/dist/server/routes/workspace.js.map +0 -1
  733. package/dist/server/schemas/settings.js.map +0 -1
  734. package/dist/server/serverInfo.js.map +0 -1
  735. package/dist/server/token.js.map +0 -1
  736. package/dist/server/writeRoot.js.map +0 -1
  737. package/dist/shared/capabilities.js.map +0 -1
  738. package/dist/shared/interactiveContext.js.map +0 -1
  739. package/dist/shared/nicknamePrefill.js.map +0 -1
  740. package/dist/shared/settingsAsks.js.map +0 -1
  741. package/dist/shared/settingsCarveOut.js.map +0 -1
  742. package/dist/shared/settingsClasses.js.map +0 -1
  743. package/dist/shared/settingsConsent.js.map +0 -1
  744. package/dist/shared/settingsSurface.js.map +0 -1
  745. package/dist/shared/skillRanking.js.map +0 -1
  746. package/dist/shared/userMd/formAdapter.js.map +0 -1
  747. package/dist/shared/userMd/schema.js.map +0 -1
  748. package/dist/shared/userMd/utils.js.map +0 -1
  749. package/dist/ui/assets/index-Cxgy63kz.js +0 -26
  750. package/dist/ui/assets/index-Cxgy63kz.js.map +0 -1
  751. package/src/scripts/_lib/adr_frontmatter.test.ts +0 -365
  752. package/src/scripts/_lib/adversarial_council_gate.test.ts +0 -112
  753. package/src/scripts/_lib/adversarial_reconcile.test.ts +0 -197
  754. package/src/scripts/_lib/auto_dispatch.corpus.test.ts +0 -150
  755. package/src/scripts/_lib/secret_detector.test.ts +0 -108
  756. package/src/scripts/_lib/secret_detector_adversarial.test.ts +0 -116
  757. package/src/scripts/_lib/ui_authority.test.ts +0 -251
  758. package/src/scripts/_lib/untrusted_content.test.ts +0 -175
  759. package/src/scripts/check_secret_leak.test.ts +0 -90
  760. package/src/scripts/design_slop_rules.test.ts +0 -246
  761. package/src/scripts/self_review_gate.test.ts +0 -296
  762. package/src/shared/capabilities.test.ts +0 -43
@@ -115,3 +115,43 @@ the enumerated-set carve-out.
115
115
  - User explicitly asks for full output — show it.
116
116
 
117
117
  → Detailed patterns: `docs/guidelines/agent-infra/output-patterns.md`
118
+
119
+ ## Independent calls go in ONE block — the evidence
120
+
121
+ ```
122
+ CALLS WITH NO DEPENDENCY BETWEEN THEM GO IN THE SAME BLOCK.
123
+ A SECOND CALL THAT DOES NOT READ THE FIRST ONE'S RESULT IS NOT A SECOND TURN.
124
+ BEFORE EMITTING A SINGLE CALL, ASK WHAT ELSE IS ALREADY KNOWN TO BE NEEDED.
125
+ ```
126
+
127
+ The ceiling above forbids repetition; this forbids the opposite failure —
128
+ splitting work that had no reason to be split. It is stated because it is
129
+ **measured, not suspected**: over ten sessions of this package,
130
+ `probe_turnaround` reports a mean tool-call batch size of **1.01**, with 27 of
131
+ 2,889 tool-using requests (0.93 %) carrying more than one call. At a 4.7 s
132
+ median generation latency, a request that fans out to 42 calls spends about five
133
+ minutes on serialization before a single tool runs.
134
+
135
+ **Nothing in this package caused that, and nothing in it can fix it.** The cause
136
+ was looked for and is recorded as absent
137
+ (`agents/evidence/analysis/agent-turnaround-2026-08-30.md` § E2): no rule, skill
138
+ or template forbids parallel calls, and parallel calls do occur — so 1.01 is a
139
+ tendency, not a floor with a mechanism behind it.
140
+
141
+ **The discriminator is the dependency, never the count.** Two greps over
142
+ different files, a status and a log, three independent reads named before the
143
+ first one runs — one block. A read whose path comes out of the previous result —
144
+ two blocks, and batching them would be guessing.
145
+
146
+ **Do not read this as "write shorter commands".** In the same corpus, 98.1 % of
147
+ `Bash` calls are already compound or heredoc, and the 18 % that exceed 1,500
148
+ characters carry 75 % of all command bytes — those are one-shot scripts that each
149
+ replace three to six round-trips. Splitting them trades one expensive call for
150
+ several cheap ones and makes the number worse while looking like a fix.
151
+
152
+ **Honest enforcement — `instruction-only`.** No gate can observe a call that was
153
+ not batched: a transcript records the calls that happened, never the block they
154
+ could have shared. `probe_turnaround` reports the rate afterwards and refuses to
155
+ gate on a store CI does not have. This paragraph is the whole mechanism, and the
156
+ roadmap that added it pre-committed to recording a null if the rate does not
157
+ move rather than repeating the reminder more loudly.
@@ -232,8 +232,11 @@ NEVER A SILENTLY DEGRADED ANSWER. NO LLM CLASSIFIER FALLBACK (CUT C3).
232
232
  **Why rg-first** (council 2026-07-28, 2 rounds): the pre-registered benchmark
233
233
  behind the `code-graph-retrieval-null` claim (`docs/CLAIMS.md`) measured
234
234
  native-graph recall 0.365 vs grep 0.797 on graph-shaped questions — an
235
- indexing gap that keeps `code_graph.enabled` false permanently. The accelerant
236
- clause in the table above is that bound's escape hatch and is inert today.
235
+ indexing gap that keeps `code_graph.enabled` false BY DEFAULT — not
236
+ permanently: the 2026-08-15 withdrawal retracted that, and the figures predate
237
+ the 2026-08-22 extractor repair. The accelerant clause above is that bound's
238
+ escape hatch; `classifyLookup` reads the flag, so turning it on is the whole
239
+ change.
237
240
 
238
241
  **Escalation, not degradation:** a primitive that returns nothing (index miss,
239
242
  pattern too ambiguous, report script absent) — **or an unusable result**
@@ -157,6 +157,27 @@ When validating a single target, run the **specific** check, not a meta-task tha
157
157
 
158
158
  Concrete tool mapping — verify with the narrowest tool that proves the target green: a single `curl` / Playwright spec / browser run for HTTP behavior, the project's test runner with a `--filter` for one test, a debugger / `xdebug` step-through for one frame. Never substitute a meta-pipeline for a tool that pinpoints the failure.
159
159
 
160
+ ### Progress-primary ordering — and why the cap stays
161
+
162
+ Where the objective is **countable** — findings closed, tests passing,
163
+ occurrences remaining — the primary stop signal is **no progress** or a **new
164
+ minimum**, and the N=3 iteration cap is the **backstop**. A counter alone cannot
165
+ tell three attempts that each closed a finding from three that changed nothing.
166
+
167
+ **Do not remove the cap.** A no-progress signal is only as good as the metric
168
+ behind it, and a metric that stops moving because the MEASUREMENT broke looks
169
+ exactly like one that stops moving because the work is done. The cap bounds the
170
+ damage when the primary signal is wrong.
171
+
172
+ The two stops are different outcomes and are reported as different words: the cap
173
+ firing is `exhausted`, a repeating failure signature with budget left is
174
+ `stagnated` — see
175
+ [`terminal-states`](terminal-states.md). Collapsing them invites the wrong
176
+ remedy, because raising a budget helps the first and never the second.
177
+
178
+ Where the objective is NOT countable, the cap is the only signal and the N=3
179
+ budget above applies unchanged.
180
+
160
181
  ## Adaptive effort & stop (RDP)
161
182
 
162
183
  Scale effort to task difficulty, and stop when marginal evidence drops — coupled
@@ -95,6 +95,32 @@ L0–L4 are human shorthand for how deep a discovery went; they are documentatio
95
95
  only. The **same** evidence rules apply at every tier — no enforced state
96
96
  machine, no per-tier evidence relaxation.
97
97
 
98
+ ## Re-orient when the tree contradicts what you last read
99
+
100
+ External edits invalidate evidence. When the user mentions they changed something
101
+ outside this session, or a read contradicts the last known state of a file, the
102
+ prior observation is **stale, not wrong** — and acting on it overwrites work that
103
+ is not yours.
104
+
105
+ Five steps, in order:
106
+
107
+ 1. Treat every prior observation of the affected paths as invalidated.
108
+ 2. Re-read the state — `git status`, then the affected files themselves.
109
+ 3. Reconstruct the assumption that broke. A file did not vanish; it was renamed,
110
+ a block moved, a symbol was extracted. Find where it went before concluding
111
+ it is gone.
112
+ 4. Preserve the external work. Never restore from your own stale copy.
113
+ 5. Say what changed if the scope or the conclusion moved, rather than
114
+ continuing as though the earlier reading still held.
115
+
116
+ The failure this prevents is narrower than "be careful": it is re-applying a
117
+ diff computed against a tree that no longer exists, which looks like a clean
118
+ apply and silently reverts somebody's edit.
119
+
120
+ **No gate covers this.** It is a re-read the transcript cannot distinguish from
121
+ a first read, so it is model-carried — the same honesty boundary § Honest
122
+ enforcement reality states for the rest of this file.
123
+
98
124
  ## Honest enforcement reality
99
125
 
100
126
  ```
@@ -39,6 +39,7 @@ v1 forward-compat rule on unknown fields).
39
39
  |---|---|---|
40
40
  | `task_size_estimate` | int | Pre-dispatch estimate of the task's size (the orchestrator's sizing heuristic). Counts only, no body. |
41
41
  | `spawn_count` | int | Number of subagents dispatched for this task. `0` → handled in-session. |
42
+ | `empty_cycles` | int \| null | Trigger fires suppressed as duplicates since the last outcome record. Reported as its OWN quantity and never folded into a success rate's numerator or denominator: a duplicate is not an outcome, and it is also not nothing — a rising count is what an idle loop looks like from outside. `null` = not tracked by this producer, which is **not** the same as zero duplicates observed. Deduplication rule in `src/scripts/_lib/empty_cycles.ts`: same key AND inside the window, both conjuncts required. |
42
43
  | `tiers` | string[] | Model tiers dispatched to, one entry per spawn class (e.g. `["sonnet","opus"]`). Tier names only, no prompts. |
43
44
  | `token_delta` | int | Net token cost of the dispatch versus the in-session baseline. Positive = orchestration cost more; negative = saved tokens. Counts only. |
44
45
  | `token_delta_provenance` | enum | `"measured"` when sourced from host-reported `usage` metadata (preferred); `"estimated"` when self-estimated from response length (mark always when host usage is unavailable). |
@@ -47,6 +47,46 @@ Direction chosen: **narrow the contract to what the validator already accepts**,
47
47
  not widen the validator. Widening makes every future divergence legal by
48
48
  construction, which is how one contract came to have three states.
49
49
 
50
+ ## Why success is gated, and not accepted
51
+
52
+ ```
53
+ AN UNVERIFIED SELF-REPORT IS INDISTINGUISHABLE FROM A RESULT.
54
+ A RETURN THAT CLAIMS SUCCESS AND SHOWS NO CHANGE AGAINST ITS OWN DECLARED
55
+ OUTPUT CONTRACT IS NOT EVIDENCE OF SUCCESS. IT IS EVIDENCE OF A CLAIM.
56
+ ```
57
+
58
+ **The failure this prevents.** Every downstream aggregation reads the recorded
59
+ outcome, not the return. `src/scripts/extract_audit_patterns.ts` mines repeated
60
+ patterns from it, and the per-asset effectiveness report is built on the same
61
+ stream. A forged `success` does not stay one line: it becomes signal, and the
62
+ report then recommends keeping an asset that never worked and retiring one that
63
+ did. Nothing downstream can detect it, because at that point the forgery is
64
+ indistinguishable from the thing it imitates — which is the whole reason the
65
+ check has to happen where the record is written rather than where it is read.
66
+
67
+ **Why the gate reads the declared output contract and not the diff.** The
68
+ obvious rule — claimed success plus an empty diff is never a success — is wrong
69
+ here, and wrong in a way that is worse than doing nothing. Analysis, review and
70
+ read-only research dispatches are a large share of this repository's subagent
71
+ traffic, and every one of them legitimately produces no diff. The unconditional
72
+ rule would mark them all as failures and poison the same aggregation in the
73
+ opposite direction. **Zero diff may be valid, so "zero diff = failure" must not
74
+ be global.** The gate therefore fires only where the dispatch itself declared
75
+ that a code change was the expected output.
76
+
77
+ **An unmeasured diff is not an empty diff.** Where the producer did not measure,
78
+ the gate does not fire. Treating "not measured" as zero manufactures the same
79
+ forgery with the opposite sign, and an aggregation cannot tell the two apart any
80
+ better than it can tell a forged success from a real one.
81
+
82
+ Implemented by `envelopeOutcome` in `src/scripts/_lib/orchestration_record.ts`,
83
+ the tree's only cross-domain outcome mapping. Because it is the only one, the
84
+ mapping is **versioned**: lines carry `outcome_semantics`, and an absent field
85
+ means the pre-2026-08-30 unconditional semantics. `audit-log-v1` is append-only,
86
+ so a labelling change cannot be rolled back the way a gate can — a reader
87
+ aggregating across the cutover segments on that field rather than inferring from
88
+ a date.
89
+
50
90
  ### Per-field divergence, one row per field
51
91
 
52
92
  | Field | spawn-contract (f) | `team_dispatch` model JSON (`:297`) | `subagent_response.ts` validator | `dispatch_r2_reviewer` |
@@ -104,11 +104,23 @@ doing its job; the orchestrator verifies (or revises) the parent first.
104
104
  ## Rollback guardrails — surfaced, not auto-disabled
105
105
 
106
106
  ```
107
- A CONFIG PACKAGE RUNS NO DAEMON. THERE IS NO AUTOMATIC COHORT-DISABLE.
107
+ A RESIDENT PROCESS HERE IS GOVERNED, NEVER AUTOMATIC. NO COHORT-DISABLE.
108
108
  BREACHES ARE SURFACED FROM THE AUDIT LOG FOR THE MAINTAINER / USER TO ACT ON.
109
109
  THE ONLY AUTOMATIC STOP IS THE PER-TARGET N=3 BUDGET.
110
110
  ```
111
111
 
112
+ > **Amended 2026-08-27 (ADR-249).** The first line used to read *"A CONFIG
113
+ > PACKAGE RUNS NO DAEMON"*, and that premise no longer holds: a **supervised**
114
+ > resident process is permitted in core under four governance conditions
115
+ > (`docs/contracts/resident-process-governance.md`, class P1). The block's force
116
+ > is unchanged, because the daemon clause was never what it governed — the rule
117
+ > here is that a breach never stops a cohort by itself, and that is if anything
118
+ > more load-bearing now than when nothing could be running. The replacement
119
+ > states the adopted constraint rather than an absence, which is the wording rule
120
+ > the same reversal imposes on every surface: name what the repository holds
121
+ > itself to, never a state of the world.
122
+
123
+
112
124
  The guardrail thresholds (`breachedGuardrails()`), read off the
113
125
  [`orchestration-telemetry`](orchestration-telemetry.md) audit signals:
114
126
 
@@ -0,0 +1,96 @@
1
+ # Terminal states — what a run REPORTS when it stops
2
+
3
+ > `road-to-skill-ecosystem-runtime-enforcement` Phase 4. Loaded on demand;
4
+ > the obligation surface is [`verify-before-complete`](../../rules/verify-before-complete.md).
5
+
6
+ A run has exactly one terminal state, and reporting the wrong one is not a
7
+ wording problem. **An error or an exhausted budget is never reported as
8
+ success.** The failure this vocabulary exists to stop is the one that reads
9
+ identically to a win: a loop that hit its iteration cap, a gate that could not
10
+ run, an approval that never came — each ending with a summary that says the work
11
+ is done.
12
+
13
+ ## The six states
14
+
15
+ | state | what it means | what it is NOT |
16
+ |---|---|---|
17
+ | `success` | The stated objective is met AND verified by a command run this turn. | Not "the edits landed". Landing is not verifying. |
18
+ | `clean-no-op` | Nothing needed doing, and that was **established**, not assumed. | Not "I found nothing" from a scan that never ran. A dead scope is `blocked`. |
19
+ | `blocked` | An external precondition is missing: a credential, a permission, a service, a decision only the user can make. | Not "hard". A blocker is a thing that is absent, not a thing that is difficult. |
20
+ | `approval-required` | The work is ready and the next action crosses a gate the agent may not cross alone. | Not `blocked`: nothing is missing, and the run produced a deliverable. |
21
+ | `exhausted` | A declared budget ran out — iterations, tokens, spend, wall-clock. | **Never** `success`, whatever partial progress exists. The cap firing IS the outcome. |
22
+ | `stagnated` | The budget has not run out and progress has stopped: the same failure signature is repeating. | Not `exhausted`. Stagnation is detected by a NO-PROGRESS signal, not by a counter. |
23
+
24
+ **Why `exhausted` and `stagnated` are separate**, when both stop a loop: they
25
+ have different remedies and different next actions. `exhausted` says *the work
26
+ may be fine and the budget was too small* — raising it is a legitimate response.
27
+ `stagnated` says *more of the same will not help* — raising the budget is the
28
+ wrong response, and a vocabulary that collapses them invites exactly that.
29
+
30
+ ## The mapping onto roadmap glyphs, and the three states glyphs cannot express
31
+
32
+ Roadmap checkboxes carry four glyphs. They describe a **step's disposition**, not
33
+ a **run's outcome**, and the gap is not an oversight — it is what makes a
34
+ budget-exhausted stop indistinguishable from a completed one in a dashboard.
35
+
36
+ | glyph | meaning | nearest terminal state |
37
+ |---|---|---|
38
+ | `[x]` | done | `success` — and only when a verify clause was met |
39
+ | `[ ]` | open | *(no state — the step has not run)* |
40
+ | `[~]` | deferred | `blocked` or `approval-required`, undistinguished |
41
+ | `[-]` | cancelled | *(a decision, not a run outcome)* |
42
+
43
+ **Three states have no glyph, and they are exactly the ones a validation budget
44
+ and a hard-blocker class produce:**
45
+
46
+ 1. **`exhausted`** — the run stopped at its cap with the step still open. The
47
+ glyph stays `[ ]`, which is identical to *never attempted*. A reader cannot
48
+ tell three failed attempts from zero.
49
+ 2. **`stagnated`** — same `[ ]`, and the distinction that matters (retrying is
50
+ pointless) is invisible.
51
+ 3. **`approval-required`** — collapses into `[~]` alongside `blocked`, so a
52
+ roadmap cannot show that the work is FINISHED and waiting on a human, versus
53
+ not startable at all.
54
+
55
+ **This is recorded rather than fixed.** Adding glyphs would change a format that
56
+ `update_roadmap_progress`, `check_roadmap_trackable`, `lint_empty_roadmaps` and
57
+ every archived roadmap already parse — a migration, not a step. What the
58
+ vocabulary buys today is that a run's CLOSING REPORT can say the word the glyph
59
+ cannot.
60
+
61
+ ## Progress-primary ordering
62
+
63
+ When the objective is **countable** — findings closed, tests passing, occurrences
64
+ remaining — the primary stop signal is **no progress** or a **new minimum**, and
65
+ the iteration cap is the **backstop**.
66
+
67
+ **Do not remove the cap.** A no-progress signal is only as good as the metric
68
+ behind it, and a metric that stops moving because the measurement broke looks
69
+ exactly like a metric that stops moving because the work is done. The cap is what
70
+ bounds the damage when the primary signal is wrong.
71
+
72
+ Where the objective is not countable, the cap is the only signal and the N=3
73
+ validation budget in [`autonomous-execution`](../../rules/autonomous-execution.md)
74
+ applies unchanged.
75
+
76
+ ## Reporting contract
77
+
78
+ A closing report names the state **by one of the six words above**, and where the
79
+ state is not `success` it names what would change it:
80
+
81
+ - `exhausted` — the budget that ran out, its value, and what was achieved inside it.
82
+ - `stagnated` — the repeating failure signature, and the attempts it survived.
83
+ - `blocked` — the missing thing, by name.
84
+ - `approval-required` — the exact action awaiting approval.
85
+ - `clean-no-op` — what was scanned, so "nothing to do" is distinguishable from
86
+ "nothing was read".
87
+
88
+ ## See also
89
+
90
+ - [`verify-before-complete`](../../rules/verify-before-complete.md) — no
91
+ completion claim without fresh evidence; this names what to claim when the
92
+ claim is not completion.
93
+ - [`autonomous-execution`](../../rules/autonomous-execution.md) — the N=3
94
+ validation budget whose firing is `exhausted`.
95
+ - [`autonomy-mechanics`](autonomy-mechanics.md) — the budget's mechanics and the
96
+ adaptive-effort ordering this page's progress-primary section states.
@@ -44,7 +44,7 @@ Fires once per creation task, not once per edit.
44
44
 
45
45
  ## The three phases
46
46
 
47
- **A — Understand** (≤ 5 clarifying questions: problem, trigger surface, should-trigger examples, near-misses, artifact type) · **B — Research** (mandatory four-surface overlap scan; open + skim the 3 nearest matches; extend-vs-create decision) · **C — Draft** (2-3 description variants first, then the body; live size enforcement). Per-phase procedure + the roadmap batch-mode carve-out: the mechanics guideline below.
47
+ **A — Understand** (≤ 5 clarifying questions: problem, trigger surface, should-trigger examples, near-misses, artifact type) · **B — Research** (mandatory four-surface overlap scan; open + skim the 3 nearest matches; extend-vs-create decision, written into the artifact as `composition_review:`) · **C — Draft** (2-3 description variants first, then the body; live size enforcement). Per-phase procedure + the roadmap batch-mode carve-out: the mechanics guideline below.
48
48
 
49
49
  ## Golden rules
50
50
 
@@ -25,6 +25,10 @@ collision_ok:
25
25
  "tenant": "cross-tenant isolation is this rule's core subject"
26
26
  # obligation: line 55
27
27
  obligation_frequency: "per-edit"
28
+ evidence:
29
+ source_type: external-standard
30
+ verified_on: 2026-08-30
31
+ normative_level: recommended
28
32
  ---
29
33
 
30
34
  # Broken Access Control
@@ -25,6 +25,10 @@ enforced_by:
25
25
  - "instruction-only: close-the-source-and-re-derive is a pre-write reasoning step only the model observes; CI checks the ledger, never the derivation"
26
26
  # obligation: line 40
27
27
  obligation_frequency: "per-edit"
28
+ evidence:
29
+ source_type: external-research
30
+ verified_on: 2026-08-30
31
+ normative_level: informative
28
32
  ---
29
33
 
30
34
  # Code Provenance
@@ -98,7 +98,7 @@ MANDATE, NEVER A **PIXEL** MANDATE — WHATEVER `design.fidelity_mode` SAYS.
98
98
  REPRODUCING A WIREFRAME'S GREYS 1:1 HONOURS THE WRONG HALF OF THE ARTEFACT.
99
99
  ```
100
100
 
101
- `strict` means *do not redesign*; never *reproduce a wireframe's placeholder greys*, which
101
+ `strict` means *do not redesign*; never *reproduce a wireframe's placeholder grays*, which
102
102
  are **non-decisions** ([`wireframe`](../skills/wireframe/SKILL.md) § Gotchas).
103
103
  **The discriminator reads the ARTEFACT, never the prose.** A finished comp whose prose
104
104
  mentions a wireframe it replaces routes **strictly** — a reference to a previous artefact,
@@ -44,6 +44,10 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
44
44
  packs: [meta]
45
45
  # obligation: line 52
46
46
  obligation_frequency: "per-task"
47
+ evidence:
48
+ source_type: external-standard
49
+ verified_on: 2026-08-30
50
+ normative_level: mandatory
47
51
  ---
48
52
 
49
53
  # Domain Safety — PII Redaction
@@ -29,6 +29,10 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
29
29
  packs: [meta]
30
30
  # obligation: line 47
31
31
  obligation_frequency: "per-turn"
32
+ evidence:
33
+ source_type: external-standard
34
+ verified_on: 2026-08-30
35
+ normative_level: mandatory
32
36
  ---
33
37
 
34
38
  # Domain Safety — Data Retention
@@ -30,6 +30,8 @@ collision_ok:
30
30
  "migration": "a prod migration is a hard-floor evidence surface (rollback path, blast radius)"
31
31
  # obligation: line 49
32
32
  obligation_frequency: "per-commit"
33
+ evidence:
34
+ source_type: own-analysis
33
35
  ---
34
36
 
35
37
  # Engineering Safety Floor
@@ -24,13 +24,12 @@ obligation_frequency: "per-turn"
24
24
  # External Code-Graph Interop
25
25
 
26
26
  Some repos commit a pre-built code-intelligence index — a `graph.json`-shaped
27
- artifact or a SCIP index (`index.scip`, `*.scip`). When one exists, it already
28
- answers "who calls X", "where is Y used", "what does this import" far more
29
- precisely than a fresh `grep`. This suite is an **orchestrator first, owner
30
- where it wins** (ADR-124): query a consumer-shipped index when it is present
31
- and fresh; where none is shipped or ours is measurably better, the suite's own
32
- native code-graph engine (default-off, benchmark-gated) covers the gap. Either
33
- way — query first, grep as fallback, and name which source answered.
27
+ artifact or a SCIP index (`index.scip`, `*.scip`). One that exists is already
28
+ built and structured, so it is the cheap first question for "who calls X",
29
+ "where is Y used", "what does this import". This suite is an **orchestrator
30
+ first, owner where it wins** (ADR-124): query a consumer-shipped index when it
31
+ is present and fresh; where none is shipped, the native engine (default-off,
32
+ benchmark-gated) covers the gap.
34
33
 
35
34
  ## The rule
36
35
 
@@ -59,6 +58,11 @@ AND the repo contains a detectable index:
59
58
  3. **Fall back to `grep`/read** only for what the index does not cover, and say
60
59
  so ("the index has no entry for X, so I grepped").
61
60
 
61
+ Query-first is an **ordering** heuristic, never a claim the index answers better:
62
+ measured 2026-08-28, zero of four graph-shaped classes beat `grep`, so no class
63
+ is graph-first. Routing changes; permission does not. Figures:
64
+ [`code-intelligence`](../skills/code-intelligence/SKILL.md) § Measured.
65
+
62
66
  ## When NOT to fire
63
67
 
64
68
  - No such index in the repo — normal `grep`/read is the right first move.
@@ -67,11 +71,9 @@ AND the repo contains a detectable index:
67
71
  ## See also
68
72
 
69
73
  - [`code-intelligence`](../skills/code-intelligence/SKILL.md) — the executable
70
- routing skill: `agent-config code-graph detect|query|affected|path` over the
71
- native engine or a consumer-shipped index, grep as the stated fallback. On
72
- hook-capable hosts the PreToolUse `code-graph` nudge surfaces this once per
73
- session; on instruction-file hosts this rule is the surface. Which of the two
74
- you are on is `agent-config hooks:status`, not a guess from the host name.
74
+ routing skill (`agent-config code-graph detect|query|affected|path`), the
75
+ measured per-class figures, and the hook-vs-instruction-file surface question
76
+ (`agent-config hooks:status`, never a guess from the host name).
75
77
  - [`discovery_graph`](../scripts/discovery_graph.ts) — this suite's OWN artefact
76
78
  relation-graph (`affected`/`explain`); the external code-graph is the
77
79
  *source-code* analogue this rule defers to for code questions.
@@ -64,16 +64,14 @@ Trigger-set above activates this routing on demand, independent of the disciplin
64
64
  **Challenge to improve, never to refuse.**
65
65
 
66
66
  The agent is a thought partner, not a gatekeeper. After presenting concerns:
67
- - User picks an option → execute immediately
68
- - User says "just do it" → execute immediately
67
+ - User picks an option, or says "just do it" → execute immediately
69
68
  - Never argue twice about the same point
70
69
  - Never block work — delay is only justified if it prevents a clear mistake
71
70
 
72
71
  ## Creating new agent artifacts
73
72
 
74
- When the request is to create or significantly rewrite a skill, rule, command,
75
- or guideline, the "fit the existing architecture" check is handled by
76
- [`artifact-drafting-protocol`](artifact-drafting-protocol.md)'s Phase B
77
- (Research). Follow that protocol instead of improvising a one-shot check — it
78
- scans `src/` for overlap and reports candidates to extend
79
- before creating a new file.
73
+ When the request is to create or significantly rewrite a skill, rule, command, or
74
+ guideline, the "fit the existing architecture" check is handled by
75
+ [`artifact-drafting-protocol`](artifact-drafting-protocol.md)'s Phase B (Research).
76
+ Follow that protocol instead of improvising a one-shot check — it scans `src/` for
77
+ overlap and reports candidates to extend before creating a new file.
@@ -26,7 +26,7 @@ obligation_frequency: "none"
26
26
 
27
27
  # Laravel Routing
28
28
 
29
- **Iron Law.** Laravel-flavoured PHP (Eloquent, Artisan, FormRequest, jobs, events, policies) → load the `laravel` skill, not `symfony-workflow` and not `php-coder`.
29
+ **Iron Law.** Laravel-flavoured PHP → `laravel`. Discriminator: entry point and router, not the dependency list — `illuminate/*` with no skeleton marker is the third verdict.
30
30
 
31
31
  Body migrated to `skill:laravel`. Disambiguates the laravel ↔ symfony-workflow cluster head per [`adr-architectural-consensus-mechanism`](../docs/contracts/adr-architectural-consensus-mechanism.md).
32
32
  Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
@@ -22,6 +22,10 @@ collision_ok:
22
22
  "src/agent-src/commands/": "command authoring reviews the three trifecta legs"
23
23
  # obligation: line 60
24
24
  obligation_frequency: "per-edit"
25
+ evidence:
26
+ source_type: external-standard
27
+ verified_on: 2026-08-30
28
+ normative_level: recommended
25
29
  ---
26
30
 
27
31
  # Lethal-Trifecta Guard
@@ -29,6 +29,8 @@ collision_ok:
29
29
  "commit": "committing is the credential-leak moment this guard exists for"
30
30
  # obligation: line 43
31
31
  obligation_frequency: "per-edit"
32
+ evidence:
33
+ source_type: own-analysis
32
34
  ---
33
35
 
34
36
  # Secret-in-VCS Guard
@@ -28,6 +28,8 @@ collision_ok:
28
28
  "tenant": "tenancy is a threat-model-before-edit surface"
29
29
  # obligation: line 36
30
30
  obligation_frequency: "per-edit"
31
+ evidence:
32
+ source_type: own-analysis
31
33
  ---
32
34
 
33
35
  # Security-Sensitive Stop Rule
@@ -91,43 +91,21 @@ substitute for not writing the attribution in the first place.
91
91
 
92
92
  ## Why this rule is not path-scoped
93
93
 
94
- Under ADR-236 (`docs/decisions/ADR-236-one-artefact-one-layer.md`) this rule is
95
- delivered by the PROJECT layer only — it exists to maintain this package, so the
96
- global layer no longer carries an unscoped twin of it. A `paths:`-scoped rule is
97
- **not re-injected after `/compact`** (ADR-227:79-80), so scoping it would mean the
98
- obligation silently disappears mid-session with nothing left to reload it.
99
-
100
- It is therefore delivered unconditionally, and the path triggers were removed
101
- rather than worked around. **This section is the shared record for all four such
102
- rules** — `no-roadmap-references`, `rule-type-governance` and `skill-quality` carry
103
- the same change and no note of their own. Two reasons: four copies of the rationale
104
- cost more standing context than the decision they explain, and the other three are
105
- migrated POINTER stubs held at their pointer's size by
106
- `check_rule_stub_ceiling` — prose added there is prose in the wrong place by that
107
- gate's own contract, which is what caught the first attempt to duplicate it.
108
-
109
- AI council 2026-08-20, 2/2 convergent on this option over three alternatives, with
110
- two independent decisive arguments. First: the obligation governs an **authoring
111
- decision**, which happens before any file exists for a path trigger to match — so
112
- path-scoping fails at greenfield creation whether or not a compaction ever occurs.
113
- Second: the measured cost is small against what the partition returns. Keeping an
114
- unscoped global copy was rejected because it re-creates the duplication the
115
- partition exists to remove; splitting the four by "has a CI gate" was rejected by
116
- both seats as the wrong axis — a validator observes an outcome, it does not hold an
117
- obligation during the session, and `rule-type-governance` has no gate at all.
118
-
119
- **Cost, measured and corrected.** An earlier revision of this note claimed 1,754
120
- tokens (1.8 % of the partition's 96,584-token saving). That figure was a
121
- `chars / 4` proxy over the projected files and **understated the real cost by about
122
- half**: `check_rule_activation_census`, which counts with the exact BPE tokenizer,
123
- measures the unconditional corpus growing **108,130 → 111,642, i.e. +3,512 tokens
124
- (3.6 %)** — and that number includes this rationale, which is why it lives in one
125
- place instead of four. The verdict does not depend on the figure: one seat argued
126
- the token axis was the wrong one entirely, the other that cost is a legitimate axis
127
- which simply loses this particular comparison. Both readings survive 3.6 %.
94
+ Delivered unconditionally by the PROJECT layer, with no `paths:` triggers: the
95
+ obligation governs an **authoring decision** taken before any file exists for a
96
+ path trigger to match, and a path-scoped rule is not re-injected after
97
+ `/compact`, so scoping it would make the obligation vanish mid-session. The
98
+ measurement, the AI-council record of 2026-08-20, the three rejected
99
+ alternatives and the +3,512-token cost this shared note carries for four rules
100
+ live in
101
+ [`source-confidentiality-mechanics`](../docs/guidelines/agent-infra/source-confidentiality-mechanics.md)
102
+ § Why these four rules are unconditional — moved there 2026-08-29 because a
103
+ rationale paid on every subagent spawn is the most expensive place to keep an
104
+ argument nobody re-reads.
128
105
 
129
106
  ## See also
130
107
 
108
+ - [`source-confidentiality-mechanics`](../docs/guidelines/agent-infra/source-confidentiality-mechanics.md) — the claim/residual honesty clause, the two-class split by path, and the gate's shape checks and tiering.
131
109
  - [`source-of-truth`](source-of-truth.md) — edit `src/`, never the projections.
132
110
  - [`augment-edit-discipline`](augment-edit-discipline.md) — portability + cross-ref sync.
133
111
  - `src/scripts/_lib/link_crypto.ts` — encrypted link storage.
@@ -22,7 +22,7 @@ obligation_frequency: "none"
22
22
 
23
23
  # Symfony Routing
24
24
 
25
- **Iron Law.** Symfony-flavoured PHP (DI container, bundles, Doctrine entities, Messenger, Security voters, console commands) → load the `symfony-workflow` skill, not `laravel` and not `php-coder`.
25
+ **Iron Law.** Symfony-flavoured PHP → `symfony-workflow`. Discriminator: entry point and router, not the dependency list — `symfony/*` with no skeleton marker is the third verdict.
26
26
 
27
27
  Body migrated to `skill:symfony-workflow`. Disambiguates the laravel ↔ symfony-workflow cluster head per [`adr-architectural-consensus-mechanism`](../docs/contracts/adr-architectural-consensus-mechanism.md).
28
28
  Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
@@ -28,6 +28,20 @@ NEVER CALL THE SAME TOOL >2 TIMES IN A ROW WITH SIMILAR PARAMETERS.
28
28
  IF YOU CATCH YOURSELF REPEATING → STOP, RETHINK, ASK.
29
29
  ```
30
30
 
31
+ ## Independent calls go in ONE block
32
+
33
+ ```
34
+ CALLS WITH NO DEPENDENCY BETWEEN THEM GO IN THE SAME BLOCK.
35
+ A CALL THAT DOES NOT READ THE PREVIOUS RESULT IS NOT A SECOND TURN.
36
+ ```
37
+
38
+ The ceiling above forbids repetition; this forbids splitting work that had no
39
+ reason to be split — measured mean batch size **1.01**, i.e. fully serial. The
40
+ discriminator is the dependency, never the count. NOT "write shorter commands":
41
+ the long commands are already the batching. `instruction-only` — nothing can
42
+ observe a call that was not batched. Evidence + the absent-cause finding:
43
+ [`token-efficiency-mechanics`](../contexts/communication/rules-auto/token-efficiency-mechanics.md).
44
+
31
45
  ## Enumerated file sets are ONE operation, not N repetitions
32
46
 
33
47
  The same-tool ceiling counts *repetition without new information* — the loop where the agent re-runs a tool because it did not learn from the last result. Reading N **declared, enumerated** files is the opposite: each read returns different content and the set was known before the first call. Counting it as N repetitions puts this rule in direct conflict with [`downstream-changes`](downstream-changes.md) ("find **ALL** callers, tests, imports") and with [`source-discovery-gate`](source-discovery-gate.md), which cannot be satisfied in two calls.
@@ -12,6 +12,10 @@ enforced_by:
12
12
  - "validator:src/scripts/lint_agent_security.ts"
13
13
  # obligation: line 19
14
14
  obligation_frequency: "per-edit"
15
+ evidence:
16
+ source_type: external-standard
17
+ verified_on: 2026-08-30
18
+ normative_level: recommended
15
19
  ---
16
20
 
17
21
  # Tool Safety
@@ -21,6 +21,10 @@ enforced_by:
21
21
  - "instruction-only: no deterministic gate inspects fetched content for injected instructions; injection_scan_hook is warn-only and default-OFF"
22
22
  # obligation: line 38
23
23
  obligation_frequency: "per-event"
24
+ evidence:
25
+ source_type: external-standard
26
+ verified_on: 2026-08-30
27
+ normative_level: recommended
24
28
  ---
25
29
 
26
30
  <!-- security-lint: allow instruction-smuggling "defense rule: quotes role-takeover phrases (ignore previous instructions, you are now, <IMPORTANT>) to teach refusal" -->