@event4u/agent-config 1.20.0 → 1.22.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 (268) hide show
  1. package/.agent-src/commands/agents.md +1 -1
  2. package/.agent-src/commands/bug-fix.md +2 -1
  3. package/.agent-src/commands/bug-investigate.md +3 -2
  4. package/.agent-src/commands/challenge-me/vision.md +348 -0
  5. package/.agent-src/commands/challenge-me/with-docs.md +333 -0
  6. package/.agent-src/commands/challenge-me.md +61 -0
  7. package/.agent-src/commands/chat-history/import.md +60 -64
  8. package/.agent-src/commands/compress.md +12 -0
  9. package/.agent-src/commands/context/create.md +2 -2
  10. package/.agent-src/commands/context.md +1 -1
  11. package/.agent-src/commands/copilot-agents.md +1 -1
  12. package/.agent-src/commands/council/default.md +69 -10
  13. package/.agent-src/commands/council.md +1 -1
  14. package/.agent-src/commands/create-pr.md +7 -3
  15. package/.agent-src/commands/e2e-heal.md +1 -1
  16. package/.agent-src/commands/e2e-plan.md +1 -1
  17. package/.agent-src/commands/feature/dev.md +3 -3
  18. package/.agent-src/commands/feature.md +1 -1
  19. package/.agent-src/commands/fix/seeder.md +2 -2
  20. package/.agent-src/commands/fix.md +1 -1
  21. package/.agent-src/commands/grill-me.md +38 -0
  22. package/.agent-src/commands/jira-ticket.md +1 -1
  23. package/.agent-src/commands/judge/steps.md +1 -1
  24. package/.agent-src/commands/judge.md +2 -2
  25. package/.agent-src/commands/memory.md +1 -1
  26. package/.agent-src/commands/mode.md +5 -5
  27. package/.agent-src/commands/module.md +1 -1
  28. package/.agent-src/commands/onboard.md +4 -4
  29. package/.agent-src/commands/optimize/augmentignore.md +1 -1
  30. package/.agent-src/commands/optimize-prompt.md +61 -0
  31. package/.agent-src/commands/optimize.md +1 -1
  32. package/.agent-src/commands/override.md +1 -1
  33. package/.agent-src/commands/review-changes.md +1 -1
  34. package/.agent-src/commands/review-routing.md +1 -1
  35. package/.agent-src/commands/roadmap/ai-council.md +183 -0
  36. package/.agent-src/commands/roadmap/create.md +6 -1
  37. package/.agent-src/commands/roadmap/process-full.md +58 -0
  38. package/.agent-src/commands/roadmap/process-phase.md +69 -0
  39. package/.agent-src/commands/roadmap/process-step.md +57 -0
  40. package/.agent-src/commands/roadmap.md +45 -17
  41. package/.agent-src/commands/set-cost-profile.md +3 -3
  42. package/.agent-src/commands/sync-agent-settings.md +2 -2
  43. package/.agent-src/commands/tests/create.md +2 -2
  44. package/.agent-src/commands/tests.md +1 -1
  45. package/.agent-src/commands/threat-model.md +5 -4
  46. package/.agent-src/contexts/augment-infrastructure.md +1 -1
  47. package/.agent-src/contexts/authority/commit-mechanics.md +14 -1
  48. package/.agent-src/contexts/authority/destructive-mechanics.md +14 -1
  49. package/.agent-src/contexts/authority/scope-mechanics.md +5 -0
  50. package/.agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +76 -0
  51. package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +54 -19
  52. package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +98 -0
  53. package/.agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +93 -0
  54. package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +128 -5
  55. package/.agent-src/contexts/execution/autonomy-mechanics.md +44 -0
  56. package/.agent-src/contexts/execution/roadmap-process-loop.md +125 -0
  57. package/.agent-src/contexts/model-recommendations.md +2 -2
  58. package/.agent-src/contexts/override-system.md +1 -1
  59. package/.agent-src/contexts/skills-and-commands.md +1 -1
  60. package/.agent-src/personas/product-owner.md +2 -2
  61. package/.agent-src/personas/qa.md +1 -1
  62. package/.agent-src/rules/agent-authority.md +5 -6
  63. package/.agent-src/rules/agent-docs.md +11 -53
  64. package/.agent-src/rules/analysis-skill-routing.md +10 -40
  65. package/.agent-src/rules/architecture.md +6 -1
  66. package/.agent-src/rules/artifact-drafting-protocol.md +5 -0
  67. package/.agent-src/rules/artifact-engagement-recording.md +23 -59
  68. package/.agent-src/rules/ask-when-uncertain.md +24 -47
  69. package/.agent-src/rules/augment-portability.md +14 -62
  70. package/.agent-src/rules/augment-source-of-truth.md +10 -1
  71. package/.agent-src/rules/autonomous-execution.md +17 -98
  72. package/.agent-src/rules/capture-learnings.md +9 -80
  73. package/.agent-src/rules/cli-output-handling.md +12 -42
  74. package/.agent-src/rules/command-suggestion-policy.md +25 -73
  75. package/.agent-src/rules/commit-conventions.md +9 -58
  76. package/.agent-src/rules/commit-policy.md +16 -47
  77. package/.agent-src/rules/context-hygiene.md +5 -0
  78. package/.agent-src/rules/direct-answers.md +21 -50
  79. package/.agent-src/rules/docker-commands.md +11 -45
  80. package/.agent-src/rules/docs-sync.md +10 -56
  81. package/.agent-src/rules/downstream-changes.md +5 -0
  82. package/.agent-src/rules/e2e-testing.md +9 -44
  83. package/.agent-src/rules/guidelines.md +13 -75
  84. package/.agent-src/rules/improve-before-implement.md +11 -2
  85. package/.agent-src/rules/invite-challenge.md +71 -0
  86. package/.agent-src/rules/language-and-tone.md +41 -106
  87. package/.agent-src/rules/laravel-translations.md +11 -40
  88. package/.agent-src/rules/markdown-safe-codeblocks.md +4 -0
  89. package/.agent-src/rules/minimal-safe-diff.md +4 -0
  90. package/.agent-src/rules/missing-tool-handling.md +4 -0
  91. package/.agent-src/rules/model-recommendation.md +9 -61
  92. package/.agent-src/rules/no-attribution-footers.md +5 -0
  93. package/.agent-src/rules/no-cheap-questions.md +11 -27
  94. package/.agent-src/rules/no-council-references.md +76 -0
  95. package/.agent-src/rules/no-roadmap-references.md +7 -0
  96. package/.agent-src/rules/non-destructive-by-default.md +13 -43
  97. package/.agent-src/rules/onboarding-gate.md +9 -117
  98. package/.agent-src/rules/package-ci-checks.md +10 -37
  99. package/.agent-src/rules/php-coding.md +10 -55
  100. package/.agent-src/rules/preservation-guard.md +9 -0
  101. package/.agent-src/rules/review-routing-awareness.md +9 -97
  102. package/.agent-src/rules/reviewer-awareness.md +8 -83
  103. package/.agent-src/rules/roadmap-progress-sync.md +7 -170
  104. package/.agent-src/rules/role-mode-adherence.md +6 -2
  105. package/.agent-src/rules/rule-type-governance.md +8 -66
  106. package/.agent-src/rules/runtime-safety.md +5 -0
  107. package/.agent-src/rules/scope-control.md +17 -62
  108. package/.agent-src/rules/security-sensitive-stop.md +7 -1
  109. package/.agent-src/rules/size-enforcement.md +6 -1
  110. package/.agent-src/rules/skill-improvement-trigger.md +9 -49
  111. package/.agent-src/rules/skill-quality.md +7 -113
  112. package/.agent-src/rules/slash-command-routing-policy.md +11 -63
  113. package/.agent-src/rules/think-before-action.md +22 -87
  114. package/.agent-src/rules/token-efficiency.md +10 -74
  115. package/.agent-src/rules/token-optimizer-maintenance.md +68 -0
  116. package/.agent-src/rules/tool-safety.md +4 -0
  117. package/.agent-src/rules/ui-audit-gate.md +25 -61
  118. package/.agent-src/rules/upstream-proposal.md +9 -67
  119. package/.agent-src/rules/user-interaction.md +22 -108
  120. package/.agent-src/rules/verify-before-complete.md +1 -1
  121. package/.agent-src/skills/adversarial-review/SKILL.md +1 -0
  122. package/.agent-src/skills/agent-docs-writing/SKILL.md +1 -1
  123. package/.agent-src/skills/ai-council/SKILL.md +197 -8
  124. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
  125. package/.agent-src/skills/analysis-skill-router/SKILL.md +3 -3
  126. package/.agent-src/skills/artisan-commands/SKILL.md +2 -2
  127. package/.agent-src/skills/authz-review/SKILL.md +1 -1
  128. package/.agent-src/skills/aws-infrastructure/SKILL.md +5 -5
  129. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +8 -8
  130. package/.agent-src/skills/bug-analyzer/SKILL.md +6 -5
  131. package/.agent-src/skills/code-refactoring/SKILL.md +4 -4
  132. package/.agent-src/skills/code-review/SKILL.md +2 -2
  133. package/.agent-src/skills/command-writing/SKILL.md +11 -0
  134. package/.agent-src/skills/composer-packages/SKILL.md +2 -2
  135. package/.agent-src/skills/context-authoring/SKILL.md +11 -0
  136. package/.agent-src/skills/context-document/SKILL.md +1 -1
  137. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +23 -0
  138. package/.agent-src/skills/copilot-config/SKILL.md +1 -1
  139. package/.agent-src/skills/dependency-upgrade/SKILL.md +2 -2
  140. package/.agent-src/skills/devcontainer/SKILL.md +2 -2
  141. package/.agent-src/skills/developer-like-execution/SKILL.md +1 -1
  142. package/.agent-src/skills/docker/SKILL.md +1 -1
  143. package/.agent-src/skills/dto-creator/SKILL.md +1 -1
  144. package/.agent-src/skills/estimate-ticket/SKILL.md +2 -2
  145. package/.agent-src/skills/fe-design/SKILL.md +4 -4
  146. package/.agent-src/skills/feature-planning/SKILL.md +5 -5
  147. package/.agent-src/skills/funnel-analysis/SKILL.md +1 -1
  148. package/.agent-src/skills/laravel/SKILL.md +1 -1
  149. package/.agent-src/skills/laravel-notifications/SKILL.md +5 -5
  150. package/.agent-src/skills/laravel-pennant/SKILL.md +1 -1
  151. package/.agent-src/skills/laravel-pulse/SKILL.md +4 -4
  152. package/.agent-src/skills/laravel-reverb/SKILL.md +2 -2
  153. package/.agent-src/skills/laravel-scheduling/SKILL.md +1 -1
  154. package/.agent-src/skills/migration-creator/SKILL.md +7 -7
  155. package/.agent-src/skills/multi-tenancy/SKILL.md +8 -8
  156. package/.agent-src/skills/performance-analysis/SKILL.md +3 -3
  157. package/.agent-src/skills/pest-testing/SKILL.md +6 -6
  158. package/.agent-src/skills/php-service/SKILL.md +2 -2
  159. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
  160. package/.agent-src/skills/project-analysis-react/SKILL.md +1 -1
  161. package/.agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
  162. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
  163. package/.agent-src/skills/project-analyzer/SKILL.md +4 -4
  164. package/.agent-src/skills/prompt-optimizer/SKILL.md +108 -0
  165. package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
  166. package/.agent-src/skills/roadmap-management/SKILL.md +7 -7
  167. package/.agent-src/skills/rule-writing/SKILL.md +33 -0
  168. package/.agent-src/skills/sentry-integration/SKILL.md +1 -1
  169. package/.agent-src/skills/skill-writing/SKILL.md +14 -0
  170. package/.agent-src/skills/systematic-debugging/SKILL.md +22 -2
  171. package/.agent-src/skills/technical-specification/SKILL.md +58 -1
  172. package/.agent-src/skills/terraform/SKILL.md +2 -2
  173. package/.agent-src/skills/terragrunt/SKILL.md +8 -8
  174. package/.agent-src/skills/test-performance/SKILL.md +5 -5
  175. package/.agent-src/skills/threat-modeling/SKILL.md +3 -2
  176. package/.agent-src/skills/token-optimizer/SKILL.md +110 -0
  177. package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -1
  178. package/.agent-src/templates/AGENTS.md +1 -1
  179. package/.agent-src/templates/agent-settings.md +35 -19
  180. package/.agent-src/templates/command.md +17 -1
  181. package/.agent-src/templates/contexts/tenant-boundaries.md +2 -2
  182. package/.agent-src/templates/contexts.md +1 -1
  183. package/.agent-src/templates/copilot-instructions.md +21 -0
  184. package/.agent-src/templates/copilot-review-instructions.md +76 -0
  185. package/.agent-src/templates/features.md +1 -1
  186. package/.agent-src/templates/roadmaps.md +10 -2
  187. package/.agent-src/templates/rule.md +129 -0
  188. package/.agent-src/templates/skill.md +17 -0
  189. package/.claude-plugin/marketplace.json +12 -2
  190. package/AGENTS.md +32 -5
  191. package/CHANGELOG.md +107 -3
  192. package/README.md +22 -21
  193. package/config/agent-settings.template.yml +66 -10
  194. package/config/gitignore-block.txt +7 -0
  195. package/docs/architecture.md +86 -5
  196. package/docs/catalog.md +16 -6
  197. package/docs/contracts/agent-memory-contract.md +1 -1
  198. package/docs/contracts/command-clusters.md +45 -1
  199. package/docs/contracts/context-paths.md +2 -1
  200. package/docs/contracts/file-ownership-matrix.json +354 -500
  201. package/docs/contracts/iron-law-overrides.txt +25 -0
  202. package/docs/contracts/kernel-membership.md +273 -0
  203. package/docs/contracts/load-context-schema.md +26 -11
  204. package/docs/contracts/pilot/agent-authority.md +24 -0
  205. package/docs/contracts/pilot/direct-answers.md +70 -0
  206. package/docs/contracts/pilot/language-and-tone.md +63 -0
  207. package/docs/contracts/rule-classification.md +170 -0
  208. package/docs/contracts/rule-router.md +153 -0
  209. package/docs/customization.md +17 -6
  210. package/docs/decisions/ADR-001-kernel-swap-deferred.md +109 -0
  211. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +124 -0
  212. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +126 -0
  213. package/docs/decisions/ADR-rule-kernel-and-router.md +122 -0
  214. package/docs/getting-started.md +2 -2
  215. package/docs/guidelines/agent-infra/naming.md +1 -1
  216. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +176 -0
  217. package/docs/guidelines/agent-infra/rule-type-governance.md +73 -0
  218. package/docs/guidelines/agent-infra/size-and-scope.md +13 -2
  219. package/docs/guidelines/agent-infra/skill-quality-checklist.md +119 -0
  220. package/docs/guidelines/augment-portability-patterns.md +68 -0
  221. package/docs/guidelines/php/php-coding-patterns.md +62 -0
  222. package/package.json +1 -1
  223. package/scripts/_p43_bodies.py +235 -0
  224. package/scripts/_p43_compress.py +118 -0
  225. package/scripts/_p4_migrate.py +199 -0
  226. package/scripts/_phase2_shim_helper.py +1 -1
  227. package/scripts/_pilot_council_question.py +57 -0
  228. package/scripts/_pilot_measure.py +53 -0
  229. package/scripts/ai_council/session.py +107 -5
  230. package/scripts/build_linear_digest.py +3 -5
  231. package/scripts/check_always_budget.py +39 -6
  232. package/scripts/check_compressed_paths.py +213 -0
  233. package/scripts/check_compression.py +15 -0
  234. package/scripts/check_context_paths.py +1 -0
  235. package/scripts/check_council_layout.py +105 -0
  236. package/scripts/check_council_references.py +145 -0
  237. package/scripts/check_portability.py +2 -0
  238. package/scripts/check_references.py +2 -0
  239. package/scripts/check_token_optimizer_freshness.py +131 -0
  240. package/scripts/compile_router.py +148 -0
  241. package/scripts/compress.py +219 -11
  242. package/scripts/council_cli.py +132 -11
  243. package/scripts/council_prune.py +81 -0
  244. package/scripts/count_token_optimizer_usage.sh +54 -0
  245. package/scripts/install.sh +44 -2
  246. package/scripts/iron_law_sha.py +98 -0
  247. package/scripts/lint_load_context.py +35 -5
  248. package/scripts/measure_rule_budget.py +314 -0
  249. package/scripts/migrate_command_suggestions.py +2 -2
  250. package/scripts/prototype_lint_contradictions.py +150 -0
  251. package/scripts/schemas/command.schema.json +5 -0
  252. package/scripts/schemas/rule.schema.json +60 -6
  253. package/scripts/schemas/skill.schema.json +5 -0
  254. package/scripts/skill_linter.py +197 -7
  255. package/scripts/smoke_path_resolution.py +93 -0
  256. package/scripts/validate_frontmatter.py +41 -1
  257. package/.agent-src/commands/roadmap/execute.md +0 -109
  258. package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +0 -72
  259. package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +0 -79
  260. package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +0 -87
  261. package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +0 -62
  262. package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +0 -78
  263. package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +0 -85
  264. package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +0 -65
  265. package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +0 -78
  266. package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +0 -53
  267. /package/{docs → .agent-src/contexts}/contracts/artifact-engagement-flow.md +0 -0
  268. /package/{docs → .agent-src/contexts}/contracts/command-suggestion-flow.md +0 -0
