@event4u/agent-config 14.12.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 (466) 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 +234 -0
  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/orchestration-telemetry.md +1 -0
  24. package/dist/agent-src/contexts/execution/subagent-response-contract.md +40 -0
  25. package/dist/agent-src/contexts/execution/subagent-steering.md +13 -1
  26. package/dist/agent-src/contexts/execution/terminal-states.md +96 -0
  27. package/dist/agent-src/rules/artifact-drafting-protocol.md +1 -1
  28. package/dist/agent-src/rules/broken-access-control.md +4 -0
  29. package/dist/agent-src/rules/code-provenance.md +4 -0
  30. package/dist/agent-src/rules/design-fidelity.md +1 -1
  31. package/dist/agent-src/rules/domain-safety-pii.md +4 -0
  32. package/dist/agent-src/rules/domain-safety-retention.md +4 -0
  33. package/dist/agent-src/rules/engineering-safety-floor.md +2 -0
  34. package/dist/agent-src/rules/external-code-graph-interop.md +14 -12
  35. package/dist/agent-src/rules/improve-before-implement.md +6 -8
  36. package/dist/agent-src/rules/laravel-routing.md +1 -1
  37. package/dist/agent-src/rules/lethal-trifecta-guard.md +4 -0
  38. package/dist/agent-src/rules/secret-vcs-guard.md +2 -0
  39. package/dist/agent-src/rules/security-sensitive-stop.md +2 -0
  40. package/dist/agent-src/rules/source-confidentiality.md +12 -34
  41. package/dist/agent-src/rules/symfony-routing.md +1 -1
  42. package/dist/agent-src/rules/token-efficiency.md +14 -0
  43. package/dist/agent-src/rules/tool-safety.md +4 -0
  44. package/dist/agent-src/rules/untrusted-input-defense.md +4 -0
  45. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +247 -3
  46. package/dist/agent-src/scripts/guarded_baseline.ts +328 -0
  47. package/dist/agent-src/scripts/roadmap_set_step.ts +253 -0
  48. package/dist/agent-src/scripts/stub_queue.ts +82 -0
  49. package/dist/agent-src/scripts/stubs_due.ts +400 -0
  50. package/dist/agent-src/scripts/ticket_bundles.ts +84 -0
  51. package/dist/agent-src/scripts/update_roadmap_progress.ts +8 -4
  52. package/dist/agent-src/skills/brand-asset-generation/SKILL.md +17 -4
  53. package/dist/agent-src/skills/brand-audit/SKILL.md +33 -0
  54. package/dist/agent-src/skills/code-intelligence/SKILL.md +57 -0
  55. package/dist/agent-src/skills/database/SKILL.md +8 -0
  56. package/dist/agent-src/skills/dependency-upgrade/SKILL.md +27 -0
  57. package/dist/agent-src/skills/design-review/SKILL.md +1 -1
  58. package/dist/agent-src/skills/doc-coauthoring/SKILL.md +1 -1
  59. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +17 -1
  60. package/dist/agent-src/skills/feature-planning/SKILL.md +9 -2
  61. package/dist/agent-src/skills/frontend-render-security/SKILL.md +44 -0
  62. package/dist/agent-src/skills/git-workflow/SKILL.md +1 -1
  63. package/dist/agent-src/skills/js-library-packaging/scripts/check_package_surface.ts +38 -4
  64. package/dist/agent-src/skills/judge-artifact-completeness/rubrics/ticket-quality-score.json +2 -2
  65. package/dist/agent-src/skills/laravel/SKILL.md +35 -0
  66. package/dist/agent-src/skills/laravel-migration/SKILL.md +57 -3
  67. package/dist/agent-src/skills/monorepo-workspace/SKILL.md +26 -0
  68. package/dist/agent-src/skills/playbook-authoring/SKILL.md +28 -1
  69. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
  70. package/dist/agent-src/skills/skill-writing/references/procedure.md +5 -5
  71. package/dist/agent-src/skills/sql-writing/SKILL.md +7 -1
  72. package/dist/agent-src/skills/standards-from-config/SKILL.md +27 -4
  73. package/dist/agent-src/skills/supply-chain-intake/SKILL.md +11 -4
  74. package/dist/agent-src/skills/symfony-workflow/SKILL.md +35 -0
  75. package/dist/agent-src/skills/test-case-discovery/SKILL.md +85 -0
  76. package/dist/agent-src/skills/test-driven-development/SKILL.md +33 -9
  77. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
  78. package/dist/agent-src/skills/testing-anti-patterns/process-anti-patterns.md +37 -0
  79. package/dist/agent-src/skills/ui-component-architect/SKILL.md +45 -2
  80. package/dist/agent-src/skills/upstream-contribute/SKILL.md +38 -1
  81. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +9 -4
  82. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  83. package/dist/agent-src/templates/roadmaps.md +97 -3
  84. package/dist/agent-src/templates/scripts/check_memory.ts +258 -17
  85. package/dist/agent-src/templates/scripts/check_memory_proposal.ts +9 -3
  86. package/dist/agent-src/templates/scripts/memory_lookup.ts +86 -0
  87. package/dist/agent-src/templates/scripts/memory_signal.ts +44 -0
  88. package/dist/agent-src/templates/scripts/work_engine/directives/backend/implement.ts +90 -0
  89. package/dist/agent-src/templates/scripts/work_engine/directives/backend/index.ts +11 -0
  90. package/dist/agent-src/templates/scripts/work_engine/directives/backend/test.ts +23 -1
  91. package/dist/agent-src/templates/scripts/work_engine/directives/backend/verify.ts +10 -1
  92. package/dist/agent-src/templates/scripts/work_engine/directives/mixed/stitch.ts +5 -1
  93. package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +102 -14
  94. package/dist/cli/commands/uiAudit.js +124 -5
  95. package/dist/cli/registry.js +2 -0
  96. package/dist/cli-delegate/{chunk-HYWSRNUX.js โ†’ chunk-2DK2VJWG.js} +3 -3
  97. package/dist/cli-delegate/{chunk-JCW7ZLHK.js โ†’ chunk-4FS4WRXP.js} +5 -0
  98. package/dist/cli-delegate/{chunk-OMIVVCG2.js โ†’ chunk-A4QJ6ENT.js} +24 -0
  99. package/dist/cli-delegate/{chunk-JJA2QEWA.js โ†’ chunk-AKJGUQNO.js} +466 -285
  100. package/dist/cli-delegate/{chunk-E46KPN6K.js โ†’ chunk-BTWUYDGN.js} +424 -363
  101. package/dist/cli-delegate/{chunk-K4FFODTS.js โ†’ chunk-ILMUPLGW.js} +1227 -316
  102. package/dist/cli-delegate/{chunk-FF7WAFMR.js โ†’ chunk-KPBWFOPZ.js} +5 -1
  103. package/dist/cli-delegate/cmd_adr_effective.js +102 -0
  104. package/dist/cli-delegate/cmd_conformance.js +42 -10
  105. package/dist/cli-delegate/cmd_doctor.js +3 -3
  106. package/dist/cli-delegate/cmd_export.js +3 -2
  107. package/dist/cli-delegate/cmd_fleet.js +2 -2
  108. package/dist/cli-delegate/cmd_handoff.js +1 -1
  109. package/dist/cli-delegate/cmd_preflight.js +2 -2
  110. package/dist/cli-delegate/cmd_prune.js +3 -2
  111. package/dist/cli-delegate/cmd_settings_get.js +1 -1
  112. package/dist/cli-delegate/cmd_settings_migrate.js +3 -2
  113. package/dist/cli-delegate/cmd_settings_set.js +2 -2
  114. package/dist/cli-delegate/cmd_sync.js +3 -2
  115. package/dist/cli-delegate/cmd_uninstall.js +3 -2
  116. package/dist/cli-delegate/cmd_validate.js +3 -2
  117. package/dist/discovery/deprecation-report.md +1 -1
  118. package/dist/discovery/discovery-manifest.json +57 -57
  119. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  120. package/dist/discovery/discovery-manifest.summary.md +1 -1
  121. package/dist/discovery/dormancy-report.md +1 -1
  122. package/dist/discovery/orphan-report.md +1 -1
  123. package/dist/discovery/packs.json +2 -2
  124. package/dist/discovery/trust-report.md +1 -1
  125. package/dist/discovery/workspaces.json +2 -2
  126. package/dist/hooks/dispatch.js +1836 -712
  127. package/dist/install/claudeRuleRewrite.js +254 -0
  128. package/dist/install/detect.js +29 -16
  129. package/dist/install/detect_php_shape.js +159 -0
  130. package/dist/install/install.mjs +634 -428
  131. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  132. package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
  133. package/dist/mcp/registry-manifest.json +3 -3
  134. package/dist/mcp/server.json +3 -3
  135. package/dist/mcp/server.mjs +4818 -2645
  136. package/dist/server/schemas/settings.js +3 -0
  137. package/dist/ui/assets/index-D0jaCRPM.js +29 -0
  138. package/dist/ui/index.html +1 -1
  139. package/docs/MIGRATION.md +1 -1
  140. package/docs/THIRD-PARTY-NOTICES.md +25 -0
  141. package/docs/contracts/provider-lifecycle.md +1 -1
  142. package/docs/contracts/settings-classes.md +10 -4
  143. package/docs/guidelines/agent-infra/5w2h-analysis.md +3 -3
  144. package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +1 -0
  145. package/docs/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +58 -3
  146. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +2 -2
  147. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +3 -3
  148. package/docs/guidelines/agent-infra/break-glass-usage.md +7 -7
  149. package/docs/guidelines/agent-infra/carve-out-predicates.md +3 -3
  150. package/docs/guidelines/agent-infra/comparison-matrix.md +1 -1
  151. package/docs/guidelines/agent-infra/critical-thinking.md +4 -4
  152. package/docs/guidelines/agent-infra/direct-answers-demos.md +2 -2
  153. package/docs/guidelines/agent-infra/domain-eval-anti-pattern.md +1 -1
  154. package/docs/guidelines/agent-infra/engineering-memory-data-format.md +3 -3
  155. package/docs/guidelines/agent-infra/existence-question-verdicts.md +80 -0
  156. package/docs/guidelines/agent-infra/first-principles.md +2 -2
  157. package/docs/guidelines/agent-infra/framework-neutrality-patterns.md +2 -2
  158. package/docs/guidelines/agent-infra/guarded-baseline.md +39 -0
  159. package/docs/guidelines/agent-infra/inversion-thinking.md +5 -5
  160. package/docs/guidelines/agent-infra/language-and-tone-examples.md +1 -1
  161. package/docs/guidelines/agent-infra/layered-settings.md +10 -10
  162. package/docs/guidelines/agent-infra/memory-access.md +1 -1
  163. package/docs/guidelines/agent-infra/mental-models.md +3 -3
  164. package/docs/guidelines/agent-infra/reuse-verdict-mechanics.md +71 -0
  165. package/docs/guidelines/agent-infra/review-routing-data-format.md +7 -7
  166. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +13 -7
  167. package/docs/guidelines/agent-infra/role-contracts.md +2 -2
  168. package/docs/guidelines/agent-infra/role-mode-router.md +3 -3
  169. package/docs/guidelines/agent-infra/rule-type-governance.md +2 -2
  170. package/docs/guidelines/agent-infra/scqa-framework.md +5 -5
  171. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +6 -6
  172. package/docs/guidelines/agent-infra/simplicity-and-goal-demos.md +2 -2
  173. package/docs/guidelines/agent-infra/six-hats.md +3 -3
  174. package/docs/guidelines/agent-infra/skill-quality-checklist.md +6 -6
  175. package/docs/guidelines/agent-infra/source-confidentiality-mechanics.md +109 -0
  176. package/docs/guidelines/agent-infra/systems-thinking.md +1 -1
  177. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +2 -2
  178. package/docs/guidelines/augment-portability-patterns.md +6 -4
  179. package/docs/guidelines/component-oriented-and-oop-development.md +3 -2
  180. package/docs/guidelines/cross-role-handoff.md +2 -2
  181. package/docs/guidelines/design-fidelity-mechanics.md +1 -1
  182. package/docs/guidelines/docs/readme-size-and-splitting.md +3 -3
  183. package/docs/guidelines/php/database.md +90 -7
  184. package/docs/guidelines/prompt-templates.md +7 -7
  185. package/llms.txt +2 -2
  186. package/package.json +5 -2
  187. package/src/agent-src/scripts/archive_completed_roadmaps.ts +247 -3
  188. package/src/agent-src/scripts/guarded_baseline.ts +328 -0
  189. package/src/agent-src/scripts/roadmap_set_step.ts +253 -0
  190. package/src/agent-src/scripts/stub_queue.ts +82 -0
  191. package/src/agent-src/scripts/stubs_due.ts +400 -0
  192. package/src/agent-src/scripts/ticket_bundles.ts +84 -0
  193. package/src/agent-src/scripts/update_roadmap_progress.ts +8 -4
  194. package/src/agent-src/templates/scripts/check_memory.ts +258 -17
  195. package/src/agent-src/templates/scripts/check_memory_proposal.ts +9 -3
  196. package/src/agent-src/templates/scripts/memory_lookup.ts +86 -0
  197. package/src/agent-src/templates/scripts/memory_signal.ts +44 -0
  198. package/src/agent-src/templates/scripts/work_engine/directives/backend/implement.ts +90 -0
  199. package/src/agent-src/templates/scripts/work_engine/directives/backend/index.ts +11 -0
  200. package/src/agent-src/templates/scripts/work_engine/directives/backend/test.ts +23 -1
  201. package/src/agent-src/templates/scripts/work_engine/directives/backend/verify.ts +10 -1
  202. package/src/agent-src/templates/scripts/work_engine/directives/mixed/stitch.ts +5 -1
  203. package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +102 -14
  204. package/src/config/agent-settings.template.yml +32 -3
  205. package/src/config/assurance-capability-registry.json +21 -9
  206. package/src/config/canonical-terms.yml +119 -0
  207. package/src/config/capability-native-outcome-bars.json +81 -0
  208. package/src/config/ci-local-parity.yml +80 -0
  209. package/src/config/drafting-channels.yml +43 -0
  210. package/src/config/estate-count-budget.json +38 -36
  211. package/src/config/evaluator-budgets.json +14 -14
  212. package/src/config/gate-coverage.yml +579 -63
  213. package/src/config/gate-reachability-exemptions.json +21 -0
  214. package/src/config/gate-violation-baselines.json +37 -19
  215. package/src/config/harness-evolution-budget.json +25 -0
  216. package/src/config/lapsed-beta-baseline.json +96 -0
  217. package/src/config/memory-twin-verdicts.yml +129 -0
  218. package/src/config/metric-registry.yml +124 -0
  219. package/src/config/pack-size-budget.json +16 -15
  220. package/src/config/preamble-payload-budget.json +8 -8
  221. package/src/config/profiles/balanced.ini +27 -0
  222. package/src/config/profiles/full.ini +27 -0
  223. package/src/config/profiles/minimal.ini +27 -0
  224. package/src/config/publish-surface.json +9 -2
  225. package/src/config/routing-coverage-seed.json +16 -2
  226. package/src/config/rule-stub-ceilings.json +126 -112
  227. package/src/config/turnaround-budget.json +66 -0
  228. package/src/install/claudeRuleRewrite.ts +288 -0
  229. package/src/install/detect.ts +60 -17
  230. package/src/install/detect_php_shape.ts +191 -0
  231. package/src/scripts/_cli/cmd_doctor.ts +27 -112
  232. package/src/scripts/_dispatch.bash +27 -0
  233. package/src/scripts/_lib/activation_ladder.ts +211 -0
  234. package/src/scripts/_lib/activation_states.ts +88 -0
  235. package/src/scripts/_lib/adherence_detectors.ts +143 -0
  236. package/src/scripts/_lib/arith_claims.ts +181 -0
  237. package/src/scripts/_lib/arm_ranking.ts +62 -0
  238. package/src/scripts/_lib/asset_delivery_ledger.ts +303 -0
  239. package/src/scripts/_lib/audit_field_provenance.ts +54 -0
  240. package/src/scripts/_lib/auto_dispatch.ts +32 -3
  241. package/src/scripts/_lib/bench_ab_size_claim.ts +98 -4
  242. package/src/scripts/_lib/benchmark_cache_fields.ts +158 -0
  243. package/src/scripts/_lib/candidate_proposer.ts +402 -0
  244. package/src/scripts/_lib/candidate_record.ts +601 -0
  245. package/src/scripts/_lib/capture_rate.ts +319 -0
  246. package/src/scripts/_lib/collector_denominator.ts +771 -0
  247. package/src/scripts/_lib/collector_record.ts +340 -0
  248. package/src/scripts/_lib/collector_store.ts +664 -0
  249. package/src/scripts/_lib/collector_supervision.ts +827 -0
  250. package/src/scripts/_lib/concern_estate.ts +77 -0
  251. package/src/scripts/_lib/config_chain.ts +477 -0
  252. package/src/scripts/_lib/config_cost.ts +209 -0
  253. package/src/scripts/_lib/council_settings_block.ts +6 -0
  254. package/src/scripts/_lib/curator_ops.ts +172 -0
  255. package/src/scripts/_lib/delivery_arm_experiment.ts +266 -0
  256. package/src/scripts/_lib/delivery_criticality.ts +126 -0
  257. package/src/scripts/_lib/doctor_runtime_checks.ts +70 -0
  258. package/src/scripts/_lib/empty_cycles.ts +88 -0
  259. package/src/scripts/_lib/eval_publication.ts +354 -0
  260. package/src/scripts/_lib/evaluation_vector.ts +283 -0
  261. package/src/scripts/_lib/evaluator_promotion.ts +225 -0
  262. package/src/scripts/_lib/evidence_basis.ts +118 -0
  263. package/src/scripts/_lib/exec_evidence.ts +8 -0
  264. package/src/scripts/_lib/experience_card.ts +272 -0
  265. package/src/scripts/_lib/experience_report.ts +151 -0
  266. package/src/scripts/_lib/experiment_freeze.ts +112 -0
  267. package/src/scripts/_lib/generated_by.ts +66 -0
  268. package/src/scripts/_lib/harness_evolution_guards.ts +229 -0
  269. package/src/scripts/_lib/hook_effect_probe.ts +141 -0
  270. package/src/scripts/_lib/host_denominator.ts +687 -0
  271. package/src/scripts/_lib/host_projection_reach.ts +157 -0
  272. package/src/scripts/_lib/ignored_blocker.ts +148 -0
  273. package/src/scripts/_lib/install_reach_checks.ts +495 -0
  274. package/src/scripts/_lib/json_duplicate_keys.ts +150 -0
  275. package/src/scripts/_lib/judge_hygiene.ts +228 -0
  276. package/src/scripts/_lib/legacy_boundary_map.ts +228 -0
  277. package/src/scripts/_lib/loop_guards.ts +299 -0
  278. package/src/scripts/_lib/loss_class.ts +129 -0
  279. package/src/scripts/_lib/machine_wake.ts +51 -0
  280. package/src/scripts/_lib/md_prose_lines.ts +177 -0
  281. package/src/scripts/_lib/minimality_tiebreak.ts +168 -0
  282. package/src/scripts/_lib/one_resolver_invariant.ts +449 -0
  283. package/src/scripts/_lib/orchestration_record.ts +253 -5
  284. package/src/scripts/_lib/outcome_envelope.ts +227 -0
  285. package/src/scripts/_lib/outcome_vocabularies.ts +125 -0
  286. package/src/scripts/_lib/paired_stats.ts +245 -0
  287. package/src/scripts/_lib/paired_verdict.ts +226 -0
  288. package/src/scripts/_lib/prefix_stable_surfaces.ts +123 -0
  289. package/src/scripts/_lib/privacy_class.ts +47 -0
  290. package/src/scripts/_lib/regression_neighbourhood.ts +259 -0
  291. package/src/scripts/_lib/repeated_failure.ts +105 -0
  292. package/src/scripts/_lib/repo_root.ts +111 -0
  293. package/src/scripts/_lib/review_skipped_record.ts +37 -0
  294. package/src/scripts/_lib/role_split.ts +338 -0
  295. package/src/scripts/_lib/runtime_journal.ts +1499 -0
  296. package/src/scripts/_lib/runtime_wiring_checks.ts +430 -0
  297. package/src/scripts/_lib/skill_catalogue.ts +11 -1
  298. package/src/scripts/_lib/source_digest.ts +200 -0
  299. package/src/scripts/_lib/source_redact.ts +260 -0
  300. package/src/scripts/_lib/source_shape.ts +502 -0
  301. package/src/scripts/_lib/source_snapshot_dedup.ts +199 -0
  302. package/src/scripts/_lib/strip_comments.d.mts +8 -0
  303. package/src/scripts/_lib/strip_comments.mjs +65 -0
  304. package/src/scripts/_lib/test_red_state.ts +154 -0
  305. package/src/scripts/_lib/trigger_shift.ts +144 -0
  306. package/src/scripts/_lib/untrusted_content.ts +82 -7
  307. package/src/scripts/adoption_report.ts +1 -1
  308. package/src/scripts/adr/evidence_census.ts +1 -1
  309. package/src/scripts/adr/regenerate_index.ts +26 -2
  310. package/src/scripts/adr_cite_check.ts +164 -1
  311. package/src/scripts/ai_council/blind_review.ts +11 -1
  312. package/src/scripts/ai_council/clients.ts +4 -0
  313. package/src/scripts/ai_council/config.ts +3 -0
  314. package/src/scripts/ai_council/consensus.ts +28 -8
  315. package/src/scripts/ai_council/consensus_round.ts +226 -0
  316. package/src/scripts/ai_council/disagreement_signal.ts +338 -0
  317. package/src/scripts/ai_council/inline_findings.ts +340 -0
  318. package/src/scripts/ai_council/judge_position_bias.ts +197 -0
  319. package/src/scripts/ai_council/orchestrator.ts +16 -203
  320. package/src/scripts/ai_council/orchestrator_results.ts +23 -3
  321. package/src/scripts/ai_council/pricing.ts +106 -0
  322. package/src/scripts/ai_council/prompts.ts +74 -7
  323. package/src/scripts/ai_council/provider_leakage_bench.ts +327 -0
  324. package/src/scripts/ai_council/py_format.ts +14 -3
  325. package/src/scripts/ai_council/recouncil_guard.ts +293 -0
  326. package/src/scripts/ai_council/response_record.ts +50 -0
  327. package/src/scripts/ai_council/topology_bench_manifest.ts +860 -0
  328. package/src/scripts/ai_council/topology_vocabulary.ts +175 -0
  329. package/src/scripts/asset_delivery_ledger.ts +157 -0
  330. package/src/scripts/attest_artifact.ts +193 -0
  331. package/src/scripts/audit_auto_rules.ts +2 -1
  332. package/src/scripts/audit_command_surface.ts +1 -1
  333. package/src/scripts/audit_mcp_tools.ts +2 -2
  334. package/src/scripts/audit_skill_overlap_allowlist.json +6 -1
  335. package/src/scripts/audit_user_type_axis.ts +2 -1
  336. package/src/scripts/bench_ab_clone.ts +215 -10
  337. package/src/scripts/bench_ab_integrity.ts +119 -5
  338. package/src/scripts/bench_ab_v2_stats.ts +40 -213
  339. package/src/scripts/build_archive_index.ts +1 -1
  340. package/src/scripts/build_linear_digest.ts +1 -1
  341. package/src/scripts/build_proof.ts +11 -4
  342. package/src/scripts/build_rule_trigger_matrix.ts +1 -1
  343. package/src/scripts/build_source_digests.ts +157 -0
  344. package/src/scripts/cache_realization_report.ts +103 -0
  345. package/src/scripts/check_adr_frontmatter.ts +126 -0
  346. package/src/scripts/check_benchmark_report_fields.ts +207 -0
  347. package/src/scripts/check_beta_review_markers.ts +235 -6
  348. package/src/scripts/check_bundle_path_leakage.ts +34 -1
  349. package/src/scripts/check_claims.ts +576 -6
  350. package/src/scripts/check_composite_arming.ts +35 -0
  351. package/src/scripts/check_concern_admissions.ts +365 -0
  352. package/src/scripts/check_enforcement_coverage.ts +28 -0
  353. package/src/scripts/check_estate_count.ts +142 -1
  354. package/src/scripts/check_gate_reachability.ts +383 -0
  355. package/src/scripts/check_host_loadability.ts +104 -0
  356. package/src/scripts/check_loss_class_declared.ts +308 -0
  357. package/src/scripts/check_md_language.ts +15 -98
  358. package/src/scripts/check_memory_proposal.ts +18 -11
  359. package/src/scripts/check_no_currency_in_cost_surfaces.ts +225 -0
  360. package/src/scripts/check_no_external_sources.ts +281 -6
  361. package/src/scripts/check_pack_conformance_fixture.ts +11 -1
  362. package/src/scripts/check_pack_size.ts +59 -2
  363. package/src/scripts/check_preamble_payload_budget.ts +114 -3
  364. package/src/scripts/check_prefix_stable_mutation.ts +372 -0
  365. package/src/scripts/check_publish_surface.ts +10 -1
  366. package/src/scripts/check_references.ts +24 -1
  367. package/src/scripts/check_rule_evidence_declaration.ts +316 -0
  368. package/src/scripts/check_rule_projection_integrity.ts +14 -4
  369. package/src/scripts/check_score_contract.ts +26 -3
  370. package/src/scripts/check_static_parity.ts +285 -0
  371. package/src/scripts/check_supervision_claim_atomicity.ts +498 -0
  372. package/src/scripts/check_suppression_hygiene.ts +15 -0
  373. package/src/scripts/ci_settle.ts +39 -2
  374. package/src/scripts/code_graph/build.ts +60 -3
  375. package/src/scripts/code_graph/extract.ts +44 -0
  376. package/src/scripts/code_graph/types.ts +24 -0
  377. package/src/scripts/collector_daemon.ts +714 -0
  378. package/src/scripts/config_cost_report.ts +302 -0
  379. package/src/scripts/consumer_matrix.ts +74 -1
  380. package/src/scripts/cost/budget.mjs +10 -3
  381. package/src/scripts/cost/track.mjs +10 -3
  382. package/src/scripts/council_cli.ts +37 -54
  383. package/src/scripts/dispatch_r2_reviewer.ts +46 -5
  384. package/src/scripts/evolution_lab.ts +980 -0
  385. package/src/scripts/external_sources_denylist.json +5 -18
  386. package/src/scripts/extract_audit_patterns.ts +21 -0
  387. package/src/scripts/fold_intake.ts +12 -1
  388. package/src/scripts/gen_discovery_baseline.ts +1 -1
  389. package/src/scripts/generate_capabilities_index.ts +12 -5
  390. package/src/scripts/generate_capability_matrix.ts +3 -3
  391. package/src/scripts/generate_command_flows.ts +2 -2
  392. package/src/scripts/generate_cookbook.ts +2 -2
  393. package/src/scripts/generate_index.ts +8 -1
  394. package/src/scripts/generate_knowledge_index.ts +2 -1
  395. package/src/scripts/generate_ownership_matrix.ts +2 -1
  396. package/src/scripts/generate_pack_manifests.ts +10 -2
  397. package/src/scripts/generate_role_experiences_catalog.ts +2 -2
  398. package/src/scripts/generate_settings_reference.ts +1 -1
  399. package/src/scripts/git_authorization_hook.ts +22 -1
  400. package/src/scripts/grade_target_readiness.ts +48 -5
  401. package/src/scripts/hook_effect_doctor.ts +261 -0
  402. package/src/scripts/hook_manifest.json +1 -1
  403. package/src/scripts/hook_manifest.yaml +98 -11
  404. package/src/scripts/hooks/block_speaking_inbox_dir.ts +271 -0
  405. package/src/scripts/hooks/block_unauthorized_git.ts +18 -0
  406. package/src/scripts/hooks/concern_registry.ts +4 -0
  407. package/src/scripts/hooks/dispatch_hook.ts +32 -0
  408. package/src/scripts/hooks/journal_record_hook.ts +345 -0
  409. package/src/scripts/hooks/prepush_metadata_sources.sh +110 -0
  410. package/src/scripts/hooks/run_continuation_hook.ts +44 -9
  411. package/src/scripts/hooks/shims/install.sh +61 -0
  412. package/src/scripts/hooks/shims/php +101 -0
  413. package/src/scripts/hooks/suggestion_capture_hook.ts +10 -0
  414. package/src/scripts/hot_context_hook.ts +16 -0
  415. package/src/scripts/install-hooks.sh +20 -5
  416. package/src/scripts/install.ts +17 -35
  417. package/src/scripts/inventory_frontmatter.ts +2 -1
  418. package/src/scripts/lint_adr_sweep_routing.ts +12 -0
  419. package/src/scripts/lint_canonical_terms.ts +604 -0
  420. package/src/scripts/lint_composition_review.ts +619 -0
  421. package/src/scripts/lint_consolidation_lineage.ts +666 -0
  422. package/src/scripts/lint_eval_specs.ts +593 -0
  423. package/src/scripts/lint_hook_manifest.ts +19 -0
  424. package/src/scripts/lint_host_portability.ts +373 -0
  425. package/src/scripts/lint_judge_prompt_expectation.ts +27 -1
  426. package/src/scripts/lint_memory_twin_parity.ts +335 -0
  427. package/src/scripts/lint_metric_consumers.ts +355 -0
  428. package/src/scripts/lint_skill_descriptions.ts +18 -1
  429. package/src/scripts/lint_skill_frontmatter_safety.ts +58 -0
  430. package/src/scripts/lint_skill_link_reach.ts +252 -0
  431. package/src/scripts/lint_skill_trigger_corpus.ts +426 -23
  432. package/src/scripts/lint_ticket_buildable.ts +17 -1
  433. package/src/scripts/mcp_server/consumer_tool_catalog.json +1 -1
  434. package/src/scripts/mcp_server/tool_catalog_source.ts +1 -1
  435. package/src/scripts/measure_docs_dead_links.ts +348 -0
  436. package/src/scripts/measure_host_capture.ts +461 -0
  437. package/src/scripts/migration_status.ts +3 -3
  438. package/src/scripts/model_rule_injection.ts +60 -0
  439. package/src/scripts/orchestration_record.ts +14 -0
  440. package/src/scripts/preamble_byte_census.ts +139 -10
  441. package/src/scripts/prepack-check.mjs +4 -1
  442. package/src/scripts/probe_turnaround.ts +384 -0
  443. package/src/scripts/probe_unblocked_ask.ts +279 -0
  444. package/src/scripts/render_benchmark_md.ts +1 -1
  445. package/src/scripts/rule_activation_census.ts +70 -9
  446. package/src/scripts/rule_backlinks.ts +1 -1
  447. package/src/scripts/run_lifecycle_suite.ts +208 -0
  448. package/src/scripts/run_skill_evals.ts +40 -0
  449. package/src/scripts/schemas/delivery-manifest.schema.json +43 -0
  450. package/src/scripts/schemas/drafting-channels.schema.json +43 -0
  451. package/src/scripts/schemas/evals.schema.json +24 -1
  452. package/src/scripts/schemas/rule.schema.json +52 -1
  453. package/src/scripts/schemas/skill.schema.json +17 -2
  454. package/src/scripts/skill_overlap.ts +7 -1
  455. package/src/scripts/skill_tools/run_block_d_eval.ts +8 -1
  456. package/src/scripts/skill_tools/score_skill_relevance.ts +84 -3
  457. package/src/scripts/skill_tools/suggest_skill_for_task.ts +8 -1
  458. package/src/scripts/skill_usage_report.ts +2 -1
  459. package/src/scripts/stubs_due.ts +211 -0
  460. package/src/scripts/sweep_source_surfaces.ts +678 -0
  461. package/src/scripts/sync_pr_branch.ts +3 -3
  462. package/src/scripts/trigger_eval_grandfather.json +202 -222
  463. package/src/scripts/utilization_report.ts +22 -2
  464. package/src/server/schemas/settings.ts +5 -0
  465. package/src/templates/marketing-copy.yml +1 -1
  466. package/dist/ui/assets/index-Cxgy63kz.js +0 -26
