@event4u/agent-config 1.16.0 → 1.17.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 (203) hide show
  1. package/.agent-src/commands/{agents-audit.md → agents/audit.md} +4 -3
  2. package/.agent-src/commands/{agents-cleanup.md → agents/cleanup.md} +12 -6
  3. package/.agent-src/commands/{agents-prepare.md → agents/prepare.md} +4 -3
  4. package/.agent-src/commands/agents.md +46 -0
  5. package/.agent-src/commands/{chat-history-checkpoint.md → chat-history/checkpoint.md} +4 -4
  6. package/.agent-src/commands/{chat-history-clear.md → chat-history/clear.md} +4 -4
  7. package/.agent-src/commands/{chat-history-resume.md → chat-history/resume.md} +4 -4
  8. package/.agent-src/commands/chat-history/show.md +107 -0
  9. package/.agent-src/commands/chat-history.md +33 -89
  10. package/.agent-src/commands/{commit-in-chunks.md → commit/in-chunks.md} +15 -13
  11. package/.agent-src/commands/commit.md +22 -2
  12. package/.agent-src/commands/{context-create.md → context/create.md} +4 -3
  13. package/.agent-src/commands/{context-refactor.md → context/refactor.md} +4 -3
  14. package/.agent-src/commands/context.md +44 -0
  15. package/.agent-src/commands/{copilot-agents-init.md → copilot-agents/init.md} +4 -3
  16. package/.agent-src/commands/{copilot-agents-optimize.md → copilot-agents/optimize.md} +4 -3
  17. package/.agent-src/commands/copilot-agents.md +44 -0
  18. package/.agent-src/commands/council/default.md +221 -0
  19. package/.agent-src/commands/{council-design.md → council/design.md} +6 -5
  20. package/.agent-src/commands/{council-optimize.md → council/optimize.md} +7 -6
  21. package/.agent-src/commands/{council-pr.md → council/pr.md} +6 -5
  22. package/.agent-src/commands/council.md +47 -212
  23. package/.agent-src/commands/{create-pr-description.md → create-pr/description-only.md} +4 -2
  24. package/.agent-src/commands/create-pr.md +26 -5
  25. package/.agent-src/commands/{feature-dev.md → feature/dev.md} +5 -10
  26. package/.agent-src/commands/{feature-explore.md → feature/explore.md} +4 -8
  27. package/.agent-src/commands/{feature-plan.md → feature/plan.md} +4 -8
  28. package/.agent-src/commands/{feature-refactor.md → feature/refactor.md} +4 -8
  29. package/.agent-src/commands/{feature-roadmap.md → feature/roadmap.md} +6 -10
  30. package/.agent-src/commands/feature.md +6 -12
  31. package/.agent-src/commands/{fix-ci.md → fix/ci.md} +4 -8
  32. package/.agent-src/commands/{fix-portability.md → fix/portability.md} +4 -8
  33. package/.agent-src/commands/{fix-pr-bot-comments.md → fix/pr-bots.md} +4 -8
  34. package/.agent-src/commands/{fix-pr-developer-comments.md → fix/pr-developers.md} +4 -8
  35. package/.agent-src/commands/{fix-pr-comments.md → fix/pr.md} +7 -11
  36. package/.agent-src/commands/{fix-references.md → fix/refs.md} +4 -8
  37. package/.agent-src/commands/{fix-seeder.md → fix/seeder.md} +4 -8
  38. package/.agent-src/commands/fix.md +7 -13
  39. package/.agent-src/commands/{do-and-judge.md → judge/on-diff.md} +4 -3
  40. package/.agent-src/commands/judge/solo.md +90 -0
  41. package/.agent-src/commands/{do-in-steps.md → judge/steps.md} +4 -3
  42. package/.agent-src/commands/judge.md +35 -70
  43. package/.agent-src/commands/{memory-add.md → memory/add.md} +4 -3
  44. package/.agent-src/commands/{memory-full.md → memory/load.md} +4 -3
  45. package/.agent-src/commands/{memory-promote.md → memory/promote.md} +4 -3
  46. package/.agent-src/commands/{propose-memory.md → memory/propose.md} +4 -3
  47. package/.agent-src/commands/memory.md +48 -0
  48. package/.agent-src/commands/{module-create.md → module/create.md} +4 -3
  49. package/.agent-src/commands/{module-explore.md → module/explore.md} +4 -3
  50. package/.agent-src/commands/module.md +44 -0
  51. package/.agent-src/commands/{optimize-agents.md → optimize/agents.md} +4 -8
  52. package/.agent-src/commands/{optimize-augmentignore.md → optimize/augmentignore.md} +4 -9
  53. package/.agent-src/commands/{optimize-rtk-filters.md → optimize/rtk.md} +4 -8
  54. package/.agent-src/commands/{optimize-skills.md → optimize/skills.md} +4 -8
  55. package/.agent-src/commands/optimize.md +4 -10
  56. package/.agent-src/commands/{override-create.md → override/create.md} +4 -3
  57. package/.agent-src/commands/{override-manage.md → override/manage.md} +4 -3
  58. package/.agent-src/commands/override.md +44 -0
  59. package/.agent-src/commands/{roadmap-create.md → roadmap/create.md} +4 -3
  60. package/.agent-src/commands/{roadmap-execute.md → roadmap/execute.md} +4 -3
  61. package/.agent-src/commands/roadmap.md +44 -0
  62. package/.agent-src/commands/{tests-create.md → tests/create.md} +4 -3
  63. package/.agent-src/commands/{tests-execute.md → tests/execute.md} +4 -3
  64. package/.agent-src/commands/tests.md +44 -0
  65. package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +72 -0
  66. package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +79 -0
  67. package/.agent-src/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md +98 -0
  68. package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +87 -0
  69. package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +62 -0
  70. package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +78 -0
  71. package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +85 -0
  72. package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +65 -0
  73. package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +78 -0
  74. package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +62 -0
  75. package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +55 -0
  76. package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +53 -0
  77. package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +77 -0
  78. package/.agent-src/contexts/judges/no-consolidate-rationale.md +102 -0
  79. package/.agent-src/contexts/judges/persona-voice-rubric.md +140 -0
  80. package/.agent-src/rules/artifact-engagement-recording.md +13 -69
  81. package/.agent-src/rules/ask-when-uncertain.md +27 -42
  82. package/.agent-src/rules/augment-portability.md +15 -61
  83. package/.agent-src/rules/augment-source-of-truth.md +27 -93
  84. package/.agent-src/rules/cli-output-handling.md +10 -76
  85. package/.agent-src/rules/command-suggestion-policy.md +18 -59
  86. package/.agent-src/rules/commit-conventions.md +17 -14
  87. package/.agent-src/rules/direct-answers.md +34 -49
  88. package/.agent-src/rules/docker-commands.md +5 -5
  89. package/.agent-src/rules/docs-sync.md +15 -69
  90. package/.agent-src/rules/language-and-tone.md +48 -72
  91. package/.agent-src/rules/missing-tool-handling.md +28 -22
  92. package/.agent-src/rules/no-cheap-questions.md +45 -52
  93. package/.agent-src/rules/no-roadmap-references.md +73 -0
  94. package/.agent-src/rules/package-ci-checks.md +21 -61
  95. package/.agent-src/rules/preservation-guard.md +64 -29
  96. package/.agent-src/rules/review-routing-awareness.md +24 -43
  97. package/.agent-src/rules/roadmap-progress-sync.md +10 -71
  98. package/.agent-src/rules/security-sensitive-stop.md +8 -8
  99. package/.agent-src/rules/skill-quality.md +16 -48
  100. package/.agent-src/rules/slash-command-routing-policy.md +7 -4
  101. package/.agent-src/rules/think-before-action.md +52 -42
  102. package/.agent-src/rules/tool-safety.md +19 -16
  103. package/.agent-src/rules/ui-audit-gate.md +24 -38
  104. package/.agent-src/rules/user-interaction.md +13 -68
  105. package/.agent-src/skills/ai-council/SKILL.md +2 -0
  106. package/.agent-src/skills/api-testing/SKILL.md +1 -1
  107. package/.agent-src/skills/check-refs/SKILL.md +59 -40
  108. package/.agent-src/skills/conventional-commits-writing/SKILL.md +86 -28
  109. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +5 -5
  110. package/.agent-src/skills/developer-like-execution/SKILL.md +4 -4
  111. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +101 -65
  112. package/.agent-src/skills/flux/SKILL.md +30 -10
  113. package/.agent-src/skills/github-ci/SKILL.md +2 -2
  114. package/.agent-src/skills/judge-code-quality/SKILL.md +7 -8
  115. package/.agent-src/skills/judge-security-auditor/SKILL.md +4 -5
  116. package/.agent-src/skills/judge-test-coverage/SKILL.md +3 -4
  117. package/.agent-src/skills/lint-skills/SKILL.md +57 -39
  118. package/.agent-src/skills/md-language-check/SKILL.md +61 -39
  119. package/.agent-src/skills/override-management/SKILL.md +5 -5
  120. package/.agent-src/skills/quality-tools/SKILL.md +2 -2
  121. package/.agent-src/skills/react-shadcn-ui/SKILL.md +116 -43
  122. package/.agent-src/skills/readme-reviewer/SKILL.md +30 -29
  123. package/.agent-src/skills/readme-writing/SKILL.md +78 -53
  124. package/.agent-src/skills/readme-writing-package/SKILL.md +50 -47
  125. package/.agent-src/skills/receiving-code-review/SKILL.md +52 -47
  126. package/.agent-src/skills/refine-prompt/SKILL.md +0 -1
  127. package/.agent-src/skills/requesting-code-review/SKILL.md +35 -30
  128. package/.agent-src/skills/security/SKILL.md +7 -2
  129. package/.agent-src/skills/security-audit/SKILL.md +7 -3
  130. package/.agent-src/skills/systematic-debugging/SKILL.md +68 -60
  131. package/.agent-src/skills/test-driven-development/SKILL.md +59 -57
  132. package/.agent-src/skills/test-performance/SKILL.md +0 -1
  133. package/.agent-src/skills/traefik/SKILL.md +4 -4
  134. package/.agent-src/skills/verify-completion-evidence/SKILL.md +28 -26
  135. package/.claude-plugin/marketplace.json +22 -11
  136. package/AGENTS.md +2 -2
  137. package/CHANGELOG.md +90 -1
  138. package/README.md +18 -17
  139. package/docs/architecture.md +4 -6
  140. package/docs/catalog.md +67 -39
  141. package/docs/contracts/STABILITY.md +13 -7
  142. package/docs/contracts/adr-chat-history-split.md +1 -3
  143. package/docs/contracts/adr-command-suggestion.md +0 -2
  144. package/docs/contracts/adr-implement-ticket-runtime.md +1 -2
  145. package/docs/contracts/adr-product-ui-track.md +3 -6
  146. package/docs/contracts/adr-prompt-driven-execution.md +3 -4
  147. package/docs/contracts/agent-memory-contract.md +6 -11
  148. package/docs/contracts/artifact-engagement-flow.md +6 -9
  149. package/docs/contracts/command-clusters.md +56 -46
  150. package/docs/contracts/command-suggestion-flow.md +1 -3
  151. package/docs/contracts/context-paths.md +99 -0
  152. package/docs/contracts/file-ownership-matrix.json +6722 -0
  153. package/docs/contracts/file-ownership-matrix.md +134 -0
  154. package/docs/contracts/implement-ticket-flow.md +6 -9
  155. package/docs/contracts/linear-ai-rules-inclusion.md +0 -1
  156. package/docs/contracts/linear-ai-three-layers.md +0 -2
  157. package/docs/contracts/load-context-budget-model.md +178 -0
  158. package/docs/contracts/load-context-schema.md +1 -3
  159. package/docs/contracts/rule-interactions.md +0 -1
  160. package/docs/contracts/rule-priority-hierarchy.md +1 -1
  161. package/docs/contracts/ui-track-flow.md +7 -17
  162. package/docs/customization.md +2 -0
  163. package/docs/getting-started.md +5 -4
  164. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +100 -0
  165. package/package.json +1 -1
  166. package/scripts/_one_off_phase4_dispatch_latency.py +108 -0
  167. package/scripts/_one_off_phase6_trigger_jaccard.py +92 -0
  168. package/scripts/_phase2_shim_helper.py +109 -0
  169. package/scripts/agent-config +10 -0
  170. package/scripts/ai_council/_one_off_2a4_acceptance.py +208 -0
  171. package/scripts/ai_council/_one_off_context_layer_v1_estimate.py +67 -0
  172. package/scripts/ai_council/_one_off_context_layer_v1_review.py +292 -0
  173. package/scripts/ai_council/_one_off_followups_review.py +259 -0
  174. package/scripts/ai_council/_one_off_nondestructive_inline_audit.py +209 -0
  175. package/scripts/ai_council/_one_off_phase_2a_budget_rebalance.py +257 -0
  176. package/scripts/ai_council/_one_off_phase_2a_post_revert.py +197 -0
  177. package/scripts/ai_council/_one_off_rule_hardening_v1.py +251 -0
  178. package/scripts/ai_council/_one_off_structural_open_questions.py +232 -0
  179. package/scripts/ai_council/_one_off_structural_optimization.py +144 -0
  180. package/scripts/ai_council/_one_off_structural_v3_gaps.py +252 -0
  181. package/scripts/ai_council/_one_off_structural_v3_review.py +240 -0
  182. package/scripts/check_always_budget.py +363 -45
  183. package/scripts/check_cluster_patterns.py +159 -0
  184. package/scripts/check_command_count_messaging.py +14 -7
  185. package/scripts/check_context_paths.py +201 -0
  186. package/scripts/check_no_roadmap_refs.py +155 -0
  187. package/scripts/check_phase_coupling.py +148 -0
  188. package/scripts/check_portability.py +2 -0
  189. package/scripts/check_references.py +29 -2
  190. package/scripts/check_safety_floor_untouched.py +125 -0
  191. package/scripts/command_suggester/loader.py +4 -1
  192. package/scripts/compress.py +59 -13
  193. package/scripts/generate_index.py +6 -2
  194. package/scripts/generate_ownership_matrix.py +323 -0
  195. package/scripts/hooks/augment-roadmap-progress.sh +57 -0
  196. package/scripts/install.py +49 -28
  197. package/scripts/lint_no_new_atomic_commands.py +12 -11
  198. package/scripts/requirements-evals.txt +1 -0
  199. package/scripts/roadmap_progress_hook.py +159 -0
  200. package/scripts/schemas/command.schema.json +4 -3
  201. package/scripts/skill_linter.py +1 -0
  202. package/scripts/sync_agent_settings.py +25 -2
  203. package/scripts/update_counts.py +7 -0