@@ -15,7 +15,7 @@ Use this skill when:
15
15
  - Parallel testing needs optimization
16
16
  - Seeders need performance analysis
17
17
  - CI pipeline test jobs need to be faster
18
- - Investigating flaky tests caused by database state
18
+ - Investigating flaky tests caused by DB state
19
19
 
20
20
  ## Procedure: Analyze test performance
21
21
 
@@ -55,7 +55,7 @@ Check these areas in order of typical impact:
55
55
  | **Migration count** | How many CREATE TABLE statements? | High if >20 |
56
56
  | **Schema dump** | Is `database/schema/` used? | High if missing |
57
57
  | **Seeder INSERT method** | Individual `save()` vs bulk insert? | Medium |
58
- | **Truncation** | Per-seeder truncate vs centralized? | Low (but causes correctness issues) |
58
+ | **Truncation** | Per-seeder truncate vs centralized? | Low (but correctness issues) |
59
59
  | **Connection discovery** | Dynamic `getPdo()` probing? | Low |
60
60
  | **Parallel worker setup** | Does each worker re-migrate? | High |
61
61
 
@@ -76,7 +76,7 @@ php artisan schema:dump --database=api_database
76
76
  #### B. Template DB Cloning (high ROI for parallel tests)
77
77
 
78
78
  Instead of each parallel worker running migrate+seed independently:
