@event4u/agent-config 1.19.0 → 1.21.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 (297) hide show
  1. package/.agent-src/commands/agent-handoff.md +14 -10
  2. package/.agent-src/commands/agents.md +1 -1
  3. package/.agent-src/commands/bug-fix.md +1 -1
  4. package/.agent-src/commands/bug-investigate.md +2 -2
  5. package/.agent-src/commands/chat-history/import.md +166 -0
  6. package/.agent-src/commands/chat-history/learn.md +178 -0
  7. package/.agent-src/commands/chat-history/show.md +17 -18
  8. package/.agent-src/commands/chat-history.md +26 -25
  9. package/.agent-src/commands/compress.md +12 -0
  10. package/.agent-src/commands/context/create.md +2 -2
  11. package/.agent-src/commands/context.md +1 -1
  12. package/.agent-src/commands/copilot-agents.md +1 -1
  13. package/.agent-src/commands/council/default.md +21 -12
  14. package/.agent-src/commands/council.md +1 -1
  15. package/.agent-src/commands/create-pr.md +28 -8
  16. package/.agent-src/commands/e2e-heal.md +1 -1
  17. package/.agent-src/commands/e2e-plan.md +1 -1
  18. package/.agent-src/commands/feature/dev.md +3 -3
  19. package/.agent-src/commands/feature.md +1 -1
  20. package/.agent-src/commands/fix/seeder.md +2 -2
  21. package/.agent-src/commands/fix.md +1 -1
  22. package/.agent-src/commands/jira-ticket.md +1 -1
  23. package/.agent-src/commands/judge.md +2 -2
  24. package/.agent-src/commands/memory.md +1 -1
  25. package/.agent-src/commands/mode.md +5 -5
  26. package/.agent-src/commands/module.md +1 -1
  27. package/.agent-src/commands/onboard.md +4 -4
  28. package/.agent-src/commands/optimize/augmentignore.md +1 -1
  29. package/.agent-src/commands/optimize-prompt.md +61 -0
  30. package/.agent-src/commands/optimize.md +1 -1
  31. package/.agent-src/commands/override.md +1 -1
  32. package/.agent-src/commands/review-changes.md +1 -1
  33. package/.agent-src/commands/review-routing.md +1 -1
  34. package/.agent-src/commands/roadmap.md +1 -1
  35. package/.agent-src/commands/set-cost-profile.md +3 -3
  36. package/.agent-src/commands/sync-agent-settings.md +2 -2
  37. package/.agent-src/commands/sync-gitignore.md +1 -1
  38. package/.agent-src/commands/tests/create.md +2 -2
  39. package/.agent-src/commands/tests.md +1 -1
  40. package/.agent-src/commands/threat-model.md +4 -4
  41. package/.agent-src/contexts/authority/commit-mechanics.md +14 -1
  42. package/.agent-src/contexts/authority/destructive-mechanics.md +14 -1
  43. package/.agent-src/contexts/authority/scope-mechanics.md +5 -0
  44. package/.agent-src/contexts/communication/rules-auto/guidelines-mechanics.md +76 -0
  45. package/.agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +76 -0
  46. package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +4 -4
  47. package/.agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +98 -0
  48. package/.agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +93 -0
  49. package/.agent-src/contexts/communication/rules-auto/user-interaction-mechanics.md +125 -9
  50. package/.agent-src/contexts/execution/autonomy-mechanics.md +44 -0
  51. package/.agent-src/contexts/model-recommendations.md +2 -2
  52. package/.agent-src/contexts/override-system.md +1 -1
  53. package/.agent-src/personas/product-owner.md +2 -2
  54. package/.agent-src/personas/qa.md +1 -1
  55. package/.agent-src/rules/agent-authority.md +5 -6
  56. package/.agent-src/rules/agent-docs.md +11 -53
  57. package/.agent-src/rules/analysis-skill-routing.md +10 -40
  58. package/.agent-src/rules/architecture.md +6 -1
  59. package/.agent-src/rules/artifact-drafting-protocol.md +5 -0
  60. package/.agent-src/rules/artifact-engagement-recording.md +23 -59
  61. package/.agent-src/rules/ask-when-uncertain.md +24 -47
  62. package/.agent-src/rules/augment-portability.md +14 -62
  63. package/.agent-src/rules/augment-source-of-truth.md +10 -1
  64. package/.agent-src/rules/autonomous-execution.md +17 -98
  65. package/.agent-src/rules/capture-learnings.md +9 -80
  66. package/.agent-src/rules/cli-output-handling.md +12 -42
  67. package/.agent-src/rules/command-suggestion-policy.md +25 -73
  68. package/.agent-src/rules/commit-conventions.md +9 -58
  69. package/.agent-src/rules/commit-policy.md +16 -47
  70. package/.agent-src/rules/context-hygiene.md +5 -0
  71. package/.agent-src/rules/direct-answers.md +21 -42
  72. package/.agent-src/rules/docker-commands.md +11 -45
  73. package/.agent-src/rules/docs-sync.md +10 -56
  74. package/.agent-src/rules/downstream-changes.md +5 -0
  75. package/.agent-src/rules/e2e-testing.md +9 -44
  76. package/.agent-src/rules/guidelines.md +13 -75
  77. package/.agent-src/rules/improve-before-implement.md +10 -2
  78. package/.agent-src/rules/language-and-tone.md +35 -69
  79. package/.agent-src/rules/laravel-translations.md +11 -40
  80. package/.agent-src/rules/markdown-safe-codeblocks.md +4 -0
  81. package/.agent-src/rules/minimal-safe-diff.md +4 -0
  82. package/.agent-src/rules/missing-tool-handling.md +4 -0
  83. package/.agent-src/rules/model-recommendation.md +9 -61
  84. package/.agent-src/rules/no-attribution-footers.md +53 -0
  85. package/.agent-src/rules/no-cheap-questions.md +11 -27
  86. package/.agent-src/rules/no-council-references.md +76 -0
  87. package/.agent-src/rules/no-roadmap-references.md +8 -1
  88. package/.agent-src/rules/non-destructive-by-default.md +13 -43
  89. package/.agent-src/rules/onboarding-gate.md +9 -117
  90. package/.agent-src/rules/package-ci-checks.md +10 -37
  91. package/.agent-src/rules/php-coding.md +10 -55
  92. package/.agent-src/rules/preservation-guard.md +9 -0
  93. package/.agent-src/rules/review-routing-awareness.md +9 -97
  94. package/.agent-src/rules/reviewer-awareness.md +8 -83
  95. package/.agent-src/rules/roadmap-progress-sync.md +7 -170
  96. package/.agent-src/rules/role-mode-adherence.md +6 -2
  97. package/.agent-src/rules/rule-type-governance.md +8 -66
  98. package/.agent-src/rules/runtime-safety.md +5 -0
  99. package/.agent-src/rules/scope-control.md +17 -62
  100. package/.agent-src/rules/security-sensitive-stop.md +7 -1
  101. package/.agent-src/rules/size-enforcement.md +6 -1
  102. package/.agent-src/rules/skill-improvement-trigger.md +9 -49
  103. package/.agent-src/rules/skill-quality.md +7 -64
  104. package/.agent-src/rules/slash-command-routing-policy.md +11 -63
  105. package/.agent-src/rules/think-before-action.md +22 -87
  106. package/.agent-src/rules/token-efficiency.md +10 -74
  107. package/.agent-src/rules/token-optimizer-maintenance.md +68 -0
  108. package/.agent-src/rules/tool-safety.md +4 -0
  109. package/.agent-src/rules/ui-audit-gate.md +25 -61
  110. package/.agent-src/rules/upstream-proposal.md +9 -67
  111. package/.agent-src/rules/user-interaction.md +25 -95
  112. package/.agent-src/rules/verify-before-complete.md +1 -1
  113. package/.agent-src/skills/agent-docs-writing/SKILL.md +1 -1
  114. package/.agent-src/skills/ai-council/SKILL.md +69 -5
  115. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
  116. package/.agent-src/skills/analysis-skill-router/SKILL.md +3 -3
  117. package/.agent-src/skills/artisan-commands/SKILL.md +2 -2
  118. package/.agent-src/skills/authz-review/SKILL.md +1 -1
  119. package/.agent-src/skills/aws-infrastructure/SKILL.md +5 -5
  120. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +8 -8
  121. package/.agent-src/skills/bug-analyzer/SKILL.md +5 -5
  122. package/.agent-src/skills/code-refactoring/SKILL.md +4 -4
  123. package/.agent-src/skills/code-review/SKILL.md +2 -2
  124. package/.agent-src/skills/command-writing/SKILL.md +11 -0
  125. package/.agent-src/skills/composer-packages/SKILL.md +2 -2
  126. package/.agent-src/skills/context-authoring/SKILL.md +11 -0
  127. package/.agent-src/skills/context-document/SKILL.md +1 -1
  128. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +23 -0
  129. package/.agent-src/skills/copilot-config/SKILL.md +1 -1
  130. package/.agent-src/skills/dcf-modeling/SKILL.md +89 -0
  131. package/.agent-src/skills/dependency-upgrade/SKILL.md +2 -2
  132. package/.agent-src/skills/devcontainer/SKILL.md +2 -2
  133. package/.agent-src/skills/developer-like-execution/SKILL.md +1 -1
  134. package/.agent-src/skills/docker/SKILL.md +1 -1
  135. package/.agent-src/skills/dto-creator/SKILL.md +1 -1
  136. package/.agent-src/skills/estimate-ticket/SKILL.md +2 -2
  137. package/.agent-src/skills/fe-design/SKILL.md +4 -4
  138. package/.agent-src/skills/feature-planning/SKILL.md +5 -5
  139. package/.agent-src/skills/funnel-analysis/SKILL.md +100 -0
  140. package/.agent-src/skills/laravel/SKILL.md +1 -1
  141. package/.agent-src/skills/laravel-notifications/SKILL.md +5 -5
  142. package/.agent-src/skills/laravel-pennant/SKILL.md +1 -1
  143. package/.agent-src/skills/laravel-pulse/SKILL.md +4 -4
  144. package/.agent-src/skills/laravel-reverb/SKILL.md +2 -2
  145. package/.agent-src/skills/laravel-scheduling/SKILL.md +1 -1
  146. package/.agent-src/skills/md-language-check/SKILL.md +1 -1
  147. package/.agent-src/skills/migration-creator/SKILL.md +7 -7
  148. package/.agent-src/skills/multi-tenancy/SKILL.md +8 -8
  149. package/.agent-src/skills/okr-tree-modeling/SKILL.md +93 -0
  150. package/.agent-src/skills/performance-analysis/SKILL.md +3 -3
  151. package/.agent-src/skills/pest-testing/SKILL.md +6 -6
  152. package/.agent-src/skills/php-service/SKILL.md +2 -2
  153. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +3 -3
  154. package/.agent-src/skills/project-analysis-react/SKILL.md +1 -1
  155. package/.agent-src/skills/project-analysis-symfony/SKILL.md +1 -1
  156. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +2 -2
  157. package/.agent-src/skills/project-analyzer/SKILL.md +4 -4
  158. package/.agent-src/skills/prompt-optimizer/SKILL.md +108 -0
  159. package/.agent-src/skills/readme-reviewer/SKILL.md +1 -1
  160. package/.agent-src/skills/rice-prioritization/SKILL.md +100 -0
  161. package/.agent-src/skills/rule-writing/SKILL.md +33 -0
  162. package/.agent-src/skills/sentry-integration/SKILL.md +1 -1
  163. package/.agent-src/skills/skill-writing/SKILL.md +14 -0
  164. package/.agent-src/skills/subagent-orchestration/SKILL.md +34 -2
  165. package/.agent-src/skills/terraform/SKILL.md +2 -2
  166. package/.agent-src/skills/terragrunt/SKILL.md +8 -8
  167. package/.agent-src/skills/test-performance/SKILL.md +5 -5
  168. package/.agent-src/skills/threat-modeling/SKILL.md +2 -2
  169. package/.agent-src/skills/token-optimizer/SKILL.md +110 -0
  170. package/.agent-src/skills/unit-economics-modeling/SKILL.md +104 -0
  171. package/.agent-src/skills/universal-project-analysis/SKILL.md +1 -1
  172. package/.agent-src/skills/using-git-worktrees/SKILL.md +1 -0
  173. package/.agent-src/templates/AGENTS.md +1 -1
  174. package/.agent-src/templates/agent-settings.md +25 -41
  175. package/.agent-src/templates/contexts/tenant-boundaries.md +2 -2
  176. package/.agent-src/templates/contexts.md +1 -1
  177. package/.agent-src/templates/copilot-instructions.md +21 -0
  178. package/.agent-src/templates/copilot-review-instructions.md +76 -0
  179. package/.agent-src/templates/features.md +1 -1
  180. package/.agent-src/templates/rule.md +127 -0
  181. package/.agent-src/templates/scripts/work_engine/hook_bootstrap.py +7 -5
  182. package/.agent-src/templates/scripts/work_engine/hooks/__init__.py +0 -4
  183. package/.agent-src/templates/scripts/work_engine/hooks/builtin/__init__.py +0 -4
  184. package/.agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.py +7 -51
  185. package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_append.py +1 -2
  186. package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_halt_append.py +1 -2
  187. package/.agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.py +2 -3
  188. package/.agent-src/templates/skill.md +30 -1
  189. package/.claude-plugin/marketplace.json +11 -4
  190. package/AGENTS.md +71 -3
  191. package/CHANGELOG.md +180 -3
  192. package/README.md +24 -23
  193. package/config/agent-settings.template.yml +63 -23
  194. package/config/gitignore-block.txt +11 -4
  195. package/docs/architecture.md +84 -3
  196. package/docs/catalog.md +23 -11
  197. package/docs/contracts/adr-chat-history-split.md +10 -1
  198. package/docs/contracts/agent-memory-contract.md +1 -1
  199. package/docs/contracts/command-clusters.md +1 -1
  200. package/docs/contracts/context-paths.md +2 -1
  201. package/docs/contracts/cross-wing-handoff.md +133 -0
  202. package/docs/contracts/file-ownership-matrix.json +678 -609
  203. package/docs/contracts/hook-architecture-v1.md +8 -1
  204. package/docs/contracts/iron-law-overrides.txt +25 -0
  205. package/docs/contracts/kernel-membership.md +273 -0
  206. package/docs/contracts/load-context-schema.md +26 -11
  207. package/docs/contracts/memory-visibility-v1.md +8 -24
  208. package/docs/contracts/pilot/agent-authority.md +24 -0
  209. package/docs/contracts/pilot/direct-answers.md +70 -0
  210. package/docs/contracts/pilot/language-and-tone.md +63 -0
  211. package/docs/contracts/rule-classification.md +170 -0
  212. package/docs/contracts/rule-router.md +153 -0
  213. package/docs/customization.md +18 -7
  214. package/docs/decisions/ADR-001-kernel-swap-deferred.md +109 -0
  215. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +124 -0
  216. package/docs/decisions/ADR-rule-kernel-and-router.md +122 -0
  217. package/docs/getting-started.md +19 -27
  218. package/docs/guidelines/agent-infra/ask-when-uncertain-demos.md +1 -1
  219. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +176 -0
  220. package/docs/guidelines/agent-infra/rule-type-governance.md +73 -0
  221. package/docs/guidelines/agent-infra/size-and-scope.md +13 -2
  222. package/docs/guidelines/agent-infra/skill-quality-checklist.md +119 -0
  223. package/docs/guidelines/augment-portability-patterns.md +68 -0
  224. package/docs/guidelines/php/php-coding-patterns.md +62 -0
  225. package/docs/hook-payload-capture.md +221 -0
  226. package/docs/migrations/commands-1.15.0.md +17 -12
  227. package/docs/skills-catalog.md +5 -4
  228. package/llms.txt +4 -3
  229. package/package.json +1 -1
  230. package/scripts/_p43_bodies.py +235 -0
  231. package/scripts/_p43_compress.py +118 -0
  232. package/scripts/_p4_migrate.py +199 -0
  233. package/scripts/_pilot_council_question.py +57 -0
  234. package/scripts/_pilot_measure.py +53 -0
  235. package/scripts/agent-config +1 -1
  236. package/scripts/ai_council/_default_prices.py +4 -4
  237. package/scripts/ai_council/clients.py +1 -1
  238. package/scripts/ai_council/modes.py +3 -4
  239. package/scripts/ai_council/pricing.py +10 -9
  240. package/scripts/ai_council/session.py +107 -5
  241. package/scripts/build_linear_digest.py +3 -5
  242. package/scripts/build_rule_trigger_matrix.py +1 -9
  243. package/scripts/chat_history.py +952 -596
  244. package/scripts/check_always_budget.py +39 -6
  245. package/scripts/check_compressed_paths.py +213 -0
  246. package/scripts/check_compression.py +15 -0
  247. package/scripts/check_context_paths.py +1 -0
  248. package/scripts/check_council_layout.py +105 -0
  249. package/scripts/check_council_references.py +145 -0
  250. package/scripts/check_portability.py +2 -0
  251. package/scripts/check_references.py +14 -2
  252. package/scripts/check_token_optimizer_freshness.py +131 -0
  253. package/scripts/compile_router.py +148 -0
  254. package/scripts/compress.py +219 -11
  255. package/scripts/council_cli.py +63 -9
  256. package/scripts/council_prune.py +81 -0
  257. package/scripts/count_token_optimizer_usage.sh +54 -0
  258. package/scripts/hook_manifest.yaml +33 -0
  259. package/scripts/hooks/augment-chat-history.sh +10 -0
  260. package/scripts/hooks/cowork-dispatcher.sh +98 -0
  261. package/scripts/hooks/dispatch_hook.py +35 -0
  262. package/scripts/hooks_status.py +12 -1
  263. package/scripts/install-hooks.sh +2 -2
  264. package/scripts/install.sh +81 -2
  265. package/scripts/iron_law_sha.py +98 -0
  266. package/scripts/lint_handoffs.py +214 -0
  267. package/scripts/lint_hook_manifest.py +2 -1
  268. package/scripts/lint_load_context.py +35 -5
  269. package/scripts/measure_rule_budget.py +314 -0
  270. package/scripts/prototype_lint_contradictions.py +150 -0
  271. package/scripts/redact_hook_capture.py +148 -0
  272. package/scripts/schemas/rule.schema.json +55 -6
  273. package/scripts/schemas/skill.schema.json +5 -0
  274. package/scripts/skill_linter.py +359 -7
  275. package/scripts/smoke_path_resolution.py +93 -0
  276. package/scripts/update_prices.py +3 -3
  277. package/scripts/validate_frontmatter.py +41 -1
  278. package/.agent-src/commands/chat-history/checkpoint.md +0 -126
  279. package/.agent-src/commands/chat-history/clear.md +0 -103
  280. package/.agent-src/commands/chat-history/resume.md +0 -183
  281. package/.agent-src/contexts/communication/rules-auto/artifact-engagement-recording-mechanics.md +0 -72
  282. package/.agent-src/contexts/communication/rules-auto/augment-portability-mechanics.md +0 -79
  283. package/.agent-src/contexts/communication/rules-auto/cli-output-handling-mechanics.md +0 -87
  284. package/.agent-src/contexts/communication/rules-auto/command-suggestion-policy-mechanics.md +0 -62
  285. package/.agent-src/contexts/communication/rules-auto/docs-sync-mechanics.md +0 -78
  286. package/.agent-src/contexts/communication/rules-auto/package-ci-checks-mechanics.md +0 -85
  287. package/.agent-src/contexts/communication/rules-auto/review-routing-awareness-mechanics.md +0 -65
  288. package/.agent-src/contexts/communication/rules-auto/roadmap-progress-sync-mechanics.md +0 -78
  289. package/.agent-src/contexts/communication/rules-auto/ui-audit-gate-mechanics.md +0 -53
  290. package/.agent-src/rules/chat-history-cadence.md +0 -143
  291. package/.agent-src/rules/chat-history-ownership.md +0 -124
  292. package/.agent-src/rules/chat-history-visibility.md +0 -97
  293. package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_heartbeat.py +0 -50
  294. package/.agent-src/templates/scripts/work_engine/hooks/builtin/chat_history_turn_check.py +0 -49
  295. package/scripts/check_phase_coupling.py +0 -148
  296. /package/{docs → .agent-src/contexts}/contracts/artifact-engagement-flow.md +0 -0
  297. /package/{docs → .agent-src/contexts}/contracts/command-suggestion-flow.md +0 -0
