@event4u/agent-config 1.9.1

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 (446) hide show
  1. package/.agent-src/README.md +64 -0
  2. package/.agent-src/commands/agent-handoff.md +64 -0
  3. package/.agent-src/commands/agent-status.md +83 -0
  4. package/.agent-src/commands/agents-audit.md +243 -0
  5. package/.agent-src/commands/agents-cleanup.md +169 -0
  6. package/.agent-src/commands/agents-prepare.md +137 -0
  7. package/.agent-src/commands/analyze-reference-repo.md +191 -0
  8. package/.agent-src/commands/bug-fix.md +181 -0
  9. package/.agent-src/commands/bug-investigate.md +175 -0
  10. package/.agent-src/commands/commit.md +121 -0
  11. package/.agent-src/commands/compress.md +177 -0
  12. package/.agent-src/commands/config-agent-settings.md +126 -0
  13. package/.agent-src/commands/context-create.md +167 -0
  14. package/.agent-src/commands/context-refactor.md +170 -0
  15. package/.agent-src/commands/copilot-agents-init.md +150 -0
  16. package/.agent-src/commands/copilot-agents-optimize.md +251 -0
  17. package/.agent-src/commands/create-pr-description.md +112 -0
  18. package/.agent-src/commands/create-pr.md +76 -0
  19. package/.agent-src/commands/do-and-judge.md +114 -0
  20. package/.agent-src/commands/do-in-steps.md +84 -0
  21. package/.agent-src/commands/e2e-heal.md +98 -0
  22. package/.agent-src/commands/e2e-plan.md +85 -0
  23. package/.agent-src/commands/estimate-ticket.md +80 -0
  24. package/.agent-src/commands/feature-dev.md +111 -0
  25. package/.agent-src/commands/feature-explore.md +180 -0
  26. package/.agent-src/commands/feature-plan.md +288 -0
  27. package/.agent-src/commands/feature-refactor.md +181 -0
  28. package/.agent-src/commands/feature-roadmap.md +184 -0
  29. package/.agent-src/commands/fix-ci.md +48 -0
  30. package/.agent-src/commands/fix-portability.md +97 -0
  31. package/.agent-src/commands/fix-pr-bot-comments.md +146 -0
  32. package/.agent-src/commands/fix-pr-comments.md +58 -0
  33. package/.agent-src/commands/fix-pr-developer-comments.md +152 -0
  34. package/.agent-src/commands/fix-references.md +94 -0
  35. package/.agent-src/commands/fix-seeder.md +146 -0
  36. package/.agent-src/commands/implement-ticket.md +133 -0
  37. package/.agent-src/commands/jira-ticket.md +71 -0
  38. package/.agent-src/commands/judge.md +86 -0
  39. package/.agent-src/commands/memory-add.md +130 -0
  40. package/.agent-src/commands/memory-full.md +97 -0
  41. package/.agent-src/commands/memory-promote.md +144 -0
  42. package/.agent-src/commands/mode.md +121 -0
  43. package/.agent-src/commands/module-create.md +132 -0
  44. package/.agent-src/commands/module-explore.md +157 -0
  45. package/.agent-src/commands/optimize-agents.md +139 -0
  46. package/.agent-src/commands/optimize-augmentignore.md +262 -0
  47. package/.agent-src/commands/optimize-rtk-filters.md +120 -0
  48. package/.agent-src/commands/optimize-skills.md +121 -0
  49. package/.agent-src/commands/override-create.md +97 -0
  50. package/.agent-src/commands/override-manage.md +96 -0
  51. package/.agent-src/commands/package-reset.md +154 -0
  52. package/.agent-src/commands/package-test.md +154 -0
  53. package/.agent-src/commands/prepare-for-review.md +91 -0
  54. package/.agent-src/commands/project-analyze.md +300 -0
  55. package/.agent-src/commands/project-health.md +95 -0
  56. package/.agent-src/commands/propose-memory.md +108 -0
  57. package/.agent-src/commands/quality-fix.md +106 -0
  58. package/.agent-src/commands/refine-ticket.md +81 -0
  59. package/.agent-src/commands/review-changes.md +130 -0
  60. package/.agent-src/commands/review-routing.md +111 -0
  61. package/.agent-src/commands/roadmap-create.md +110 -0
  62. package/.agent-src/commands/roadmap-execute.md +68 -0
  63. package/.agent-src/commands/rule-compliance-audit.md +139 -0
  64. package/.agent-src/commands/tests-create.md +73 -0
  65. package/.agent-src/commands/tests-execute.md +58 -0
  66. package/.agent-src/commands/threat-model.md +115 -0
  67. package/.agent-src/commands/update-form-request-messages.md +189 -0
  68. package/.agent-src/commands/upstream-contribute.md +171 -0
  69. package/.agent-src/contexts/augment-infrastructure.md +181 -0
  70. package/.agent-src/contexts/documentation-hierarchy.md +142 -0
  71. package/.agent-src/contexts/model-recommendations.md +142 -0
  72. package/.agent-src/contexts/override-system.md +187 -0
  73. package/.agent-src/contexts/skills-and-commands.md +154 -0
  74. package/.agent-src/contexts/subagent-configuration.md +62 -0
  75. package/.agent-src/guidelines/agent-infra/agent-interaction-and-decision-quality.md +110 -0
  76. package/.agent-src/guidelines/agent-infra/break-glass-usage.md +113 -0
  77. package/.agent-src/guidelines/agent-infra/developer-judgment.md +82 -0
  78. package/.agent-src/guidelines/agent-infra/engineering-memory-data-format.md +117 -0
  79. package/.agent-src/guidelines/agent-infra/layered-settings.md +158 -0
  80. package/.agent-src/guidelines/agent-infra/memory-access.md +121 -0
  81. package/.agent-src/guidelines/agent-infra/naming.md +69 -0
  82. package/.agent-src/guidelines/agent-infra/output-patterns.md +117 -0
  83. package/.agent-src/guidelines/agent-infra/review-routing-data-format.md +144 -0
  84. package/.agent-src/guidelines/agent-infra/role-contracts.md +211 -0
  85. package/.agent-src/guidelines/agent-infra/role-mode-router.md +89 -0
  86. package/.agent-src/guidelines/agent-infra/runtime-layer.md +89 -0
  87. package/.agent-src/guidelines/agent-infra/self-improvement-pipeline.md +135 -0
  88. package/.agent-src/guidelines/agent-infra/size-and-scope.md +189 -0
  89. package/.agent-src/guidelines/agent-infra/tool-integration.md +73 -0
  90. package/.agent-src/guidelines/docs/readme-size-and-splitting.md +153 -0
  91. package/.agent-src/guidelines/e2e/playwright.md +363 -0
  92. package/.agent-src/guidelines/php/api-design.md +115 -0
  93. package/.agent-src/guidelines/php/artisan-commands.md +81 -0
  94. package/.agent-src/guidelines/php/blade-ui.md +78 -0
  95. package/.agent-src/guidelines/php/controllers.md +90 -0
  96. package/.agent-src/guidelines/php/database.md +111 -0
  97. package/.agent-src/guidelines/php/eloquent.md +208 -0
  98. package/.agent-src/guidelines/php/flux.md +80 -0
  99. package/.agent-src/guidelines/php/general.md +191 -0
  100. package/.agent-src/guidelines/php/git.md +96 -0
  101. package/.agent-src/guidelines/php/jobs.md +111 -0
  102. package/.agent-src/guidelines/php/livewire.md +71 -0
  103. package/.agent-src/guidelines/php/logging.md +79 -0
  104. package/.agent-src/guidelines/php/naming.md +89 -0
  105. package/.agent-src/guidelines/php/patterns/dependency-injection.md +57 -0
  106. package/.agent-src/guidelines/php/patterns/dtos.md +199 -0
  107. package/.agent-src/guidelines/php/patterns/events.md +67 -0
  108. package/.agent-src/guidelines/php/patterns/factory.md +53 -0
  109. package/.agent-src/guidelines/php/patterns/pipelines.md +66 -0
  110. package/.agent-src/guidelines/php/patterns/policies.md +66 -0
  111. package/.agent-src/guidelines/php/patterns/repositories.md +122 -0
  112. package/.agent-src/guidelines/php/patterns/service-layer.md +64 -0
  113. package/.agent-src/guidelines/php/patterns/strategy.md +69 -0
  114. package/.agent-src/guidelines/php/patterns.md +28 -0
  115. package/.agent-src/guidelines/php/performance.md +92 -0
  116. package/.agent-src/guidelines/php/resources.md +100 -0
  117. package/.agent-src/guidelines/php/security.md +110 -0
  118. package/.agent-src/guidelines/php/sql.md +97 -0
  119. package/.agent-src/guidelines/php/validations.md +119 -0
  120. package/.agent-src/guidelines/php/websocket.md +100 -0
  121. package/.agent-src/personas/README.md +104 -0
  122. package/.agent-src/personas/ai-agent.md +77 -0
  123. package/.agent-src/personas/critical-challenger.md +73 -0
  124. package/.agent-src/personas/developer.md +73 -0
  125. package/.agent-src/personas/product-owner.md +78 -0
  126. package/.agent-src/personas/qa.md +67 -0
  127. package/.agent-src/personas/senior-engineer.md +77 -0
  128. package/.agent-src/personas/stakeholder.md +78 -0
  129. package/.agent-src/rules/agent-docs.md +61 -0
  130. package/.agent-src/rules/analysis-skill-routing.md +48 -0
  131. package/.agent-src/rules/architecture.md +62 -0
  132. package/.agent-src/rules/artifact-drafting-protocol.md +73 -0
  133. package/.agent-src/rules/ask-when-uncertain.md +52 -0
  134. package/.agent-src/rules/augment-portability.md +38 -0
  135. package/.agent-src/rules/augment-source-of-truth.md +128 -0
  136. package/.agent-src/rules/capture-learnings.md +89 -0
  137. package/.agent-src/rules/cli-output-handling.md +94 -0
  138. package/.agent-src/rules/commit-conventions.md +64 -0
  139. package/.agent-src/rules/context-hygiene.md +90 -0
  140. package/.agent-src/rules/docker-commands.md +55 -0
  141. package/.agent-src/rules/docs-sync.md +79 -0
  142. package/.agent-src/rules/downstream-changes.md +70 -0
  143. package/.agent-src/rules/e2e-testing.md +53 -0
  144. package/.agent-src/rules/guidelines.md +90 -0
  145. package/.agent-src/rules/improve-before-implement.md +94 -0
  146. package/.agent-src/rules/language-and-tone.md +104 -0
  147. package/.agent-src/rules/laravel-translations.md +48 -0
  148. package/.agent-src/rules/markdown-safe-codeblocks.md +18 -0
  149. package/.agent-src/rules/minimal-safe-diff.md +87 -0
  150. package/.agent-src/rules/missing-tool-handling.md +62 -0
  151. package/.agent-src/rules/model-recommendation.md +70 -0
  152. package/.agent-src/rules/package-ci-checks.md +80 -0
  153. package/.agent-src/rules/php-coding.md +63 -0
  154. package/.agent-src/rules/preservation-guard.md +29 -0
  155. package/.agent-src/rules/review-routing-awareness.md +125 -0
  156. package/.agent-src/rules/reviewer-awareness.md +92 -0
  157. package/.agent-src/rules/roadmap-progress-sync.md +56 -0
  158. package/.agent-src/rules/role-mode-adherence.md +54 -0
  159. package/.agent-src/rules/rule-type-governance.md +46 -0
  160. package/.agent-src/rules/runtime-safety.md +42 -0
  161. package/.agent-src/rules/scope-control.md +40 -0
  162. package/.agent-src/rules/security-sensitive-stop.md +77 -0
  163. package/.agent-src/rules/size-enforcement.md +29 -0
  164. package/.agent-src/rules/skill-improvement-trigger.md +58 -0
  165. package/.agent-src/rules/skill-quality.md +110 -0
  166. package/.agent-src/rules/slash-commands.md +30 -0
  167. package/.agent-src/rules/think-before-action.md +91 -0
  168. package/.agent-src/rules/token-efficiency.md +99 -0
  169. package/.agent-src/rules/tool-safety.md +36 -0
  170. package/.agent-src/rules/upstream-proposal.md +76 -0
  171. package/.agent-src/rules/user-interaction.md +79 -0
  172. package/.agent-src/rules/verify-before-complete.md +120 -0
  173. package/.agent-src/scripts/scan-seeder-violations.php +145 -0
  174. package/.agent-src/scripts/update_roadmap_progress.py +244 -0
  175. package/.agent-src/skills/adversarial-review/SKILL.md +149 -0
  176. package/.agent-src/skills/agent-docs-writing/SKILL.md +234 -0
  177. package/.agent-src/skills/analysis-autonomous-mode/SKILL.md +197 -0
  178. package/.agent-src/skills/analysis-skill-router/SKILL.md +134 -0
  179. package/.agent-src/skills/api-design/SKILL.md +104 -0
  180. package/.agent-src/skills/api-endpoint/SKILL.md +185 -0
  181. package/.agent-src/skills/api-testing/SKILL.md +206 -0
  182. package/.agent-src/skills/artisan-commands/SKILL.md +78 -0
  183. package/.agent-src/skills/authz-review/SKILL.md +171 -0
  184. package/.agent-src/skills/aws-infrastructure/SKILL.md +152 -0
  185. package/.agent-src/skills/blade-ui/SKILL.md +75 -0
  186. package/.agent-src/skills/blast-radius-analyzer/SKILL.md +185 -0
  187. package/.agent-src/skills/bug-analyzer/SKILL.md +256 -0
  188. package/.agent-src/skills/check-refs/SKILL.md +72 -0
  189. package/.agent-src/skills/code-refactoring/SKILL.md +200 -0
  190. package/.agent-src/skills/code-review/SKILL.md +214 -0
  191. package/.agent-src/skills/command-routing/SKILL.md +96 -0
  192. package/.agent-src/skills/command-writing/SKILL.md +143 -0
  193. package/.agent-src/skills/composer-packages/SKILL.md +172 -0
  194. package/.agent-src/skills/context-authoring/SKILL.md +157 -0
  195. package/.agent-src/skills/context-document/SKILL.md +153 -0
  196. package/.agent-src/skills/conventional-commits-writing/SKILL.md +70 -0
  197. package/.agent-src/skills/copilot-agents-optimization/SKILL.md +220 -0
  198. package/.agent-src/skills/copilot-config/SKILL.md +203 -0
  199. package/.agent-src/skills/dashboard-design/SKILL.md +116 -0
  200. package/.agent-src/skills/data-flow-mapper/SKILL.md +160 -0
  201. package/.agent-src/skills/database/SKILL.md +91 -0
  202. package/.agent-src/skills/dependency-upgrade/SKILL.md +204 -0
  203. package/.agent-src/skills/description-assist/SKILL.md +169 -0
  204. package/.agent-src/skills/design-review/SKILL.md +228 -0
  205. package/.agent-src/skills/devcontainer/SKILL.md +121 -0
  206. package/.agent-src/skills/developer-like-execution/SKILL.md +276 -0
  207. package/.agent-src/skills/docker/SKILL.md +245 -0
  208. package/.agent-src/skills/dto-creator/SKILL.md +117 -0
  209. package/.agent-src/skills/eloquent/SKILL.md +92 -0
  210. package/.agent-src/skills/eloquent/evals/last-run.json +99 -0
  211. package/.agent-src/skills/eloquent/evals/triggers.json +16 -0
  212. package/.agent-src/skills/estimate-ticket/SKILL.md +186 -0
  213. package/.agent-src/skills/estimate-ticket/evals/output-schema.yml +20 -0
  214. package/.agent-src/skills/estimate-ticket/evals/triggers.json +18 -0
  215. package/.agent-src/skills/fe-design/SKILL.md +223 -0
  216. package/.agent-src/skills/feature-planning/SKILL.md +226 -0
  217. package/.agent-src/skills/file-editor/SKILL.md +129 -0
  218. package/.agent-src/skills/finishing-a-development-branch/SKILL.md +200 -0
  219. package/.agent-src/skills/flux/SKILL.md +64 -0
  220. package/.agent-src/skills/git-workflow/SKILL.md +102 -0
  221. package/.agent-src/skills/github-ci/SKILL.md +122 -0
  222. package/.agent-src/skills/grafana/SKILL.md +168 -0
  223. package/.agent-src/skills/guideline-writing/SKILL.md +147 -0
  224. package/.agent-src/skills/jira-integration/SKILL.md +182 -0
  225. package/.agent-src/skills/jobs-events/SKILL.md +87 -0
  226. package/.agent-src/skills/judge-bug-hunter/SKILL.md +157 -0
  227. package/.agent-src/skills/judge-code-quality/SKILL.md +158 -0
  228. package/.agent-src/skills/judge-security-auditor/SKILL.md +167 -0
  229. package/.agent-src/skills/judge-test-coverage/SKILL.md +154 -0
  230. package/.agent-src/skills/laravel/SKILL.md +195 -0
  231. package/.agent-src/skills/laravel-horizon/SKILL.md +169 -0
  232. package/.agent-src/skills/laravel-mail/SKILL.md +193 -0
  233. package/.agent-src/skills/laravel-middleware/SKILL.md +185 -0
  234. package/.agent-src/skills/laravel-notifications/SKILL.md +168 -0
  235. package/.agent-src/skills/laravel-pennant/SKILL.md +188 -0
  236. package/.agent-src/skills/laravel-pulse/SKILL.md +160 -0
  237. package/.agent-src/skills/laravel-reverb/SKILL.md +205 -0
  238. package/.agent-src/skills/laravel-scheduling/SKILL.md +167 -0
  239. package/.agent-src/skills/laravel-validation/SKILL.md +71 -0
  240. package/.agent-src/skills/learning-to-rule-or-skill/SKILL.md +249 -0
  241. package/.agent-src/skills/lint-skills/SKILL.md +72 -0
  242. package/.agent-src/skills/livewire/SKILL.md +79 -0
  243. package/.agent-src/skills/logging-monitoring/SKILL.md +100 -0
  244. package/.agent-src/skills/mcp/SKILL.md +193 -0
  245. package/.agent-src/skills/merge-conflicts/SKILL.md +158 -0
  246. package/.agent-src/skills/migration-creator/SKILL.md +160 -0
  247. package/.agent-src/skills/module-management/SKILL.md +154 -0
  248. package/.agent-src/skills/multi-tenancy/SKILL.md +129 -0
  249. package/.agent-src/skills/openapi/SKILL.md +154 -0
  250. package/.agent-src/skills/override-management/SKILL.md +186 -0
  251. package/.agent-src/skills/performance/SKILL.md +69 -0
  252. package/.agent-src/skills/performance-analysis/SKILL.md +118 -0
  253. package/.agent-src/skills/pest-testing/SKILL.md +321 -0
  254. package/.agent-src/skills/php-coder/SKILL.md +78 -0
  255. package/.agent-src/skills/php-coder/evals/triggers.json +16 -0
  256. package/.agent-src/skills/php-debugging/SKILL.md +184 -0
  257. package/.agent-src/skills/php-service/SKILL.md +96 -0
  258. package/.agent-src/skills/playwright-testing/SKILL.md +244 -0
  259. package/.agent-src/skills/project-analysis-core/SKILL.md +138 -0
  260. package/.agent-src/skills/project-analysis-hypothesis-driven/SKILL.md +130 -0
  261. package/.agent-src/skills/project-analysis-laravel/SKILL.md +119 -0
  262. package/.agent-src/skills/project-analysis-nextjs/SKILL.md +123 -0
  263. package/.agent-src/skills/project-analysis-node-express/SKILL.md +111 -0
  264. package/.agent-src/skills/project-analysis-react/SKILL.md +119 -0
  265. package/.agent-src/skills/project-analysis-symfony/SKILL.md +111 -0
  266. package/.agent-src/skills/project-analysis-zend-laminas/SKILL.md +108 -0
  267. package/.agent-src/skills/project-analyzer/SKILL.md +341 -0
  268. package/.agent-src/skills/project-docs/SKILL.md +137 -0
  269. package/.agent-src/skills/quality-tools/SKILL.md +411 -0
  270. package/.agent-src/skills/readme-reviewer/SKILL.md +187 -0
  271. package/.agent-src/skills/readme-writing/SKILL.md +142 -0
  272. package/.agent-src/skills/readme-writing-package/SKILL.md +185 -0
  273. package/.agent-src/skills/receiving-code-review/SKILL.md +190 -0
  274. package/.agent-src/skills/refine-ticket/SKILL.md +310 -0
  275. package/.agent-src/skills/refine-ticket/detection-map.yml +124 -0
  276. package/.agent-src/skills/refine-ticket/evals/output-schema.yml +16 -0
  277. package/.agent-src/skills/refine-ticket/evals/triggers.json +16 -0
  278. package/.agent-src/skills/requesting-code-review/SKILL.md +199 -0
  279. package/.agent-src/skills/review-routing/SKILL.md +195 -0
  280. package/.agent-src/skills/roadmap-management/SKILL.md +303 -0
  281. package/.agent-src/skills/rtk-output-filtering/SKILL.md +184 -0
  282. package/.agent-src/skills/rule-writing/SKILL.md +148 -0
  283. package/.agent-src/skills/security/SKILL.md +79 -0
  284. package/.agent-src/skills/security-audit/SKILL.md +123 -0
  285. package/.agent-src/skills/sentry-integration/SKILL.md +170 -0
  286. package/.agent-src/skills/sequential-thinking/SKILL.md +158 -0
  287. package/.agent-src/skills/skill-improvement-pipeline/SKILL.md +155 -0
  288. package/.agent-src/skills/skill-management/SKILL.md +121 -0
  289. package/.agent-src/skills/skill-reviewer/SKILL.md +218 -0
  290. package/.agent-src/skills/skill-writing/SKILL.md +291 -0
  291. package/.agent-src/skills/skill-writing/evals/triggers.json +16 -0
  292. package/.agent-src/skills/sql-writing/SKILL.md +74 -0
  293. package/.agent-src/skills/subagent-orchestration/SKILL.md +190 -0
  294. package/.agent-src/skills/systematic-debugging/SKILL.md +244 -0
  295. package/.agent-src/skills/technical-specification/SKILL.md +185 -0
  296. package/.agent-src/skills/terraform/SKILL.md +137 -0
  297. package/.agent-src/skills/terragrunt/SKILL.md +217 -0
  298. package/.agent-src/skills/test-driven-development/SKILL.md +252 -0
  299. package/.agent-src/skills/test-performance/SKILL.md +172 -0
  300. package/.agent-src/skills/threat-modeling/SKILL.md +189 -0
  301. package/.agent-src/skills/traefik/SKILL.md +319 -0
  302. package/.agent-src/skills/universal-project-analysis/SKILL.md +179 -0
  303. package/.agent-src/skills/upstream-contribute/SKILL.md +255 -0
  304. package/.agent-src/skills/using-git-worktrees/SKILL.md +148 -0
  305. package/.agent-src/skills/validate-feature-fit/SKILL.md +113 -0
  306. package/.agent-src/skills/verify-before-complete/SKILL.md +188 -0
  307. package/.agent-src/skills/websocket/SKILL.md +75 -0
  308. package/.agent-src/templates/AGENTS.md +146 -0
  309. package/.agent-src/templates/agent-settings.md +256 -0
  310. package/.agent-src/templates/agents/.gitattributes.fragment +16 -0
  311. package/.agent-src/templates/agents/agent-project-settings.example.yml +138 -0
  312. package/.agent-src/templates/agents/memory/architecture-decisions.example.yml +95 -0
  313. package/.agent-src/templates/agents/memory/domain-invariants.example.yml +80 -0
  314. package/.agent-src/templates/agents/memory/historical-patterns.example.yml +82 -0
  315. package/.agent-src/templates/agents/memory/incident-learnings.example.yml +113 -0
  316. package/.agent-src/templates/agents/memory/ownership.example.yml +75 -0
  317. package/.agent-src/templates/agents/memory/product-rules.example.yml +87 -0
  318. package/.agent-src/templates/agents/proposal.example.md +143 -0
  319. package/.agent-src/templates/command.md +84 -0
  320. package/.agent-src/templates/contexts/auth-model.md +59 -0
  321. package/.agent-src/templates/contexts/data-sensitivity.md +60 -0
  322. package/.agent-src/templates/contexts/deployment-order.md +72 -0
  323. package/.agent-src/templates/contexts/observability.md +64 -0
  324. package/.agent-src/templates/contexts/tenant-boundaries.md +68 -0
  325. package/.agent-src/templates/contexts.md +116 -0
  326. package/.agent-src/templates/copilot-instructions.md +115 -0
  327. package/.agent-src/templates/features.md +125 -0
  328. package/.agent-src/templates/github-workflows/memory-hygiene.yml +133 -0
  329. package/.agent-src/templates/github-workflows/pr-risk-review.yml +123 -0
  330. package/.agent-src/templates/github-workflows/proposal-drift.yml +118 -0
  331. package/.agent-src/templates/overrides/command.md +24 -0
  332. package/.agent-src/templates/overrides/guideline.md +21 -0
  333. package/.agent-src/templates/overrides/rule.md +19 -0
  334. package/.agent-src/templates/overrides/skill.md +24 -0
  335. package/.agent-src/templates/overrides/template.md +21 -0
  336. package/.agent-src/templates/persona.md +99 -0
  337. package/.agent-src/templates/roadmaps.md +109 -0
  338. package/.agent-src/templates/scripts/README.md +195 -0
  339. package/.agent-src/templates/scripts/check_memory.py +283 -0
  340. package/.agent-src/templates/scripts/check_memory_proposal.py +180 -0
  341. package/.agent-src/templates/scripts/historical-bug-patterns.example.yml +84 -0
  342. package/.agent-src/templates/scripts/implement_ticket/__init__.py +57 -0
  343. package/.agent-src/templates/scripts/implement_ticket/__main__.py +9 -0
  344. package/.agent-src/templates/scripts/implement_ticket/cli.py +171 -0
  345. package/.agent-src/templates/scripts/implement_ticket/delivery_state.py +130 -0
  346. package/.agent-src/templates/scripts/implement_ticket/dispatcher.py +134 -0
  347. package/.agent-src/templates/scripts/implement_ticket/persona_policy.py +85 -0
  348. package/.agent-src/templates/scripts/implement_ticket/steps/__init__.py +49 -0
  349. package/.agent-src/templates/scripts/implement_ticket/steps/analyze.py +98 -0
  350. package/.agent-src/templates/scripts/implement_ticket/steps/implement.py +145 -0
  351. package/.agent-src/templates/scripts/implement_ticket/steps/memory.py +136 -0
  352. package/.agent-src/templates/scripts/implement_ticket/steps/plan.py +175 -0
  353. package/.agent-src/templates/scripts/implement_ticket/steps/refine.py +140 -0
  354. package/.agent-src/templates/scripts/implement_ticket/steps/report.py +195 -0
  355. package/.agent-src/templates/scripts/implement_ticket/steps/test.py +180 -0
  356. package/.agent-src/templates/scripts/implement_ticket/steps/verify.py +170 -0
  357. package/.agent-src/templates/scripts/memory_hash.py +75 -0
  358. package/.agent-src/templates/scripts/memory_lookup.py +216 -0
  359. package/.agent-src/templates/scripts/memory_report.py +184 -0
  360. package/.agent-src/templates/scripts/memory_signal.py +167 -0
  361. package/.agent-src/templates/scripts/memory_status.py +156 -0
  362. package/.agent-src/templates/scripts/ownership-map.example.yml +87 -0
  363. package/.agent-src/templates/scripts/pr-risk-config.example.yml +76 -0
  364. package/.agent-src/templates/scripts/pr_review_routing.py +340 -0
  365. package/.agent-src/templates/scripts/pr_risk_review.py +211 -0
  366. package/.agent-src/templates/skill.md +136 -0
  367. package/.augment-plugin/marketplace.json +32 -0
  368. package/.augment-plugin/plugin.json +21 -0
  369. package/.claude-plugin/marketplace.json +119 -0
  370. package/AGENTS.md +121 -0
  371. package/CHANGELOG.md +279 -0
  372. package/CONTRIBUTING.md +176 -0
  373. package/LICENSE +21 -0
  374. package/README.md +357 -0
  375. package/bin/install.php +38 -0
  376. package/composer.json +29 -0
  377. package/config/agent-settings.template.yml +96 -0
  378. package/config/profiles/balanced.ini +10 -0
  379. package/config/profiles/full.ini +10 -0
  380. package/config/profiles/minimal.ini +10 -0
  381. package/docs/architecture.md +144 -0
  382. package/docs/customization.md +88 -0
  383. package/docs/development.md +171 -0
  384. package/docs/getting-started.md +130 -0
  385. package/docs/github-topics.md +84 -0
  386. package/docs/installation.md +376 -0
  387. package/docs/mcp.md +133 -0
  388. package/docs/quality.md +98 -0
  389. package/docs/skills-catalog.md +136 -0
  390. package/docs/troubleshooting.md +167 -0
  391. package/llms.txt +130 -0
  392. package/package.json +31 -0
  393. package/scripts/audit_skill_descriptions.py +168 -0
  394. package/scripts/check_compression.py +221 -0
  395. package/scripts/check_memory.py +341 -0
  396. package/scripts/check_memory_proposal.py +180 -0
  397. package/scripts/check_portability.py +320 -0
  398. package/scripts/check_proposal.py +269 -0
  399. package/scripts/check_references.py +400 -0
  400. package/scripts/ci_summary.py +131 -0
  401. package/scripts/compress.py +671 -0
  402. package/scripts/compress.sh +18 -0
  403. package/scripts/first-run.sh +109 -0
  404. package/scripts/generate_catalog.py +116 -0
  405. package/scripts/install +151 -0
  406. package/scripts/install-hooks.sh +29 -0
  407. package/scripts/install.py +487 -0
  408. package/scripts/install.sh +637 -0
  409. package/scripts/install_anthropic_key.sh +101 -0
  410. package/scripts/inventory_frontmatter.py +164 -0
  411. package/scripts/lint_marketplace.py +142 -0
  412. package/scripts/lint_regression.py +232 -0
  413. package/scripts/mcp_render.py +159 -0
  414. package/scripts/measure_patterns.py +376 -0
  415. package/scripts/memory_hash.py +75 -0
  416. package/scripts/memory_lookup.py +441 -0
  417. package/scripts/memory_report.py +336 -0
  418. package/scripts/memory_signal.py +210 -0
  419. package/scripts/memory_status.py +195 -0
  420. package/scripts/postinstall.sh +60 -0
  421. package/scripts/readme_linter.py +580 -0
  422. package/scripts/refine_ticket_detect.py +623 -0
  423. package/scripts/requirements-evals.txt +7 -0
  424. package/scripts/runtime_dispatcher.py +265 -0
  425. package/scripts/runtime_handler.py +148 -0
  426. package/scripts/runtime_registry.py +166 -0
  427. package/scripts/schemas/command.schema.json +32 -0
  428. package/scripts/schemas/persona.schema.json +42 -0
  429. package/scripts/schemas/rule.schema.json +28 -0
  430. package/scripts/schemas/skill.schema.json +73 -0
  431. package/scripts/setup.sh +230 -0
  432. package/scripts/setup_eval_venv.sh +58 -0
  433. package/scripts/skill_linter.py +2175 -0
  434. package/scripts/skill_trigger_eval.py +651 -0
  435. package/scripts/tool_registry.py +146 -0
  436. package/scripts/tools/__init__.py +1 -0
  437. package/scripts/tools/adapter_errors.py +63 -0
  438. package/scripts/tools/base_adapter.py +91 -0
  439. package/scripts/tools/github_adapter.py +128 -0
  440. package/scripts/tools/jira_adapter.py +115 -0
  441. package/scripts/update_counts.py +147 -0
  442. package/scripts/validate_frontmatter.py +424 -0
  443. package/templates/consumer-settings/README.md +46 -0
  444. package/templates/consumer-settings/augment-settings.json +12 -0
  445. package/templates/consumer-settings/claude-settings.json +9 -0
  446. package/templates/consumer-settings/copilot-settings.json +14 -0
