@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
@@ -3,69 +3,21 @@ type: "auto"
3
3
  tier: "mechanical-already"
4
4
  description: "Editing or creating files inside .augment/ directory — skills, rules, commands, templates, contexts must be project-agnostic"
5
5
  source: package
6
- load_context:
7
- - .agent-src.uncompressed/contexts/communication/rules-auto/augment-portability-mechanics.md
6
+ triggers:
7
+ - path_prefix: ".augment/"
8
+ - path_prefix: ".agent-src.uncompressed/"
9
+ - keyword: "portable"
10
+ routes_to:
11
+ - "guideline:augment-portability-patterns"
12
+ validator_ignore:
13
+ - type: "substring"
14
+ pattern: ".agent-src.uncompressed/"
15
+ reason: "Rule scopes the portability gate to the uncompressed authoring tree."
8
16
  ---
9
17
 
10
- # Package Portability
18
+ # Augment Portability
11
19
 
12
- Everything that ships with the `event4u/agent-config` package MUST be
13
- **project-agnostic**. That includes:
20
+ **Iron Law.** Files inside `.augment/` and `.agent-src.uncompressed/` MUST stay project-agnostic — no project names, domains, stacks.
14
21
 
15
- - Everything inside `.augment/` (skills, rules, commands, guidelines,
16
- templates, contexts)
17
- - The package repo's own root `AGENTS.md`
18
- - The package repo's own `.github/copilot-instructions.md`
19
-
20
- All three are either installed into consumer projects (`.augment/` via
21
- `install.sh`) or read by AI tools when working on the package itself
22
- (`AGENTS.md`, `copilot-instructions.md`). Leaking consumer-specific
23
- content into any of them pollutes downstream projects or misleads agents.
24
-
25
- ## Rules
26
-
27
- - NEVER reference a specific consumer project, repo name, domain, or tech
28
- stack directly. The package repo itself (`event4u/agent-config`) MAY be
29
- named inside its own root `AGENTS.md` and `copilot-instructions.md` —
30
- that is meta about the package, not a leak.
31
- - NEVER hardcode consumer-project paths, class names, or conventions.
32
- - Write content so it works as a **reusable package** across any project.
33
- - Project-specific behavior belongs in the **consumer's** `.agent-settings.yml`,
34
- `AGENTS.md`, or `agents/` — never in files shipped by this package.
35
- - If a skill or rule needs project-specific input, read it from
36
- `.agent-settings.yml` or accept it as a parameter.
37
- - When reviewing or editing package files, always ask: "Would this still
38
- make sense in a completely different project?"
39
-
40
- ## Runtime invocations — no `task` commands
41
-
42
- Skills, rules, commands, guidelines, personas, and context docs run in
43
- **consumer projects**, which may not have Task installed. **Never**
44
- reference a `task <something>` invocation inside any artefact file
45
- under `.agent-src.uncompressed/{skills,rules,commands,guidelines,personas,contexts}/`
46
- (and therefore also not in the compressed mirror under `.agent-src/`).
47
- Use direct script invocations instead.
48
-
49
- ## Consumer CLI — `./agent-config`
50
-
51
- A subset of package scripts is exposed through a project-local CLI
52
- wrapper `./agent-config` (written into the project root by the
53
- installer, gitignored). Artefacts MUST prefer the CLI over raw
54
- `python3 scripts/…` paths for every command the CLI already covers.
55
-
56
- ## Translation tables — see mechanics
57
-
58
- The full `task`-to-script translation table, the `./agent-config`
59
- CLI mapping, and the rationale (Task absence on consumers,
60
- maintainer-vs-artefact split) all live in
61
- [`contexts/communication/rules-auto/augment-portability-mechanics.md`](../contexts/communication/rules-auto/augment-portability-mechanics.md).
62
- Pull it whenever an artefact is about to mention a runtime
63
- invocation.
64
-
65
- ## Enforcement
66
-
67
- `scripts/check_portability.py` scans `.augment/`, `.agent-src.uncompressed/`,
68
- and the package repo's root `AGENTS.md` + `.github/copilot-instructions.md`
69
- for forbidden identifiers, for any `task <name>` invocation inside
70
- artefact files, and for direct script invocations that bypass the
71
- `./agent-config` CLI. It runs in CI and must pass before any PR.
22
+ Body migrated to `guideline:augment-portability-patterns` (per P4 of `road-to-kernel-and-router.md`).
23
+ Trigger-set above activates this routing under the `balanced` and `full` profiles.
@@ -4,7 +4,16 @@ tier: "1"
4
4
  description: "Creating, editing, or modifying files inside .agent-src/ or .augment/ — the source of truth is .agent-src.uncompressed/, never edit the generated directories directly"