@@ -1,3 +1,8 @@
1
+ ---
2
+ stability: beta
3
+ keep-beta-until: 2026-11-24
4
+ ---
5
+
1
6
  # Settings classes โ€” A / B / C
2
7
 
3
8
  > Every leaf key in `src/config/agent-settings.template.yml` carries exactly one
@@ -242,8 +247,8 @@ dispatch runs, not WHETHER the layer exists, so they keep their own C rows.
242
247
  |---|---|
243
248
  | A โ€” preference | 26 |
244
249
  | B โ€” consent | 3 |
245
- | C โ€” guarded | 109 |
246
- | **Total** | **138** |
250
+ | C โ€” guarded | 110 |
251
+ | **Total** | **139** |
247
252
 
248
253
  The total was 140 until 2026-08-12, when five of the six keys no code path read were
249
254
  deleted, minus the one held open (ยง The six unread keys, below): one A
@@ -333,9 +338,9 @@ the template, which is the drift this contract exists to prevent.
333
338
  |---|---|
334
339
  | derivable | 83 |
335
340
  | un-inferrable | 9 |
336
- | consent | 40 |
341
+ | consent | 41 |
337
342
  | policy | 6 |
338
- | **Total** | **138** |
343
+ | **Total** | **139** |
339
344
 
340
345
  First measured 2026-08-12 at 140 leaves (derivable 88 ยท consent 38 ยท
341
346
  un-inferrable 9 ยท policy 5), from the table below rather than predicted โ€” the