@@ -7,13 +7,15 @@
7
7
 
8
8
  # --- Cost profile ---
9
9
  #
10
- # Selects which agent surfaces are active. See docs/customization.md for
11
- # the authoritative description.
10
+ # Master switch that controls which rule tiers load each session.
11
+ # See docs/customization.md for the authoritative description and
12
+ # docs/contracts/rule-router.md for the kernel + router architecture.
12
13
  #
13
- # minimal = rules, skills, and commands only (zero extra surface, default)
14
- # balanced = + runtime dispatcher for skills that declare a shell command
15
- # full = + tool adapters (GitHub / Jira, read-only, opt-in)
16
- # custom = ignore profile every matrix value must be set explicitly
14
+ # minimal = kernel only (always-loaded Iron-Law floor, ≤ 26k chars).
15
+ # No router, no auto-rules. Lowest token footprint.
16
+ # balanced = kernel + tier-1 auto-rules (default current behaviour superset).
17
+ # full = kernel + tier-1 + tier-2 (everything, highest token cost).
18
+ # custom = ignore profile — every matrix value must be set explicitly.
17
19
  cost_profile: __COST_PROFILE__
18
20
 
19
21
  # --- Personal preferences ---
@@ -74,6 +76,22 @@ github:
74
76
  # auto = detect on first use and update this setting