5
5
  source: package
6
6
  load_context:
7
- - .agent-src.uncompressed/contexts/communication/rules-auto/augment-source-of-truth-mechanics.md
7
+ - ../contexts/communication/rules-auto/augment-source-of-truth-mechanics.md
8
+ triggers:
9
+ - path_prefix: ".agent-src/"
10
+ - path_prefix: ".augment/"
11
+ - path_prefix: ".claude/"
12
+ - path_prefix: ".cursor/"
13
+ validator_ignore:
14
+ - type: "substring"
15
+ pattern: ".agent-src.uncompressed/"
16
+ reason: "Rule documents the source-of-truth boundary; mentioning the path is its purpose."
8
17
  ---
9
18
 
10
19
  # Source of Truth
@@ -5,119 +5,38 @@ description: "Deciding whether to ask the user or just act on a workflow step
5
5
  alwaysApply: false
6
6
  source: package
7
7
  load_context:
8
- - .agent-src.uncompressed/contexts/execution/autonomy-detection.md
9
- - .agent-src.uncompressed/contexts/execution/autonomy-mechanics.md
10
- - .agent-src.uncompressed/contexts/execution/autonomy-examples.md
8
+ - ../contexts/execution/autonomy-detection.md
9
+ - ../contexts/execution/autonomy-mechanics.md
10
+ - ../contexts/execution/autonomy-examples.md
11
+ triggers:
12
+ - intent: "trivial workflow question"
13
+ - intent: "autonomy mode"
14
+ - keyword: "personal.autonomy"
11
15
  ---
12
16
 
13
17
  # Autonomous Execution
14
18
 
15
- User's time is the scarce resource. Trivial workflow questions are
16
- noise. This rule defines **trivial** (just act), **blocking** (still
17
- ask), the **hard floor** (always ask, no override), and the **commit
18
- default** (never commit, never ask — review-first by design).
19
+ User's time is the scarce resource. Trivial workflow questions are noise. This rule defines **trivial** (just act), **blocking** (still ask), the **hard floor** (always ask, no override), and the **commit default** (never commit, never ask — review-first by design).
19
20
 
20
21
  ## Hard Floor — see [`non-destructive-by-default`](non-destructive-by-default.md)
21
22
 
22
- The universal safety floor (production-branch merges, deploys, pushes,
23
- prod data/infra, whimsical bulk deletions, and commits containing
24
- bulk deletions or infra changes) is governed by the canonical
25
- [`non-destructive-by-default`](non-destructive-by-default.md) rule.
26
- It applies regardless of `personal.autonomy`, a standing autonomy
27
- directive, or any roadmap authorization. Nothing in **this** rule
28
- lifts it. If a trigger fires, stop and ask — every other section
29
- below assumes the floor has already been cleared.
23
+ The universal safety floor (production-branch merges, deploys, pushes, prod data/infra, whimsical bulk deletions, and commits containing bulk deletions or infra changes) is governed by the canonical [`non-destructive-by-default`](non-destructive-by-default.md) rule. It applies regardless of `personal.autonomy`, a standing autonomy directive, or any roadmap authorization. Nothing in **this** rule lifts it. If a trigger fires, stop and ask — every other section below assumes the floor has already been cleared.
30
24
 
31
25
  ## Setting — `personal.autonomy`
32
26
 