@@ -550,6 +555,7 @@ Rows follow template order, so a diff against the template reads straight down.
550
555
  | `hooks.injection_scan.enabled` | C | `false` | the prompt-injection scanner | derivable โ€” the scanner's own signature match on the tool envelope; warn-only and silent on no hit |
551
556
  | `hooks.rtk_wrap.enabled` | C | `false` | configures code that runs on every tool call | derivable โ€” the live PATH and identity probe the hook already runs; silent when rtk is absent |
552
557
  | `hooks.design_slop.enabled` | C | `false` | configures code that runs on every tool call | derivable โ€” the rule-registry match plus the hook's own per-signature silence cap |
558
+ | `hooks.runtime_journal.enabled` | C | `false` | configures code that runs on every dispatched hook event | consent |
553
559
  | `hooks.ui_route_nudge.enabled` | C | `false` | configures code that runs on every tool call | derivable โ€” the UI-surface predicate plus the hook's own two-nudges-per-session cap |
554
560
  | `hooks.design_pass.enabled` | C | `false` | C-test 1 โ€” it configures code that runs on every tool call and at every turn end, and unlike its two `hooks.*` neighbours its stop pass can BLOCK rather than warn | policy โ€” whether an operator accepts a gate that can refuse a turn is a risk preference, not a fact the tree can compute. The two neighbours are `derivable` because they only ever warn; the block is the discriminator. `road-to-frontend-power` transfers the default flip to the owner for the same reason |