75
77
  pr_reply_method: create_review_comment
76
78
 
79
+ # --- Augment Code projection (.augment/) ---
80
+ #
81
+ # Controls how rule files are written into .augment/rules/ during
82
+ # install (scripts/install.sh) and the package's own projection
83
+ # (scripts/compress.py --project-augment).
84
+ #
85
+ # Augment Code historically does not load symlinked rule files, so the
86
+ # default is to write each rule as a real copy. Flip the toggle to true
87
+ # once Augment Code supports symlinked rules — symlinks keep the files
88
+ # in sync without re-running install/sync, and remove a class of stale-
89
+ # copy path bugs.
90
+ augment:
91
+ # When true, .augment/rules/*.md are symlinked into .agent-src/rules/.
92
+ # When false (default) or missing, they are copied as real files.
93
+ rules_use_symlinks: false
94
+
77
95
  # --- Eloquent (Laravel) ---
78
96
  eloquent:
79
97
  # Model property access style
@@ -84,7 +102,7 @@ eloquent:
84
102
 
85
103
  # --- Chat history (crash recovery) ---
86
104
  #
87
- # Persistent JSONL log at .agent-chat-history (project root, git-ignored).
105
+ # Persistent JSONL log at agents/.agent-chat-history (git-ignored).
88
106
  # Keeps a durable record of the conversation so a crashed or switched
89
107
  # agent session can be resumed. See scripts/chat_history.py for the API.
90
108
  chat_history:
@@ -105,12 +123,19 @@ chat_history:
105
123
  # compress = mark for summarization on the next agent turn
106
124
  on_overflow: __CHAT_HISTORY_ON_OVERFLOW__
107
125
 
108
- # Heartbeat marker visibility (token-cost knob)
109
- # on = print the 📒 marker every reply (~20 tokens/reply, legacy)
110
- # off = never print (zero tokens, drift only visible by reading the file)
111
- # hybrid = print only on drift states (missing/foreign/returning); silent otherwise
112
- # YAML 1.1 booleanizes bare on/off both are accepted, no quoting needed.
113
- heartbeat: hybrid
126
+ # Per-entry-type text-length caps (chars). 0 = verbatim, no slice.
127
+ # N > 0 = collapse whitespace, slice to N chars, append " … [+K chars]"
128
+ # so the log self-reports truncation. Defaults match the hardcoded
129
+ # fallback in scripts/chat_history.py (DEFAULT_TEXT_LIMITS).
130
+ # user = your messages full text by default (most valuable for crash recovery)
131
+ # agent = agent replies — capped to keep the log compact under load
132
+ # tool = tool inputs/outputs — short by default; bump for noisy debugging
133
+ # phase = workflow phase markers — short by default
134
+ text_limits:
135
+ user: 0
136
+ agent: 5000
137
+ tool: 200
138
+ phase: 200
114
139
 
115
140
  # --- Optional pipelines ---
116
141
  pipelines:
@@ -179,12 +204,11 @@ ai_council:
179
204
  # Default transport mode for every member (overridable per-member
180
205
  # below, and per-invocation via `/council mode:<x>`).
181
206
  #
182
- # api = direct SDK call against the provider's API (billable).
183
- # manual = copy-paste loop, user is the transport (free).
184
- # playwright = browser automation (Phase 2c, not yet wired).
207
+ # api = direct SDK call against the provider's API (billable).
208
+ # manual = copy-paste loop, user is the transport (free).
185
209
  #
186
- # Precedence: invocation flag > per-member mode > global mode > "api".
187
- mode: "api"
210
+ # Precedence: invocation flag > per-member mode > global mode > "manual".
211
+ mode: "manual"
188
212
 
189
213
  # Per-member configuration. Set enabled=true on the providers you want
190
214
  # to consult. The model field selects which model receives the query.
@@ -199,12 +223,27 @@ ai_council:
199
223
  model: "gpt-4o"