79
- 1. Prepare ONE template database (migrate + seed)
79
+ 1. Prepare ONE template DB (migrate + seed)
80
80
  2. Clone template for each worker via mysqldump
81
81
 
82
82
  ```bash
@@ -92,7 +92,7 @@ mysqldump template_db | mysql worker_db_test_1
92
92
 
93
93
  #### C. Skip Migrate+Seed Flag (high ROI for local dev)
94
94
 
95
- Add a config flag to skip database setup when DB is already prepared:
95
+ Add a config flag to skip DB setup when DB is already prepared:
96
96
 
97
97
  ```php
98
98
  // config/testing.php
@@ -158,7 +158,7 @@ Replace dynamic `getPdo()` probing with explicit config:
158
158
  ## Gotcha
159
159
 
160
160
  - Don't use RefreshDatabase when DatabaseTransactions suffices — full refresh is 10x slower.
161
- - The model forgets that parallel tests share the database — use unique identifiers in test data.
161
+ - The model forgets that parallel tests share the DB — use unique identifiers in test data.
162
162
  - Seeder optimization has the highest ROI — a 2s seeder running 100 times = 200s wasted.
163
163
  - Don't add indexes to test databases just for test performance — the real fix is better test design.
164
164
 
@@ -2,11 +2,12 @@
2
2
  name: threat-modeling