@@ -4,15 +4,13 @@ stability: beta
4
4
 
5
5
  # Artifact Engagement — Flow & Recording Contract
6
6
 
7
- > Cross-cutting reference for the artifact-engagement telemetry system
8
- > shipped under
9
- > [`road-to-artifact-engagement-telemetry.md`](../../agents/roadmaps/road-to-artifact-engagement-telemetry.md).
10
- > Phase 1 + 2 ship the schema, CLI, and engine. Phase 3 ships the
11
- > agent-side hooks (this document).
7
+ > Cross-cutting reference for the artifact-engagement telemetry system.
8
+ > The schema, CLI, and engine ship first; the agent-side hooks (this
9
+ > document) ship after.
12
10
  >
13
11
  > - **Created:** 2026-04-30
14
- > - **Status:** Phase 5 — schema, engine, recording, aggregator, renderer,
15
- > and redaction validator are in place. Phase 6 (dogfooding) next.
12
+ > - **Status:** schema, engine, recording, aggregator, renderer, and
13
+ > redaction validator are in place. Dogfooding next.
16
14
 
17
15
  This document is the stable reference for **what gets recorded, when, and
18
16
  under which constraints**. The roadmap tracks phased delivery; the rule
@@ -255,8 +253,7 @@ layers reject.
255
253
 