33
- Three values: `on` (suppress trivial questions), `off` (ask trivial
34
- questions too), `auto` (default — same as `off` until the user opts
35
- in via a standing autonomy directive). Read once on the first turn
36
- (per [`layered-settings`](../../docs/guidelines/agent-infra/layered-settings.md#section-aware-merge-rules))
37
- and cache. Missing key → treat as `on`. Full table, semantics, and
38
- cloud behavior:
39
- [`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md).
27
+ Three values: `on` (suppress trivial questions), `off` (ask trivial questions too), `auto` (default — same as `off` until the user opts in via a standing autonomy directive). Read once on the first turn and cache. Missing key → treat as `on`. Full table, semantics, and cloud behavior: [`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md).
40
28
 
41
29
  ## Opt-in detection — match by intent, not exact string
42
30
 
43
- In `auto` mode, flip to `on` for the rest of the conversation when
44
- the user expresses **"stop asking on trivial steps, just work"**.
45
- Recognize **intent**, not the literal substring. Opt-out (same intent,
46
- reversed) flips back to `off`. Both directions are
47
- **speech-act-checked**: the phrase must be a meta-instruction to the
48
- agent, not content / quote / subject / code / third-party reference /
49
- hypothetical. In doubt → keep current mode, no speculative flips.
31
+ In `auto` mode, flip to `on` for the rest of the conversation when the user expresses **"stop asking on trivial steps, just work"**. Recognize **intent**, not the literal substring. Opt-out (same intent, reversed) flips back to `off`. Both directions are **speech-act-checked**: the phrase must be a meta-instruction to the agent, not content / quote / subject / code / third-party reference / hypothetical. In doubt → keep current mode, no speculative flips.
50
32
 
51
- Algorithm and speech-act heuristic:
52
- [`contexts/execution/autonomy-detection.md`](../contexts/execution/autonomy-detection.md).
53
- Anchor phrases (DE+EN), no-flip patterns, counter-examples:
54
- [`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
55
-
56
- ## Trivial — JUST ACT, do not ask
57
-
58
- In `personal.autonomy: on` or `auto`-after-opt-in, do not ask
59
- trivial workflow questions — pick the obvious next step and proceed.
60
- In `personal.autonomy: off`, ask them. Worked cases:
61
- [`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
62
-
63
- ## Blocking — STILL ASK regardless of `personal.autonomy`
64
-
65
- Beyond the Hard Floor above, the autonomy setting also never
66
- overrides:
67
-
68
- - **Vague-request triggers** in [`ask-when-uncertain`](ask-when-uncertain.md)
69
- — ambiguous requirements stay ambiguous; pick-one-and-pray is wrong.
70
- - **Architectural / structural choices** that the codebase doesn't
71
- already settle (multi-stack picks, library introductions).
72
- - **Security-sensitive paths** — see [`security-sensitive-stop`](security-sensitive-stop.md).
73
- - **Scope expansion** beyond the stated task — see [`scope-control`](scope-control.md).
74
- - **Remote-state operations** — push, merge, rebase, force-push,
75
- branch create/delete/switch, PR create/close/retarget, tag/release.
76
- Permission-gated by [`scope-control`](scope-control.md); the
77
- prod-trunk and deploy-tied subset is governed by
78
- [`non-destructive-by-default`](non-destructive-by-default.md).
79
- - **Destructive ops** — see [`non-destructive-by-default`](non-destructive-by-default.md)
80
- for the full taxonomy (whimsical bulk deletions, content
81
- destruction, commits containing bulk deletions or infra changes).
82
-
83
- When in doubt whether something is trivial or blocking → it is
84
- blocking. Ask.
85
-
86
- ## Commit policy — see [`commit-policy`](commit-policy.md)
87
-
88
- Committing is governed by the canonical [`commit-policy`](commit-policy.md)
89
- rule, which applies regardless of `personal.autonomy`. Summary:
90
-
91
- - NEVER commit unless user said so this turn, a commit command was
92
- invoked, a standing instruction is active, or the roadmap authorizes it.
93
- - NEVER ask about committing. The user invokes a command or says so.
94
- - In autonomous mode, the **only** permitted commit-related question is
95
- the one-shot pre-scan ask at the start of roadmap execution.
96
-
97
- Push, merge, rebase, branch creation, PR operations, and tags remain
98
- permission-gated by [`scope-control`](scope-control.md#git-operations--permission-gated).
99
-
100
- ## Failure modes
101
-
102
- Autonomy-side wrong-behavior patterns (sequencing-only asks, CI-run
103
- asks, commit asks, no-trade-off option blocks, re-asking after a
104
- standing opt-in):
105
- [`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
106
- For Hard-Floor failure modes see
107
- [`non-destructive-by-default`](non-destructive-by-default.md#failure-modes).
33
+ Algorithm and speech-act heuristic: [`contexts/execution/autonomy-detection.md`](../contexts/execution/autonomy-detection.md). Anchor phrases (DE+EN), no-flip patterns, counter-examples, trivial-vs-blocking taxonomy, commit-policy summary, and named failure modes: [`contexts/execution/autonomy-mechanics.md`](../contexts/execution/autonomy-mechanics.md) + [`contexts/execution/autonomy-examples.md`](../contexts/execution/autonomy-examples.md).
108
34
 
109
35
  ## See also
110
36
 
111
- - [`non-destructive-by-default`](non-destructive-by-default.md) —
112
- universal safety floor; never overridden by autonomy
37
+ - [`non-destructive-by-default`](non-destructive-by-default.md) — universal safety floor; never overridden by autonomy
113
38
  - [`scope-control`](scope-control.md) — git-ops permission gate
114
- (push/merge/branch/PR/tag stays explicit)
115
- - [`ask-when-uncertain`](ask-when-uncertain.md) — vague-request
116
- triggers that always require asking
117
- - [`no-cheap-questions`](no-cheap-questions.md) — mode-independent
118
- floor against context-derived, sequencing-only, and
119
- Iron-Law-violating asks (applies in `off` and pre-opt-in `auto` too)
120
- - [`direct-answers`](direct-answers.md) — Iron Laws on brevity and
121
- no-flattery (this rule extends to no-trivial-questions)
122
- - [`/commit-in-chunks`](../commands/commit-in-chunks.md) — auto-split and commit without confirmation
123
- - [`/commit`](../commands/commit.md) — split and commit with confirmation
39
+ - [`ask-when-uncertain`](ask-when-uncertain.md) vague-request triggers that always require asking
40
+ - [`no-cheap-questions`](no-cheap-questions.md) — mode-independent floor against context-derived asks
41
+ - [`commit-policy`](commit-policy.md) never-commit / never-ask Iron Law
42
+ - [`/commit:in-chunks`](../commands/commit/in-chunks.md), [`/commit`](../commands/commit.md)
@@ -2,89 +2,18 @@
2
2
  type: "auto"
3
3
  tier: "2a"
4
4
  description: "After completing a task where a repeated mistake or successful pattern appeared — capture as rule or skill"
5
- alwaysApply: false
6
5
  source: package
6
+ triggers:
7
+ - phrase: "after completing a task"
8
+ - keyword: "learning"
9
+ - keyword: "lesson"
10
+ routes_to:
11
+ - "skill:learning-to-rule-or-skill"
7
12
  ---
8
13
 
9
14
  # Capture Learnings
10
15
 
11
- When a repeated mistake, successful pattern, or new constraint appears,
12
- evaluate whether to capture as **rule** or **skill**.
16
+ **Iron Law.** After a task, capture repeated mistakes / successful patterns as a rule or skill never lose the learning.
13
17
 
14
- ## Promotion Gate
15
-
16
- A learning may be promoted to rule/skill ONLY if ALL gates pass:
17
-
18
- | Gate | Question | Must be YES |
19
- |---|---|---|
20
- | Repetition | Occurred at least twice OR clearly generalizable? | ✅ |
21
- | Impact | Improves correctness, reliability, or consistency? | ✅ |
22
- | Failure pattern | Prevents a real, observed failure? | ✅ |
23
- | Non-duplication | No existing rule/skill/guideline covers this? | ✅ |
24
- | Scope fit | Fits rule (constraint), skill (workflow), or guideline (convention)? | ✅ |
25
- | Minimal | Update existing preferred over creation? | Checked |
26
-
27
- **Reject immediately if:**
28
- - Occurred only once and is not clearly generalizable
29
- - Similar guidance already exists (update instead)
30
- - Baseline model knowledge or standard tool usage
31
- - Vague frustration without concrete failure pattern
32
-
33
- ## Triggers
34
-
35
- - Mistake that happened 2+ times
36
- - Pattern that improved outcome and should be reused
37
- - Missing constraint that caused issues
38
- - **User frustration or complaint** — extract the underlying failure pattern, don't ignore or defend
39
- - **New skill/rule/guideline created** — evaluate if it should be contributed upstream (→ `upstream-proposal` rule)
40
- - **Significant improvement to existing skill/rule** — consider upstream contribution
41
-
42
- ## Do NOT capture
43
-
44
- - One-off problems
45
- - Vague frustrations without concrete consequence
46
- - Content already covered by existing guidance
47
-
48
- ## Rule vs Skill
49
-
50
- - **Rule** → always-apply constraint ("never X", "always Y")
51
- - **Skill** → repeatable workflow with steps ("when X, do 1-5")
52
- - **Update** → existing guidance covers topic → extend, don't duplicate
53
-
54
- ## How
55
-
56
- - Smallest effective change
57
- - Update existing over creating duplicates
58
- - Full workflow: `learning-to-rule-or-skill` skill
59
-
60
- ## Where learnings are written
61
-
62
- Captured learnings live in the **consumer project's** `agents/learnings/`
63
- directory, one file per learning:
64
-
65
- ```
66
- agents/learnings/<YYYY-MM-DD>-<kebab-slug>.md
67
- ```
68
-
69
- Minimum fields (markdown with a small YAML frontmatter):
70
-
71
- ```yaml
72
- ---
73
- slug: <same as filename>
74
- captured: <ISO date>
75
- occurrences: <integer, ≥2 or note "one-off, clearly generalizable">
76
- type_hint: rule | skill | guideline | update
77
- scope_hint: project | package
78
- ---
79
- ```
80
-
81
- Body: 1-paragraph **pattern** (not anecdote) + 1 concrete example.
82
-
83
- A learning file is the input to `learning-to-rule-or-skill`, which
84
- produces a proposal draft under `agents/proposals/`. The proposal is
85
- then gated by `scripts/check_proposal.py`; see
86
- [`self-improvement-pipeline`](../../docs/guidelines/agent-infra/self-improvement-pipeline.md).
87
-
88
- The `agents/learnings/` and `agents/proposals/` directories are
89
- consumer-owned — the package ships templates and schemas, never the
90
- data.
18
+ Body migrated to `skill:learning-to-rule-or-skill` (per P4 of `road-to-kernel-and-router.md`).
19
+ Trigger-set above activates this routing under the `balanced` and `full` profiles.
@@ -1,51 +1,21 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "2a"
4
- alwaysApply: false
5
4
  description: "Running CLI commands that produce verbose output — git, tests, linters, docker, build tools, artisan, npm, composer. Wrap with rtk when installed; tail/grep is fallback."
6
5
  source: package
7
- load_context:
8
- - .agent-src.uncompressed/contexts/communication/rules-auto/cli-output-handling-mechanics.md
6
+ triggers:
7
+ - keyword: "git"
8
+ - keyword: "phpstan"
9
+ - keyword: "rector"
10
+ - keyword: "phpunit"
11
+ - keyword: "composer"
12
+ routes_to:
13
+ - "skill:rtk-output-filtering"
9
14
  ---
10
15
 
11
- # Development Efficiency
16
+ # Cli Output Handling
12
17
 
13
- Loaded for code, tests, quality tools, CLI, analysis. Communication / response style always-loaded `token-efficiency`.
18
+ **Iron Law.** Wrap verbose CLI output with `rtk` when installed; fall back to `tail`/`grep` only when missing.
14
19
 
15
- ## Iron Law rtk first, tail/grep fallback
16
-
17
- ```
18
- IF `rtk` IS INSTALLED, WRAP VERBOSE COMMANDS WITH rtk.
19
- USE tail / grep / cat ONLY AS FALLBACK WHEN rtk HAS NO MATCHING SUBCOMMAND.
20
- NEVER PIPE A STILL-RUNNING LONG COMMAND THROUGH tail — IT BUFFERS TO EOF.
21
- ```
22
-
23
- Detection: `rtk_installed: true` in `.agent-settings.yml`, or `which rtk`
24
- exits 0. Caching the result for the session is fine.
25
-
26
- | Verbose command | Use | Fallback (no rtk) |
27
- |---|---|---|
28
- | CI-style suites, full test runs | `rtk err <cmd>` — only errors/warnings | redirect → tail → grep |
29
- | Unit tests | `rtk test <cmd>` — only failures | redirect → tail → grep |
30
- | `git status`/`log`/`diff` | `rtk git <subcmd>` | plain |
31
- | `gh pr list`, `gh run view` | `rtk gh <subcmd>` | plain |
32
- | Generic noisy command | `rtk summary <cmd>` or `rtk err <cmd>` | redirect → tail |
33
-
34
- For the full rtk subcommand catalog and project-local filter setup → see
35
- the `rtk-output-filtering` skill.
36
-
37
- ## Lookup material — see mechanics
38
-
39
- Codebase-navigation tips, the redirect-summarize-target fallback
40
- pattern (with the three-step `tail`/`grep` recipe), the general rules
41
- (exit code first, summary line, targeted `grep`, read-once-act-move-on,
42
- iterative fixing), and the CLI-over-MCP catalog all live in
43
- [`contexts/communication/rules-auto/cli-output-handling-mechanics.md`](../contexts/communication/rules-auto/cli-output-handling-mechanics.md).
44
- Pull it whenever a verbose command is about to run without an `rtk`
45
- match.
46
-
47
- ## Exceptions
48
-
49
- - **Small output** (< 30 lines): Read directly, no redirect needed.
50
- - **Debugging**: OK to read more context around the specific error.
51
- - **User asks** for full output: Show it.
20
+ Body migrated to `skill:rtk-output-filtering` (per P4 of `road-to-kernel-and-router.md`).
21
+ Trigger-set above activates this routing under the `balanced` and `full` profiles.
@@ -2,28 +2,22 @@
2
2
  type: "auto"
3
3
  tier: "mechanical-already"
4
4
  description: "User prompt without /command but matching an eligible slash command — surface matches as numbered options with as-is escape hatch; never auto-executes, user always picks"
5
- alwaysApply: false
6
5
  source: package
6
+ triggers:
7
+ - phrase: "free-form prompt"
8
+ - phrase: "command suggestion"
9
+ routes_to:
10
+ - "contract:command-suggestion-flow"
7
11
  load_context:
8
- - .agent-src.uncompressed/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md
12
+ - "../contexts/contracts/command-suggestion-flow.md"
9
13
  ---
10
14
 
11
- # Command Suggestion
15
+ # Command Suggestion Policy
12
16
 
13
- When the user's prompt matches an eligible slash command, surface it
14
- as a **numbered option** alongside an "as-is" escape hatch the
15
- "run prompt as-is" option is **always last** and **always present**,
16
- never omitted. The user always picks. **Nothing auto-executes.** The
17
- suggestion layer is a read-only shortcut *finder*, not an invocation
18
- path.
19
-
20
- The deterministic engine lives in `scripts/command_suggester/`. The
21
- locked eligibility table lives in
22
- [`agents/contexts/command-suggestion-eligibility.md`](../../agents/contexts/command-suggestion-eligibility.md).
23
- The scoring contract and hardening list live in
24
- [`docs/contracts/adr-command-suggestion.md`](../../docs/contracts/adr-command-suggestion.md)
25
- and
26
- [`docs/contracts/command-suggestion-flow.md`](../../docs/contracts/command-suggestion-flow.md).
17
+ When the user's prompt matches an eligible slash command, surface it as a
18
+ **numbered option** alongside an "as-is" escape hatch. The user always
19
+ picks. **Nothing auto-executes.** Flow contract + senior-gate map:
20
+ [`contexts/contracts/command-suggestion-flow.md`](../contexts/contracts/command-suggestion-flow.md).
27
21
 
28
22
  ## Iron Law — never auto-execute
29
23
 
@@ -31,64 +25,22 @@ and
31
25
  SUGGEST. NEVER INVOKE. THE USER PICKS, ALWAYS.
32
26
  ```
33
27
 
34
- A suggestion block emits options. It does **not** start a command
35
- flow. The user picking option N triggers `slash-command-routing-policy` on the
36
- **next** turn — with all the command's own halts intact.
37
-
38
- ## When to fire
39
-
40
- On a user turn that matches **all** of the following:
41
-
42
- 1. The message does **not** start with an explicit `/command` (those
43
- bypass suggestion entirely — see `slash-command-routing-policy`).
44
- 2. `commands.suggestion.enabled` is `true` (default).
45
- 3. The user has not issued `/command-suggestion-off` in this conversation.
46
- 4. No clarification is owed for the same turn (per
47
- `ask-when-uncertain` — clarification wins; suggestion can fire next turn).
48
- 5. No active engine flow is mid-halt (e.g. an `/implement-ticket`
49
- step waiting on the user — the active flow has the floor).
50
- 6. The matcher returns at least one match above the effective
51
- `confidence_floor` after rank + cooldown + anti-noise.
52
-
53
- When all six hold, the suggestion block is the **first and only**
54
- thing the agent emits that turn. No tools, no edits, no other prose.
28
+ A suggestion block emits options. It does **not** start a command flow.
29
+ The "run as-is" option is **always present**, **always last**, never
30
+ removed.
55
31
 
56
32
  ## Subordination — when to stay silent
57
33
 
58
34
  The suggestion rule is **junior** to:
59
35
 
60
- - `scope-control` — never surfaces a git-op command behind a
61
- permission gate the user already declined this turn.
62
- - `ask-when-uncertain` — if a clarification is owed, the
63
- clarification is the only question; suggestion suppresses for
64
- that turn.
65
- - `verify-before-complete` — suggestion does not interrupt an
66
- evidence-gate verification that's already running.
67
- - Any active role-mode contract (`role-mode-adherence`).
68
- - Any active engine halt (`/implement-ticket`, `/work`, etc.).
69
-
70
- On any conflict → suggestion stays silent. Zero output. The user's
71
- prompt is processed as it would be without this rule.
72
-
73
- ## Cloud Behavior
74
-
75
- On cloud surfaces (Claude.ai Web, Skills API) the rule is **inert**
76
- unless the suggester package is shipped in the bundle. Treat
77
- `commands.suggestion.enabled` as `false` when the engine is not
78
- available — degrade silently, never crash the turn.
79
-
80
- ## Mechanics — output format, anti-noise, what this rule does NOT do
81
-
82
- The exact rendered options block, the `Recommendation:` rules, the
83
- `max_options` cap, the `rank.py` anti-noise filters, and the
84
- "what this rule does NOT do" catalog live in
85
- [`contexts/communication/rules-auto/command-suggestion-policy-mechanics.md`](../contexts/communication/rules-auto/command-suggestion-policy-mechanics.md).
86
-
87
- ## Interactions
88
-
89
- - [`slash-command-routing-policy`](slash-command-routing-policy.md) — explicit `/command` skips suggestion entirely.
90
- - [`user-interaction`](user-interaction.md) — numbered-options Iron Law and single-source recommendation.
91
- - [`ask-when-uncertain`](ask-when-uncertain.md) — clarification wins on conflict.
92
- - [`scope-control`](scope-control.md) — git-op gates outrank suggestion.
93
- - [`role-mode-adherence`](role-mode-adherence.md) — active mode contract outranks suggestion.
94
- - [`agents/contexts/command-suggestion-eligibility.md`](../../agents/contexts/command-suggestion-eligibility.md) — locked eligibility table.
36
+ - [`scope-control`](scope-control.md) — never surfaces a git-op command
37
+ behind a permission gate the user already declined.
38
+ - [`ask-when-uncertain`](ask-when-uncertain.md) — clarification wins on
39
+ conflict; suggestion suppresses for that turn.
40
+ - [`verify-before-complete`](verify-before-complete.md) — suggestion does
41
+ not interrupt an evidence-gate verification.
42
+ - [`role-mode-adherence`](role-mode-adherence.md) active role-mode
43
+ contract outranks suggestion.
44
+ - Any active engine halt (`/implement-ticket`, `/work`).
45
+
46
+ On any conflict → suggestion stays silent.
@@ -1,68 +1,19 @@
1
1
  ---
2
2
  type: "auto"
3
3
  tier: "2a"
4
- alwaysApply: false
5
4
  description: "Git commit message format, branch naming, conventional commits, committing, pushing, or creating pull requests"
6
5
  source: package
6
+ triggers:
7
+ - keyword: "commit"
8
+ - keyword: "branch"
9
+ - phrase: "conventional commits"
10
+ routes_to:
11
+ - "skill:conventional-commits-writing"
7
12
  ---
8
13
 
9
14
  # Commit Conventions
10
15
 
11
- All commit messages and squash/merge titles must follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
16
+ **Iron Law.** Use Conventional Commits (`feat:`, `fix:`, `chore:` …); branches `<type>/<short-slug>`; never invent your own format.
12
17
 
13
- ## Format
14
-
15
- - With scope: `<type>(<scope>): <description>`
16
- - Without scope: `<type>: <description>` (omit parentheses when no scope)
17
- - **Always English** — regardless of user's language.
18
- - **Imperative mood** ("add feature", not "added feature").
19
- - **First line max 72 characters.**
20
-
21
- ## Types
22
-
23
- | Type | When |
24
- |---|---|
25
- | `feat` | New user-facing functionality |
26
- | `fix` | Bug fix |
27
- | `refactor` | Code/structure change, no behavior change |
28
- | `docs` | Documentation only |
29
- | `test` | Tests only |
30
- | `chore` | Maintenance (deps, configs, tooling, cleanup) |
31
- | `ci` | CI/CD and workflow changes |
32
- | `style` | Code style (formatting, no logic change) |
33
- | `perf` | Performance improvement |
34
- | `build` | Build tooling / packaging changes |
35
-
36
- ## Scope
37
-
38
- - Use the **Jira ticket ID** as scope when the branch contains one (e.g. `DEV-1234`).
39
- - Otherwise use a short module or area name (e.g. `api`, `auth`, `skills`).
40
- - Scope is optional — only add when it improves clarity.
41
-
42
- ## Breaking changes
43
-
44
- Mark explicitly with `!` after type/scope or `BREAKING CHANGE:` in footer:
45
-
46
- ```
47
- feat(api)!: rename invoice status values
48
- refactor(auth)!: remove legacy session flow
49
- ```
50
-
51
- ## Commit splitting
52
-
53
- If a change mixes unrelated concerns, split into multiple commits.
54
- Do NOT hide bug fixes, CI work, docs, and refactors in one commit.
55
-
56
- ## Examples
57
-
58
- ```
59
- feat(DEV-1234): add absence type filter to working time report
60
- fix(DEV-1234): handle null value in equipment import
61
- test(DEV-1234): add component test for working time controller
62
- refactor: extract user sync logic into dedicated service
63
- chore: update PHP quality package to 2.1.0
64
- ci(lint): add skill-lint workflow
65
- docs(roadmap): add phase 3 implementation plan
66
- ```
67
-
68
- → Full type selection rules and anti-patterns: see guideline `docs/guidelines/php/git.md`.
18
+ Body migrated to `skill:conventional-commits-writing` (per P4 of `road-to-kernel-and-router.md`).
19
+ Trigger-set above activates this routing under the `balanced` and `full` profiles.