3
3
  description: "Use when adding auth, webhooks, uploads, queues, secrets, tenant boundaries, or public endpoints — produces trust boundaries + abuse cases mapped to files, BEFORE implementation."
4
4
  source: package
5
+ council_depth: deep
5
6
  ---
6
7
 
7
8
  # threat-modeling
8
9
 
9
- > You are a reviewer specialized in **pre-implementation threat analysis**.
10
+ > You are a reviewer specialized in **pre-impl threat analysis**.
10
11
  > Your only job is to produce a compact threat model for a planned change —
11
12
  > actors, assets, trust boundaries, abuse cases, and the minimum controls
12
13
  > the implementer must add. You do **not** audit existing code end-to-end,
@@ -186,4 +187,4 @@ run tests**.
186
187
  - [`authz-review`](../authz-review/SKILL.md),
187
188
  [`data-exposure-review`](../data-exposure-review/SKILL.md),
188
189
  [`security`](../security/SKILL.md),
189
- [`security-audit`](../security-audit/SKILL.md) — sibling review / implementation skills.
190
+ [`security-audit`](../security-audit/SKILL.md) — sibling review / impl skills.
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: token-optimizer
3
+ description: "Use BEFORE any verbose CLI run, large file read, doc conversion, or near-context handoff — single decision tree keyed by intent that cites the canonical token-saving asset. Consult before the action."
4
+ source: package
5
+ execution:
6
+ type: assisted
7
+ handler: shell
8
+ allowed_tools: []
9
+ ---
10
+
11
+ # Token Optimizer — decision tree + catalog
12
+
13
+ ## Iron Law
14
+
15
+ ```
16
+ CONSULT THIS SKILL BEFORE THE ACTION, NOT AFTER.
17
+ THE TREE NAMES THE CANONICAL ASSET — DO NOT RESTATE OR DUPLICATE IT.
18
+ ```
19
+
20
+ ## When to use
21
+
22
+ Proactively, BEFORE you:
23
+
24
+ - Run a verbose CLI command (tests, linters, build, git log, large `grep`)
25
+ - Read or paste a large document, log, or tool dump
26
+ - Repeat the same tool call across many files / records
27
+ - Approach the context-window limit and need to hand off
28
+ - Make a cost-aware decision (which model, which budget, when to stop)
29
+
30
+ Reactively when output already burned tokens — record the lesson, do
31
+ not re-explore. Cite the leaf, move on.
32
+
33
+ ## Procedure
34
+
35
+ 1. **Classify intent** — match the situation to one branch of the tree below.
36
+ 2. **Cite the leaf** — name the canonical asset (rule, skill, or upstream link).
37
+ 3. **Apply** — execute the cited asset's contract; do NOT inline its content.
38
+ 4. **Verify** — output respects the cited Iron Law (redirect, wrap, batch, etc.).
39
+
40
+ ### Decision tree
41
+
42
+ ```
43
+ INTENT
44
+ ├── Verbose CLI output incoming
45
+ │ → cite [cli-output-handling](../../rules/cli-output-handling.md)
46
+ │ (Iron Law: redirect / tail / grep / wrap)
47
+ │ → cite [rtk-output-filtering](../rtk-output-filtering/SKILL.md)
48
+ │ (rtk wrapper, 60-90% savings on tests/linters/git)
49
+
50
+ ├── Large document or paste (PDF, DOCX, HTML, transcript)
51
+ │ → cite markitdown (upstream: https://github.com/microsoft/markitdown)
52
+ │ Convert FIRST, then read the markdown — never paste raw binary.
53
+
54
+ ├── Repeated tool-call across N targets
55
+ │ → cite [token-efficiency](../../rules/token-efficiency.md)
56
+ │ (batch, parallelize, prune; one tool call > many)
57
+
58
+ ├── Near context limit, work not finished
59
+ │ → cite [agent-handoff](../../../.claude/skills/agent-handoff/SKILL.md)
60
+ │ (structured handoff envelope; resume in fresh chat)
61
+
62
+ └── Cost-aware decision (model pick, budget, stop-criterion)
63
+ → cite /cost:report (when shipped) — until then, fall back to
64
+ [token-efficiency](../../rules/token-efficiency.md) and
65
+ [direct-answers § Brevity by Default](../../rules/direct-answers.md)
66
+ ```
67
+
68
+ ## Catalog
69
+
70
+ | Asset | Path | Trigger keywords | What it does |
71
+ |---|---|---|---|
72
+ | `cli-output-handling` | `.agent-src.uncompressed/rules/cli-output-handling.md` | `verbose`, `tail`, `grep`, `CLI` | Wrap-tail-grep contract for any verbose command |
73
+ | `rtk-output-filtering` | `.agent-src.uncompressed/skills/rtk-output-filtering/SKILL.md` | `rtk`, `verbose`, `filter`, `wrap` | Project-local rtk filters; wrapper command |
74
+ | `token-efficiency` | `.agent-src.uncompressed/rules/token-efficiency.md` | `redirect`, `verbose`, `concise`, `tool` | Batch + parallelize tool calls; brevity floor |
75
+ | `agent-handoff` | `.claude/skills/agent-handoff/SKILL.md` | `handoff`, `fresh`, `chat`, `context` | Context envelope for fresh-chat continuation |
76
+ | `direct-answers` | `.agent-src.uncompressed/rules/direct-answers.md` | `brevity`, `flattery`, `severity`, `tiered` | Iron-Law brevity floor (kernel) |
77
+ | `markitdown` | upstream: github.com/microsoft/markitdown | `PDF`, `DOCX`, `HTML`, `convert` | Document → markdown converter (authoritative-link only) |
78
+ | `/cost:report` | TBD — `road-to-ruflo-adoption.md § P1.2` | `cost`, `model spend`, `budget` | Per-session cost telemetry (planned) |
79
+
80
+ ## Output format
81
+
82
+ 1. Name the cited asset by its leaf id (e.g. `cli-output-handling`, `rtk-output-filtering`).
83
+ 2. State the Iron Law in one line; do NOT inline the asset's body.
84
+ 3. If multiple branches match, cite all relevant leaves (no merge, no rewrite).
85
+ 4. End with the action you take next, citing the asset that authorizes it.
86
+
87
+ ## Gotcha
88
+
89
+ - Catalog rows live and die with their target asset. If you edit a
90
+ cited asset's trigger keywords or scope, update the matching row in
91
+ this skill in the same commit (enforced by
92
+ [`token-optimizer-maintenance`](../../rules/token-optimizer-maintenance.md)
93
+ rule + `scripts/check_token_optimizer_freshness.py` CI gate).
94
+ - Tree must stay scannable (≤ 50 lines incl. labels). Catalog rows
95
+ carry the long form.
96
+ - Authoritative-link assets (`rtk` upstream, `markitdown` upstream,
97
+ pricing constants) are never copied — always linked.
98
+
99
+ ## Do NOT
100
+
101
+ - Do NOT inline content from a cited asset. If the leaf is "rtk does X",
102
+ the agent reads `rtk-output-filtering`. Duplication = drift = stale.
103
+ - Do NOT replace any rule. The rules carry the Iron Laws; this skill
104
+ carries the lookup index.
105
+ - Do NOT define new policies — every leaf must cite an existing rule,
106
+ skill, or upstream asset.
107
+ - Do NOT consult this skill AFTER tokens were already burned — record
108
+ the lesson and move on.
109
+
110
+ <!-- TELEMETRY: consulted=[uncomment + ISO timestamp on each consult] context=[CLI|doc|repeat|handoff|cost] -->
@@ -71,7 +71,7 @@ Goal: understand structure, identify major components, detect investigation path
71
71
  ### Investigation mode