@@ -0,0 +1,110 @@
1
+ # agent-interaction-and-decision-quality
2
+
3
+ Improves how the agent asks questions, handles uncertainty, learns from feedback,
4
+ and integrates quality rules into CI.
5
+
6
+ ## Core principles
7
+
8
+ - Do not guess when clarification is cheap
9
+ - Do not overwhelm the user with too many complex questions at once
10
+ - Prefer structured decision-making over assumptions
11
+ - Learn from negative feedback and turn it into system improvements
12
+ - Integrate recurring improvements into rules, skills, or CI
13
+
14
+ ## 1. Question strategy
15
+
16
+ ### Simple decisions
17
+
18
+ If questions are simple binary or small choices — ask multiple at once, numbered clearly:
19
+
20
+ ```
21
+ 1. Use Tailwind or existing styles?
22
+ 2. Add tests? (yes/no)
23
+ 3. Extend existing component or create new one?
24
+ ```
25
+
26
+ ### Complex questions
27
+
28
+ If questions require thinking, context-create, or explanation:
29
+
30
+ - Ask ONE question at a time
31
+ - Wait for answer before continuing
32
+ - Do not bundle multiple complex topics together
33
+
34
+ ### Handoff / model-switch questions
35
+
36
+ If a handoff (e.g. model change, deeper analysis) is required:
37
+
38
+ 1. First ask all necessary domain questions (step-by-step if complex)
39
+ 2. Then ask the handoff question LAST
40
+
41
+ Reason: answers must be available before switching context — avoids incomplete downstream instructions.
42
+
43
+ ## 2. No blind implementation
44
+
45
+ Before implementing, analyze what already exists:
46
+
47
+ - Identify used frameworks, libraries, patterns
48
+ - If multiple UI systems exist (e.g. Tailwind, shadcn, custom): ask which one to use
49
+ - Do NOT pick one arbitrarily or start implementation without alignment
50
+
51
+ ## 3. Handling unclear requirements
52
+
53
+ If instructions are incomplete:
54
+
55
+ - Do NOT assume missing behavior
56
+ - Do NOT silently decide critical aspects
57
+ - Ask precise clarification questions or output a structured clarification request
58
+
59
+ ## 4. Learning from negative feedback
60
+
61
+ If the user complains, says something is wrong, or shows frustration:
62
+
63
+ 1. Do NOT ignore or defend blindly
64
+ 2. Extract the underlying failure pattern
65
+ 3. Convert it into one of:
66
+ - Rule (constraint to prevent recurrence)
67
+ - Skill improvement (better workflow step)
68
+ - Guideline addition (reference convention)
69
+ - Linter check (if recurring and automatable)
70
+
71
+ > Every mistake should improve the system.
72
+
73
+ ## 5. CI integration mindset
74
+
75
+ When introducing new quality patterns, consider whether they should be enforced automatically.
76
+
77
+ If unsure, ask:
78
+ - "Should this be enforced via CI?"
79
+ - "Should this be part of the linter?"
80
+
81
+ Prefer consistent enforcement over manual discipline.
82
+
83
+ ## 6. Decision transparency
84
+
85
+ When making decisions:
86
+
87
+ - State what you assumed
88
+ - State what alternatives exist
89
+ - State why a decision was made
90
+ - If the decision is important: confirm with the user before proceeding
91
+
92
+ ## 7. Efficiency in interaction
93
+
94
+ - Avoid long back-and-forth caused by poor initial questions
95
+ - Avoid rework caused by wrong assumptions
96
+ - Prefer: short clarification early → correct implementation once
97
+
98
+ ## Anti-patterns
99
+
100
+ - Asking 5 complex questions at once
101
+ - Mixing clarification and implementation in the same step
102
+ - Doing handoff before collecting required context
103
+ - Blindly choosing frameworks/tools without checking existing usage
104
+ - Ignoring user frustration instead of learning from it
105
+ - Introducing new quality rules without considering CI enforcement
106
+ - Making important decisions silently without stating reasoning
107
+
108
+ ## Final principle
109
+
110
+ > Ask better → decide better → build once → improve system continuously
@@ -0,0 +1,113 @@
1
+ # Break-Glass Usage
2
+
3
+ Guideline for operating the agent under a controlled emergency state —
4
+ when a production incident requires faster stabilization than normal
5
+ verification allows.
6
+
7
+ Break-glass is **a narrowing, not a bypass**. The rules still apply; the
8
+ gate is just smaller. Never decide to "break glass" unilaterally.
9
+
10
+ ## When break-glass is justified
11
+
12
+ All of the following must hold:
13
+
14
+ - **Active customer-impacting incident** — data loss, outage, security
15
+ exposure, billing regression. Not "we have a deadline".
16
+ - **Explicit user invocation** — the user says "break-glass" or
17
+ "hotfix, skip the full suite". Ambiguous wording is not enough; ask.
18
+ - **No viable rollback path** that would be faster than the forward fix.
19
+
20
+ Not a break-glass situation:
21
+
22
+ - Friday afternoon and you want to ship a feature.
23
+ - CI is slow and you want to skip tests.
24
+ - You can't reproduce a flaky test locally.
25
+ - A reviewer is asleep and you want to self-approve.
26
+
27
+ ## How to invoke
28
+
29
+ The user sets one of:
30
+
31
+ 1. **Conversation flag** — says "break-glass: true" or "this is a hotfix".
32
+ 2. **PR label** — `break-glass` on the PR (optional; the agent still
33
+ requires explicit invocation in the current turn).
34
+ 3. **Commit trailer** — `Break-Glass: <incident-id>` in the commit
35
+ message of the hotfix.
36
+
37
+ The agent confirms: "Entering break-glass — narrowing verification to
38
+ targeted test + smoke check. Follow-up PR required within 24h. Confirm?"
39
+ If the user agrees, proceed. If not, stay in the normal gate.
40
+
41
+ ## What narrows
42
+
43
+ | Layer | Normal gate | Break-glass |
44
+ |---|---|---|
45
+ | Tests | Targeted + full suite | Targeted only — covering the regression |
46
+ | Quality tools | PHPStan + Rector + ECS | Deferred to follow-up PR |
47
+ | Migrations review | Full dry-run + rollback check | Dry-run only, rollback note mandatory |
48
+ | Code review | ≥ 1 reviewer from required roles | 1 reviewer, can be post-merge |
49
+ | Changelog | Required | Deferred to follow-up PR |
50
+
51
+ Zero tests is **never** acceptable. If the incident fix genuinely cannot
52
+ be tested in the available time, document that explicitly and attach a
53
+ reproducer to the follow-up ticket.
54
+
55
+ ## What does NOT narrow
56
+
57
+ These rules stay fully in force, break-glass or not:
58
+
59
+ - [`minimal-safe-diff`](../../rules/minimal-safe-diff.md) — the hotfix is
60
+ still the **smallest** change that stops the bleeding. No drive-by
61
+ cleanups.
62
+ - [`security-sensitive-stop`](../../rules/security-sensitive-stop.md) — a
63
+ security-relevant change still needs the threat-model pass.
64
+ - [`scope-control`](../../rules/scope-control.md) — never mix the
65
+ hotfix with unrelated refactors from another branch.
66
+ - [`ask-when-uncertain`](../../rules/ask-when-uncertain.md) — more
67
+ asking, not less, when the blast radius is live.
68
+
69
+ ## Required artifacts
70
+
71
+ The hotfix PR must include, in the description:
72
+
73
+ 1. **Incident link** — ticket, Sentry issue, or Statuspage entry.
74
+ 2. **Skipped validations** — bullet list of what was deferred (e.g.
75
+ "full PHPUnit suite", "PHPStan", "Rector").
76
+ 3. **Evidence attached in-PR** — targeted test output, smoke-check log or
77
+ curl response, migration dry-run if applicable.
78
+ 4. **Follow-up commitment** — link to the follow-up ticket or PR that
79
+ will run the full gate. Due within 24h.
80
+
81
+ ## After the incident
82
+
83
+ Within 24 hours:
84
+
85
+ 1. Open the **follow-up PR** — runs the full verification gate against
86
+ the same branch or a rebase onto main.
87
+ 2. Write a short **incident note** (2–5 lines) — what failed, what the
88
+ hotfix did, what was deferred. Store in the project's postmortem
89
+ location.
90
+ 3. If the incident exposed a recurring failure mode, add an entry to
91
+ `historical-bug-patterns.yml` (see
92
+ [`review-routing-data-format`](review-routing-data-format.md)).
93
+
94
+ ## Anti-patterns — reject them
95
+
96
+ - "Break-glass" used as a label for every urgent task — the word stops
97
+ meaning anything.
98
+ - Shipping the hotfix **and** a refactor in the same commit "since the
99
+ file was open".
100
+ - Skipping the follow-up PR because "the hotfix was fine". The gate
101
+ runs once, not zero times.
102
+ - Logging the incident as "false alarm" when the hotfix actually
103
+ changed behavior. If behavior changed, write the note.
104
+
105
+ ## See also
106
+
107
+ - [`minimal-safe-diff`](../../rules/minimal-safe-diff.md) — break-glass
108
+ exception section.
109
+ - [`verify-before-complete`](../../rules/verify-before-complete.md) —
110
+ break-glass reduction section.
111
+ - [`security-sensitive-stop`](../../rules/security-sensitive-stop.md).
112
+ - [`review-routing-data-format`](review-routing-data-format.md) —
113
+ where to register newly-discovered failure modes.
@@ -0,0 +1,82 @@
1
+ # Developer Judgment Guideline
2
+
3
+ When the agent should challenge, when it should ask, and when it should just execute.
4
+
5
+ ## Decision table
6
+
7
+ | Situation | Agent behavior | Max delay |
8
+ |---|---|---|
9
+ | Clear, well-defined request | Execute immediately | 0 |
10
+ | Minor ambiguity | Ask ONE clarifying question | 10s |
11
+ | Request overlaps existing code | Point out existing solution | 15s |
12
+ | Request contradicts architecture | Challenge with evidence, propose alternative | 30s |
13
+ | Request is technically harmful | Warn, propose safe alternative | 30s |
14
+ | User insists after challenge | Execute immediately | 0 |
15
+ | Simple task (config, typo, docs) | Never challenge | 0 |
16
+
17
+ ## What makes a good challenge
18
+
19
+ ✅ **Good challenge:**
20
+ - References specific files or code
21
+ - Offers a concrete alternative
22
+ - Fits in 2-3 sentences
23
+ - Ends with numbered options
24
+
25
+ ❌ **Bad challenge:**
26
+ - Vague ("this might be problematic")
27
+ - No alternative offered
28
+ - Long explanation before the point
29
+ - Blocks work without clear reason
30
+
31
+ ## Examples
32
+
33
+ ### Good: Existing functionality
34
+
35
+ ```
36
+ > ⚠️ `UserService::deactivate()` (app/Services/UserService.php:45) already handles
37
+ > account deactivation with email notification.
38
+ >
39
+ > 1. Extend existing method with the new parameter
40
+ > 2. Create separate method — I'll document the overlap
41
+ ```
42
+
43
+ ### Good: Architecture concern
44
+
45
+ ```
46
+ > ⚠️ This would create a direct dependency from Module A to Module B's internals.
47
+ > The current pattern uses events for cross-module communication.
48
+ >
49
+ > 1. Use an event instead (follows existing pattern)
50
+ > 2. Add direct dependency (I'll add a note about the coupling)
51
+ ```
52
+
53
+ ### Bad: Vague concern
54
+
55
+ ```
56
+ > I'm not sure this is the best approach. There might be issues with this design.
57
+ > Should I look into alternatives?
58
+ ```
59
+
60
+ → This wastes the user's time. Either have a specific concern or don't raise one.
61
+
62
+ ## Integration with rules and skills
63
+
64
+ | Component | Role |
65
+ |---|---|
66
+ | `improve-before-implement` rule | Triggers validation on feature/architecture tasks |
67
+ | `validate-feature-fit` skill | Deep analysis when rule detects potential misfit |
68
+ | `ask-when-uncertain` rule | General uncertainty handling (complementary) |
69
+ | `think-before-action` rule | Analysis-first workflow (complementary) |
70
+
71
+ ## The spectrum of judgment
72
+
73
+ ```
74
+ Silent ────────────────── Challenging ──────────────── Blocking
75
+ ↑ ↑ ↑
76
+ Bug fixes Features NEVER
77
+ Config Architecture
78
+ Docs New patterns
79
+ ```
80
+
81
+ The agent NEVER reaches "Blocking". The right side of the spectrum is
82
+ "Challenge and let the user decide", never "refuse to implement".
@@ -0,0 +1,117 @@
1
+ # Engineering Memory Data Format
2
+
3
+ Schema and conventions for the four project-local YAML files that
4
+ extend the memory layer beyond `ownership-map` and
5
+ `historical-bug-patterns` (those are covered in
6
+ [`review-routing-data-format`](review-routing-data-format.md)).
7
+
8
+ All four files are **optional** and live in the consumer repository —
9
+ never in package-shipped artifacts. Absence is handled gracefully:
10
+ consulting skills fall through to their generic behaviour.
11
+
12
+ This guideline replaces the *"one guideline per schema"* plan from
13
+ `road-to-engineering-memory.md` with a single consolidated reference,
14
+ matching the existing pattern established by `review-routing-data-format`.
15
+
16
+ ## File locations
17
+
18
+ Each schema lives under `agents/memory/<type>/<hash>.yml` (content-addressed,
19
+ merge-safe — see [`road-to-memory-merge-safety.md`](../../../agents/roadmaps/road-to-memory-merge-safety.md))
20
+ **or** in a single `agents/memory/<type>.yml` file for projects that prefer
21
+ one file per type.
22
+
23
+ | Type | Single-file path | Sharded path |
24
+ |---|---|---|
25
+ | Domain invariants | `agents/memory/domain-invariants.yml` | `agents/memory/domain-invariants/<hash>.yml` |
26
+ | Architecture decisions | `agents/memory/architecture-decisions.yml` | `agents/memory/architecture-decisions/<hash>.yml` |
27
+ | Incident learnings | `agents/memory/incident-learnings.yml` | `agents/memory/incident-learnings/<hash>.yml` |
28
+ | Product rules | `agents/memory/product-rules.yml` | `agents/memory/product-rules/<hash>.yml` |
29
+
30
+ Choose one layout per type and stick with it. `scripts/check_memory.py`
31
+ warns if both exist for the same type.
32
+
33
+ ## Shared frontmatter fields
34
+
35
+ Every entry across all four types MUST carry these keys. The gate
36
+ rejects entries missing any required field.
37
+
38
+ | Key | Required | Type | Notes |
39
+ |---|---|---|---|
40
+ | `id` | yes | kebab-case slug | unique within the type |
41
+ | `status` | yes | `active` \| `deprecated` \| `archived` | lifecycle |
42
+ | `confidence` | yes | `low` \| `medium` \| `high` | reader weights accordingly |
43
+ | `source` | yes | list of URLs / ADR refs | ≥1 entry |
44
+ | `owner` | yes | team slug | who keeps this entry fresh |
45
+ | `last_validated` | yes | ISO date | stale check per type |
46
+ | `review_after_days` | yes | integer | triggers staleness warning |
47
+
48
+ ## Type-specific required fields
49
+
50
+ Each file also carries the template-specific body. See the example
51
+ templates for the full shape:
52
+
53
+ - [`domain-invariants.example.yml`](../../templates/agents/memory/domain-invariants.example.yml)
54
+ adds `rule`, `boundary`, `scope.paths`, `violation_contract`.
55
+ - [`architecture-decisions.example.yml`](../../templates/agents/memory/architecture-decisions.example.yml)
56
+ adds `title`, `context`, `decision`, `alternatives_rejected`,
57
+ `trade_offs`, `paths`, `superseded_by`.
58
+ - [`incident-learnings.example.yml`](../../templates/agents/memory/incident-learnings.example.yml)
59
+ adds `pattern`, `trigger_conditions`, `consequence`, `guardrail`,
60
+ `enforcement`, `severity`.
61
+ - [`product-rules.example.yml`](../../templates/agents/memory/product-rules.example.yml)
62
+ adds `rule`, `applies_to`, `enforcement`, `error_contract`, `version`.
63
+
64
+ ## Ownership (who writes, who reads)
65
+
66
+ | Type | Writer | Reader (skill/role) | Expiry |
67
+ |---|---|---|---|
68
+ | Domain invariants | senior engineer / architect | `developer-like-execution`, `php-coder`, `laravel` | reviewed at major version bump |
69
+ | Architecture decisions | decision author at ADR time | `feature-plan`, `api-design`, `blast-radius-analyzer` | `deprecated` on reversal; never deleted |
70
+ | Incident learnings | incident commander post-resolution | `Incident` role, `bug-investigate`, `bug-analyzer` | archived when guardrail lands + verified in prod |
71
+ | Product rules | PO or tech lead post-decision | `PO` role, `validate-feature-fit`, `laravel-validation` | version-stamped; old versions archived |
72
+
73
+ ## Redaction rules (hard)
74
+
75
+ Enforced by `scripts/check_memory.py`. Reject on match:
76
+
77
+ - **No secrets.** API keys, tokens, credentials, private URLs with
78
+ credentials, internal hostnames that expose infrastructure.
79
+ - **No customer names.** ACME Corp, specific account IDs, domain
80
+ names of real customers. Rephrase to the pattern.
81
+ - **No PII.** Names, emails, phone numbers, IP addresses tied to
82
+ real users. Incident-learnings is tempting here — resist.
83
+ - **No ticket IDs that identify the incident** in
84
+ `incident-learnings.yml`. Link the guardrail PR instead.
85
+
86
+ ## Reader contract
87
+
88
+ Consuming skills read an entry and expose its `status` + `confidence`
89
+ to the agent. A `confidence: low` domain invariant informs, it does not
90
+ dictate. A `confidence: high` incident learning blocks the generation
91
+ path if the guardrail is absent.
92
+
93
+ ## Staleness
94
+
95
+ `check_memory.py` runs weekly (not per-PR). It reports entries where
96
+ `(today - last_validated) > review_after_days`. Stale entries stay
97
+ active — the report is informational, not a gate.
98
+
99
+ ## Anti-patterns
100
+
101
+ - **Do NOT** merge `ownership-map.yml` semantics into these files.
102
+ Ownership is a separate concern; mixing them doubles the staleness
103
+ surface.
104
+ - **Do NOT** generate entries via LLM in bulk. Curated is the point.
105
+ The point of a `confidence: high` entry is human-verified claim,
106
+ not high-volume output.
107
+ - **Do NOT** delete `deprecated` or `archived` entries. History is
108
+ the value of memory; deletion is amnesia.
109
+ - **Do NOT** ship this file pre-populated. Each consumer starts
110
+ empty and fills as decisions and incidents accumulate.
111
+
112
+ ## See also
113
+
114
+ - [`road-to-engineering-memory.md`](../../../agents/roadmaps/road-to-engineering-memory.md) — roadmap this guideline implements
115
+ - [`road-to-memory-merge-safety.md`](../../../agents/roadmaps/road-to-memory-merge-safety.md) — why content-addressed files
116
+ - [`review-routing-data-format.md`](review-routing-data-format.md) — sibling format for ownership + bug patterns
117
+ - [`road-to-role-modes.md`](../../../agents/roadmaps/road-to-role-modes.md) — role modes that consume these files
@@ -0,0 +1,158 @@
1
+ # Layered Settings
2
+
3
+ Two-file settings model: **team defaults** (committed) and
4
+ **developer overrides** (git-ignored). Lets a project pin decisions
5
+ without forcing every developer to work the same way.
6
+
7
+ Referenced by `road-to-project-memory.md` Phase 0. Consumed by the
8
+ `config-agent-settings` command and the settings loader.
9
+
10
+ ## The two files
11
+
12
+ | File | Git | Scope | Owner | Example values |
13
+ |---|---|---|---|---|
14
+ | `.agent-project-settings.yml` | **committed** | team / repo | lead maintainer | `project.stack`, `quality.php.tools`, `memory.dogfood` |
15
+ | `.agent-settings.yml` | **gitignored** | developer workstation | individual | `personal.ide`, `personal.user_name`, `subagents.max_parallel` |
16
+
17
+ Both are YAML. Schema is documented in
18
+ [`agent-settings.md`](../../templates/agent-settings.md) (dev layer)
19
+ and [`agent-project-settings.example.yml`](../../templates/agents/agent-project-settings.example.yml)
20
+ (team layer).
21
+
22
+ ## Merge order
23
+
24
+ Lowest priority → highest priority:
25
+
26
+ ```
27
+ 1. Package defaults (shipped by event4u/agent-config)
28
+ 2. .agent-project-settings.yml (team file, committed)
29
+ 3. .agent-settings.yml (developer file, gitignored)
30
+ ```
31
+
32
+ Keys from higher layers win unless the lower layer marks them
33
+ `locked`. Locked keys cannot be shadowed by a higher layer.
34
+
35
+ ## Lock semantics
36
+
37
+ `.agent-project-settings.yml` has a top-level `locked_keys` list.
38
+ Any key listed there cannot be overridden from `.agent-settings.yml`:
39
+
40
+ ```yaml
41
+ # .agent-project-settings.yml
42
+ quality:
43
+ php:
44
+ tools: [phpstan, rector, ecs]
45
+
46
+ locked_keys:
47
+ - quality.php.tools
48
+ ```
49
+
50
+ Even if a developer's `.agent-settings.yml` sets
51
+ `quality.php.tools: [pint]`, the resolved value stays
52
+ `[phpstan, rector, ecs]`. The loader emits a one-line warning
53
+ when it ignores a locked override.
54
+
55
+ ### When to lock
56
+
57
+ - **Correctness** — test framework, database driver, seeder ordering.
58
+ - **Compliance** — code style enforced by CI.
59
+ - **Team-wide rituals** — mandatory pre-commit checks.
60
+
61
+ ### When NOT to lock
62
+
63
+ - Personal preferences — IDE, output verbosity, name.
64
+ - Performance knobs the developer should tune to their hardware.
65
+ - Anything that slows down onboarding without a correctness payoff.
66
+
67
+ Err on the side of **not** locking. Every locked key reduces
68
+ autonomy. Unlock by removing the entry from `locked_keys` — no
69
+ migration needed.
70
+
71
+ ## Migration from a single file
72
+
73
+ Repos that currently ship only `.agent-settings.yml` (often
74
+ mistakenly committed) migrate by:
75
+
76
+ 1. Create `.agent-project-settings.yml` from the example template.
77
+ 2. Move team-wide keys (`project.*`, `quality.*`, `memory.*`,
78
+ `review_routing.*`, `roles.*`) into the new file.
79
+ 3. Leave personal keys (`personal.*`, `subagents.*`, `github.*`)
80
+ in `.agent-settings.yml`.
81
+ 4. Commit `.agent-project-settings.yml`.
82
+ 5. Confirm `.agent-settings.yml` is in `.gitignore`; add it if not.
83
+ 6. Remove any previously-committed `.agent-settings.yml` from the
84
+ repo history only if it leaked personal tokens. Otherwise leave
85
+ it — future commits supersede.
86
+
87
+ The `config-agent-settings` command performs steps 1–3 and 5
88
+ automatically when it detects a one-file setup.
89
+
90
+ ## .gitignore expectations
91
+
92
+ ```
93
+ # .gitignore
94
+ .agent-settings.yml # developer-local, NEVER committed
95
+ .agent-settings.backup.* # migration backups
96
+ !.agent-project-settings.yml # explicitly NOT ignored
97
+ ```
98
+
99
+ The final negated entry protects the team file if a broader
100
+ pattern (e.g. `*.yml` in a nested folder) would otherwise match.
101
+
102
+ ## Consumption
103
+
104
+ - **Skills** read settings via the loader, never by parsing YAML
105
+ directly. The loader returns the merged view already.
106
+ - **Commands** that mutate settings must state which layer they
107
+ write to. Writing to the wrong layer is a spec bug.
108
+ - **`config-agent-settings`** is the single writer for both files.
109
+ Other commands MUST delegate — no ad-hoc YAML edits.
110
+
111
+ ## Persona-list merge semantics
112
+
113
+ Persona configuration does **not** follow the simple "higher layer
114
+ wins" rule — lists merge with explicit override and ignore hooks.
115
+
116
+ | Key | Layer | Role |
117
+ |---|---|---|
118
+ | `personas.default` | project | Team default cast (list of ids) |
119
+ | `personas.specialists.auto_include` | project | Specialists auto-added on every multi-lens run |
120
+ | `personas.override` | developer | Full replacement of `personas.default` for this developer (empty = inherit) |
121
+ | `personas.ignore` | developer | Ids dropped from the effective cast |
122
+ | `.augmentignore` | workstation | Persona files physically hidden from the agent |
123
+
124
+ **Resolution order** for the effective cast of a multi-lens skill:
125
+
126
+ 1. Start with `personas.default` from the project file.
127
+ 2. If `personas.override` is non-empty, **replace** the list (not merge).
128
+ 3. Add every id from `personas.specialists.auto_include`.
129
+ 4. Remove every id from `personas.ignore`.
130
+ 5. Remove every id whose file is matched by `.augmentignore`.
131
+ 6. If the skill's own frontmatter pins `personas: [...]`, that wins
132
+ over all of the above — the skill is the authority for its own
133
+ cast.
134
+
135
+ An id removed in step 4 or 5 stays **invokable** via explicit
136
+ `--personas=<id>` on the skill invocation. Ignore hides the id from
137
+ the default cast; it does not blacklist it.
138
+
139
+ If the project locks `personas.default` via `locked_keys`, steps 2
140
+ and 4 are ignored with a one-line warning — the developer cannot
141
+ narrow a team-locked cast.
142
+
143
+ ## Anti-patterns
144
+
145
+ - **Do NOT** commit `.agent-settings.yml`. It contains developer
146
+ identity and potentially secrets.
147
+ - **Do NOT** put personal preferences in `.agent-project-settings.yml`.
148
+ The team file is not a place to publish your IDE choice.
149
+ - **Do NOT** lock every key "just to be safe". Locking is an
150
+ intervention, not a default.
151
+ - **Do NOT** merge settings in skill code. The loader owns the
152
+ merge; duplicating it creates drift.
153
+
154
+ ## See also
155
+
156
+ - [`agent-settings.md`](../../templates/agent-settings.md) — dev-layer schema
157
+ - [`agent-project-settings.example.yml`](../../templates/agents/agent-project-settings.example.yml) — team-layer template
158
+ - [`road-to-project-memory.md`](../../../agents/roadmaps/road-to-project-memory.md) — roadmap this guideline implements