@event4u/agent-config 9.14.0 โ†’ 9.15.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 (276) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +110 -112
  3. package/README.md +8 -0
  4. package/dist/agent-src/commands/agents/audit.md +7 -7
  5. package/dist/agent-src/commands/agents/optimize.md +1 -1
  6. package/dist/agent-src/commands/analyze/reference-repo.md +1 -1
  7. package/dist/agent-src/commands/chat-history.md +1 -0
  8. package/dist/agent-src/commands/context.md +1 -0
  9. package/dist/agent-src/commands/council.md +1 -1
  10. package/dist/agent-src/commands/ghostwriter.md +1 -1
  11. package/dist/agent-src/commands/memory.md +2 -1
  12. package/dist/agent-src/commands/module.md +1 -0
  13. package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
  14. package/dist/agent-src/commands/optimize/deep.md +5 -2
  15. package/dist/agent-src/commands/optimize/skills.md +5 -5
  16. package/dist/agent-src/commands/override.md +1 -0
  17. package/dist/agent-src/commands/prediction-pool.md +4 -4
  18. package/dist/agent-src/commands/research/deep.md +1 -1
  19. package/dist/agent-src/commands/roadmap.md +2 -1
  20. package/dist/agent-src/commands/rule-compliance-audit.md +1 -1
  21. package/dist/agent-src/commands/tdd.md +1 -0
  22. package/dist/agent-src/commands/tests.md +1 -0
  23. package/dist/agent-src/commands/upstream-contribute.md +5 -5
  24. package/dist/agent-src/commands/video/from-script.md +1 -1
  25. package/dist/agent-src/commands/video/from-song.md +1 -1
  26. package/dist/agent-src/commands/video/scene.md +1 -1
  27. package/dist/agent-src/commands/video/stitch.md +1 -1
  28. package/dist/agent-src/commands/video/storyboard.md +1 -1
  29. package/dist/agent-src/commands/worktree/create.md +2 -1
  30. package/dist/agent-src/contexts/augment-infrastructure.md +1 -1
  31. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +5 -5
  32. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +3 -3
  33. package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
  34. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +4 -3
  35. package/dist/agent-src/contexts/execution/subagent-routing.md +19 -0
  36. package/dist/agent-src/contexts/override-system.md +1 -1
  37. package/dist/agent-src/ghostwriter/fictional-fixture-v1.md +1 -1
  38. package/dist/agent-src/rules/augment-edit-discipline.md +1 -1
  39. package/dist/agent-src/rules/autonomous-execution.md +2 -1
  40. package/dist/agent-src/rules/brand-consistency.md +1 -0
  41. package/dist/agent-src/rules/brand-source-of-truth.md +1 -0
  42. package/dist/agent-src/rules/code-comment-discipline.md +2 -0
  43. package/dist/agent-src/rules/communication-through-line.md +1 -0
  44. package/dist/agent-src/rules/content-quoting-floor.md +1 -0
  45. package/dist/agent-src/rules/cross-source-consistency.md +0 -1
  46. package/dist/agent-src/rules/downstream-changes.md +1 -0
  47. package/dist/agent-src/rules/external-code-graph-interop.md +1 -0
  48. package/dist/agent-src/rules/external-reference-deep-dive.md +1 -0
  49. package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -0
  50. package/dist/agent-src/rules/finance-safety-floor.md +0 -1
  51. package/dist/agent-src/rules/icon-consistency.md +1 -0
  52. package/dist/agent-src/rules/image-likeness-and-rights.md +1 -0
  53. package/dist/agent-src/rules/improve-before-implement.md +1 -1
  54. package/dist/agent-src/rules/invite-challenge.md +1 -0
  55. package/dist/agent-src/rules/lethal-trifecta-guard.md +1 -0
  56. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +1 -0
  57. package/dist/agent-src/rules/markdown-safe-codeblocks.md +1 -0
  58. package/dist/agent-src/rules/media-governance-routing.md +4 -3
  59. package/dist/agent-src/rules/media-sync-ground-truth.md +1 -0
  60. package/dist/agent-src/rules/no-attribution-footers.md +1 -0
  61. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +1 -0
  62. package/dist/agent-src/rules/no-pr-progress-comments.md +1 -0
  63. package/dist/agent-src/rules/onboarding-gate.md +1 -0
  64. package/dist/agent-src/rules/output-discipline.md +1 -0
  65. package/dist/agent-src/rules/prefer-enums-over-literals.md +1 -0
  66. package/dist/agent-src/rules/preservation-guard.md +1 -0
  67. package/dist/agent-src/rules/question-not-instruction.md +1 -0
  68. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
  69. package/dist/agent-src/rules/role-mode-adherence.md +1 -0
  70. package/dist/agent-src/rules/runtime-safety.md +1 -0
  71. package/dist/agent-src/rules/security-sensitive-stop.md +1 -0
  72. package/dist/agent-src/rules/session-canary.md +9 -2
  73. package/dist/agent-src/rules/source-confidentiality.md +1 -0
  74. package/dist/agent-src/rules/source-of-truth.md +1 -0
  75. package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -0
  76. package/dist/agent-src/rules/think-before-action.md +1 -0
  77. package/dist/agent-src/rules/token-budget-discipline.md +1 -0
  78. package/dist/agent-src/rules/token-efficiency.md +1 -0
  79. package/dist/agent-src/rules/token-optimizer-maintenance.md +5 -5
  80. package/dist/agent-src/rules/tool-safety.md +1 -0
  81. package/dist/agent-src/rules/untrusted-input-defense.md +2 -0
  82. package/dist/agent-src/rules/user-interaction.md +1 -0
  83. package/dist/agent-src/rules/user-interrupt-priority.md +1 -0
  84. package/dist/agent-src/skills/adr-create/SKILL.md +1 -1
  85. package/dist/agent-src/skills/check-refs/SKILL.md +1 -1
  86. package/dist/agent-src/skills/competitive-positioning/SKILL.md +1 -1
  87. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  88. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  89. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
  90. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  91. package/dist/agent-src/skills/github-ci/SKILL.md +1 -0
  92. package/dist/agent-src/skills/guideline-writing/SKILL.md +1 -1
  93. package/dist/agent-src/skills/lint-skills/SKILL.md +1 -1
  94. package/dist/agent-src/skills/readme-reviewer/SKILL.md +1 -1
  95. package/dist/agent-src/skills/roadmap-management/SKILL.md +8 -1
  96. package/dist/agent-src/skills/roadmap-writing/SKILL.md +1 -1
  97. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +1 -1
  98. package/dist/agent-src/skills/skill-writing/SKILL.md +4 -4
  99. package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
  100. package/dist/agent-src/skills/upstream-contribute/SKILL.md +6 -6
  101. package/dist/agent-src/skills/using-git-worktrees/SKILL.md +25 -0
  102. package/dist/agent-src/templates/AGENTS.md +1 -1
  103. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  104. package/dist/agent-src/templates/command.md +1 -1
  105. package/dist/agent-src/templates/copilot-instructions.md +3 -3
  106. package/dist/agent-src/templates/rule.md +2 -2
  107. package/dist/agent-src/templates/scripts/work_engine/orchestration.ts +1 -1
  108. package/dist/agent-src/templates/skill-archive-note.md +5 -5
  109. package/dist/agent-src/templates/skill.md +1 -1
  110. package/dist/cli/agent-config.js +66 -19
  111. package/dist/cli/agent-config.js.map +1 -1
  112. package/dist/cli/main.js +9 -4
  113. package/dist/cli/main.js.map +1 -1
  114. package/dist/cli/python/workspace_drive.js +2 -0
  115. package/dist/cli/python/workspace_drive.js.map +1 -1
  116. package/dist/cli/python/workspace_drive_health.js +2 -0
  117. package/dist/cli/python/workspace_drive_health.js.map +1 -1
  118. package/dist/cli/python/workspace_hosts.js +2 -0
  119. package/dist/cli/python/workspace_hosts.js.map +1 -1
  120. package/dist/cli/python/workspace_sessions.js +2 -0
  121. package/dist/cli/python/workspace_sessions.js.map +1 -1
  122. package/dist/cli/registry.js +1 -0
  123. package/dist/cli/registry.js.map +1 -1
  124. package/dist/cli-delegate/{chunk-A3HJ6NTI.js โ†’ chunk-63WSP6YZ.js} +2 -1
  125. package/dist/cli-delegate/{chunk-EJYIGZ3T.js โ†’ chunk-BKO2AZ7Z.js} +1 -1
  126. package/dist/cli-delegate/{chunk-GCVFLBP2.js โ†’ chunk-H574KOUH.js} +338 -494
  127. package/dist/cli-delegate/chunk-NXFWFAYV.js +339 -0
  128. package/dist/cli-delegate/{chunk-TEGJU2JX.js โ†’ chunk-ZXXJLL5K.js} +2 -2
  129. package/dist/cli-delegate/cmd_conformance.js +29 -23
  130. package/dist/cli-delegate/cmd_doctor.js +3 -3
  131. package/dist/cli-delegate/cmd_export.js +4 -4
  132. package/dist/cli-delegate/cmd_preflight.js +2 -2
  133. package/dist/cli-delegate/cmd_prune.js +4 -4
  134. package/dist/cli-delegate/cmd_settings_migrate.js +4 -4
  135. package/dist/cli-delegate/cmd_sync.js +4 -4
  136. package/dist/cli-delegate/cmd_uninstall.js +4 -4
  137. package/dist/cli-delegate/cmd_validate.js +4 -4
  138. package/dist/discovery/deprecation-report.md +1 -1
  139. package/dist/discovery/discovery-manifest.json +127 -95
  140. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  141. package/dist/discovery/discovery-manifest.summary.md +1 -1
  142. package/dist/discovery/orphan-report.md +1 -1
  143. package/dist/discovery/packs.json +2 -2
  144. package/dist/discovery/trust-report.md +1 -1
  145. package/dist/discovery/workspaces.json +2 -2
  146. package/dist/hooks/dispatch.js +729 -430
  147. package/dist/install/install.mjs +52 -11
  148. package/dist/install/rule_scope.js +18 -2
  149. package/dist/install/rule_scope.js.map +1 -1
  150. package/dist/mcp/registry-manifest.json +2 -2
  151. package/dist/mcp/server.json +2 -2
  152. package/dist/mcp/server.mjs +518 -411
  153. package/dist/router.json +1 -1
  154. package/dist/scripts/_lib/claude_settings_hooks.js +30 -5
  155. package/dist/scripts/_lib/claude_settings_hooks.js.map +1 -1
  156. package/dist/scripts/_lib/scoped_projection.js +223 -0
  157. package/dist/scripts/_lib/scoped_projection.js.map +1 -0
  158. package/dist/scripts/_lib/surface_tiers.js +125 -0
  159. package/dist/scripts/_lib/surface_tiers.js.map +1 -0
  160. package/dist/scripts/_lib/token_count.js +166 -0
  161. package/dist/scripts/_lib/token_count.js.map +1 -0
  162. package/dist/scripts/_lib/trigger_eval_floors.js +8 -0
  163. package/dist/scripts/_lib/trigger_eval_floors.js.map +1 -1
  164. package/dist/scripts/condense.js +139 -9
  165. package/dist/scripts/condense.js.map +1 -1
  166. package/dist/scripts/project_thin_rules.js +450 -0
  167. package/dist/scripts/project_thin_rules.js.map +1 -0
  168. package/dist/server/routes/workspace.js +2 -0
  169. package/dist/server/routes/workspace.js.map +1 -1
  170. package/dist/server/schemas/settings.js +9 -3
  171. package/dist/server/schemas/settings.js.map +1 -1
  172. package/dist/ui/assets/index-DJY_vQVn.js +40 -0
  173. package/dist/ui/assets/index-DJY_vQVn.js.map +1 -0
  174. package/dist/ui/index.html +1 -1
  175. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
  176. package/package.json +11 -11
  177. package/src/agent-src/templates/AGENTS.md +1 -1
  178. package/src/agent-src/templates/scripts/work_engine/orchestration.ts +1 -1
  179. package/src/config/agent-settings.template.yml +59 -11
  180. package/src/config/ci-local-parity.yml +8 -0
  181. package/src/config/discovery/unassigned-artefacts.yml +23 -25
  182. package/src/config/evaluator-budgets.json +35 -5
  183. package/src/config/gate-coverage.yml +147 -0
  184. package/src/config/gate-violation-baselines.json +25 -0
  185. package/src/install/rule_scope.ts +27 -2
  186. package/src/scripts/_cli/cmd_conformance.ts +13 -24
  187. package/src/scripts/_dispatch.bash +10 -0
  188. package/src/scripts/_lib/claude_settings_hooks.ts +30 -4
  189. package/src/scripts/_lib/gate_baseline.ts +213 -0
  190. package/src/scripts/_lib/scoped_projection.ts +50 -0
  191. package/src/scripts/_lib/tier_budget_routing.ts +234 -0
  192. package/src/scripts/_lib/tool_adapter_registry.ts +8 -1
  193. package/src/scripts/_lib/trigger_eval_floors.ts +9 -0
  194. package/src/scripts/_lib/trigger_routers.ts +17 -5
  195. package/src/scripts/adr/regenerate_index.ts +4 -3
  196. package/src/scripts/ai-video/lib/parse-blueprint.sh +1 -1
  197. package/src/scripts/ai_council/compile_corpus.ts +1 -1
  198. package/src/scripts/audit_cloud_compatibility.ts +37 -2
  199. package/src/scripts/audit_initial_context.ts +53 -19
  200. package/src/scripts/audit_likelihood.ts +31 -2
  201. package/src/scripts/audit_user_type_axis.ts +58 -11
  202. package/src/scripts/bench_hook_latency.ts +172 -41
  203. package/src/scripts/build_mcp_catalog.ts +12 -1
  204. package/src/scripts/check_always_budget.ts +122 -11
  205. package/src/scripts/check_augment_description_cap.ts +24 -3
  206. package/src/scripts/check_ci_strict_superset.ts +150 -0
  207. package/src/scripts/check_cluster_patterns.ts +100 -0
  208. package/src/scripts/check_consumer_scope_flip.ts +26 -4
  209. package/src/scripts/check_evaluator_budgets.ts +198 -19
  210. package/src/scripts/check_gate_coverage.ts +337 -1
  211. package/src/scripts/check_generator_output_coverage.ts +2 -1
  212. package/src/scripts/check_iron_law_prominence.ts +1 -1
  213. package/src/scripts/check_kernel_rule_bundle.ts +1 -1
  214. package/src/scripts/check_no_new_legacy_path.ts +167 -3
  215. package/src/scripts/check_pack_size.ts +18 -4
  216. package/src/scripts/check_portability.ts +37 -7
  217. package/src/scripts/check_references.ts +19 -3
  218. package/src/scripts/check_release_pr_shape.ts +13 -0
  219. package/src/scripts/check_token_regression.ts +9 -2
  220. package/src/scripts/condense.ts +155 -12
  221. package/src/scripts/cost/budget.mjs +63 -2
  222. package/src/scripts/evaluator_umbrella.sh +34 -1
  223. package/src/scripts/generate_capability_matrix.ts +8 -0
  224. package/src/scripts/generate_router_coverage_from_matrix.ts +155 -0
  225. package/src/scripts/hook_manifest.yaml +17 -3
  226. package/src/scripts/hooks/block_config_weakening.ts +337 -0
  227. package/src/scripts/hooks/concern_registry.ts +2 -0
  228. package/src/scripts/hooks/probe_throttle.ts +75 -0
  229. package/src/scripts/install-hooks.sh +24 -2
  230. package/src/scripts/install.ts +2 -2
  231. package/src/scripts/lint_agents_md.ts +9 -3
  232. package/src/scripts/lint_archived_skills.ts +1 -1
  233. package/src/scripts/lint_artefact_frontmatter.ts +185 -37
  234. package/src/scripts/lint_command_routing.ts +21 -52
  235. package/src/scripts/lint_command_verbs.ts +47 -28
  236. package/src/scripts/lint_context_spine_usage.ts +38 -12
  237. package/src/scripts/lint_framework_leakage.ts +25 -6
  238. package/src/scripts/lint_handoffs.ts +49 -2
  239. package/src/scripts/lint_media_policy_linkage.ts +62 -30
  240. package/src/scripts/lint_namespace.ts +92 -7
  241. package/src/scripts/lint_new_skill_gate.ts +39 -31
  242. package/src/scripts/lint_originality_shingles.ts +7 -1
  243. package/src/scripts/lint_override_kernel_guard.ts +21 -3
  244. package/src/scripts/lint_pack_boundaries.ts +461 -91
  245. package/src/scripts/lint_pack_dependencies.ts +24 -57
  246. package/src/scripts/lint_persona_governance.ts +1 -1
  247. package/src/scripts/lint_role_experiences.ts +34 -5
  248. package/src/scripts/lint_trigger_precision.ts +142 -0
  249. package/src/scripts/mcp_server/consumer_tool_catalog.json +12 -201
  250. package/src/scripts/mcp_server/tools.ts +1 -1
  251. package/src/scripts/prepack-check.mjs +40 -1
  252. package/src/scripts/prepack_router_targets.d.mts +7 -0
  253. package/src/scripts/prepack_router_targets.mjs +93 -0
  254. package/src/scripts/print_required_checks.ts +72 -18
  255. package/src/scripts/profile_staleness_hook.ts +12 -0
  256. package/src/scripts/record_evaluator_measurements.mjs +105 -0
  257. package/src/scripts/recruit_preflight.sh +1 -1
  258. package/src/scripts/release.ts +105 -1
  259. package/src/scripts/router_target_paths.d.mts +4 -0
  260. package/src/scripts/router_target_paths.mjs +69 -0
  261. package/src/scripts/router_telemetry.ts +52 -1
  262. package/src/scripts/routing_doctor.ts +485 -0
  263. package/src/scripts/rule_trigger_eval.ts +403 -0
  264. package/src/scripts/schemas/rule.schema.json +5 -1
  265. package/src/scripts/session_canary_hook.ts +96 -5
  266. package/src/scripts/skill_linter.ts +9 -28
  267. package/src/scripts/smoke/skills.sh +1 -1
  268. package/src/scripts/sweep_dead_scan_roots.ts +356 -10
  269. package/src/scripts/trigger_coverage.ts +13 -2
  270. package/src/scripts/update_counts.ts +1 -1
  271. package/src/scripts/validate_telegraph_carveouts.ts +1 -1
  272. package/src/scripts/wrapper_freshness_hook.ts +14 -0
  273. package/src/server/schemas/settings.ts +19 -5
  274. package/dist/cli-delegate/chunk-TJIAM5FW.js +0 -133
  275. package/dist/ui/assets/index-BpSQt5vm.js +0 -40
  276. package/dist/ui/assets/index-BpSQt5vm.js.map +0 -1