72
72
 
73
73
  Use when there is a concrete issue inside a large or unclear system.
74
- Goal: isolate the affected area, route into root-cause analysis, verify likely causes with evidence.
74
+ Goal: isolate the affected area, route into root-cause analysis, verify likely with evidence.
75
75
 
76
76
  ### Optimization mode
77
77
 
@@ -113,7 +113,7 @@ Regenerate: `task generate-tools` · Clean: `task clean-tools`
113
113
  |---|---|
114
114
  | `.env` | Main environment |
115
115
  | `.env.local` | Local overrides |
116
- | `.env.testing` | Testing environment |
116
+ | `.env.testing` | Testing env |
117
117
 
118
118
  ---
119
119
 
@@ -14,7 +14,7 @@ Keep the format regular — 2-space indent, no tabs, no lists, one nesting
14
14
  level only. The installer's YAML handler is a restricted stdlib parser, not
15
15
  a full YAML engine. Ask the agent to normalize after manual edits — it
16
16
  follows the merge rules in
17
- [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
17
+ [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
18
18
 
19
19
  ### Migration from the legacy `.agent-settings` (key=value)
20
20
 
@@ -36,7 +36,7 @@ This block defines the personal and project-level settings that
36
36
  `scripts/install.py` (via `config/agent-settings.template.yml`)
37
37
  writes to `.agent-settings.yml` on first install. Subsequent edits are
38
38
  made by the user directly or by the agent on request, following the
39
- [section-aware merge rules](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
39
+ [section-aware merge rules](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules).
40
40
 
41
41
  ```yaml
42
42
  # Agent Settings
@@ -45,14 +45,19 @@ made by the user directly or by the agent on request, following the
45
45
 
46
46
  # --- Cost profile ---
47
47
  #
48
- # Controls which agent surfaces are active. See `docs/customization.md` for
49
- # the authoritative description.
48
+ # Master switch that controls which rule tiers load each session.
49
+ # See `docs/customization.md` for the authoritative description and
50
+ # `docs/contracts/rule-router.md` for the kernel + router architecture.
50
51
  #
51
- # minimal = rules, skills, and commands only (zero extra surface, default)
52
- # balanced = + runtime dispatcher for skills that declare a shell command
53
- # full = + tool adapters (GitHub / Jira, read-only, opt-in)
54
- # custom = ignore profile every matrix value must be set explicitly
55
- cost_profile: minimal
52
+ # minimal = kernel only (always-loaded Iron-Law floor, ≤ 26k chars).
53
+ # No router, no auto-rules. Lowest token footprint.
54
+ # balanced = kernel + router + tier-1 auto-rules (default current behaviour
55
+ # superset; matches what existing consumer projects expect).
56
+ # full = kernel + tier-1 + tier-2 (everything). Highest fidelity,
57
+ # highest token cost. Pick this when working on agent-config
58
+ # itself or when you need every behavioural rule active.
59
+ # custom = ignore profile — every matrix value must be set explicitly.
60
+ cost_profile: balanced
56
61
 
57
62
  # --- Personal preferences ---
58
63
  personal:
@@ -199,12 +204,12 @@ pipelines:
199
204
 
200
205
  # --- Roadmap execution ---
201
206
  #
202
- # Controls when /roadmap execute runs the project's quality pipeline.
207
+ # Controls when /roadmap:process-* runs the project's quality pipeline.
203
208
  # Step checkboxes and the dashboard are ALWAYS updated in the same
204
209
  # response — that cadence is governed by `roadmap-progress-sync` and
205
210
  # is non-negotiable. This setting only governs *quality tool runs*.
206
211
  roadmap:
207
- # When to run quality tools during /roadmap execute.
212
+ # When to run quality tools during /roadmap:process-step|phase|full.
208
213
  # end_of_roadmap = once, before archiving (default — fastest, fewest tokens)
209
214
  # per_phase = once after every completed phase
210
215
  # per_step = after every completed step (legacy; highest token cost)
@@ -288,14 +293,24 @@ commands:
288
293
  # Commands to never suggest. Still work when typed explicitly.
289
294
  blocklist: []
290
295
 
296
+ # Pre-creation preview of the generated PR description in `/create-pr`.
297
+ # When `false` (default): skip the title/body preview + adjust loop;
298
+ # use the generated content directly to create the PR. Saves agent
299
+ # tokens by avoiding a re-render of the full description in chat.
300
+ # When `true`: show title and body in copyable code blocks and ask
301
+ # for adjustments before creating the PR.
302
+ # `/create-pr:description-only` always previews — that is its sole purpose.
303
+ create_pr:
304
+ preview_description: false
305
+
291
306
  # --- Telemetry (artefact engagement, default-off) ---
292
307
  #
293
308
  # Records — at task / phase-step boundaries — which artefacts (skills,
294
309
  # rules, commands, guidelines, personas) the agent consulted and
295
310
  # applied. Local only, append-only JSONL, never reaches a consumer
296
311
  # repo (gitignored). Maintainer-targeted feature; consumers leave it
297
- # off. See `docs/contracts/artifact-engagement-flow.md` (once Phase 3
298
- # of road-to-artifact-engagement-telemetry lands).
312
+ # off. See `.augment/contexts/contracts/artifact-engagement-flow.md`
313
+ # (once Phase 3 of road-to-artifact-engagement-telemetry lands).
299
314
  telemetry:
300
315
  artifact_engagement:
301
316
  # Master switch. `false` (default) produces zero file IO and zero
@@ -323,7 +338,7 @@ telemetry:
323
338
 
324
339
  Personal and project-level settings (initial file written by
325
340
  `scripts/install.py`, edits follow the merge rules in
326
- [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)).
341
+ [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)).
327
342
  **Key paths use dot-notation** to denote nesting: `personal.user_name`
328
343
  lives under `personal:` in YAML.
329
344
 
@@ -353,16 +368,16 @@ lives under `personal:` in YAML.
353
368
  | `hooks.halt_surface_audit` | `true`, `false` | `true` | Defense-in-depth check that every halt surfaced by the dispatcher carries the expected shape. Cheap. |
354
369
  | `hooks.state_shape_validation` | `true`, `false` | `true` | Re-run the state schema validator on `AFTER_LOAD` and `BEFORE_SAVE`. Cheap, catches drift. |
355
370
  | `hooks.directive_set_guard` | `true`, `false` | `true` | Verify the dispatcher-resolved directive set matches the input envelope intent. Cheap, catches routing drift. |
356
- | `hooks.chat_history.enabled` | `true`, `false` | `true` | Register chat-history hooks (`append` on `after_step`, `halt_append` on `on_halt`). Gated by **both** this flag AND `chat_history.enabled`; either off → no chat-history hook registers. Schema v4: every entry self-identifies via 16-char session fingerprint, no ownership/sidecar layer. |
371
+ | `hooks.chat_history.enabled` | `true`, `false` | `true` | Register the chat-history hooks (`append` on `after_step`, `halt_append` on `on_halt`). Gated by **both** this flag AND `chat_history.enabled`; either off → no chat-history hook registers. Schema v4: every entry self-identifies via a 16-char session fingerprint, no ownership/sidecar layer. |
357
372
  | `hooks.chat_history.script` | path | `scripts/chat_history.py` | Override path to the chat-history CLI. Set only when the script lives outside the standard location. |
358
373
  | `pipelines.skill_improvement` | `true`, `false` | `true` | When `true`: propose learning capture after meaningful tasks. When `false`: silent. Included in every profile except `custom`. |
359
- | `roadmap.quality_cadence` | `end_of_roadmap`, `per_phase`, `per_step` | `end_of_roadmap` | When `/roadmap execute` runs the project's quality pipeline. Default skips per-step / per-phase runs and gates only the final archival. `per_phase` runs once after every phase; `per_step` is the legacy verbose mode. Step checkboxes and the dashboard are always updated regardless. `verify-before-complete` still requires fresh output before any "roadmap complete" claim. |
374
+ | `roadmap.quality_cadence` | `end_of_roadmap`, `per_phase`, `per_step` | `end_of_roadmap` | When `/roadmap:process-step|phase|full` runs the project's quality pipeline. Default skips per-step / per-phase runs and gates only the final archival. `per_phase` runs once after every phase; `per_step` is the legacy verbose mode. Step checkboxes and the dashboard are always updated regardless. `verify-before-complete` still requires fresh output before any "roadmap complete" claim. |
360
375
  | `subagents.implementer_model` | model alias or empty | _(empty)_ | Model for implementer subagents. Empty = same tier as session model. See [subagent-configuration](../contexts/subagent-configuration.md). |
361
376
  | `subagents.judge_model` | model alias or empty | _(empty)_ | Model for judge subagents. Empty = one tier above implementer (opus if sonnet, sonnet if haiku). |
362
377
  | `subagents.max_parallel` | integer | `3` | Maximum parallel subagent invocations. `1` serializes. |
363
- | `roles.default_role` | `""`, `developer`, `reviewer`, `tester`, `po`, `incident`, `planner` | _(empty)_ | Role the agent defaults to at the start of a session. See [`role-contracts`](../../docs/guidelines/agent-infra/role-contracts.md). |
378
+ | `roles.default_role` | `""`, `developer`, `reviewer`, `tester`, `po`, `incident`, `planner` | _(empty)_ | Role the agent defaults to at the start of a session. See [`role-contracts`](../docs/guidelines/agent-infra/role-contracts.md). |
364
379
  | `roles.active_role` | same as `default_role` | _(empty)_ | Role currently active; set by `/mode <name>`, cleared by `/mode none`. Enables the `role-mode-adherence` rule. |
365
- | `personas.override` | list of persona ids | `[]` | Developer-local override of the team default lens cast. Empty = inherit `personas.default` from `.agent-project-settings.yml`. See [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md). |
380
+ | `personas.override` | list of persona ids | `[]` | Developer-local override of the team default lens cast. Empty = inherit `personas.default` from `.agent-project-settings.yml`. See [`layered-settings`](../docs/guidelines/agent-infra/layered-settings.md). |
366
381
  | `personas.ignore` | list of persona ids | `[]` | Persona ids dropped from the default cast locally. Ignored personas stay invokable via `--personas=<id>`. |
367
382
  | `onboarding.onboarded` | `true`, `false` | `false` | Whether `/onboard` has run on this project. The `onboarding-gate` rule prompts for `/onboard` when this is `false`. Missing entirely = legacy project, treated as onboarded. |
368
383
  | `commands.suggestion.enabled` | `true`, `false` | `true` | Master switch for the command-suggestion layer. `false` = the layer is silent; explicit `/commands` still work. See `rules/command-suggestion-policy.md`. |
@@ -370,6 +385,7 @@ lives under `personal:` in YAML.
370
385
  | `commands.suggestion.cooldown_seconds` | integer | `600` | Cooldown between re-suggestions of the same `(command, evidence)` pair. `600` = 10m. |
371
386
  | `commands.suggestion.max_options` | integer | `4` | Max number of command suggestions before the always-present "run as-is" option (total rendered = `max_options + 1`). |
372
387
  | `commands.suggestion.blocklist` | list of command names | `[]` | Commands that never appear as a suggestion. They still work when typed explicitly. |
388
+ | `commands.create_pr.preview_description` | `true`, `false` | `false` | When `false`: `/create-pr` skips the title/body preview + adjust loop and uses the generated content directly. Saves agent tokens. When `true`: show title and body before creating and ask for adjustments. `/create-pr:description-only` always previews regardless of this setting. |
373
389
  | `telemetry.artifact_engagement.enabled` | `true`, `false` | `false` | Master switch for the artefact engagement log. Default-off; zero file IO and zero token cost when `false`. Maintainer-targeted; consumers leave it off. |
374
390
  | `telemetry.artifact_engagement.granularity` | `task`, `phase-step`, `tool-call` | `task` | Boundary at which events are recorded. `tool-call` is expensive — opt-in only. |
375
391
  | `telemetry.artifact_engagement.record.consulted` | `true`, `false` | `true` | When `true`: record artefacts loaded into context. |
@@ -427,7 +443,7 @@ they ship with a live consumer in code and get documented here, not before.
427
443
  ## Sync rules
428
444
 
429
445
  When new settings are added to this template, the
430
- [section-aware merge rules](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
446
+ [section-aware merge rules](../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules)
431
447
  govern the update:
432
448
 
433
449
  1. Missing keys are added with their **default value** from this template,
@@ -20,6 +20,11 @@ name: {command-name}
20
20
  description: {Short description of what the command does}
21
21
  disable-model-invocation: true
22
22
  skills: [{optional-skill-1}, {optional-skill-2}]
23
+ suggestion:
24
+ eligible: true
25
+ trigger_description: "natural-language pattern, comma-separated examples"
26
+ trigger_context: "concrete signal — branch name, file pattern, recent tool output"
27
+ # council_depth: deep # uncomment for architecture/refactor/bug-diagnose commands
23
28
  ---
24
29
 
25
30
  <!-- FRONTMATTER RULES (delete this comment when done):
@@ -27,6 +32,17 @@ skills: [{optional-skill-1}, {optional-skill-2}]
27
32
  - description: short, human-readable — what the command does
28
33
  - disable-model-invocation: ALWAYS true for commands (prevents Claude from auto-invoking)
29
34
  - skills: optional — list skills this command references or delegates to
35
+ - suggestion: REQUIRED — drives the in-host command suggester
36
+ - eligible: true → set trigger_description + trigger_context
37
+ - eligible: false → set rationale (why never auto-suggested)
38
+ See agents/contexts/command-suggestion-eligibility.md for guidance.
39
+ - council_depth: optional — only `deep` is accepted. **Omit the key
40
+ for default depth** (`standard` is the implicit default and is
41
+ rejected by the schema — every frontmatter byte counts). Set `deep`
42
+ when this command triggers AI Council on architecture, refactoring,
43
+ or bug-diagnosis artefacts. The host translates `deep` into
44
+ `--depth deep` on the council CLI, raising the round floor to
45
+ `ai_council.deep_min_rounds`. See .augment/skills/ai-council/SKILL.md.
30
46
  -->
31
47
 
32
48
  # /{command-name}
@@ -74,7 +90,7 @@ Ask the user:
74
90
 
75
91
  Before considering a command complete:
76
92
 
77
- - [ ] **Frontmatter**: has `name`, `description`, `disable-model-invocation: true`
93
+ - [ ] **Frontmatter**: has `name`, `description`, `disable-model-invocation: true`, `suggestion` block
78
94
  - [ ] **Steps**: numbered sub-headings (`### 1.`, `### 2.`, ...)
79
95
  - [ ] **Source of truth**: works on `.agent-src.uncompressed/`, not `.agent-src/` or `.augment/`
80
96
  - [ ] **No auto-apply**: presents findings, asks before destructive changes
@@ -16,10 +16,10 @@
16
16
  - [ ] **Single-tenant** — one database per deployment. No cross-tenant
17
17
  leakage is possible at the infra layer. Delete this file if true
18
18
  and the app will never shard.
19
- - [ ] **Multi-tenant, shared database** — one table with a tenant key
19
+ - [ ] **Multi-tenant, shared DB** — one table with a tenant key
20
20
  column (e.g., `tenant_id`, `workspace_id`).
21
21
  - [ ] **Multi-tenant, schema per tenant** — one DB, one schema each.
22
- - [ ] **Multi-tenant, database per tenant** — each tenant has its own
22
+ - [ ] **Multi-tenant, DB per tenant** — each tenant has its own
23
23
  connection.
24
24
 
25
25
  ## Tenant identifier
@@ -24,7 +24,7 @@ agents (and developers) quickly orient themselves when working in that area.
24
24
  |---|---|---|
25
25
  | **Module** | Document a module's structure and purpose | `client-software.md` |
26
26
  | **Domain** | Document a business domain across modules | `import-pipeline.md` |
27
- | **Service** | Document a complex service and its dependencies | `customer-service.md` |
27
+ | **Service** | Document a complex service and its deps | `customer-service.md` |
28
28
  | **Integration** | Document an external API/system integration | `probaus-api.md` |
29
29
  | **Infrastructure** | Document infrastructure or DevOps concerns | `queue-system.md` |
30
30
 
@@ -86,6 +86,27 @@ This repository contains {{project_description_oneline}}.
86
86
  - Do NOT review or suggest changes to unmodified code in the same file.
87
87
  - Do NOT nitpick style issues that linters/formatters auto-fix.
88
88
 
89
+ ## ✅ Known False Positives — Do NOT Flag
90
+
91
+ The repo ships agent-config rules and skills under `.augment/`,
92
+ `.agent-src/`, and `.agent-src.uncompressed/`. These trees use a
93
+ deliberate path convention; the following patterns are **correct by
94
+ design** — do not flag them as broken:
95
+
96
+ - **Relative cross-references inside markdown rules / skills** like
97
+ `[x](../docs/guidelines/foo.md)` or `[y](../contexts/bar.md)`. The
98
+ base resolves from the file's delivered location (e.g.
99
+ `.augment/rules/<rule>.md`) — these paths are valid via the
100
+ `.augment/` tree, even when the file is symlinked into
101
+ `.claude/rules/`, `.cursor/rules/`, or `.clinerules/`.
102
+ - **`path_prefix:` triggers containing `.agent-src.uncompressed/`**
103
+ in YAML frontmatter. This is a literal match pattern for the
104
+ host's router, **not** a file reference — keeping the verbatim
105
+ source path is required for the rule to fire on the right edits.
106
+ - **Symlinked rule files** under `.claude/rules/`, `.cursor/rules/`,
107
+ `.clinerules/`. Targets resolve into `.augment/rules/`; missing-file
108
+ reports here are renderer artifacts, not real bugs.
109
+
89
110
  ## ✅ Code Review Comment Behavior
90
111
 
91
112
  - **Never create duplicate comments** — one comment per concern per location.
@@ -0,0 +1,76 @@
1
+ # Copilot Code Review — Repository-Specific Suppressions
2
+
3
+ > Read by GitHub Copilot Code Review (PR bot) when reviewing this repo.
4
+ > Companion to `.github/copilot-instructions.md`. **This file is the
5
+ > path-resolution suppression floor** — it carries the rules Copilot
6
+ > needs to *not* flag, sharply scoped to the agent-config layout.
7
+
8
+ ## Why this file exists
9
+
10
+ The repo ships agent-config rules, skills, commands, and contexts under
11
+ `.augment/`, `.agent-src/`, and (during authoring) `.agent-src.uncompressed/`.
12
+ Cross-references inside those trees are valid via the **delivered**
13
+ `.augment/` layout — not via raw git checkout. Copilot's static checker
14
+ walks the git tree, so it sees broken paths where there are none.
15
+
16
+ This is **intentional, not a bug**. The installer (`scripts/install.sh`)
17
+ projects `.agent-src/` → `.augment/` and creates the symlinks that make
18
+ the paths resolve at agent runtime.
19
+
20
+ ## ✅ Known False Positives — Do NOT Flag
21
+
22
+ ### Relative cross-references inside markdown rules / skills / commands
23
+
24
+ ```markdown
25
+ [link](../docs/guidelines/foo.md)
26
+ [link](../contexts/bar.md)
27
+ [link](../docs/guidelines/baz.md)
28
+ ```
29
+
30
+ These resolve from the file's delivered location (e.g.
31
+ `.augment/rules/<rule>.md`). Even when the file is symlinked into
32
+ `.claude/rules/`, `.cursor/rules/`, or `.clinerules/`, the relative
33
+ form is correct by construction.
34
+
35
+ ### `path_prefix:` triggers containing `.agent-src.uncompressed/`
36
+
37
+ ```yaml
38
+ triggers:
39
+ - path_prefix: ".agent-src.uncompressed/rules/"
40
+ ```
41
+
42
+ This is a **literal match string** for the host's router — *not* a file
43
+ reference. Source-of-truth meta-rules (`augment-source-of-truth`,
44
+ `augment-portability`, `skill-quality`, `docs-sync`,
45
+ `rule-type-governance`) legitimately match against the authoring tree.
46
+
47
+ ### Symlinked rule / skill / command files
48
+
49
+ Targets resolve into `.augment/rules/`, `.augment/skills/`,
50
+ `.augment/commands/` via installer-managed symlinks. Missing-file
51
+ reports under `.claude/`, `.cursor/`, `.clinerules/` are renderer
52
+ artifacts, not real bugs.
53
+
54
+ ### Body-link forms `../docs/guidelines/...`
55
+
56
+ Single-up form is the post-rewrite shape produced by
57
+ `scripts/compress.py`. The compressed `.agent-src/rules/` tree is one
58
+ level deeper than the source `.agent-src.uncompressed/rules/`, so the
59
+ rewriter collapses `../../docs/...` to `../docs/...`. Both forms are
60
+ expected — one in source, one in compressed output.
61
+
62
+ ## ✅ What TO flag
63
+
64
+ - Code defects, security issues, broken tests, type errors — normal
65
+ review.
66
+ - New `.agent-src.uncompressed/` substrings introduced into
67
+ `.agent-src/rules/` body content (the `check-compressed-paths` task
68
+ already gates this — flag it as a regression if it slips through).
69
+ - Rule frontmatter with `load_context:` entries that don't follow the
70
+ logical-name convention (`contexts/<area>/<file>.md`).
71
+
72
+ ## Pointer
73
+
74
+ The full architecture is in `docs/architecture.md` § "Path resolution
75
+ and Copilot integration". The compressed-path validator is
76
+ `scripts/check_compressed_paths.py`, wired into `task ci`.
@@ -22,7 +22,7 @@ Templates for feature plan files stored in `agents/features/` or `app/Modules/{M
22
22
  | 💡 | Idea | Rough concept, not yet validated |
23
23
  | 🔍 | Exploring | Being researched and brainstormed |
24
24
  | 📋 | Planned | Structured plan complete, ready for roadmap |
25
- | 🗺️ | Roadmapped | Roadmap(s) generated, ready for implementation |
25
+ | 🗺️ | Roadmapped | Roadmap(s) generated, ready for impl |
26
26
  | 🔄 | In Progress | Implementation started |
27
27
  | ✅ | Complete | Feature shipped |
28
28
  | ❌ | Rejected | Decided not to build |
@@ -36,14 +36,22 @@ Templates for roadmap files stored in `agents/roadmaps/` or `app/Modules/{Module
36
36
  creating the roadmap — not during execution. Default: stay on the
37
37
  current branch. If the user declines, the topic is closed for this
38
38
  roadmap. See [`scope-control`](../rules/scope-control.md#decline--silence--no-re-asking-on-the-same-task).
39
+ 15. **Declare complexity tier.** Every roadmap declares
40
+ `complexity: lightweight` or `complexity: structural` in frontmatter.
41
+ Lightweight (default): ≤ 6 phases, ≤ 600 lines, no nested council
42
+ debates inside the roadmap. Structural (rare, opt-in): contract-layer
43
+ or budget-invariant changes; multi-round council, file-ownership
44
+ matrices, > 600 lines. Enforced by `task lint-roadmap-complexity`.
45
+ Standard: [`docs/contracts/roadmap-complexity-standard.md`](../docs/contracts/roadmap-complexity-standard.md).
39
46
 
40
47
  ---
41
48
 
42
49
  ## Quality Gates (always apply at completion)
43
50
 
44
51
  Every roadmap must pass the project's quality pipeline before it is
45
- considered done. **When** the pipeline runs during `/roadmap execute` is
46
- governed by `roadmap.quality_cadence` in `.agent-settings.yml`
52
+ considered done. **When** the pipeline runs during
53
+ `/roadmap:process-step|phase|full` is governed by
54
+ `roadmap.quality_cadence` in `.agent-settings.yml`
47
55
  (`end_of_roadmap` default → once before archival; `per_phase` → after
48
56
  every phase; `per_step` → after every step). Either way, a final fresh
49
57
  run is mandatory before "complete" per `verify-before-complete`.