200
224
  # mode: "manual" # uncomment to override ai_council.mode
201
225
 
226
+ # Default number of debate rounds per /council invocation.
227
+ #
228
+ # Round 1 sees the artefact alone. Round 2+ sees the artefact plus
229
+ # anonymised critiques from the previous round (provider/model
230
+ # identity stripped per the neutrality Iron Law). Applies identically
231
+ # to api and manual transports — manual mode runs round 1 across all
232
+ # members, the host agent consolidates, then round 2 starts with the
233
+ # anonymised round-1 critiques folded in.
234
+ #
235
+ # Default is 2 so council members critique each other at least once
236
+ # before convergence. The agent does NOT ask "how many rounds?" when
237
+ # the requested rounds <= min_rounds; pass `rounds:N` on the
238
+ # invocation (or `--rounds N` to the CLI) to override.
239
+ min_rounds: 2
240
+
202
241
  # Hard cost ceiling per /council invocation. The orchestrator pauses
203
242
  # before any member whose projected spend would breach a cap and asks
204
243
  # the user to continue. `max_total_usd: 0` disables the USD ceiling
205
- # (token caps still apply).
244
+ # (token caps still apply). Total spend = rounds * single-round cost.
206
245
  #
207
- # Prices come from `.agent-prices.md` (gitignored, refreshed weekly
246
+ # Prices come from `agents/.agent-prices.md` (gitignored, refreshed weekly
208
247
  # by `python3 scripts/update_prices.py`; bootstrapped from
209
248
  # scripts/ai_council/_default_prices.py on first run).
210
249
  cost_budget:
@@ -213,10 +252,11 @@ ai_council:
213
252
  max_calls: 10
214
253
  max_total_usd: 0.50
215
254
 
216
- # Retention for `agents/council-sessions/` audit folders. Sessions
217
- # older than this are pruned automatically on the next `save()`.
255
+ # Retention for council artefacts. Files older than this in
256
+ # `agents/council-{questions,responses,sessions}/` are pruned
257
+ # automatically on the next `save()` and on `task council-prune`.
218
258
  # `0` disables pruning (keep forever — disk grows unbounded).
219
- session_retention_days: 14
259
+ session_retention_days: 7
220
260
 
221
261
  # --- Onboarding ---
222
262
  #
@@ -19,13 +19,20 @@
19
19
  .agent-settings.backup.key-value
20
20
 
21
21
  # Agent config — persistent chat history (crash recovery, never commit)
22
- .agent-chat-history
23
- .agent-chat-history.bak
24
- .agent-chat-history.*.bak
22
+ /agents/.agent-chat-history
23
+ /agents/.agent-chat-history.bak
24
+ /agents/.agent-chat-history.*.bak
25
25
 
26
26
  # Agent config — artefact engagement telemetry (default-off, maintainer-only, never commit)
27
27
  .agent-engagement.jsonl
28
28
  .agent-engagement.jsonl.bak
29
29
 
30
30
  # Agent config — AI Council price table (refreshed weekly, never commit)
31
- .agent-prices.md
31
+ /agents/.agent-prices.md
32
+
33
+ # Agent config — AI Council artefacts (questions, responses, sessions).
34
+ # Dev-time scratch — informs decisions, never the durable contract.
35
+ # See ai-council § Output path convention.
36
+ /agents/council-questions/
37
+ /agents/council-responses/
38
+ /agents/council-sessions/
@@ -27,7 +27,8 @@ Stability tiers follow [`docs/contracts/STABILITY.md`](contracts/STABILITY.md):
27
27
  .agent-src.uncompressed/ ← Source of truth (verbose, human-readable)
28
28
  ↓ /compress command
29
29
  .agent-src/ ← Compressed output (token-efficient, shipped in the package)
30
- ↓ project_to_augment() — copies rules, symlinks rest
30
+ ↓ project_to_augment() — copies rules by default, symlinks rest
31
+ (toggle: augment.rules_use_symlinks)
31
32
  .augment/ ← Local projection for Augment Code (gitignored)
32
33
  ↓ install.sh (Cursor, Cline, Windsurf, Augment VSCode) / plugin system
33
34
  .claude/ .cursor/ .clinerules/ ← Tool-specific symlinks/copies (auto-generated)
@@ -36,6 +37,39 @@ Stability tiers follow [`docs/contracts/STABILITY.md`](contracts/STABILITY.md):
36
37
  dist/cloud/<skill>.zip ← Anthropic Skills bundles (Claude.ai Web / Skills API)