256
254
  ## See also
257
255
 
258
- - [`road-to-artifact-engagement-telemetry`](../../agents/roadmaps/road-to-artifact-engagement-telemetry.md) — phased delivery
259
256
  - [`artifact-engagement-recording`](../../.agent-src.uncompressed/rules/artifact-engagement-recording.md) — agent-side trigger
260
257
  - [`implement-ticket-flow`](implement-ticket-flow.md) — the eight-step contract this rule observes
261
258
  - [`scripts/telemetry/`](../../.agent-src.uncompressed/templates/scripts/telemetry/) — schema, boundary session, settings reader
262
- - [`tests/telemetry/`](../../tests/telemetry/) — contract enforcement (104 cases through Phase 5: schema, settings, aggregator, renderer, CLI, cost-floor, redaction)
259
+ - [`tests/telemetry/`](../../tests/telemetry/) — contract enforcement (schema, settings, aggregator, renderer, CLI, cost-floor, redaction)
@@ -4,10 +4,9 @@ stability: beta
4
4
 
5
5
  # Command-cluster contract
6
6
 
7
- > **Status:** beta — locked for `1.15.0` Phase 1 (top-3 clusters).
8
- > Phase 2 (remaining 12 clusters) waits one deprecation cycle.
9
- > Source roadmap: [`agents/roadmaps/archive/road-to-governance-cleanup.md`](../../agents/roadmaps/archive/road-to-governance-cleanup.md)
10
- > § F2.
7
+ > **Status:** beta — Phase 1 locked for `1.15.0` (top-3 clusters);
8
+ > Phase 2 locked for `1.17.0` (the remaining 12 clusters);
9
+ > Phase 3 locked for `1.17.0` (`council` cluster).
11
10
 