@@ -8,6 +8,7 @@ tier: 2
8
8
  visibility: internal
9
9
  description: Tests orchestrator โ€” routes to create, execute, e2e-plan, e2e-heal
10
10
  cluster: tests
11
+ routes_to: [tests-create, tests-execute, tests-e2e-plan, tests-e2e-heal]
11
12
  type: orchestrator
12
13
  auto_detect: true
13
14
  suggestion:
@@ -71,11 +71,11 @@ If project-specific content is found, ask:
71
71
 
72
72
  ### 3. Determine contribution type and target path
73
73
 
74
- | Type | Uncondensed target | Condensed target |
74
+ | Type | Source target | Condensed target |
75
75
  |---|---|---|
76
- | **Skill** | `.agent-src.uncondensed/skills/{name}/SKILL.md` | `dist/agent-src/skills/{name}/SKILL.md` |
77
- | **Rule** | `.agent-src.uncondensed/rules/{name}.md` | `dist/agent-src/rules/{name}.md` |
78
- | **Command** | `.agent-src.uncondensed/commands/{name}.md` | `dist/agent-src/commands/{name}.md` |
76
+ | **Skill** | `src/skills/{name}/SKILL.md` | `dist/agent-src/skills/{name}/SKILL.md` |
77
+ | **Rule** | `src/rules/{name}.md` | `dist/agent-src/rules/{name}.md` |
78
+ | **Command** | `src/domains/{domain}/{name}/command.md` | `dist/agent-src/commands/{name}.md` |
79
79
  | **Guideline** | `docs/guidelines/{cat}/{name}.md` | _(not condensed; reference-only)_ |