555
561
  | `hooks.code_graph.enabled` | C | `false` | configures code that runs on every tool call | derivable โ€” the index-detection probe the nudge already runs; no index means silence |
@@ -6,11 +6,11 @@ comprehensive understanding of any topic, problem, or plan. Adopted under
6
6
  the **Reference-Guideline Sunset Policy** (see frontmatter `upstream` /
7
7
  `refresh_trigger` keys) and cross-referenced from:
8
8
 
9
- - [`deep-reading-analyst`](../../../.agent-src.uncondensed/skills/deep-reading-analyst/SKILL.md)
9
+ - [`deep-reading-analyst`](../../../src/skills/deep-reading-analyst/SKILL.md)
10
10
  โ€” L1 Quick analysis depth.
11
- - [`refine-ticket`](../../../.agent-src.uncondensed/skills/refine-ticket/SKILL.md)
11
+ - [`refine-ticket`](../../../src/skills/refine-ticket/SKILL.md)
12
12
  โ€” completeness check on a Jira / Linear ticket before estimation.
13
- - [`bug-investigate`](../../../.agent-src.uncondensed/commands/bug/investigate.md)
13
+ - [`bug-investigate`](../../../src/domains/engineering-base/bug/investigate/command.md)
14
14
  โ€” gap analysis on an incident report before forming a hypothesis.