12
11
  The agent-config command surface collapses related atomic commands
13
12
  into **verb clusters**. A cluster is a single top-level command
@@ -21,35 +20,36 @@ linter (`scripts/lint_no_new_atomic_commands.py`) reads this file;
21
20
  new atomic commands without a `cluster:` field pointing to an
22
21
  entry below fail CI.
23
22
 
24
- ## Phase 1 clusters (locked, ship in 1.15.0)
25
-
26
- | Cluster | Sub-commands | Replaces |
27
- |---|---|---|
28
- | `fix` | `ci` · `pr` · `pr-bots` · `pr-developers` · `portability` · `refs` · `seeder` | `fix-ci` · `fix-pr-comments` · `fix-pr-bot-comments` · `fix-pr-developer-comments` · `fix-portability` · `fix-references` · `fix-seeder` |
29
- | `optimize` | `agents` · `augmentignore` · `rtk` · `skills` | `optimize-agents` · `optimize-augmentignore` · `optimize-rtk-filters` · `optimize-skills` |
30
- | `feature` | `explore` · `plan` · `refactor` · `roadmap` | `feature-explore` · `feature-plan` · `feature-refactor` · `feature-roadmap` |
31
-
32
- **Net Phase 1:** 15 atomic commands 3 cluster commands.
33
-
34
- ## Phase 2 clusters (deferred to next minor release)
35
-
36
- Listed in `road-to-governance-cleanup.md` § Finding 2. Not yet locked
37
- into the linter; new atomic commands matching these prefixes still
38
- fail CI without a `cluster:` field once a Phase 2 entry is added
39
- here.
40
-
41
- - `chat-history` (`show` · `resume` · `clear` · `checkpoint`)
42
- - `agents` (`audit` · `cleanup` · `prepare`)
43
- - `memory` (`add` · `load` · `promote` · `propose`)
44
- - `roadmap` (`create` · `execute`)
45
- - `module` (`create` · `explore`)
46
- - `tests` (`create` · `execute`)
47
- - `context` (`create` · `refactor`)
48
- - `override` (`create` · `manage`)
49
- - `copilot-agents` (`init` · `optimize`)
50
- - `commit` (flag: `--in-chunks`)
51
- - `judge` (`solo` · `steps` · `on-diff`) + standalone `/review`
52
- - `create-pr` (flag: `--description-only`)
23
+ ## Locked clusters
24
+
25
+ The full set, both phases. Linter parses every backticked name in
26
+ column 1 of this table.
27
+
28
+ | Cluster | Phase | Sub-commands | Replaces |
29
+ |---|:-:|---|---|
30
+ | `fix` | 1 | `ci` · `pr` · `pr-bots` · `pr-developers` · `portability` · `refs` · `seeder` | `fix-ci` · `fix-pr-comments` · `fix-pr-bot-comments` · `fix-pr-developer-comments` · `fix-portability` · `fix-references` · `fix-seeder` |
31
+ | `optimize` | 1 | `agents` · `augmentignore` · `rtk` · `skills` | `optimize-agents` · `optimize-augmentignore` · `optimize-rtk-filters` · `optimize-skills` |
32
+ | `feature` | 1 | `explore` · `plan` · `refactor` · `roadmap` · `dev` | `feature-explore` · `feature-plan` · `feature-refactor` · `feature-roadmap` · `feature-dev` |
33
+ | `chat-history` | 2 | `show` · `resume` · `clear` · `checkpoint` | `chat-history` (legacy status) · `chat-history-resume` · `chat-history-clear` · `chat-history-checkpoint` |
34
+ | `agents` | 2 | `audit` · `cleanup` · `prepare` | `agents-audit` · `agents-cleanup` · `agents-prepare` |
35
+ | `memory` | 2 | `add` · `load` · `promote` · `propose` | `memory-add` · `memory-full` · `memory-promote` · `propose-memory` |
36
+ | `roadmap` | 2 | `create` · `execute` | `roadmap-create` · `roadmap-execute` |
37
+ | `module` | 2 | `create` · `explore` | `module-create` · `module-explore` |
38
+ | `tests` | 2 | `create` · `execute` | `tests-create` · `tests-execute` |
39
+ | `context` | 2 | `create` · `refactor` | `context-create` · `context-refactor` |
40
+ | `override` | 2 | `create` · `manage` | `override-create` · `override-manage` |
41
+ | `copilot-agents` | 2 | `init` · `optimize` | `copilot-agents-init` · `copilot-agents-optimize` |
42
+ | `judge` | 2 | `solo` · `on-diff` · `steps` | `judge` (legacy standalone) · `do-and-judge` · `do-in-steps` |
43
+ | `commit` | 2 | `in-chunks` | `commit-in-chunks` |
44
+ | `create-pr` | 2 | `description-only` | `create-pr-description` |
45
+ | `council` | 3 | `default` · `pr` · `design` · `optimize` | `council` (legacy default lens) · `council-pr` · `council-design` · `council-optimize` |
46
+
47
+ **Net change:** Phase 1 collapsed 15 atomics → 3 clusters; Phase 2
48
+ collapses 26 atomics → 11 sub-command clusters. Sub-commands use
49
+ colon syntax (`/cluster:sub`) so Claude Code's command palette can
50
+ autocomplete them. The standalone `/review` surface that mirrors
51
+ `judge solo` lives at
52
+ [`commands/review-changes.md`](../../.agent-src.uncompressed/commands/review-changes.md).
53
53
 