37
38
  ```
38
39
 
40
+ ### Installer layout
41
+
42
+ In a consumer project, the installer (`scripts/install.sh`) and the
43
+ package's own `project_to_augment()` projection produce a `.augment/`
44
+ tree where:
45
+
46
+ - `.augment/rules/` — **copies** of compressed rule files by default.
47
+ Augment Code historically does not load symlinked rules, so each
48
+ rule is a real file. Set `augment.rules_use_symlinks: true` in
49
+ `.agent-settings.yml` to switch them to symlinks once Augment Code
50
+ supports it (the toggle is honored by both `scripts/install.sh` on
51
+ the consumer side and `project_to_augment()` in the package).
52
+ - `.augment/skills/`, `.augment/commands/`, `.augment/personas/`,
53
+ `.augment/contexts/`, `.augment/templates/` — **symlinks** into
54
+ `.agent-src/<subdir>/`. Reading a context follows the symlink to
55
+ the package payload.
56
+ - `.augment/docs/guidelines/` — **symlink** into the package's
57
+ `docs/guidelines/` (consumer side: `vendor/event4u/agent-config/docs/guidelines/`;
58
+ package self-projection: `../docs/guidelines/`). This is the only
59
+ `docs/` subdirectory exposed in `.augment/`; `docs/contracts/` and
60
+ `docs/decisions/` are package-internal — rules that reference
61
+ contracts inline a 2–3 line excerpt instead of linking out.
62
+
63
+ Cross-references inside `.agent-src/rules/*.md` are written
64
+ **relative to `.agent-src/rules/`** (e.g. `../contexts/execution/foo.md`,
65
+ `../docs/guidelines/agent-infra/foo.md`). Source files under
66
+ `.agent-src.uncompressed/rules/` use **logical names** without a
67
+ directory prefix (e.g. `contexts/execution/foo.md`); the
68
+ compress-time path rewriter in `scripts/compress.py` translates
69
+ them to the relative form when writing into `.agent-src/`. Hardcoding
70
+ `.agent-src.uncompressed/` in source frontmatter or body links is
71
+ forbidden and caught by `scripts/check_compressed_paths.py`.
72
+
39
73
  ### Cloud-bundle pipeline
40
74
 
41
75
  `task build-cloud-bundles-all` produces one ZIP per skill at
@@ -62,10 +96,10 @@ fails on any source-side violation, without producing artifacts.
62
96
 
63
97
  | Layer | Count | Purpose |
64
98
  |---|---|---|
65
- | **Skills** | 129 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
99
+ | **Skills** | 136 | On-demand expertise — stack analysis (Laravel · Symfony · Zend / Laminas · Next.js · React · Node), testing, Docker, API design, security, observability, … |
66
100
  | **Rules** | 58 | Always-active constraints — coding standards, scope control, verification, language-and-tone, agent-authority |
67
101
  | **Commands** | 95 | Slash-command workflows — `/commit`, `/create-pr`, `/fix ci`, `/optimize skills`, `/feature plan`, `/work`, `/implement-ticket`, `/compress`, … |
68
- | **Guidelines** | 51 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
102
+ | **Guidelines** | 56 | Reference material cited by skills — PHP patterns, Eloquent, Playwright, agent-infra, … |
69
103
  | **Templates** | 7 | Scaffolds for features, roadmaps, contexts, skills, overrides |
70
104
  | **Contexts** | 5 | Shared knowledge about the system itself |
71
105
 
@@ -215,4 +249,51 @@ adjustments (description budget, sandbox note, package-internal path-swap).
215
249
 
216
250
  ---
217
251
 
252
+ ## Path resolution and Copilot integration
253
+
254
+ Cross-references inside `.augment/rules/`, `.augment/skills/`, and the
255
+ mirrored `.claude/`, `.cursor/`, `.clinerules/` trees use **relative
256
+ paths from the delivered location**. They resolve through the symlinks
257
+ created by `scripts/install.sh`, not via raw git checkout. This means
258
+ GitHub Copilot's static checker — which walks the git tree — will see
259
+ broken paths where there are none. **The gap is intentional, not a bug.**
260
+
261
+ The package ships two complementary suppression artefacts:
262
+
263
+ | File | Read by | Purpose |
264
+ |---|---|---|
265
+ | `.github/copilot-instructions.md` | Copilot Chat + PR review | Repo-wide coding standards, self-contained behavior |
266
+ | `.github/copilot-review-instructions.md` | Copilot PR review | Path-resolution suppression floor (this section's mate) |
267
+
268
+ Both are installed (copy-if-missing) by `scripts/install.sh` from
269
+ `.agent-src.uncompressed/templates/`. Consumers can edit them freely;
270
+ the installer never overwrites.
271
+
272
+ The mechanical floor is `scripts/check_compressed_paths.py`, wired into
273
+ `task ci` as `check-compressed-paths`. It validates `.agent-src/rules/*.md`:
274
+
275
+ - `load_context:` entries must resolve to existing files.
276
+ - Forbidden substrings (`.agent-src.uncompressed/`, `../../docs/`,
277
+ `../../agents/`) must not survive compression — unless declared
278
+ per-rule via the `validator_ignore:` frontmatter primitive (audited).
279
+ - Body links to `../docs/guidelines/...` are intentionally **not**
280
+ checked (they are package-internal reference material, silenced by
281
+ the Copilot suppression floor above).
282
+
283
+ ### Verifying path fixes in a consumer
284
+
285
+ If a regression is suspected, replay the smoke test against the
286
+ package's own `.augment/` projection:
287
+
288
+ ```bash
289
+ task sync # regenerate .agent-src/ → .augment/
290
+ python3 scripts/smoke_path_resolution.py
291
+ ```
292
+
293
+ The script walks `.augment/rules/*.md` and resolves every
294
+ `load_context:` entry to a file under `.augment/`. A non-zero exit
295
+ means a consumer would also see the same broken reference.
296
+
297
+ ---
298
+
218
299
  ← [Back to README](../README.md)
package/docs/catalog.md CHANGED
@@ -1,13 +1,13 @@
1
1
  # agent-config — Public Catalog
2
2
 
3
- Consumer-facing catalog of all **330 public artefacts** shipped by
3
+ Consumer-facing catalog of all **342 public artefacts** shipped by
4
4
  this package. Internal package-maintenance rules and deprecation shims
5
5
  are excluded.
6
6
 
7
7
  > **Regenerate:** `python3 scripts/generate_index.py`
8
8
  > Auto-generated — do not edit manually.
9
9
 
10
- ## Skills (129)
10
+ ## Skills (136)
11
11
 
12
12
  | kind | name | extra | description |
13
13
  |---|---|---|---|
@@ -39,6 +39,7 @@ are excluded.
39
39
  | skill | [`dashboard-design`](../.agent-src/skills/dashboard-design/SKILL.md) | | Use when designing monitoring dashboards — visualization selection, layout principles, observability strategies (RED/USE/Golden Signals), and data storytelling. |
40
40
  | skill | [`data-flow-mapper`](../.agent-src/skills/data-flow-mapper/SKILL.md) | | Use BEFORE editing code that touches user data — traces the value from entry → validation → transformation → storage → egress, every hop cited with file:line. |
41
41
  | skill | [`database`](../.agent-src/skills/database/SKILL.md) | | Use when working with database architecture, MariaDB/MySQL tuning, indexing strategies, slow queries, or multi-connection patterns — even when the user just says 'this query is slow'. |
42
+ | skill | [`dcf-modeling`](../.agent-src/skills/dcf-modeling/SKILL.md) | | Wing-4 valuation cognition for a CFO / finance-partner. Use when a deal, internal investment, or board ask names DCF, intrinsic value, WACC, terminal value, or 'what's it worth on a 5-year hold'. |
42
43
  | skill | [`dependency-upgrade`](../.agent-src/skills/dependency-upgrade/SKILL.md) | | Use when upgrading dependencies — "update Laravel", "bump PHP version", or "upgrade packages". Covers changelog review, breaking change detection, and verification. |
43
44
  | skill | [`description-assist`](../.agent-src/skills/description-assist/SKILL.md) | | Use when polishing a skill/rule/command/guideline frontmatter description — pushier phrasing, trigger coverage, undertrigger audit — even if the user just says 'make this pushier'. |
44
45
  | skill | [`design-review`](../.agent-src/skills/design-review/SKILL.md) | | Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more. |
@@ -54,6 +55,7 @@ are excluded.
54
55
  | skill | [`file-editor`](../.agent-src/skills/file-editor/SKILL.md) | | Use when opening edited files in the user's IDE. Reads settings from .agent-settings.yml to determine IDE and whether auto-open is enabled. |
55
56
  | skill | [`finishing-a-development-branch`](../.agent-src/skills/finishing-a-development-branch/SKILL.md) | | Use when the feature is implementation-complete and the next step is 'ship it' — verifies, cleans up, and routes to merge/PR/park/discard — even when the user just says 'I'm done, what now?'. |
56
57
  | skill | [`flux`](../.agent-src/skills/flux/SKILL.md) | | Use when the project uses `livewire/flux` — dispatched by `directives/ui/{apply,review,polish}.py`. Covers Flux components, slots, variants, and form primitives. |
58
+ | skill | [`funnel-analysis`](../.agent-src/skills/funnel-analysis/SKILL.md) | | Use when diagnosing where a SaaS or product funnel leaks — visitor → signup → activation → paid → retained — channel-agnostic, conversion-rate-driven. |
57
59
  | skill | [`git-workflow`](../.agent-src/skills/git-workflow/SKILL.md) | | Use when working with Git — branch naming, commit messages, PR creation, rebasing, or the code review process — even when the user says 'push this' or 'merge the branch' without naming Git. |
58
60
  | skill | [`github-ci`](../.agent-src/skills/github-ci/SKILL.md) | | Use when working with GitHub Actions — workflow YAML, quality gates, test matrices, deployment triggers, reusable workflows — even when the user just says 'my CI is failing' or 'add a check'. |
59
61
  | skill | [`grafana`](../.agent-src/skills/grafana/SKILL.md) | | Use when working with Grafana — dashboards, Loki LogQL queries, alerting rules, monitoring panels — even when the user just says 'build me a dashboard' or 'query the logs' without naming Grafana. |
@@ -84,6 +86,7 @@ are excluded.
84
86
  | skill | [`migration-creator`](../.agent-src/skills/migration-creator/SKILL.md) | | Use when the user says "create migration", "add column", or "new table". Creates migrations with correct table prefixes, column naming, and multi-tenant awareness. |
85
87
  | skill | [`module-management`](../.agent-src/skills/module-management/SKILL.md) | | Use when the user says "create module", "explore module", or works within app/Modules/. Understands module structure, auto-loading, route registration, and namespace conventions. |
86
88
  | skill | [`multi-tenancy`](../.agent-src/skills/multi-tenancy/SKILL.md) | | Use when working with the multi-tenant architecture — customer DB switching, FQDN routing, tenant isolation, or cross-tenant operations. |
89
+ | skill | [`okr-tree-modeling`](../.agent-src/skills/okr-tree-modeling/SKILL.md) | | Use when decomposing a company objective into team OKRs, auditing a draft OKR tree, or stress-testing an existing one for measurability and laddering. |
87
90
  | skill | [`openapi`](../.agent-src/skills/openapi/SKILL.md) | | Use when documenting APIs — OpenAPI/Swagger, PHP attributes, Redocly validation, versioned specs — even when the user just says 'document this endpoint' without naming OpenAPI. |
88
91
  | skill | [`override-management`](../.agent-src/skills/override-management/SKILL.md) | | Creates and manages project-level overrides for shared skills, rules, and commands — extending or replacing originals from .augment/ with project-specific behavior in agents/overrides/. |
89
92
  | skill | [`performance`](../.agent-src/skills/performance/SKILL.md) | | Use when optimizing application performance — caching strategies, eager loading, query optimization, Redis patterns, or background job design. |
@@ -103,6 +106,7 @@ are excluded.
103
106
  | skill | [`project-analysis-zend-laminas`](../.agent-src/skills/project-analysis-zend-laminas/SKILL.md) | | Use for deep Zend Framework or Laminas project analysis: bootstrap, config merge order, service manager, MVC flow, data layer, and migration-specific risks. |
104
107
  | skill | [`project-analyzer`](../.agent-src/skills/project-analyzer/SKILL.md) | | ONLY when user explicitly requests: full project analysis, tech stack detection, or structured analysis documents for agents/analysis/. NOT for regular feature work. |
105
108
  | skill | [`project-docs`](../.agent-src/skills/project-docs/SKILL.md) | | Use when looking for project-specific documentation. Knows which docs exist in agents/docs/ and agents/contexts/ and maps work areas to relevant docs. |
109
+ | skill | [`prompt-optimizer`](../.agent-src/skills/prompt-optimizer/SKILL.md) | | Use when the user wants a prompt optimized for ChatGPT, Claude, Gemini, or another AI — 'make this prompt better', 'optimize for ChatGPT', 'rewrite my prompt' — even without saying 'optimize'. |
106
110
  | skill | [`quality-tools`](../.agent-src/skills/quality-tools/SKILL.md) | | Use when PHPStan, Rector, or ECS output appears — \"phpstan says mixed\", type errors, \"fix code style\", \"run rector\" — even when Eloquent/Laravel/model code is also mentioned. |
107
111
  | skill | [`react-shadcn-ui`](../.agent-src/skills/react-shadcn-ui/SKILL.md) | | Use when building React UI on shadcn/ui primitives + Tailwind — the apply/review/polish skill dispatched by `directives/ui/*` for the `react-shadcn` stack. |
108
112
  | skill | [`readme-reviewer`](../.agent-src/skills/readme-reviewer/SKILL.md) | | Use when reviewing a README for accuracy, usability, and alignment with the actual repository. Detects invented content, broken setup steps, and structural issues. |
@@ -113,6 +117,7 @@ are excluded.
113
117
  | skill | [`refine-ticket`](../.agent-src/skills/refine-ticket/SKILL.md) | | Refine a Jira/Linear ticket before planning — 'refine ticket', 'tighten AC on PROJ-123', 'ist das Ticket klar?' — rewritten ticket, Top-5 risks, persona voices, sub-skills orchestrated, close-prompt. |
114
118
  | skill | [`requesting-code-review`](../.agent-src/skills/requesting-code-review/SKILL.md) | | Use when asking for a review or creating a PR — self-review first, frame the right context, test plan included — even when the user just says 'open a PR' or 'ready to merge'. |
115
119
  | skill | [`review-routing`](../.agent-src/skills/review-routing/SKILL.md) | | Use when preparing a PR description, suggesting reviewers, or flagging risk — produces owner-mapped roles plus historical bug-pattern matches from project-local YAML. |
120
+ | skill | [`rice-prioritization`](../.agent-src/skills/rice-prioritization/SKILL.md) | | Use when ranking competing initiatives for a roadmap, breaking a tie between two features, or auditing a backlog for hidden low-value work via Reach × Impact × Confidence ÷ Effort. |
116
121
  | skill | [`roadmap-management`](../.agent-src/skills/roadmap-management/SKILL.md) | | Use when the user says "create roadmap", "show roadmap", or "execute roadmap". Creates, reads, and manages roadmap files with phase tracking. |
117
122
  | skill | [`rtk-output-filtering`](../.agent-src/skills/rtk-output-filtering/SKILL.md) | | Use when running verbose CLI commands — wraps them with rtk (Rust Token Killer) for 60-90% token savings. Covers installation, configuration, and usage patterns. |
118
123
  | skill | [`rule-writing`](../.agent-src/skills/rule-writing/SKILL.md) | | Use when creating or editing a rule in .agent-src.uncompressed/rules/ — trigger wording, always vs auto classification, size budget — even when the user just says 'add a rule for X'. |
@@ -125,7 +130,7 @@ are excluded.
125
130
  | skill | [`skill-reviewer`](../.agent-src/skills/skill-reviewer/SKILL.md) | | Use when reviewing, auditing, or optimizing skills — validates against the 7 Skill Killers checklist and produces fix recommendations. |
126
131
  | skill | [`skill-writing`](../.agent-src/skills/skill-writing/SKILL.md) | | Use when deciding 'should this be a skill or a rule?', creating/improving/reviewing agent skills, SKILL.md frontmatter, or procedure sections — even without saying 'skill-writing'. |
127
132
  | skill | [`sql-writing`](../.agent-src/skills/sql-writing/SKILL.md) | | Use when writing raw SQL — MariaDB/MySQL syntax, parameterization, raw migrations, seeders with `DB::statement` — even when the user just pastes a query and asks 'why is this slow' without naming SQL. |
128
- | skill | [`subagent-orchestration`](../.agent-src/skills/subagent-orchestration/SKILL.md) | | Use when orchestrating implementer/judge subagents — five modes (do-and-judge, do-in-steps, do-in-parallel, do-competitively, judge-with-debate) — models from .agent-settings.yml. |
133
+ | skill | [`subagent-orchestration`](../.agent-src/skills/subagent-orchestration/SKILL.md) | | Use when orchestrating implementer/judge subagents — six modes (do-and-judge, do-in-steps, do-in-parallel, do-competitively, judge-with-debate, do-in-worktrees) — models from .agent-settings.yml. |
129
134
  | skill | [`systematic-debugging`](../.agent-src/skills/systematic-debugging/SKILL.md) | | Use when hitting a bug, test failure, crash, or unexpected behavior — enforces reproduce → isolate → hypothesize → verify before any fix — even when the user just says 'this is broken' or 'quick fix'. |
130
135
  | skill | [`technical-specification`](../.agent-src/skills/technical-specification/SKILL.md) | | Use when the user says "write a spec", "create RFC", or "document this decision". Writes technical specifications, RFCs, and ADRs with clear structure. |
131
136
  | skill | [`terraform`](../.agent-src/skills/terraform/SKILL.md) | | Use when writing Terraform — AWS modules, resources, variables, outputs, remote state — even when the user just says 'provision this infra' or 'add an S3 bucket' without naming Terraform. |
@@ -133,7 +138,9 @@ are excluded.
133
138
  | skill | [`test-driven-development`](../.agent-src/skills/test-driven-development/SKILL.md) | | Use when implementing a feature, fixing a bug, or refactoring — write a failing test first, then the code — even if the user just says 'add this function' or 'fix this bug'. |
134
139
  | skill | [`test-performance`](../.agent-src/skills/test-performance/SKILL.md) | | Use when optimizing test suite performance — database setup, seeder optimization, parallel testing, CI pipeline efficiency, or RefreshDatabase alternatives. |
135
140
  | skill | [`threat-modeling`](../.agent-src/skills/threat-modeling/SKILL.md) | | Use when adding auth, webhooks, uploads, queues, secrets, tenant boundaries, or public endpoints — produces trust boundaries + abuse cases mapped to files, BEFORE implementation. |
141
+ | skill | [`token-optimizer`](../.agent-src/skills/token-optimizer/SKILL.md) | | 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. |
136
142
  | skill | [`traefik`](../.agent-src/skills/traefik/SKILL.md) | | Use when setting up Traefik as a local reverse proxy — real domains on 127.0.0.1, trusted HTTPS via mkcert, automatic service discovery, and multi-project routing. |
143
+ | skill | [`unit-economics-modeling`](../.agent-src/skills/unit-economics-modeling/SKILL.md) | | Use when modeling CAC, LTV, gross-margin payback, or contribution margin per customer — for SaaS, marketplace, or transactional businesses. |
137
144
  | skill | [`universal-project-analysis`](../.agent-src/skills/universal-project-analysis/SKILL.md) | | ONLY when user explicitly requests: full project analysis, deep codebase audit, or comprehensive architecture review. Routes to core and framework-specific analysis skills. |
138
145
  | skill | [`upstream-contribute`](../.agent-src/skills/upstream-contribute/SKILL.md) | | Use when a learning, new skill, rule improvement, or bug fix from a consumer project should be contributed back to the shared agent-config package. |
139
146
  | skill | [`using-git-worktrees`](../.agent-src/skills/using-git-worktrees/SKILL.md) | | Use when starting parallel work in isolation from the current branch — spawn a git worktree with ignore-safety checks and a clean test baseline — even when the user says 'try this on the side'. |
@@ -154,9 +161,6 @@ are excluded.
154
161
  | rule | [`ask-when-uncertain`](../.agent-src/rules/ask-when-uncertain.md) | always | Ask when uncertain — don't guess, assume, or improvise |
155
162
  | rule | [`autonomous-execution`](../.agent-src/rules/autonomous-execution.md) | auto | Deciding whether to ask the user or just act on a workflow step — trivial-vs-blocking classification, autonomy opt-in detection, commit default; defers to non-destructive-by-default for the Hard Floor |
156
163
  | rule | [`capture-learnings`](../.agent-src/rules/capture-learnings.md) | auto | After completing a task where a repeated mistake or successful pattern appeared — capture as rule or skill |
157
- | rule | [`chat-history-cadence`](../.agent-src/rules/chat-history-cadence.md) | auto | Appending to .agent-chat-history — cadence boundaries (per_turn/per_phase/per_tool), turn-check ownership refusal handling, never writing the file directly; cadence is the trigger, not reply length |
158
- | rule | [`chat-history-ownership`](../.agent-src/rules/chat-history-ownership.md) | auto | First turn or reference to .agent-chat-history — detects ownership (match/returning/foreign/missing) and HOOK/ENGINE/CHECKPOINT/MANUAL path classification with numbered-options prompt |
159
- | rule | [`chat-history-visibility`](../.agent-src/rules/chat-history-visibility.md) | auto | Emitting the chat-history heartbeat marker — paste subprocess stdout verbatim or nothing, never type from memory, hybrid mode prints on drift only, slip handling per language-and-tone |
160
164
  | rule | [`cli-output-handling`](../.agent-src/rules/cli-output-handling.md) | auto | 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. |
161
165
  | rule | [`command-suggestion-policy`](../.agent-src/rules/command-suggestion-policy.md) | auto | 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 |
162
166
  | rule | [`commit-conventions`](../.agent-src/rules/commit-conventions.md) | auto | Git commit message format, branch naming, conventional commits, committing, pushing, or creating pull requests |
@@ -174,7 +178,9 @@ are excluded.
174
178
  | rule | [`minimal-safe-diff`](../.agent-src/rules/minimal-safe-diff.md) | auto | When writing or reviewing a diff — the smallest change that solves the stated problem; no drive-by edits, no opportunistic refactors, no reformatting of untouched code |
175
179
  | rule | [`missing-tool-handling`](../.agent-src/rules/missing-tool-handling.md) | auto | When a CLI tool needed for the task is not installed — ask before working around it; do NOT install silently |
176
180
  | rule | [`model-recommendation`](../.agent-src/rules/model-recommendation.md) | auto | Starting a new task, switching task type, or invoking a command — detect task complexity and recommend the optimal model (Opus/Sonnet/GPT) before any work |
181
+ | rule | [`no-attribution-footers`](../.agent-src/rules/no-attribution-footers.md) | auto | Generating PR/issue/comment/commit-message bodies — forbids unsolicited 'Generated with', 'Co-authored by', or 'Pull Request opened by' attribution footers in any user-owned artifact |
177
182
  | rule | [`no-cheap-questions`](../.agent-src/rules/no-cheap-questions.md) | always | No cheap questions — never ask what context answers, never offer Iron-Law-violating options, never stage no-trade-off choices; mode-independent (off / auto / on) |
183
+ | rule | [`no-council-references`](../.agent-src/rules/no-council-references.md) | auto | Linking a specific file in agents/council-{questions,responses,sessions}/ from any artifact — council files are gitignored, local-only, auto-pruned; inline the convergence instead |
178
184
  | rule | [`no-roadmap-references`](../.agent-src/rules/no-roadmap-references.md) | auto | Adding a link to a specific file in agents/roadmaps/ from any stable artifact (rule, skill, command, context, guideline) — roadmaps are transient; promote durable findings to agents/contexts/ instead |
179
185
  | rule | [`non-destructive-by-default`](../.agent-src/rules/non-destructive-by-default.md) | always | Agent is never destructive — Hard Floor always asks for prod-trunk merges, deploys, pushes, prod data/infra, bulk deletions, and bulk-deletion/infra commits; no autonomy or roadmap bypass |
180
186
  | rule | [`onboarding-gate`](../.agent-src/rules/onboarding-gate.md) | auto | First turn of a conversation on a project — check onboarding.onboarded in .agent-settings.yml; when false, prompt the user to run /onboard before executing any other request |
@@ -195,6 +201,7 @@ are excluded.
195
201
  | rule | [`slash-command-routing-policy`](../.agent-src/rules/slash-command-routing-policy.md) | auto | When user types a slash command like /create-pr, /commit, or pastes command file content |
196
202
  | rule | [`think-before-action`](../.agent-src/rules/think-before-action.md) | auto | Before coding, modifying, or debugging — analyze first, verify with real tools, never guess or trial-and-error |
197
203
  | rule | [`token-efficiency`](../.agent-src/rules/token-efficiency.md) | auto | When running CLI tools, fetching logs, or producing replies — redirect verbose output, minimize tool calls, keep replies concise |
204
+ | rule | [`token-optimizer-maintenance`](../.agent-src/rules/token-optimizer-maintenance.md) | auto | Editing a token-optimizer-cited asset (cli-output-handling, rtk-output-filtering, token-efficiency, agent-handoff, direct-answers, markitdown) — keep the catalog row in sync in the same commit. |
198
205
  | rule | [`tool-safety`](../.agent-src/rules/tool-safety.md) | auto | When a skill uses external tools — enforce allowlist, deny-by-default, and no hidden credential patterns |
199
206
  | rule | [`ui-audit-gate`](../.agent-src/rules/ui-audit-gate.md) | auto | Writing or editing UI — components, screens, partials, layouts, design tokens — require existing-ui-audit findings in state.ui_audit before non-trivial UI change; gate, not suggestion |
200
207
  | rule | [`upstream-proposal`](../.agent-src/rules/upstream-proposal.md) | auto | After creating or significantly improving a skill, rule, guideline, or command — ask if it should be contributed upstream to the shared package |
@@ -214,11 +221,10 @@ are excluded.
214
221
  | command | [`analyze-reference-repo`](../.agent-src/commands/analyze-reference-repo.md) | | Analyze an external reference repository (competitor, inspiration, peer) and produce a structured comparison + adoption plan for this project. |
215
222
  | command | [`bug-fix`](../.agent-src/commands/bug-fix.md) | | Plan and implement a bug fix — based on investigation, with quality checks and test verification |
216
223
  | command | [`bug-investigate`](../.agent-src/commands/bug-investigate.md) | | Investigate a bug — auto-detect ticket from branch, gather Jira/Sentry/description context, trace root cause |
217
- | command | [`chat-history:checkpoint`](../.agent-src/commands/chat-history/checkpoint.md) | cluster: chat-history | Append a phase-boundary entry to .agent-chat-history CHECKPOINT fallback for platforms without a native hook (Augment IDE, Cursor pre-1.7, Cline non-Mac/Linux). ~1s. |
218
- | command | [`chat-history:clear`](../.agent-src/commands/chat-history/clear.md) | cluster: chat-history | Manually delete the persistent chat-history log asks for confirmation, optionally archives to a timestamped backup before wiping |
219
- | command | [`chat-history:resume`](../.agent-src/commands/chat-history/resume.md) | cluster: chat-history | Load the persistent chat-history log into the current conversation — picks match/returning/foreign flow and supports resume, merge, replace, or continue |
224
+ | command | [`chat-history:import`](../.agent-src/commands/chat-history/import.md) | cluster: chat-history | Surface prior chat-history sessions as a numbered table, let the user pick one, read it silently, and emit a short summary plus a resume offer — selective, user-driven cross-session import |
225
+ | command | [`chat-history:learn`](../.agent-src/commands/chat-history/learn.md) | cluster: chat-history | Pick a prior chat-history session and mine it for project-improving learnings runs learning-to-rule-or-skill on the picked session, drafts proposal(s) under agents/proposals/ |
220
226
  | command | [`chat-history:show`](../.agent-src/commands/chat-history/show.md) | cluster: chat-history | Show the status of the persistent chat-history log — file size, entry count, header fingerprint, age, and the last few entries |
221
- | command | [`chat-history`](../.agent-src/commands/chat-history.md) | cluster: chat-history | Chat-history orchestrator — routes to show, resume, clear, checkpoint |
227
+ | command | [`chat-history`](../.agent-src/commands/chat-history.md) | cluster: chat-history | Chat-history orchestrator — routes to show, import, learn |
222
228
  | command | [`check-current-md`](../.agent-src/commands/check-current-md.md) | | Check the open .md file (or a passed path) for German outside DE:/EN: anchor blocks — umlauts, function words, untranslated quotes. Reports and offers fixes. |
223
229
  | command | [`commit:in-chunks`](../.agent-src/commands/commit/in-chunks.md) | cluster: commit | Stage and commit all uncommitted changes in logical chunks WITHOUT confirmation — sibling of /commit for autonomous flows |
224
230
  | command | [`commit`](../.agent-src/commands/commit.md) | cluster: commit | Stage and commit all uncommitted changes — splits into logical commits following Conventional Commits |
@@ -273,6 +279,7 @@ are excluded.
273
279
  | command | [`optimize:augmentignore`](../.agent-src/commands/optimize/augmentignore.md) | cluster: optimize | Creates or updates .augmentignore based on the project's actual tech stack, large files, generated artifacts, and irrelevant agent skills/rules. |
274
280
  | command | [`optimize:rtk`](../.agent-src/commands/optimize/rtk.md) | cluster: optimize | Create or optimize project-local rtk filters based on the actual toolchain |
275
281
  | command | [`optimize:skills`](../.agent-src/commands/optimize/skills.md) | cluster: optimize | Audits skills — measures baseline, finds duplicates/merge candidates, runs linter. Suggest only, never auto-apply. |
282
+ | command | [`optimize-prompt`](../.agent-src/commands/optimize-prompt.md) | cluster: optimize | Optimize a raw prompt for ChatGPT, Claude, Gemini, or another AI via the 4-D methodology — BASIC vs DETAIL auto-detect, one clarifying question per turn, returns the polished prompt. |
276
283
  | command | [`optimize`](../.agent-src/commands/optimize.md) | cluster: optimize | Optimize orchestrator — routes to skills, agents, augmentignore, rtk-filters |
277
284
  | command | [`override:create`](../.agent-src/commands/override/create.md) | cluster: override | Creates a project-level override for a shared skill, rule, or command. |
278
285
  | command | [`override:manage`](../.agent-src/commands/override/manage.md) | cluster: override | Reviews, updates, and refactors existing project-level overrides. |
@@ -301,7 +308,7 @@ are excluded.
301
308
  | command | [`upstream-contribute`](../.agent-src/commands/upstream-contribute.md) | | Contribute a learning, skill, rule, or fix from a consumer project back to the shared agent-config package |
302
309
  | command | [`work`](../.agent-src/commands/work.md) | | Drive a free-form prompt end-to-end through refine → score → plan → implement → test → verify → report — Option-A loop over the `work_engine` Python engine, confidence-band gated, no auto-git. |
303
310
 
304
- ## Guidelines (51)
311
+ ## Guidelines (56)
305
312
 
306
313
  | kind | name | category | description |
307
314
  |---|---|---|---|
@@ -318,13 +325,17 @@ are excluded.
318
325
  | guideline | [`naming`](../docs/guidelines/agent-infra/naming.md) | agent-infra | |
319
326
  | guideline | [`output-patterns`](../docs/guidelines/agent-infra/output-patterns.md) | agent-infra | |
320
327
  | guideline | [`review-routing-data-format`](../docs/guidelines/agent-infra/review-routing-data-format.md) | agent-infra | |
328
+ | guideline | [`roadmap-progress-mechanics`](../docs/guidelines/agent-infra/roadmap-progress-mechanics.md) | agent-infra | |
321
329
  | guideline | [`role-contracts`](../docs/guidelines/agent-infra/role-contracts.md) | agent-infra | |
322
330
  | guideline | [`role-mode-router`](../docs/guidelines/agent-infra/role-mode-router.md) | agent-infra | |
331
+ | guideline | [`rule-type-governance`](../docs/guidelines/agent-infra/rule-type-governance.md) | agent-infra | |
323
332
  | guideline | [`runtime-layer`](../docs/guidelines/agent-infra/runtime-layer.md) | agent-infra | |
324
333
  | guideline | [`self-improvement-pipeline`](../docs/guidelines/agent-infra/self-improvement-pipeline.md) | agent-infra | |
325
334
  | guideline | [`size-and-scope`](../docs/guidelines/agent-infra/size-and-scope.md) | agent-infra | |
335
+ | guideline | [`skill-quality-checklist`](../docs/guidelines/agent-infra/skill-quality-checklist.md) | agent-infra | |
326
336
  | guideline | [`tool-integration`](../docs/guidelines/agent-infra/tool-integration.md) | agent-infra | |
327
337
  | guideline | [`verify-before-complete-demos`](../docs/guidelines/agent-infra/verify-before-complete-demos.md) | agent-infra | |
338
+ | guideline | [`augment-portability-patterns`](../docs/guidelines/augment-portability-patterns.md) | (root) | |
328
339
  | guideline | [`readme-size-and-splitting`](../docs/guidelines/docs/readme-size-and-splitting.md) | docs | |
329
340
  | guideline | [`playwright`](../docs/guidelines/e2e/playwright.md) | e2e | |
330
341
  | guideline | [`api-design`](../docs/guidelines/php/api-design.md) | php | |
@@ -351,6 +362,7 @@ are excluded.
351
362
  | guideline | [`strategy`](../docs/guidelines/php/patterns/strategy.md) | patterns | |
352
363
  | guideline | [`patterns`](../docs/guidelines/php/patterns.md) | php | |
353
364
  | guideline | [`performance`](../docs/guidelines/php/performance.md) | php | |
365
+ | guideline | [`php-coding-patterns`](../docs/guidelines/php/php-coding-patterns.md) | php | |
354
366
  | guideline | [`resources`](../docs/guidelines/php/resources.md) | php | |
355
367
  | guideline | [`security`](../docs/guidelines/php/security.md) | php | |
356
368
  | guideline | [`sql`](../docs/guidelines/php/sql.md) | php | |
@@ -4,7 +4,16 @@ stability: beta
4
4
 
5
5
  # ADR — Chat-history rule split
6
6
 
7
- > **Status:** Decided · 2026-05-02
7
+ > **Status:** Superseded · 2026-05-04 · by
8
+ > [`agents/contexts/chat-history-platform-hooks.md`](../../agents/contexts/chat-history-platform-hooks.md).
9
+ > The cooperative three-rule split this ADR locked in
10
+ > (`chat-history-ownership` / `-cadence` / `-visibility`) has been
11
+ > reduced to a hook-only structural artifact. The three always-rules,
12
+ > the heartbeat marker, and the Foreign-Prompt handshake are gone;
13
+ > `session_start` hooks auto-adopt foreign sessions silently. The text
14
+ > below is preserved for historical context only.
15
+ >
16
+ > **Original status:** Decided · 2026-05-02
8
17
  > **Context:** AI #1, AI #3, AI #5 review of PR #29 flagged the
9
18
  > 200-line monolithic `rules/chat-history.md` as the rule the agent
10
19
  > revisited 12+ times during the 1.14.0 cycle — three independent
@@ -13,7 +13,7 @@ helpers.
13
13
  **Ownership.** `agent-memory` is ours; we decide release timing. This
14
14
  doc is internal, not a spec handed to an external team. The
15
15
  authoritative spec-side documents live under
16
- [`agents/roadmaps/agent-memory/`](../../agents/roadmaps/agent-memory/); this context
16
+ [`agents/roadmaps/agent-memory/`](../../agents/roadmaps/archive/agent-memory/); this context
17
17
  is the **consumer-side snapshot** — what our wired code assumes today.
18
18
 
19
19
  Last refreshed: 2026-04-22.
@@ -30,7 +30,7 @@ column 1 of this table.
30
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
31
  | `optimize` | 1 | `agents` · `augmentignore` · `rtk` · `skills` | `optimize-agents` · `optimize-augmentignore` · `optimize-rtk-filters` · `optimize-skills` |
32
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` |
33
+ | `chat-history` | 2 | `show` · `import` · `learn` | `chat-history` (legacy status) `resume` / `clear` / `checkpoint` removed in `road-to-chat-history-hook-only` (auto-adopt + structural hooks); `import` (verbatim cross-session render) and `learn` (project-improving learning extraction) added in the v4 stateless schema |
34
34
  | `agents` | 2 | `audit` · `cleanup` · `prepare` | `agents-audit` · `agents-cleanup` · `agents-prepare` |
35
35
  | `memory` | 2 | `add` · `load` · `promote` · `propose` | `memory-add` · `memory-full` · `memory-promote` · `propose-memory` |
36
36
  | `roadmap` | 2 | `create` · `execute` | `roadmap-create` · `roadmap-execute` |
@@ -34,6 +34,7 @@ a roadmap revision (per `road-to-structural-optimization.md` § Definitions).
34
34
  | `contexts/chat-history/` | Phase 6 | `cadence.md`, `ownership.md`, `visibility.md` |
35
35
  | `contexts/execution/` | PR #34 (existing) | `<topic>-mechanics.md`, `<topic>-detection.md`, `<topic>-examples.md` |
36
36
  | `contexts/authority/` | PR #34 (existing) | `<topic>-mechanics.md` |
37
+ | `contexts/contracts/` | road-to-path-fixes Phase 4 | `<topic>-flow.md` (load-bearing flow contracts cited via `load_context:`) |
37
38
 
38
39
  ## Grandfathered files
39
40
 
@@ -54,7 +55,7 @@ contexts/subagent-configuration.md
54
55
 
55
56
  1. **Sub-tree allow-list.** Every `*.md` under
56
57
  `.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
+ nine locked sub-trees above, or (b) one of the six grandfathered
58
59
  root-level files. Anything else fails CI.
59
60
  2. **No collisions.** No two context files may share the same basename
60
61
  across sub-trees. `judges/persona-voice-rubric.md` and