80
80
 
81
81
  ### 4. Get access to the package repo
@@ -142,7 +142,7 @@ Fix any issues before continuing.
142
142
  ```
143
143
  > โœ… Files created in {package-repo}:
144
144
  >
145
- > - `.agent-src.uncondensed/{type}/{name}` (uncondensed)
145
+ > - `src/{type}/{name}` (source)
146
146
  > - `dist/agent-src/{type}/{name}` (condensed)
147
147
  >
148
148
  > Quality gates: {pass/fail summary}
@@ -48,7 +48,7 @@ with a precise diff โ€” no silent best-guess.
48
48
  ### 1. Validate dependencies
49
49
 
50
50
  ```bash
51
- scripts/ai-video/lib/validate-deps.sh .agent-src.uncondensed/commands/video/from-script.md
51
+ scripts/ai-video/lib/validate-deps.sh dist/agent-src/commands/video/from-script.md
52
52
  ```
53
53
 
54
54
  Fails fast with the missing-id list if any declared persona / skill is
@@ -73,7 +73,7 @@ silent best-guess.
73
73
  ### 1. Validate dependencies
74
74
 
75
75
  ```bash
76
- scripts/ai-video/lib/validate-deps.sh .agent-src.uncondensed/commands/video/from-song.md
76
+ scripts/ai-video/lib/validate-deps.sh dist/agent-src/commands/video/from-song.md
77
77
  ```
78
78
 
79
79
  Fails fast with the missing-id list if any declared persona / skill is
@@ -48,7 +48,7 @@ the run with a precise diff.
48
48
  ### 1. Validate dependencies
49
49
 
50
50
  ```bash