54
54
  ## Frontmatter contract
55
55
 
@@ -70,7 +70,7 @@ The linter only flags **newly-added** files under `commands/`
70
70
  (git status `A`). Pre-existing commands without `cluster:` are
71
71
  grandfathered indefinitely; modifying them does NOT require adding
72
72
  the field. The goal is to stop the atomic surface from growing,
73
- not to retro-fit every legacy command into a Phase 1 cluster.
73
+ not to retro-fit every legacy command into a cluster.
74
74
 
75
75
  ## Deprecation shim contract
76
76
 
@@ -92,22 +92,24 @@ file with `superseded_by:` set.
92
92
 
93
93
  ## Removal cycle
94
94
 
95
- | State | Release |
96
- |---|---|
97
- | Cluster command shipped, shim active | `1.15.0` |
98
- | Shim emits warning, both work | `1.15.x` (one minor cycle) |
99
- | Shim removed, only cluster works | `1.16.0` |
95
+ | State | Phase 1 | Phase 2 |
96
+ |---|---|---|
97
+ | Cluster command shipped, shim active | `1.15.0` | `1.17.0` |
98
+ | Shim emits warning, both work | `1.15.x` / `1.16.x` (one minor cycle) | `1.17.x` (one minor cycle) |
99
+ | Shim removed, only cluster works | `1.17.0` (Phase 1 atomics removed alongside Phase 2 lock-in) | next minor after `1.17.x` |
100
100
 