15
15
 
16
16
  > **Core principle:** "Quality of decisions equals quality of questions
@@ -266,6 +266,7 @@ is a pairwise contract scoped to the always-on kernel rules โ€” forking that
266
266
  linted contract with a second prose ordering over a different kind of object is
267
267
  the drift this ladder exists to avoid.
268
268
 
269
+
269
270
  ### 8c. Is the approach sound?
270
271
 
271
272
  - Is there a simpler way to achieve the same result?
@@ -57,6 +57,61 @@ and let the user re-decide.
57
57
  Carry the summary into the commit message (*"Reviewed before drafting:
58
58
  X, Y"*).
59
59
 
60
+ ### Where the answer is written โ€” `composition_review:`
61
+
62
+ A commit message is not a tree artifact. Measured 2026-08-27 over the twenty most
63
+ recently added skills and rules
64
+ (`agents/evidence/analysis/authoring-search-record-sample-2026-08-27.md`), **1 of
65
+ 20** carried a machine-readable record of the Phase-B verdict; 9 carried a strict
66
+ prose one, and the rest carried a `See also` gloss or a routing row. So an
67
+ artifact authored after a thorough scan and one authored after none were
68
+ indiscernible in the tree โ€” which is why the overlap tools
69
+ (`audit_overlap`, `audit_skill_overlap`, `report_layer_overlap`) run over a
70
+ corpus rather than over a decision.
71
+
72
+ The record is a frontmatter block, defined in `skill.schema.json` and
73
+ `rule.schema.json`, and **optional on existing artifacts by design โ€” nothing is
74
+ backfilled**:
75
+
76
+ ```yaml
77
+ composition_review:
78
+ - candidate: skill:existing-ui-audit # skill: / rule: / command: / guideline: / none
79
+ disposition: create_separate # what happened to this candidate
80
+ rationale: audits what exists before a write; this governs the write itself
81
+ ```
82
+
83
+ Four dispositions, and the discriminator for each:
84
+
85
+ | Value | Means |
86
+ |---|---|
87
+ | `extend_incumbent` | the incumbent absorbed the change; no new artifact was created |
88
+ | `compose_with_incumbent` | the new artifact routes to the incumbent rather than restating it |
89
+ | `create_separate` | the incumbent exists, was evaluated, and a separate artifact was authored anyway |
90
+ | `none_found` | the search ran and found no credible incumbent โ€” pairs only with `candidate: none` |
91
+
92
+ `none_found` exists so an author is never pushed to **invent** an incumbent to
93
+ satisfy the schema. That failure would manufacture the pro-forma record the
94
+ mechanism is supposed to measure, using the mechanism.
95
+
96
+ `create_separate` is the value no other disposition vocabulary in this tree can
97
+ express, and it is why this is a fifth enum rather than a reuse. The nearest
98
+ incumbent is the harvest ledger's `adopt | adapt`
99
+ (`lint_harvest_provenance.ts:76`), which deliberately **excludes** rejection
100
+ (`:222`) because a rejected harvest has no artifact to cite. This record is the
101
+ mirror image โ€” it is written *on* the artifact being created โ€” so rejection is
102
+ the value it most needs. The finding, review and archive vocabularies are about
103
+ defects, review rows and roadmap files respectively; none of them has a slot for
104
+ "an incumbent existed and I built anyway".
105
+
106
+ **What the lint does and does not do.** `lint_composition_review` fails a record
107
+ whose `candidate` resolves to no artifact, or whose `none` / `none_found` pair
108
+ disagrees โ€” a record naming an incumbent that is not in the tree reads as
109
+ evidence of a search that cannot have happened. It *reports without failing* an
110
+ addition carrying no record at all. It cannot check that the search happened,
111
+ that the rationale is true, or that the named incumbent is the nearest one;
112
+ flipping the advisory half to a block needs a false-positive rate from at least
113
+ one release of advisory operation, which does not exist yet.
114
+
60
115
  ## Phase C โ€” Draft
61
116
 
62
117
  Propose **2-3 description variants** โ€” Conservative / Pushy
@@ -135,7 +190,7 @@ that lives only in the roadmap that flipped the default becomes unreachable
135
190
  the moment that roadmap is archived.
136
191
 
137
192
 
138
- ## Complexity budget โ€” the six questions before a new artefact
193
+ ## Complexity budget โ€” the six questions before a new artifact
139
194
 
140
195
  Folded here from the 9.4.0 review (Prio 5), which named the failure mode:
141
196
  "das Paket kann fast jede Kritik mit einem weiteren Mechanismus beantworten"
@@ -144,12 +199,12 @@ inflation). This REPLACES the ad-hoc "should this exist" prose โ€” it is a
144
199
  checklist, not a new gate/rule (adding a gate to enforce "add less" would be
145
200
  the very inflation it guards against). Before drafting any new skill / rule /
146
201
  command / hook / gate, answer all six; a "no" on **replaces** or **removable**
147
- is a strong signal to fold into an existing artefact instead:
202
+ is a strong signal to fold into an existing artifact instead:
148
203
 
149
204
  1. **Replaces?** โ€” what existing mechanism does this retire or subsume? (If
150
205
  nothing, justify why the surface must grow.)
151
206
  2. **Overlaps?** โ€” does it duplicate a trigger / responsibility another
152
- artefact already owns?
207
+ artifact already owns?
153
208
  3. **Discoverable?** โ€” will a user actually find it, or does it just raise the
154
209
  catalog count?
155
210
  4. **Measurable?** โ€” is there a signal that would show it earning its place
@@ -12,9 +12,9 @@ prose_delta:
12
12
 
13
13
  > Wrong / right / why demos for the `ask-when-uncertain` Iron Law
14
14
  > (one question per turn, vague-request must ask). Linked from
15
- > [`ask-when-uncertain`](../../.agent-src.uncondensed/rules/ask-when-uncertain.md)
15
+ > [`ask-when-uncertain`](../../../src/rules/ask-when-uncertain.md)
16
16
  > ยง Examples. Outcome baseline at
17
- > [`tests/golden/outcomes/ask_when_uncertain.json`](../../tests/golden/outcomes/ask_when_uncertain.json).
17
+ > [`tests/golden/outcomes/ask_when_uncertain.json`](../../../tests/golden/outcomes/ask_when_uncertain.json).
18
18
 
19
19
  ## Demo 1 โ€” Vague request, multi-question stack
20
20
 
@@ -1,9 +1,9 @@
1
1
  # asking-and-brevity-examples
2
2
 
3
3
  Companion examples for three always-rules:
4
- [`ask-when-uncertain`](../../../.agent-src.uncondensed/rules/ask-when-uncertain.md),
5
- [`no-cheap-questions`](../../../.agent-src.uncondensed/rules/no-cheap-questions.md),
6
- [`direct-answers`](../../../.agent-src.uncondensed/rules/direct-answers.md).
4
+ [`ask-when-uncertain`](../../../src/rules/ask-when-uncertain.md),
5
+ [`no-cheap-questions`](../../../src/rules/no-cheap-questions.md),
6
+ [`direct-answers`](../../../src/rules/direct-answers.md).
7
7
 
8
8
  The rules carry the Iron Laws and the obligation surface. This file