51
- scripts/ai-video/lib/validate-deps.sh .agent-src.uncondensed/commands/video/scene.md
51
+ scripts/ai-video/lib/validate-deps.sh dist/agent-src/commands/video/scene.md
52
52
  ```
53
53
 
54
54
  ### 2. Load config + resolve providers
@@ -37,7 +37,7 @@ with a precise diff โ€” the operator must say `--skip-scene <id>` or
37
37
  ### 1. Validate dependencies
38
38
 
39
39
  ```bash
40
- scripts/ai-video/lib/validate-deps.sh .agent-src.uncondensed/commands/video/stitch.md
40
+ scripts/ai-video/lib/validate-deps.sh dist/agent-src/commands/video/stitch.md
41
41
  ```
42
42
 
43
43
  (Lightweight here โ€” only the `ai-video-technical-director` persona is
@@ -37,7 +37,7 @@ diff.
37
37
  ### 1. Validate dependencies
38
38
 
39
39
  ```bash
40
- scripts/ai-video/lib/validate-deps.sh .agent-src.uncondensed/commands/video/storyboard.md
40
+ scripts/ai-video/lib/validate-deps.sh dist/agent-src/commands/video/storyboard.md
41
41
  ```
42
42
 
43
43
  ### 2. Load config + resolve image provider
@@ -27,7 +27,8 @@ Thin orchestration โ€” mechanics live in the skills; do not restate them.
27
27
 
28
28
  Run [`using-git-worktrees`](../../../skills/using-git-worktrees/SKILL.md)
29
29
  in full: `worktrees.mode` pre-flight, existing-worktree inspection,
30
- directory convention, ignore-safety check, worktree creation,
30
+ directory convention, ignore-safety check, worktree creation, the
31
+ [ยง 4b seeding allow/deny list](../../../skills/using-git-worktrees/SKILL.md#4b-seed-the-worktree--allow--deny-list),
31
32
  dependency install + clean baseline. Its Iron Law (no worktree without
32
33
  verified ignore + clean baseline) is the creation gate.
33
34
 
@@ -57,7 +57,7 @@ Define hard constraints: coding standards, Docker usage, language preferences, s
57
57
  |---|---|
58
58
  | `quality-workflow.md` | PHP (PHPStan โ†’ Rector โ†’ PHPStan) and JS/TS pipelines |
59
59
  | `downstream-changes.md` | After every edit, find and update ALL callers, tests, imports |
60
- | `augment-edit-discipline.md` | Edits inside `.augment/` / `.agent-src.uncondensed/` stay project-agnostic AND sync counts + cross-references in the same edit |
60
+ | `augment-edit-discipline.md` | Edits inside `.augment/` / `src/` stay project-agnostic AND sync counts + cross-references in the same edit |
61
61
  | `context-hygiene.md` | 3-failure rule, state dumps |
62
62
  | `architecture.md` | Architecture principles, file placement |
63
63
  | `docker-commands.md` | All PHP commands run inside Docker containers |
@@ -14,7 +14,7 @@ stability: beta
14
14
 
15
15
  This document is the stable reference for **what gets recorded, when, and
16
16
  under which constraints**. The roadmap tracks phased delivery; the rule
17
- ([`artifact-engagement-recording`](../../.agent-src.uncondensed/rules/artifact-engagement-recording.md))
17
+ ([`artifact-engagement-recording`](../../rules/artifact-engagement-recording.md))
18
18
  tells the agent when to fire; this doc explains the contract every
19
19
  recording must honour.
20
20
 
@@ -55,8 +55,8 @@ refine โ†’ memory โ†’ analyze โ†’ plan โ†’ implement โ†’ test โ†’ verify โ†’ rep
55
55
 
56
56
  The setting lives at `telemetry.artifact_engagement.granularity` in
57
57
  `.agent-settings.yml`. Default `task`. Both flows
58
- ([`/implement-ticket`](../../.agent-src.uncondensed/commands/implement-ticket.md)
59
- and [`/work`](../../.agent-src.uncondensed/commands/work.md)) use the
58
+ ([`/implement-ticket`](../../commands/implement-ticket.md)
59
+ and [`/work`](../../commands/work.md)) use the
60
60
  same eight-step contract from
61
61
  [`implement-ticket-flow.md`](implement-ticket-flow.md).
62
62
 
@@ -264,7 +264,7 @@ layers reject.
264
264
 
265
265
  ## See also
266
266
 
267
- - [`artifact-engagement-recording`](../../.agent-src.uncondensed/rules/artifact-engagement-recording.md) โ€” agent-side trigger
267
+ - [`artifact-engagement-recording`](../../rules/artifact-engagement-recording.md) โ€” agent-side trigger
268
268
  - [`implement-ticket-flow`](implement-ticket-flow.md) โ€” the eight-step contract this rule observes
269
- - [`scripts/telemetry/`](../../.agent-src.uncondensed/templates/scripts/telemetry/) โ€” schema, boundary session, settings reader
269
+ - [`scripts/telemetry/`](../../templates/scripts/telemetry/) โ€” schema, boundary session, settings reader
270
270
  - [`tests/telemetry/`](../../tests/telemetry/) โ€” contract enforcement (schema, settings, aggregator, renderer, CLI, cost-floor, redaction)
@@ -5,7 +5,7 @@ stability: beta
5
5
  # Command Suggestion โ€” Flow & Scoring Contract
6
6
 
7
7
  > Cross-cutting reference for the suggestion layer.
8
- > The runtime rule is [`command-suggestion`](../../.agent-src.uncondensed/rules/command-suggestion-policy.md);
8
+ > The runtime rule is [`command-suggestion`](../../rules/command-suggestion-policy.md);
9
9
  > the architectural decision lives in [`adr-command-suggestion.md`](adr-command-suggestion.md).
10
10
  >
11
11
  > - **Created:** 2026-04-30
@@ -154,7 +154,7 @@ Cursor, Cline, Windsurf) get the engine via `scripts/`.
154
154
 
155
155
  ## See also
156
156
 
157
- - [`command-suggestion`](../../.agent-src.uncondensed/rules/command-suggestion-policy.md) โ€” runtime rule
157
+ - [`command-suggestion`](../../rules/command-suggestion-policy.md) โ€” runtime rule
158
158
  - [`adr-command-suggestion.md`](adr-command-suggestion.md) โ€” architectural decision
159
159
  - [`command-suggestion-eligibility.md`](command-suggestion-eligibility.md) โ€” locked eligibility table
160
- - [`agent-settings`](../../.agent-src.uncondensed/templates/agent-settings.md) โ€” `commands.suggestion.*` reference
160
+ - [`agent-settings`](../../templates/agent-settings.md) โ€” `commands.suggestion.*` reference
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Canonical content of the **Emergency Triage** block referenced by the
4
4
  > `agents-md-thin-root` skill. Both the package-root `AGENTS.md` and
5
- > `.agent-src.uncondensed/templates/AGENTS.md` (consumer template)
5
+ > `src/agent-src/templates/AGENTS.md` (consumer template)
6
6
  > embed this block verbatim. Drift is caught by the `lint-agents-md`
7
7
  > task in the package's CI pipeline.
8
8
 
@@ -19,7 +19,7 @@ Use this variant in `AGENTS.md` at the package root.
19
19
 
20
20
  1. **What is this repo?** โ€” `event4u/agent-config`, a governed skill / rule / command suite for AI coding tools (no application runtime).
21
21
  2. **What language?** โ€” All `.md` content is English; agents mirror the user's language at runtime.
22
- 3. **Where do I edit?** โ€” `.agent-src.uncondensed/` only. Never `dist/agent-src/`, `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules`.
22
+ 3. **Where do I edit?** โ€” `src/` only. Never `dist/agent-src/`, `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`, `.windsurfrules`.
23
23
  4. **Lint / test / sync entry point?** โ€” `task ci` (full pipeline). Subsets: `task sync`, `task generate-tools`, `task lint-skills`, `task test`.
24
24
  5. **Where do the always-active rules live?** โ€” `dist/agent-src/rules/` (kernel = 9 Iron-Law rules; tier-1 / tier-2 routed via `dist/agent-src/router.json`).
25
25
  ```