101
- No permanent aliases. Consumers who pin a 1.15 minor get a full
102
- release window of warnings; the 1.16 release notes call out the
103
- removal explicitly.
101
+ No permanent aliases. Consumers who pin a 1.17 minor get a full
102
+ release window of warnings; the next-minor release notes call out
103
+ the removal explicitly. The 1.17.0 release ships Phase 2 cluster
104
+ locks **and** drops the seven Phase 1 atomic shims at the end of
105
+ their deprecation cycle.
104
106
 
105
107
  ## Linter behavior
106
108
 
107
109
  `scripts/lint_no_new_atomic_commands.py`:
108
110
 
109
111
  - Reads the locked cluster names from this file (parsed from the
110
- Phase 1 table above).
112
+ "Locked clusters" table above — column 1 backticks).
111
113
  - Finds every command file **added** since `--baseline`
112
114
  (default: `main`) — modifications to existing files are ignored.
113
115
  - For each new file, requires `cluster:` to be set to one of the
@@ -116,11 +118,19 @@ removal explicitly.
116
118
 
117
119
  `--all` mode (manual audit only, not in CI) lints every command
118
120
  file and surfaces grandfathered ones — useful when planning a
119
- Phase 2 cluster expansion.
121
+ future cluster expansion.
122
+
123
+ `scripts/check_cluster_patterns.py` (Phase 2 onward):
124
+
125
+ - Compares each cluster dispatcher's structure against the Phase 1
126
+ reference patterns (`commands/fix.md`, `commands/optimize.md`,
127
+ `commands/feature.md`).
128
+ - Required sections: top-of-file `# /<cluster>`, `## Sub-commands`
129
+ table with `Sub-command | Routes to | Purpose` columns, `## Dispatch`
130
+ steps, `## Migration` notice, `## Rules` block.
131
+ - Fails CI if a new cluster invents a different dispatch shape.
120
132
 