9
9
  carries the illustrative material (example questions, rationale
@@ -56,14 +56,14 @@ reproducer to the follow-up ticket.
56
56
 
57
57
  These rules stay fully in force, break-glass or not:
58
58
 
59
- - [`minimal-safe-diff`](../../rules/minimal-safe-diff.md) โ€” the hotfix is
59
+ - [`minimal-safe-diff`](../../../src/rules/minimal-safe-diff.md) โ€” the hotfix is
60
60
  still the **smallest** change that stops the bleeding. No drive-by
61
61
  cleanups.
62
- - [`security-sensitive-stop`](../../rules/security-sensitive-stop.md) โ€” a
62
+ - [`security-sensitive-stop`](../../../src/rules/security-sensitive-stop.md) โ€” a
63
63
  security-relevant change still needs the threat-model pass.
64
- - [`scope-control`](../../rules/scope-control.md) โ€” never mix the
64
+ - [`scope-control`](../../../src/rules/scope-control.md) โ€” never mix the
65
65
  hotfix with unrelated refactors from another branch.
66
- - [`ask-when-uncertain`](../../rules/ask-when-uncertain.md) โ€” more
66
+ - [`ask-when-uncertain`](../../../src/rules/ask-when-uncertain.md) โ€” more
67
67
  asking, not less, when the blast radius is live.
68
68
 
69
69
  ## Required artifacts
@@ -104,10 +104,10 @@ Within 24 hours:
104
104
 
105
105
  ## See also
106
106
 
107
- - [`minimal-safe-diff`](../../rules/minimal-safe-diff.md) โ€” break-glass
107
+ - [`minimal-safe-diff`](../../../src/rules/minimal-safe-diff.md) โ€” break-glass
108
108
  exception section.
109
- - [`verify-before-complete`](../../rules/verify-before-complete.md) โ€”
109
+ - [`verify-before-complete`](../../../src/rules/verify-before-complete.md) โ€”
110
110
  break-glass reduction section.
111
- - [`security-sensitive-stop`](../../rules/security-sensitive-stop.md).
111
+ - [`security-sensitive-stop`](../../../src/rules/security-sensitive-stop.md).
112
112
  - [`review-routing-data-format`](review-routing-data-format.md) โ€”
113
113
  where to register newly-discovered failure modes.
@@ -1,14 +1,14 @@
1
1
  # Decidable Carve-Out Predicates
2
2
 
3
- Companion to [`frugality-charter`](../../../.agent-src.uncondensed/contexts/contracts/frugality-charter.md). Each carve-out below carries a one-sentence test. If the test cannot be answered yes/no from the artifact alone, the carve-out does not fire and default-terse rules apply.
3
+ Companion to [`frugality-charter`](../../../src/agent-src/contexts/contracts/frugality-charter.md). Each carve-out below carries a one-sentence test. If the test cannot be answered yes/no from the artifact alone, the carve-out does not fire and default-terse rules apply.
4
4
 
5
5
  ## Predicates
6
6
 
7
7
  - **Iron-Law literal** โ€” the prose is an ALL-CAPS fenced block inside a rule whose title appears in [`docs/contracts/kernel-membership.md`](../../contracts/kernel-membership.md).
8
8
 
9
- - **Numbered-options with genuine trade-off** โ€” the options differ in consequence (a chosen path produces a measurably different artifact or state), not in sequencing or output format. Per [`no-cheap-questions ยง What counts as cheap`](../../../.agent-src.uncondensed/rules/no-cheap-questions.md#what-counts-as-cheap).
9
+ - **Numbered-options with genuine trade-off** โ€” the options differ in consequence (a chosen path produces a measurably different artifact or state), not in sequencing or output format. Per [`no-cheap-questions ยง What counts as cheap`](../../../src/rules/no-cheap-questions.md#what-counts-as-cheap).
10
10
 
11
- - **Security-sensitive prompt** โ€” the prompt requires credential input OR modifies auth / tenant / secret state, matching a trigger in [`security-sensitive-stop`](../../../.agent-src.uncondensed/rules/security-sensitive-stop.md).
11
+ - **Security-sensitive prompt** โ€” the prompt requires credential input OR modifies auth / tenant / secret state, matching a trigger in [`security-sensitive-stop`](../../../src/rules/security-sensitive-stop.md).
12
12
 
13
13
  - **Structured CLI contract** โ€” the script's stdout is consumed by another script (a downstream parser exists under `scripts/` or `.augment/scripts/`), so the format is part of an interface contract, not narration.
14
14
 
@@ -7,7 +7,7 @@ quality, and viewpoints to synthesize an integrated understanding rather
7
7
  than a stack of independent summaries. Adopted under the
8
8
  **Reference-Guideline Sunset Policy** and cross-referenced from:
9
9
 
10
- - [`deep-reading-analyst`](../../../.agent-src.uncondensed/skills/deep-reading-analyst/SKILL.md)
10
+ - [`deep-reading-analyst`](../../../src/skills/deep-reading-analyst/SKILL.md)
11
11
  โ€” L4 Research analysis depth (web-search 2โ€“3 related sources, compare,
12
12
  synthesize).
13
13
  - [`critical-thinking`](critical-thinking.md) โ€” per-source argument
@@ -8,13 +8,13 @@ rebuilds from primitives) and `inversion-thinking` (which negates the
8
8
  goal). Adopted under the **Reference-Guideline Sunset Policy** and
9
9
  cross-referenced from:
10
10
 
11
- - [`deep-reading-analyst`](../../../.agent-src.uncondensed/skills/deep-reading-analyst/SKILL.md)
11
+ - [`deep-reading-analyst`](../../../src/skills/deep-reading-analyst/SKILL.md)
12
12
  โ€” L2 Standard / L3 Deep evaluation depth.
13
- - [`receiving-code-review`](../../../.agent-src.uncondensed/skills/receiving-code-review/SKILL.md)
13
+ - [`receiving-code-review`](../../../src/skills/receiving-code-review/SKILL.md)
14
14
  โ€” steelman bot / human review feedback before changing code.
15
- - [`improve-before-implement`](../../../.agent-src.uncondensed/rules/improve-before-implement.md)
15
+ - [`improve-before-implement`](../../../src/rules/improve-before-implement.md)
16
16
  โ€” challenge weak requirements with evidence-grade analysis.
17
- - [`adversarial-review`](../../../.agent-src.uncondensed/skills/adversarial-review/SKILL.md)
17
+ - [`adversarial-review`](../../../src/skills/adversarial-review/SKILL.md)
18
18
  โ€” paired stress-test on a diff after critique.
19
19
 
20
20
  > **Core principle:** "Steelman first, criticize second." โ€” attacking
@@ -13,9 +13,9 @@ prose_delta:
13
13
  > Wrong / right / why demos for the three Iron Laws of
14
14
  > `direct-answers` (no flattery, no invented facts, brevity by
15
15
  > default). Linked from
16
- > [`direct-answers`](../../.agent-src.uncondensed/rules/direct-answers.md)
16
+ > [`direct-answers`](../../../src/rules/direct-answers.md)
17
17
  > ยง Examples. Outcome baseline at
18
- > [`tests/golden/outcomes/direct_answers.json`](../../tests/golden/outcomes/direct_answers.json).
18
+ > [`tests/golden/outcomes/direct_answers.json`](../../../tests/golden/outcomes/direct_answers.json).
19
19
 
20
20
  ## Demo 1 โ€” Flattery opener (Iron Law 1)
21
21
 
@@ -50,4 +50,4 @@ A false structural blocker is as much an error as false objectivity.
50
50
 
51
51
  - [ADR-107 โ€” Legal domain-pack adoption](../../decisions/ADR-107-legal-domain-pack-adoption.md)
52
52
  - `domain-pack-architecture.md` โ€” the retrospective sequence this is part of.
53
- - `src/domains/legal/evals/README.md` โ€” the regression harness in practice.
53
+ - `src/domains/legal-review-prep/evals/README.md` โ€” the regression harness in practice.
@@ -123,12 +123,12 @@ is not a forensic record.
123
123
  Each file also carries the template-specific body. See the example
124
124
  templates for the full shape:
125
125
 
126
- - [`domain-invariants.example.yml`](../../templates/agents/memory/domain-invariants.example.yml)
126
+ - [`domain-invariants.example.yml`](../../../src/agent-src/templates/agents/memory/domain-invariants.example.yml)
127
127
  adds `rule`, `boundary`, `scope.paths`, `violation_contract`.
128
- - [`incident-learnings.example.yml`](../../templates/agents/memory/incident-learnings.example.yml)
128
+ - [`incident-learnings.example.yml`](../../../src/agent-src/templates/agents/memory/incident-learnings.example.yml)
129
129
  adds `pattern`, `trigger_conditions`, `consequence`, `guardrail`,
130
130
  `enforcement`, `severity`.
131
- - [`product-rules.example.yml`](../../templates/agents/memory/product-rules.example.yml)
131
+ - [`product-rules.example.yml`](../../../src/agent-src/templates/agents/memory/product-rules.example.yml)
132
132
  adds `rule`, `applies_to`, `enforcement`, `error_contract`, `version`.
133
133
 
134
134
  ## Ownership (who writes, who reads)
@@ -0,0 +1,80 @@
1
+ # The existence question โ€” its verdict set, its cost, and why it is not TDD
2
+
3
+ Depth for [`improve-before-implement`](../../../src/rules/improve-before-implement.md)
4
+ ยง The solution-size ladder, migrated out of
5
+ [`agent-interaction-and-decision-quality`](agent-interaction-and-decision-quality.md)
6
+ ยง 8b.
7
+
8
+ **Why it moved.** That guideline crossed `check_depth_budget`'s 16,000-character
9
+ ceiling when this depth landed in it, becoming a fifth over-ceiling file against
10
+ a baseline of four. The ratchet turns one way, so the fix is extraction rather
11
+ than a raised baseline โ€” and these three sections are the natural unit: they
12
+ answer what the ladder RETURNS, what it costs, and which cluster it does not
13
+ belong to, none of which the surrounding interaction guideline needs in order to
14
+ be read.
15
+
16
+ The ladder itself โ€” the rungs, the shape axis and their precedence โ€” stays at
17
+ ยง 8b-ladder / 8b-shape / 8b-precedence, because the rule routes there.
18
+
19
+ #### 8b-verdict. The verdict set, and what `new` owes
20
+
21
+ The ladder's answer is a **named verdict, never a yes/no**:
22
+
23
+ | verdict | meaning |
24
+ |---|---|
25
+ | `reuse` | the existing thing carries the requirement as-is |
26
+ | `extract` | it carries it once a shared part is pulled out |
27
+ | `refactor` | it carries it once reshaped, same responsibility |
28
+ | `extend` | it carries it with an added, non-distorting case |
29
+ | `migrate` | it should carry it, and the move is the work |
30
+ | `new` | nothing carries it, and the search that establishes that is the evidence |
31
+
32
+ **`new` owes negative evidence** โ€” the closest existing candidate **by name and
33
+ path**, and why it does not carry the requirement. *"Nothing similar exists"*
34
+ naming no candidate is an unrun search, not an answer, and it is the shape this
35
+ verdict set exists to make visible.
36
+
37
+ Two clauses hold the set honest, and both cut against reading it as a ranking:
38
+
39
+ - **The order is a thinking preference, not a ranking.** A `new` after a real
40
+ search beats an `extend` that bends a helper out of shape. Preferring reuse is
41
+ not preferring reuse *at any cost*.
42
+ - **Textual similarity alone is never grounds for an abstraction.** Two blocks
43
+ that read alike and change for different reasons are two blocks โ€” the
44
+ per-class bars are in [`abstraction-thresholds`](../abstraction-thresholds.md).
45
+
46
+ **Reach the verdict with the engine, not a fresh grep protocol.** `agent-config
47
+ code-graph query` and `code-graph affected`;
48
+ [`external-code-graph-interop`](../../../src/rules/external-code-graph-interop.md)
49
+ already mandates query-before-grep and names grep the fallback, so a second
50
+ search specification here would contradict it rather than add to it.
51
+
52
+ #### 8b-cheap. Why the exclusions buy the checks and never the question
53
+
54
+ The rule excludes bug fixes, config changes, user-fenced tasks and trivial
55
+ changes from the **three heavy checks**. The one cheap question โ€” *does this
56
+ already exist in the tree* โ€” fires on all four rows anyway.
57
+
58
+ The reason is empirical rather than tidy: **bug fixes and renames re-add an
59
+ existing helper more often than features do**, because the author is inside one
60
+ file and reaching for something small. Switching the reuse rung off there
61
+ switches it off where it pays most.
62
+
63
+ Cheap means cheap, on the [`ui-audit-gate`](../../../src/rules/ui-audit-gate.md)
64
+ precedent: one `code-graph query`, one named verdict, no interview.
65
+
66
+ **The skip is decidable from the diff alone** โ€” โ‰ค 1 file, โ‰ค 5 changed lines, no
67
+ new symbol, no new dependency. A typo satisfies all four with no state to
68
+ consult; an added symbol never does.
69
+
70
+ #### 8b-routing. Why this is not routed through the TDD cluster
71
+
72
+ Two source proposals put the existence question in `/tdd`'s design mode, as the
73
+ one point every behaviour passes through. **It cannot live there, and the reason
74
+ is delivery rather than design:**
75
+ `src/domains/engineering-base/tdd/command.md` carries `visibility: internal` and
76
+ `disable-model-invocation: true`, so **a consumer cannot reach it.** The routing
77
+ is undeliverable, not merely unwanted.
78
+
79
+ Recorded here so the next author does not re-derive the proposal and re-propose
80
+ it.
@@ -8,11 +8,11 @@ verified primitives and reconstruct it without inherited convention.
8
8
  Adopted under the **Reference-Guideline Sunset Policy** and
9
9
  cross-referenced from:
10
10
 
11
- - [`deep-reading-analyst`](../../../.agent-src.uncondensed/skills/deep-reading-analyst/SKILL.md)
11
+ - [`deep-reading-analyst`](../../../src/skills/deep-reading-analyst/SKILL.md)
12
12
  โ€” L3 Deep analysis depth.
13
13
  - [`mental-models`](mental-models.md) โ€” Munger's lattice; first
14
14
  principles is the foundational physics-style lens.
15
- - [`improve-before-implement`](../../../.agent-src.uncondensed/rules/improve-before-implement.md)
15
+ - [`improve-before-implement`](../../../src/rules/improve-before-implement.md)
16
16
  โ€” challenge the framing of a request before coding it.
17
17
  - [`inversion-thinking`](inversion-thinking.md) โ€” pair: first
18
18
  principles rebuilds; inversion stress-tests the rebuild.
@@ -41,8 +41,8 @@ A generic artifact may end a section with a one-line handoff to its
41
41
  framework-specific peers. Canonical shape:
42
42
 
43
43
  ```
44
- โ†’ Laravel-specific: see [laravel-validation](../skills/laravel-validation/SKILL.md)
45
- โ†’ Next.js-specific: see [nextjs-patterns](../skills/nextjs-patterns/SKILL.md)
44
+ โ†’ Laravel-specific: see [laravel-validation](../../../src/skills/laravel-validation/SKILL.md)
45
+ โ†’ Next.js-specific: see [nextjs-patterns](../../../src/skills/nextjs-patterns/SKILL.md)
46
46
  ```
47
47
 
48
48
  The pointer is a link, not a procedure โ€” the generic artifact never
@@ -0,0 +1,39 @@
1
+ # `guarded-baseline` โ€” a sub-state of `[ ]`, never a fifth glyph
2
+
3
+ > Migrated out of [`roadmap-progress-mechanics`](roadmap-progress-mechanics.md)
4
+ > on 2026-08-31, on arrival: that file measured 15,873 of the 16,000-char
5
+ > depth ceiling, leaving 127 characters, so the section could not live there.
6
+ > The ceiling is a growth ratchet, and hitting it is the signal to split rather
7
+ > than to raise it. The glyph-semantics table there points here.
8
+
9
+ A step whose `verify:` asserts a property of a mechanism that **does not yet exist** may not close `[x]`: an executable guard proven to go RED under a named sabotage is evidence about the *guard*, not about the *absent mechanism*, and `[x]` would claim the acceptance criterion was satisfied. Such a step keeps its `[ ]` box and carries an annotation plus a structured evidence record (AI council 2026-08-31, 2/2 convergent โ€” `anthropic/claude-sonnet-4-5` + `openai/codex-default`, option C):
10
+
11
+ ~~~md
12
+ - [ ] <!-- roadmap-status: guarded-baseline -->
13
+ **12.1** โ€ฆstep textโ€ฆ
14
+ ```yaml
15
+ guarded_baseline:
16
+ category: future-mechanism # or absence-assertion โ€” no other value
17
+ scope: <surfaces examined>
18
+ command: <reproducible green command>
19
+ red_proof: <commit, fixture, or recorded sabotage run>
20
+ sabotage_model: <exact violation introduced>
21
+ recheck_when: <mechanism / symbol / path trigger>
22
+ discharged_ac: <clauses actually completed>
23
+ pending_ac: <clauses still unexercisable>
24
+ ```
25
+ ~~~
26
+
27
+ The two categories are the discriminator, not decoration. An **`absence-assertion`** step asserts something directly observable today ("the schema has no field capable of holding prompt text") and MAY close `[x]` once sabotage-verified. A **`future-mechanism`** step asserts a property of something that does not exist ("a probe-resolvable fixture never enters the selector") and is what this sub-state exists for. No third value is accepted, and an absent `category` is a rejection rather than a default.
28
+
29
+ Tooling, all of it in `guarded_baseline.ts` and enforced by both consumers:
30
+
31
+ | Behavior | Where |
32
+ |---|---|
33
+ | Counted as **open**, never as done โ€” the canonical box stays `[ ]` | `count_checkboxes` |
34
+ | Reported **separately**: a `## ๐Ÿ›ก๏ธ Guarded baselines` dashboard section plus a per-step stderr line | `update_roadmap_progress` |
35
+ | **Rejected** โ€” exit 1, on both `--check` and a plain regen โ€” when `red_proof` is absent, when `category` is absent or illegal, when there is no evidence block, or when the annotation sits on anything but `- [ ]` | `update_roadmap_progress` |
36
+ | Treated as **incomplete**: archival refused and the reason named | `archive_completed_roadmaps` |
37
+ | Marked **stale** once a path-shaped `recheck_when` trigger resolves in the tree; a bare symbol trigger is reported as not machine-checkable rather than as not-stale | `guardedBaselineStaleness` |
38
+
39
+ Only verification against the real mechanism permits `[x]`. **A baseline that has not demonstrably gone RED is an ordinary open item** and must not carry the annotation at all โ€” the sabotage-and-restore proof is the entry price, not a nice-to-have.
@@ -4,18 +4,18 @@ Reference guideline for Wing-1 deep-thinking work โ€” Carl Jacobi's
4
4
  "invert, always invert" applied to **decisions and arguments**, not
5
5
  diffs. The pre-mortem on a strategy, an argument, or a written plan;
6
6
  distinct from
7
- [`adversarial-review`](../../../.agent-src.uncondensed/skills/adversarial-review/SKILL.md)
7
+ [`adversarial-review`](../../../src/skills/adversarial-review/SKILL.md)
8
8
  which stress-tests **diffs**. Adopted under the **Reference-Guideline
9
9
  Sunset Policy** (see frontmatter `upstream` / `refresh_trigger` keys)
10
10
  and cross-referenced from:
11
11
 
12
- - [`refine-prompt`](../../../.agent-src.uncondensed/skills/refine-prompt/SKILL.md)
12
+ - [`refine-prompt`](../../../src/skills/refine-prompt/SKILL.md)
13
13
  โ€” pre-mortem on a free-form prompt before planning.
14
- - [`refine-ticket`](../../../.agent-src.uncondensed/skills/refine-ticket/SKILL.md)
14
+ - [`refine-ticket`](../../../src/skills/refine-ticket/SKILL.md)
15
15
  โ€” pre-mortem on a Jira / Linear ticket before estimation.
16
- - [`threat-modeling`](../../../.agent-src.uncondensed/skills/threat-modeling/SKILL.md)
16
+ - [`threat-modeling`](../../../src/skills/threat-modeling/SKILL.md)
17
17
  โ€” abuse-case generation pairs with goal inversion.
18
- - [`improve-before-implement`](../../../.agent-src.uncondensed/rules/improve-before-implement.md)
18
+ - [`improve-before-implement`](../../../src/rules/improve-before-implement.md)
19
19
  โ€” challenge weak requirements before writing code.
20
20
 
21
21
  > **Core principle:** "Invert, always invert." โ€” Carl Jacobi
@@ -1,6 +1,6 @@
1
1
  # language-and-tone โ€” examples and failure modes
2
2
 
3
- > Reference companion to [`dist/agent-src/rules/language-and-tone.md`](../../dist/agent-src/rules/language-and-tone.md).
3
+ > Reference companion to [`dist/agent-src/rules/language-and-tone.md`](../../../src/rules/language-and-tone.md).
4
4
  > Pulled out so the always-active rule stays under its character budget.
5
5
  > Linked from the rule via the **Examples** section; agents do not load this file
6
6
  > automatically, only when they want concrete demonstrations or are debugging a
@@ -19,18 +19,18 @@ on user request.
19
19
  |---|---|---|---|---|
20
20
  | `.agent-project-settings.yml` | **committed** | team / repo | lead maintainer | `project.stack`, `quality.php.tools`, `memory.dogfood` |
21
21
  | `~/.event4u/agent-config/agent-settings.yml` | **n/a** (outside repo) | individual developer ยท cross-project | individual | `name`, `ide`, `rule_loading_tier`, `personal.bot_icon`, `personal.autonomy`, `memory.cadence` (legacy `~/.config/agent-config/agent-settings.yml` read as fallback) |
22
- | `agents/settings/.agent-settings.yml` | **gitignored** | individual developer ยท this project | individual | `personal.ide`, `personal.user_name`, `subagents.max_parallel`, `onboarding.onboarded` |
22
+ | `agents/settings/.agent-settings.yml` | **gitignored** | individual developer ยท this project | individual | `personal.ide`, `personal.user_name`, `subagents.max_parallel`, `onboarding.onboarded` | <!-- ref-ignore -->
23
23
 
24
24
  > **Canonical location (ADR-038):** the developer file lives in the settings
25
- > layer at `agents/settings/.agent-settings.yml` (alongside
25
+ > layer at `agents/settings/.agent-settings.yml` (alongside <!-- ref-ignore -->
26
26
  > `.agent-settings.local.yml`, `contexts/`, `policies/`). A repo-root
27
27
  > `.agent-settings.yml` is read as a **back-compat fallback** and is migrated
28
28
  > into the canonical location by `install` on the next run.
29
29
 
30
30
  All three are YAML. Schemas:
31
31
 
32
- - Developer (project-local): [`agent-settings.md`](../../templates/agent-settings.md).
33
- - Team: [`agent-project-settings.example.yml`](../../templates/agents/agent-project-settings.example.yml).
32
+ - Developer (project-local): [`agent-settings.md`](../../../src/agent-src/templates/agent-settings.md).
33
+ - Team: [`agent-project-settings.example.yml`](../../../src/agent-src/templates/agents/agent-project-settings.example.yml).
34
34
  - User-global: six exact dotted paths โ€” whitelist in
35
35
  [`scripts/_lib/agent_settings.ts`](../../../src/scripts/_lib/agent_settings.ts).
36
36
 
@@ -42,7 +42,7 @@ Lowest priority โ†’ highest priority:
42
42
  1. Package defaults (shipped by event4u/agent-config)
43
43
  2. ~/.event4u/agent-config/agent-settings.yml (user-global ยท whitelist-filtered ยท legacy ~/.config/agent-config/ read as fallback)
44
44
  3. .agent-project-settings.yml (team file, committed)
45
- 4. agents/settings/.agent-settings.yml (developer file, gitignored; legacy repo-root .agent-settings.yml read as fallback โ€” ADR-038)
45
+ 4. agents/settings/.agent-settings.yml (developer file, gitignored; legacy repo-root .agent-settings.yml read as fallback โ€” ADR-038) <!-- ref-ignore -->
46
46
  ```
47
47
 
48
48
  Keys from higher layers win unless a lower layer marks them
@@ -160,7 +160,7 @@ pattern (e.g. `*.yml` in a nested folder) would otherwise match.
160
160
  Module-aware skills and commands (`module-management`, `/module
161
161
  explore`, `/module create`, roadmap-writing) consult the `modules:`
162
162
  block on the **team** layer
163
- ([`agent-project-settings.example.yml`](../../templates/agents/agent-project-settings.example.yml))
163
+ ([`agent-project-settings.example.yml`](../../../src/agent-src/templates/agents/agent-project-settings.example.yml))
164
164
  to find module roots, namespace conventions, and per-module
165
165
  `agents/` folders. Lives next to `project.stack` because it
166
166
  describes the same thing โ€” repo layout.
@@ -253,14 +253,14 @@ after that.
253
253
  The contract is **additive merge with user-line preservation** โ€”
254
254
  the user's file is the ground truth, the template only contributes
255
255
  keys the user is missing. Round-trip parser and merger live in
256
- [`scripts/sync_yaml_rt.ts`](../../src/scripts/sync_yaml_rt.ts); the
256
+ [`scripts/sync_yaml_rt.ts`](../../../src/scripts/sync_yaml_rt.ts); the
257
257
  supported YAML subset (block-mappings, scalars, lists, comments,
258
258
  CRLF/LF) is documented in its module docstring. The stdlib-only
259
259
  choice (vs. `ruamel.yaml`) and its revisit triggers are recorded in
260
260
  [`docs/contracts/adr-settings-sync-engine.md`](../../contracts/adr-settings-sync-engine.md).
261
261
 
262
262
  For each section in the template
263
- ([`agent-settings.md`](../../templates/agent-settings.md)):
263
+ ([`agent-settings.md`](../../../src/agent-src/templates/agent-settings.md)):
264
264
 
265
265
  - For each key under the section:
266
266
  - **Key exists in user's file** โ†’ keep the user's line **verbatim**
@@ -313,5 +313,5 @@ the next explicit settings edit.
313
313
 
314
314
  ## See also
315
315
 
316
- - [`agent-settings.md`](../../templates/agent-settings.md) โ€” dev-layer schema
317
- - [`agent-project-settings.example.yml`](../../templates/agents/agent-project-settings.example.yml) โ€” team-layer template
316
+ - [`agent-settings.md`](../../../src/agent-src/templates/agent-settings.md) โ€” dev-layer schema
317
+ - [`agent-project-settings.example.yml`](../../../src/agent-src/templates/agents/agent-project-settings.example.yml) โ€” team-layer template
@@ -145,5 +145,5 @@ Other types remain accessible on demand via
145
145
 
146
146
  - [`engineering-memory-data-format.md`](engineering-memory-data-format.md)
147
147
  โ€” the on-disk schema
148
- - [`../../rules/context-hygiene.md`](../../rules/context-hygiene.md)
148
+ - [`../../rules/context-hygiene.md`](../../../src/rules/context-hygiene.md)
149
149
  โ€” token budget that `max_entries_per_task` protects
@@ -6,11 +6,11 @@ lens at a time. Adopted under the **Reference-Guideline Sunset Policy**
6
6
  (see frontmatter `upstream` / `refresh_trigger` keys) and cross-referenced
7
7
  from:
8
8
 
9
- - [`deep-reading-analyst`](../../../.agent-src.uncondensed/skills/deep-reading-analyst/SKILL.md)
9
+ - [`deep-reading-analyst`](../../../src/skills/deep-reading-analyst/SKILL.md)
10
10
  โ€” L3 Deep analysis depth.
11
- - [`refine-prompt`](../../../.agent-src.uncondensed/skills/refine-prompt/SKILL.md)
11
+ - [`refine-prompt`](../../../src/skills/refine-prompt/SKILL.md)
12
12
  โ€” multi-lens prompt refinement.
13
- - [`judge-bug-hunter`](../../../.agent-src.uncondensed/skills/judge-bug-hunter/SKILL.md)
13
+ - [`judge-bug-hunter`](../../../src/skills/judge-bug-hunter/SKILL.md)
14
14
  โ€” diff review through more than the bug-hunter lens.
15
15
 
16
16
  > **Core principle:** "To a man with only a hammer, every problem looks