@@ -157,8 +157,8 @@ subprocess between steps:
157
157
 
158
158
  | Value | `./agent-config roadmap:progress` runs |
159
159
  |---|---|
160
- | `per_step` (default) | After every checkbox flip |
161
- | `every_5_steps` | Every 5th closed step + at phase boundary + at reply end |
160
+ | `per_step` | After every checkbox flip |
161
+ | `every_5_steps` (default) | Every 5th closed step + at phase boundary + at reply end |
162
162
  | `phase_boundary` | Only at phase boundaries + run end |
163
163
 
164
164
  `process-step` ignores this โ€” single-step runs always regen at step
@@ -264,7 +264,8 @@ For each open step in the working set (scope-bound โ€” see wrapper):
264
264
 
265
265
  6. **Dashboard regen โ€” cadence-gated.** Run
266
266
  `./agent-config roadmap:progress` when due per
267
- `roadmap.dashboard_regen_cadence` (resolved in ยง 4):
267
+ `roadmap.dashboard_regen_cadence` (resolved in ยง 4; default
268
+ `every_5_steps`):
268
269
  - `per_step` โ†’ always after the flip.
269
270
  - `every_5_steps` โ†’ after the 5th, 10th, โ€ฆ closed step **of this
270
271
  run**, or when the reply ends with closed steps pending regen.
@@ -36,6 +36,21 @@ THE SAME MINUS THE QUOTA WIN.
36
36
  the tier/model choice is unchanged. This is the only place the
37
37
  "Sonnet-has-its-own-allowance" idea lives, and it lives as a runtime-detected
38
38
  flag, never as portable prose.
39
+ 4. **Budget routing** (`subagents.budget_routing != off`,
40
+ [`budget-routing` contract](../../../../docs/contracts/budget-routing.md)) โ†’
41
+ AFTER the tier resolves per 1โ€“3, apply the budget relation via
42
+ `pickTier` (`src/scripts/_lib/tier_budget_routing.ts`): cheapest
43
+ classifier-adequate tier WITH available budget; that tier exhausted or
44
+ cooling โ†’ next tier up with budget; all unavailable โ†’ session model +
45
+ surfaced one-line notice. Work is never blocked to save money. Before
46
+ the dispatch is created, acquire the atomic reserve
47
+ (`acquireBudgetPermit`; check state via `node src/scripts/cost/budget.mjs
48
+ tier <t>`); a 429/quota error trips `tripCooldown` for that tier and
49
+ falls back per the relation โ€” never a retry loop. Under
50
+ `budget_routing: ask`, the FIRST budget-motivated downshift of a session
51
+ is confirmed once; `auto` proceeds silently. Every budget-routed
52
+ dispatch emits one `orchestration_record` line (tier + provenance-tagged
53
+ token delta) so realized savings are measured, not asserted.
39
54
 