121
133
  ## See also
122
134
 
123
- - [`agents/roadmaps/archive/road-to-governance-cleanup.md`](../../agents/roadmaps/archive/road-to-governance-cleanup.md) — F2 phased-collapse decision.
124
- - [`agents/roadmaps/road-to-post-pr29-optimize.md`](../../agents/roadmaps/road-to-post-pr29-optimize.md) — P0.8 anchors this contract in 1.15.0.
125
135
  - [`docs/migrations/commands-1.15.0.md`](../migrations/commands-1.15.0.md) — user-facing migration notes.
126
136
  - [`docs/contracts/STABILITY.md`](STABILITY.md) — `beta` level rules apply.
@@ -4,8 +4,7 @@ stability: beta
4
4
 
5
5
  # Command Suggestion — Flow & Scoring Contract
6
6
 
7
- > Cross-cutting reference for the suggestion layer shipped under
8
- > [`road-to-context-aware-command-suggestion.md`](../../agents/roadmaps/road-to-context-aware-command-suggestion.md).
7
+ > Cross-cutting reference for the suggestion layer.
9
8
  > The runtime rule is [`command-suggestion`](../../.agent-src.uncompressed/rules/command-suggestion-policy.md);
10
9
  > the architectural decision lives in [`adr-command-suggestion.md`](adr-command-suggestion.md).
11
10
  >
@@ -144,5 +143,4 @@ Cursor, Cline, Windsurf) get the engine via `scripts/`.
144
143
  - [`command-suggestion`](../../.agent-src.uncompressed/rules/command-suggestion-policy.md) — runtime rule
145
144
  - [`adr-command-suggestion.md`](adr-command-suggestion.md) — architectural decision
146
145
  - [`command-suggestion-eligibility.md`](command-suggestion-eligibility.md) — locked eligibility table
147
- - [`road-to-context-aware-command-suggestion.md`](../../agents/roadmaps/road-to-context-aware-command-suggestion.md) — phased delivery
148
146
  - [`agent-settings`](../../.agent-src.uncompressed/templates/agent-settings.md) — `commands.suggestion.*` reference
@@ -0,0 +1,99 @@
1
+ ---
2
+ stability: beta
3
+ ---
4
+
5
+ # Context-file path conventions
6
+
7
+ > **Audience:** rule, skill, and command authors who need to extract
8
+ > reasoning material into a `contexts/` file.
9
+ > **Linter:** `scripts/check_context_paths.py`
10
+ > (run via `task check-context-paths`).
11
+ > **Companion:** [`load-context-schema.md`](load-context-schema.md) —
12
+ > frontmatter contract for citing a context from a rule.
13
+
14
+ This contract defines **where** a context file is allowed to live under
15
+ `.agent-src.uncompressed/contexts/` (the source-of-truth tree). It is the
16
+ DAG root of `road-to-structural-optimization` Phase 0: the file-ownership
17
+ matrix (Phase 0.1) greps for context-file fan-out at the locked tree, and
18
+ several later phases (2A, 2B, 3a/b/c, 6) extract material into specific
19
+ sub-trees named here. Locking the layout up-front keeps the matrix
20
+ deterministic and prevents naming drift across phases.
21
+
22
+ **Status:** internal-locked. Changes require a contract version bump and
23
+ a roadmap revision (per `road-to-structural-optimization.md` § Definitions).
24
+
25
+ ## Locked path tree
26
+
27
+ | Sub-tree | Owner phase | Naming convention |
28
+ |---|---|---|
29
+ | `contexts/communication/rules-always/` | Phase 2A | `<rule-name>-mechanics.md` |
30
+ | `contexts/communication/rules-auto/` | Phase 2B | `<rule-name>-mechanics.md` |
31
+ | `contexts/judges/` | Phase 3a | `judge-shared-procedure.md`, `persona-voice-rubric.md`, `no-consolidate-rationale.md` |
32
+ | `contexts/analysis/` | Phase 3b | `project-analysis-core-procedure.md` (+ future siblings) |
33
+ | `contexts/skills/` | Phase 3c | `skill-quality-rules.md` (+ future siblings) |
34
+ | `contexts/chat-history/` | Phase 6 | `cadence.md`, `ownership.md`, `visibility.md` |
35
+ | `contexts/execution/` | PR #34 (existing) | `<topic>-mechanics.md`, `<topic>-detection.md`, `<topic>-examples.md` |
36
+ | `contexts/authority/` | PR #34 (existing) | `<topic>-mechanics.md` |
37
+
38
+ ## Grandfathered files
39
+
40
+ The six root-level files below predate this contract and stay where they
41
+ are. **No new files at the contexts root** — every new context must live
42
+ in a sub-tree above.
43
+
44
+ ```
45
+ contexts/augment-infrastructure.md
46
+ contexts/documentation-hierarchy.md
47
+ contexts/model-recommendations.md
48
+ contexts/override-system.md
49
+ contexts/skills-and-commands.md
50
+ contexts/subagent-configuration.md
51
+ ```
52
+
53
+ ## Rules enforced by `check_context_paths.py`
54
+
55
+ 1. **Sub-tree allow-list.** Every `*.md` under
56
+ `.agent-src.uncompressed/contexts/` must be either (a) in one of the
57
+ eight locked sub-trees above, or (b) one of the six grandfathered
58
+ root-level files. Anything else fails CI.
59
+ 2. **No collisions.** No two context files may share the same basename
60
+ across sub-trees. `judges/persona-voice-rubric.md` and
61
+ `analysis/persona-voice-rubric.md` are mutually exclusive.
62
+ 3. **No orphans.** Every context file must be referenced from at least
63
+ one rule, skill, command, or other context. References count as either
64
+ a frontmatter `load_context:` / `load_context_eager:` entry, **or** a
65
+ markdown body mention of the relative path
66
+ (`contexts/<sub-tree>/<file>.md` or
67
+ `.agent-src.uncompressed/contexts/<sub-tree>/<file>.md`).
68
+
69
+ The linter exits non-zero on any violation and prints a one-line
70
+ diagnostic per offence.
71
+
72
+ ## Adding a new sub-tree
73
+
74
+ 1. Open a roadmap revision proposing the new sub-tree (owner phase,
75
+ naming convention, expected first-mover file).
76
+ 2. Council-review under the same gate as a `load_context:` schema change.
77
+ 3. Bump this contract's version line in the roadmap (G2 fan-out: the
78
+ ownership matrix re-runs after the bump and new cells must remain
79
+ `READ_ONLY` only).
80
+ 4. Update `LOCKED_SUBTREES` in `scripts/check_context_paths.py` and
81
+ the table above in the same PR.
82
+
83
+ ## Why `check_context_paths.py` carries the orphan check
84
+
85
+ `road-to-structural-optimization.md` 0.6.3 specified extending
86
+ `scripts/docs-sync.py` for the orphan check. That script does not exist
87
+ in this repo (the cross-reference checker lives in
88
+ `scripts/check_references.py`, scoped to broken refs rather than orphan
89
+ detection). Folding the orphan check into `check_context_paths.py` keeps
90
+ all context-file invariants in one linter and avoids inventing a new
91
+ sync tool. Functionally equivalent to the roadmap intent; the roadmap
92
+ itself is annotated with this deviation.
93
+
94
+ ## See also
95
+
96
+ - [`load-context-schema.md`](load-context-schema.md) — how a rule cites
97
+ one of these paths in frontmatter.
98
+ - [`rule-priority-hierarchy.md`](rule-priority-hierarchy.md) — which rule
99
+ wins when several fire on the same turn (independent of context paths).