40
55
  **Cache trade-off (road-to-cache-economy Phase 4).** A tier downshift changes
41
56
  the sub-task's model, and the prompt cache is keyed by `(model, prefix)` โ€” so
@@ -60,6 +75,10 @@ rule, or context asserts "model X is free".
60
75
  [`src/scripts/_lib/subagent_routing.ts`](../../../../src/scripts/_lib/subagent_routing.ts)
61
76
  (`resolveSubagentRouting`), covered by
62
77
  [`tests/scripts/_lib_subagent_routing.test.ts`](../../../../tests/scripts/_lib_subagent_routing.test.ts).
78
+ Budget layer: [`src/scripts/_lib/tier_budget_routing.ts`](../../../../src/scripts/_lib/tier_budget_routing.ts)
79
+ (`pickTier`, `acquireBudgetPermit`, cool-downs), covered by
80
+ [`tests/scripts/tier_budget_routing.test.ts`](../../../../tests/scripts/tier_budget_routing.test.ts);
81
+ live state: `agent-config routing:doctor` (orchestration section).
63
82
 
64
83
  ## Related
65
84
 
@@ -202,7 +202,7 @@ When a project using this package wants to **optimize** a shared rule or skill:
202
202
 
203
203
  2. **Create PR against upstream** โ€” submit the improvement to the shared `agent-config` package repository.
204
204
  The PR must contain:
205
- - **Uncondensed version** in `.agent-src.uncondensed/{type}/{name}`
205
+ - **Source version** in `src/{type}/{name}`
206
206
  - **Condensed version** in `.augment/{type}/{name}`
207
207
  - Both files must be the complete, updated file (not a diff or partial)
208
208
 
@@ -84,7 +84,7 @@ contract validators have a complete, stable, non-defamatory example
84
84
  to load.
85
85
 
86
86
  Do not use this fixture as a template for adding a real person to
87
- `.agent-src.uncondensed/ghostwriter/`. Real-person profiles never
87
+ `src/agent-src/ghostwriter/`. Real-person profiles never
88
88
  ship with the package โ€” they belong in `agents/reference/ghostwriter/` on the
89
89
  consumer side, where they are gitignored by default.
90
90
 
@@ -21,7 +21,7 @@ packs: [meta]
21
21
 
22
22
  # Augment Edit Discipline
23
23
 
24
- **Iron Law (portability).** Files inside `.augment/` and `.agent-src.uncondensed/` MUST stay project-agnostic โ€” no project names, domains, stacks.
24
+ **Iron Law (portability).** Files inside `.augment/` and `src/` MUST stay project-agnostic โ€” no project names, domains, stacks.
25
25
 
26
26
  **Iron Law (sync).** On any add / rename / delete of skill / rule / command / guideline, update counts and cross-references in the same edit.
27
27
 
@@ -10,6 +10,7 @@ load_context:
10
10
  triggers:
11
11
  - keyword: "personal.autonomy"
12
12
  - phrase: "autonomy mode"
13
+ self_contained: true
13
14
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
14
15
  packs: [meta]
15
16
  ---
@@ -64,7 +65,7 @@ ALLOWLIST > 20 ENTRIES IN ONE SESSION = THE LINTER IS WRONG.
64
65
  STOP. PROPOSE LINTER REDESIGN OR REMOVAL. DO NOT EXPAND THE ALLOWLIST FURTHER.
65
66
  ```
66
67
 
67
- Crossing 20 entries counts as the 3rd validation-target failure โ€” fix the tool shape, not the list. Verify with the narrowest tool that proves the target green (a single `curl` / Playwright spec for HTTP/UI, the test runner with a `--filter`, an `xdebug` step-through) โ€” never a meta-pipeline as per-iteration probe. Failed-attempt detail, suppression-sweep equivalents, probe-efficiency detail, and adaptive effort & stop (RDP): [`autonomy-mechanics ยง Validation-loop budget`](../contexts/execution/autonomy-mechanics.md).
68
+ Crossing 20 entries counts as the 3rd validation-target failure โ€” fix the tool shape, not the list. Enforced at tool-call time by the `block-config-weakening` PreToolUse guard (`src/scripts/hooks/block_config_weakening.ts`): it counts allowlist entries added per session, warns from 5, and blocks past 20. Baselines and budget thresholds warn only โ€” a rising count there may be a legitimate ratchet reset, which the edit alone cannot distinguish. Verify with the narrowest tool that proves the target green (a single `curl` / Playwright spec for HTTP/UI, the test runner with a `--filter`, an `xdebug` step-through) โ€” never a meta-pipeline as per-iteration probe. Failed-attempt detail, suppression-sweep equivalents, probe-efficiency detail, and adaptive effort & stop (RDP): [`autonomy-mechanics ยง Validation-loop budget`](../contexts/execution/autonomy-mechanics.md).
68
69
 
69
70
  Body migrated to `contexts/execution/autonomy-mechanics.md` (per P4 of `road-to-kernel-and-router.md`) โ€” opt-in detection summary, task-scope shapes table, N=3 mechanics, allowlist-antipattern detail, probe efficiency, adaptive effort (RDP).
70
71
  Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
@@ -14,6 +14,7 @@ applies_to_user_types:
14
14
  - "creator"
15
15
  - "developer"
16
16
  - "maintainer"
17
+ self_contained: true
17
18
  workspaces: [engineering]
18
19
  packs: [brand]
19
20
  ---
@@ -12,6 +12,7 @@ applies_to_user_types:
12
12
  - "creator"
13
13
  - "developer"
14
14
  - "maintainer"
15
+ self_contained: true
15
16
  workspaces: [engineering]
16
17
  packs: [brand]
17
18
  ---
@@ -13,6 +13,8 @@ triggers:
13
13
  - keyword: "class"
14
14
  - keyword: "method"
15
15
  - keyword: "refactor"
16
+ routes_to:
17
+ - "guideline:code-clarity"
16
18
  workspaces: [engineering]
17
19
  packs: [engineering-base]
18
20
  ---
@@ -3,6 +3,7 @@ type: "auto"
3
3
  tier: "2b"
4
4
  alwaysApply: false
5
5
  description: "Multi-step or continuation replies carry a red thread โ€” goal once, each turn tied to it, name what changed, close with one end-summary"
6
+ self_contained: true
6
7
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
7
8
  packs: [meta]
8
9
  triggers:
@@ -6,6 +6,7 @@ triggers:
6
6
  - keyword: "quote"
7
7
  - keyword: "excerpt"
8
8
  - keyword: "verbatim"
9
+ self_contained: true
9
10
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
10
11
  packs: [meta]
11
12
  ---
@@ -6,7 +6,6 @@ triggers:
6
6
  - keyword: "ticket"
7
7
  - keyword: "refine"
8
8
  - keyword: "acceptance criteria"
9
- - keyword: "AC"
10
9
  - keyword: "mockup"
11
10
  - keyword: "screenshot"
12
11
  - keyword: "attachment"
@@ -8,6 +8,7 @@ triggers:
8
8
  - keyword: "imports"
9
9
  - keyword: "downstream"
10
10
  - phrase: "api changed"
11
+ self_contained: true
11
12
  workspaces: [engineering]
12
13
  packs: [engineering-base]
13
14
  ---
@@ -14,6 +14,7 @@ triggers:
14
14
  applies_to_user_types:
15
15
  - "developer"
16
16
  - "maintainer"
17
+ self_contained: true
17
18
  workspaces: [engineering]
18
19
  packs: [meta]
19
20
  ---
@@ -7,6 +7,7 @@ triggers:
7
7
  - keyword: "github.com/"
8
8
  - keyword: "source of truth"
9
9
  - phrase: "reference repo"
10
+ self_contained: true
10
11
  workspaces: [agent-config-maintainer, engineering]
11
12
  packs: [meta]
12
13
  ---
@@ -11,6 +11,7 @@ validator_ignore:
11
11
  - type: "substring"
12
12
  pattern: ".agent-src.uncondensed/"
13
13
  reason: "Condenseor injects a back-pointer to the uncondensed source for full failure-modes detail."
14
+ self_contained: true
14
15
  workspaces: [agent-config-maintainer, engineering]
15
16
  packs: [meta]
16
17
  ---
@@ -10,7 +10,6 @@ triggers:
10
10
  - keyword: "IRR"
11
11
  - keyword: "MOIC"
12
12
  - keyword: "LTV"
13
- - keyword: "CAC"
14
13
  - keyword: "payback"
15
14
  - keyword: "sensitivity"
16
15
  - keyword: "fundraise"
@@ -13,6 +13,7 @@ applies_to_user_types:
13
13
  - "creator"
14
14
  - "developer"
15
15
  - "maintainer"
16
+ self_contained: true
16
17
  workspaces: [engineering]
17
18
  packs: [frontend-design]
18
19
  ---
@@ -15,6 +15,7 @@ applies_to_user_types:
15
15
  - "creator"
16
16
  - "developer"
17
17
  - "maintainer"
18
+ self_contained: true
18
19
  workspaces: [agent-config-maintainer, engineering, gtm]
19
20
  packs: [ai-image]
20
21
  ---
@@ -69,5 +69,5 @@ When the request is to create or significantly rewrite a skill, rule, command,
69
69
  or guideline, the "fit the existing architecture" check is handled by
70
70
  [`artifact-drafting-protocol`](artifact-drafting-protocol.md)'s Phase B
71
71
  (Research). Follow that protocol instead of improvising a one-shot check โ€” it
72
- scans `.agent-src.uncondensed/` for overlap and reports candidates to extend
72
+ scans `src/` for overlap and reports candidates to extend
73
73
  before creating a new file.
@@ -9,6 +9,7 @@ triggers:
9
9
  - keyword: "design"
10
10
  - keyword: "architecture"
11
11
  - keyword: "approach"
12
+ self_contained: true
12
13
  workspaces: [agent-config-maintainer, engineering]
13
14
  packs: [meta]
14
15
  ---
@@ -12,6 +12,7 @@ triggers:
12
12
  - keyword: "data exfil"
13
13
  - phrase: "fetch and send"
14
14
  - phrase: "read the file and post"
15
+ self_contained: true
15
16
  workspaces: [engineering]
16
17
  packs: [engineering-base]
17
18
  enforced_by:
@@ -7,6 +7,7 @@ triggers:
7
7
  - keyword: "low-impact-decisions"
8
8
  - keyword: "low-impact corpus"
9
9
  - keyword: "learn-low-impact"
10
+ self_contained: true
10
11
  workspaces: [agent-config-maintainer]
11
12
  packs: [meta]
12
13
  ---
@@ -6,6 +6,7 @@ alwaysApply: false
6
6
  triggers:
7
7
  - keyword: "triple backticks"
8
8
  - file_pattern: "*.md"
9
+ self_contained: true
9
10
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
10
11
  packs: [meta]
11
12
  ---
@@ -26,6 +26,7 @@ validator_ignore:
26
26
  - type: "substring"
27
27
  pattern: ".agent-src.uncondensed/"
28
28
  reason: "Rule contrasts project-local placement with the .agent-src.uncondensed/rules/ alternative โ€” mentioning the path is the argument."
29
+ self_contained: true
29
30
  workspaces: [agent-config-maintainer, engineering, gtm]
30
31
  packs: [ai-image, ai-video]
31
32
  enforced_by:
@@ -58,12 +59,12 @@ When any trigger above matches in the user prompt or in a tool invocation, the a
58
59
 
59
60
  Each policy carries its own trigger block, so within the active context the agent narrows from this superset to the policies whose specific patterns actually fired (e.g., a prompt naming a public figure activates `public-figures.md` and `disclosure.md`; a prompt requesting `--no-disclosure` activates `disclosure.md` standalone).
60
61
 
61
- ## Why project-local, not `.agent-src.uncondensed/rules/`
62
+ ## Why project-local, not `src/rules/`
62
63
 
63
- The seven media policies live under [`agents/settings/policies/media/`](../../agents/settings/policies/media/), not as `.agent-src.uncondensed/rules/domain-safety-media-*.md`, for three reasons:
64
+ The seven media policies live under [`agents/settings/policies/media/`](../../agents/settings/policies/media/), not as `src/rules/domain-safety-media-*.md`, for three reasons:
64
65
 
65
66
  1. **They are consumed by skills and adapters**, not surfaced as standalone always-loaded prose. The cost is non-trivial (7 ร— ~80 lines = ~560 lines into the always-context if hoisted to rules), and most sessions never touch a video / image / voice surface.
66
- 2. **The enforcement model is project-local** โ€” the working precedent (`/ghostwriter:*` mandatory footer in `write-engine.md`) and the audit log (session transcripts) are project artifacts. Rules under `.agent-src.uncondensed/` are tool-portable governance; these policies are domain-specific bindings.
67
+ 2. **The enforcement model is project-local** โ€” the working precedent (`/ghostwriter:*` mandatory footer in `write-engine.md`) and the audit log (session transcripts) are project artifacts. Rules under `src/rules/` are tool-portable governance; these policies are domain-specific bindings.
67
68
  3. **Extraction to a reusable domain pack is explicitly deferred** until a second non-video domain (audio, image, docs, exports) lands with overlapping execution surfaces. Until then, a one-domain abstraction is structurally premature โ€” the policies stay project-local and the routing rule is the on-demand bridge.
68
69
 
69
70
  This routing rule is the bridge: it sits in the always-loaded rule set so the trigger keywords surface the project-local policies into context on demand, without paying the full always-loaded cost.
@@ -14,6 +14,7 @@ triggers:
14
14
  - phrase: "sing the"
15
15
  - phrase: "mit den lippen"
16
16
  - phrase: "lippen passend"
17
+ self_contained: true
17
18
  workspaces: [agent-config-maintainer, engineering, gtm]
18
19
  packs: [ai-video]
19
20
  ---
@@ -5,6 +5,7 @@ alwaysApply: false
5
5
  description: "PR/issue/comment/commit bodies โ€” no 'Generated with' / 'Co-authored by' / 'opened by' attribution footers"
6
6
  triggers:
7
7
  - keyword: "co-authored"
8
+ self_contained: true
8
9
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
9
10
  packs: [meta]
10
11
  ---
@@ -14,6 +14,7 @@ triggers:
14
14
  - keyword: "๐Ÿ’ก"
15
15
  - keyword: "๐Ÿ‘"
16
16
  - keyword: "โค๏ธ"
17
+ self_contained: true
17
18
  workspaces: [agent-config-maintainer, engineering]
18
19
  packs: [meta]
19
20
  ---
@@ -7,6 +7,7 @@ triggers:
7
7
  - keyword: "gh pr comment"
8
8
  - keyword: "PullRequestComment"
9
9
  - phrase: "status comment"
10
+ self_contained: true
10
11
  workspaces: [agent-config-maintainer, engineering]
11
12
  packs: [meta]
12
13
  ---
@@ -6,6 +6,7 @@ triggers:
6
6
  - phrase: "first turn"
7
7
  - keyword: "onboarding"
8
8
  - path_prefix: ".agent-settings.yml"
9
+ self_contained: true
9
10
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
10
11
  packs: [meta]
11
12
  enforced_by:
@@ -7,6 +7,7 @@ triggers:
7
7
  - keyword: "for brevity"
8
8
  - keyword: "rest follows the same pattern"
9
9
  - phrase: "similar pattern"
10
+ self_contained: true
10
11
  workspaces: [engineering]
11
12
  packs: [engineering-base]
12
13
  enforced_by:
@@ -9,6 +9,7 @@ triggers:
9
9
  - keyword: "kind"
10
10
  - keyword: "category"
11
11
  - keyword: "migration"
12
+ self_contained: true
12
13
  workspaces: [engineering]
13
14
  packs: [engineering-base]
14
15
  ---
@@ -9,6 +9,7 @@ validator_ignore:
9
9
  - type: "substring"
10
10
  pattern: ".agent-src.uncondensed/"
11
11
  reason: "Rule references the authoring tree as the operand of condensation/preservation."
12
+ self_contained: true
12
13
  workspaces: [agent-config-maintainer]
13
14
  packs: [meta]
14
15
  enforced_by:
@@ -21,6 +21,7 @@ applies_to_user_types:
21
21
  - "maintainer"
22
22
  - "operator"
23
23
  - "researcher"
24
+ self_contained: true
24
25
  workspaces: [engineering]
25
26
  packs: [meta]
26
27
  ---
@@ -24,6 +24,7 @@ validator_ignore:
24
24
  - type: "substring"
25
25
  pattern: ".agent-settings.yml"
26
26
  reason: "Rule reads quality.local_auto_run from .agent-settings.yml; naming the file is the contract."
27
+ self_contained: true
27
28
  workspaces: [agent-config-maintainer, engineering]
28
29
  packs: [meta]
29
30
  roles: [planner]
@@ -6,6 +6,7 @@ alwaysApply: false
6
6
  triggers:
7
7
  - keyword: "active_role"
8
8
  - keyword: "role-mode"
9
+ self_contained: true
9
10
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
10
11
  packs: [meta]
11
12
  ---
@@ -7,6 +7,7 @@ triggers:
7
7
  - keyword: "automated"
8
8
  - keyword: "assisted"
9
9
  - keyword: "handler"
10
+ self_contained: true
10
11
  workspaces: [agent-config-maintainer, engineering]
11
12
  packs: [meta]
12
13
  ---
@@ -14,6 +14,7 @@ validator_ignore:
14
14
  - type: "substring"
15
15
  pattern: "../../docs/"
16
16
  reason: "See-also routes to docs/threat-model.md โ€” the canonical attack-surface doc lives there by design."
17
+ self_contained: true
17
18
  workspaces: [engineering]
18
19
  packs: [engineering-base]
19
20
  enforced_by:
@@ -7,6 +7,7 @@ triggers:
7
7
  - keyword: "canary"
8
8
  - keyword: "canary_name"
9
9
  - phrase: "session canary"
10
+ self_contained: true
10
11
  workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
11
12
  packs: [meta]
12
13
  enforced_by:
@@ -21,7 +22,12 @@ two small, always-expected reply markers whose **silent disappearance** tells
21
22
  the user the conversation is degrading and it is time for a fresh session โ€”
22
23
  long before the agent visibly starts making mistakes.
23
24
 
24
- Read `personal.canary_name` from `.agent-settings.yml`. Empty or missing โ†’
25
+ The canary is a **personal, user-global** concern โ€” the name resolves through
26
+ three layers, first non-empty wins: project `.agent-settings.yml` โ†’
27
+ `personal.canary_name` (override only) ยท user-global
28
+ `settings/.agent-settings.yml` โ†’ `personal.canary_name` ยท user-global
29
+ `settings/.agent-user.yml` โ†’ `identity.name` (the name the setup wizard
30
+ already collects โ€” never duplicate it per project). No name on any layer โ†’
25
31
  rule is inert.
26
32
 
27
33
  ## The Iron Law
@@ -55,7 +61,8 @@ name it and suggest a fresh session or `/agent-handoff`, per
55
61
 
56
62
  ## When NOT to fire
57
63
 
58
- - `personal.canary_name` empty or missing โ€” fully inert, no greeting.
64
+ - No name on any layer (`personal.canary_name` project + user-global, global
65
+ `identity.name`) โ€” fully inert, no greeting.
59
66
  - Intermediate replies inside an ongoing task (greeting only at task start).
60
67
  - The greeting never substitutes for substance โ€” it prefixes the answer, it is
61
68
  not the answer.