@event4u/agent-config 7.5.0 โ†’ 8.0.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 (428) hide show
  1. package/.claude-plugin/marketplace.json +8 -1
  2. package/AGENTS.md +9 -9
  3. package/CHANGELOG.md +325 -0
  4. package/README.md +35 -5
  5. package/dist/agent-src/commands/analytics/prune.md +1 -1
  6. package/dist/agent-src/commands/analytics/show.md +1 -1
  7. package/dist/agent-src/commands/analyze/decision.md +2 -2
  8. package/dist/agent-src/commands/analyze/incident.md +2 -2
  9. package/dist/agent-src/commands/analyze/near-miss.md +2 -2
  10. package/dist/agent-src/commands/analyze/postmortem.md +2 -2
  11. package/dist/agent-src/commands/analyze/premortem.md +2 -2
  12. package/dist/agent-src/commands/cost-report.md +25 -0
  13. package/dist/agent-src/commands/evals/analyze.json +30 -0
  14. package/dist/agent-src/commands/evals/mission-upgrade.json +30 -0
  15. package/dist/agent-src/commands/implement-ticket.md +1 -1
  16. package/dist/agent-src/commands/knowledge/forget.md +1 -1
  17. package/dist/agent-src/commands/knowledge/ingest.md +1 -1
  18. package/dist/agent-src/commands/knowledge/list.md +1 -1
  19. package/dist/agent-src/commands/memory/load.md +12 -11
  20. package/dist/agent-src/commands/memory/promote.md +30 -0
  21. package/dist/agent-src/commands/memory/propose.md +16 -2
  22. package/dist/agent-src/commands/mission/upgrade.md +1 -1
  23. package/dist/agent-src/commands/module/explore.md +11 -7
  24. package/dist/agent-src/commands/optimize-project.md +243 -0
  25. package/dist/agent-src/commands/optimize.md +5 -0
  26. package/dist/agent-src/commands/pr/create.md +37 -8
  27. package/dist/agent-src/commands/prediction-pool.md +2 -2
  28. package/dist/agent-src/commands/profile/activate.md +3 -3
  29. package/dist/agent-src/commands/profile/deactivate.md +2 -2
  30. package/dist/agent-src/commands/profile/show.md +3 -3
  31. package/dist/agent-src/commands/research/deep.md +5 -0
  32. package/dist/agent-src/commands/research/report.md +2 -1
  33. package/dist/agent-src/commands/roadmap/create.md +88 -10
  34. package/dist/agent-src/commands/roadmap/materialize.md +1 -1
  35. package/dist/agent-src/commands/roadmap/process-full.md +15 -2
  36. package/dist/agent-src/commands/roadmap/process-phase.md +18 -6
  37. package/dist/agent-src/commands/roadmap/process-step.md +4 -0
  38. package/dist/agent-src/commands/roadmap.md +1 -1
  39. package/dist/agent-src/commands/security-audit-config.md +1 -1
  40. package/dist/agent-src/commands/sync-agent-settings.md +1 -1
  41. package/dist/agent-src/commands/sync-gitignore/fix.md +42 -6
  42. package/dist/agent-src/commands/team-knowledge/bootstrap.md +106 -0
  43. package/dist/agent-src/commands/team-knowledge/consolidate.md +105 -0
  44. package/dist/agent-src/commands/team-knowledge.md +64 -0
  45. package/dist/agent-src/contexts/authority/commit-mechanics.md +8 -0
  46. package/dist/agent-src/contexts/authority/destructive-mechanics.md +11 -0
  47. package/dist/agent-src/contexts/authority/scope-mechanics.md +25 -0
  48. package/dist/agent-src/contexts/communication/rules-auto/reply-close-mechanics.md +43 -0
  49. package/dist/agent-src/contexts/contracts/agents-md-anatomy.md +1 -1
  50. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +2 -2
  51. package/dist/agent-src/contexts/contracts/frugality-charter.md +1 -0
  52. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +14 -4
  53. package/dist/agent-src/contexts/execution/autonomy-mechanics.md +11 -0
  54. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +32 -8
  55. package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +107 -0
  56. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +71 -15
  57. package/dist/agent-src/contexts/execution/subagent-steering.md +41 -1
  58. package/dist/agent-src/contexts/override-system.md +1 -1
  59. package/dist/agent-src/personas/brand-strategist.md +0 -1
  60. package/dist/agent-src/personas/data-integrity.md +66 -0
  61. package/dist/agent-src/personas/design-director.md +0 -1
  62. package/dist/agent-src/personas/performance-engineer.md +66 -0
  63. package/dist/agent-src/personas/production-validator.md +73 -0
  64. package/dist/agent-src/rules/agent-authority.md +3 -4
  65. package/dist/agent-src/rules/analysis-skill-routing.md +3 -5
  66. package/dist/agent-src/rules/architecture.md +2 -4
  67. package/dist/agent-src/rules/artifact-drafting-protocol.md +35 -6
  68. package/dist/agent-src/rules/artifact-engagement-recording.md +2 -4
  69. package/dist/agent-src/rules/ask-when-uncertain.md +10 -14
  70. package/dist/agent-src/rules/augment-edit-discipline.md +3 -5
  71. package/dist/agent-src/rules/autonomous-execution.md +3 -5
  72. package/dist/agent-src/rules/brand-consistency.md +3 -5
  73. package/dist/agent-src/rules/brand-source-of-truth.md +3 -5
  74. package/dist/agent-src/rules/cli-output-handling.md +4 -6
  75. package/dist/agent-src/rules/command-suggestion-policy.md +3 -5
  76. package/dist/agent-src/rules/commit-conventions.md +3 -5
  77. package/dist/agent-src/rules/commit-policy.md +8 -10
  78. package/dist/agent-src/rules/content-quoting-floor.md +88 -0
  79. package/dist/agent-src/rules/context-hygiene.md +3 -5
  80. package/dist/agent-src/rules/copilot-routing.md +4 -6
  81. package/dist/agent-src/rules/decision-revisit-gate.md +120 -0
  82. package/dist/agent-src/rules/delegation-policy.md +10 -6
  83. package/dist/agent-src/rules/design-fidelity.md +3 -5
  84. package/dist/agent-src/rules/devcontainer-routing.md +4 -6
  85. package/dist/agent-src/rules/direct-answers.md +13 -17
  86. package/dist/agent-src/rules/docker-commands.md +3 -5
  87. package/dist/agent-src/rules/domain-adoption-policy.md +3 -5
  88. package/dist/agent-src/rules/domain-safety-disclaimer.md +3 -5
  89. package/dist/agent-src/rules/domain-safety-pii.md +3 -5
  90. package/dist/agent-src/rules/domain-safety-retention.md +3 -5
  91. package/dist/agent-src/rules/downstream-changes.md +3 -4
  92. package/dist/agent-src/rules/engineering-safety-floor.md +3 -5
  93. package/dist/agent-src/rules/external-reference-deep-dive.md +3 -5
  94. package/dist/agent-src/rules/fast-path-marker-visibility.md +3 -5
  95. package/dist/agent-src/rules/finance-safety-floor.md +3 -6
  96. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +3 -5
  97. package/dist/agent-src/rules/git-history-discipline.md +3 -5
  98. package/dist/agent-src/rules/guidelines.md +2 -4
  99. package/dist/agent-src/rules/icon-consistency.md +3 -5
  100. package/dist/agent-src/rules/image-likeness-and-rights.md +3 -5
  101. package/dist/agent-src/rules/improve-before-implement.md +5 -5
  102. package/dist/agent-src/rules/invite-challenge.md +3 -5
  103. package/dist/agent-src/rules/language-and-tone.md +13 -15
  104. package/dist/agent-src/rules/laravel-routing.md +3 -5
  105. package/dist/agent-src/rules/laravel-translations.md +3 -5
  106. package/dist/agent-src/rules/legal-safety-floor.md +3 -5
  107. package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -5
  108. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +4 -7
  109. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -5
  110. package/dist/agent-src/rules/markdown-safe-codeblocks.md +2 -4
  111. package/dist/agent-src/rules/media-governance-routing.md +3 -5
  112. package/dist/agent-src/rules/media-sync-ground-truth.md +3 -5
  113. package/dist/agent-src/rules/minimal-safe-diff.md +5 -5
  114. package/dist/agent-src/rules/missing-tool-handling.md +3 -5
  115. package/dist/agent-src/rules/model-recommendation.md +4 -6
  116. package/dist/agent-src/rules/no-attribution-footers.md +3 -5
  117. package/dist/agent-src/rules/no-cheap-questions.md +5 -8
  118. package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +3 -6
  119. package/dist/agent-src/rules/no-pr-progress-comments.md +3 -6
  120. package/dist/agent-src/rules/no-roadmap-references.md +3 -5
  121. package/dist/agent-src/rules/non-destructive-by-default.md +11 -13
  122. package/dist/agent-src/rules/notes-first-reasoning.md +3 -5
  123. package/dist/agent-src/rules/onboarding-gate.md +4 -6
  124. package/dist/agent-src/rules/output-discipline.md +3 -5
  125. package/dist/agent-src/rules/package-ci-checks.md +3 -5
  126. package/dist/agent-src/rules/persona-governance.md +2 -4
  127. package/dist/agent-src/rules/php-coding.md +3 -5
  128. package/dist/agent-src/rules/preservation-guard.md +2 -4
  129. package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -5
  130. package/dist/agent-src/rules/reviewer-awareness.md +5 -6
  131. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +3 -5
  132. package/dist/agent-src/rules/roadmap-progress-sync.md +5 -5
  133. package/dist/agent-src/rules/role-mode-adherence.md +2 -4
  134. package/dist/agent-src/rules/rule-type-governance.md +3 -5
  135. package/dist/agent-src/rules/runtime-safety.md +2 -4
  136. package/dist/agent-src/rules/scope-control.md +10 -11
  137. package/dist/agent-src/rules/security-sensitive-stop.md +4 -5
  138. package/dist/agent-src/rules/size-enforcement.md +2 -4
  139. package/dist/agent-src/rules/skill-improvement-trigger.md +3 -5
  140. package/dist/agent-src/rules/skill-quality.md +3 -5
  141. package/dist/agent-src/rules/slash-command-routing-policy.md +3 -5
  142. package/dist/agent-src/rules/source-confidentiality.md +3 -5
  143. package/dist/agent-src/rules/source-discovery-gate.md +3 -5
  144. package/dist/agent-src/rules/source-of-truth.md +3 -5
  145. package/dist/agent-src/rules/strategy-safety-floor.md +3 -5
  146. package/dist/agent-src/rules/symfony-routing.md +4 -6
  147. package/dist/agent-src/rules/telegraph-speak.md +4 -5
  148. package/dist/agent-src/rules/think-before-action.md +7 -4
  149. package/dist/agent-src/rules/token-budget-discipline.md +29 -5
  150. package/dist/agent-src/rules/token-efficiency.md +3 -5
  151. package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -5
  152. package/dist/agent-src/rules/tool-safety.md +2 -4
  153. package/dist/agent-src/rules/ui-audit-gate.md +3 -6
  154. package/dist/agent-src/rules/untrusted-input-defense.md +3 -5
  155. package/dist/agent-src/rules/upstream-proposal.md +4 -6
  156. package/dist/agent-src/rules/user-interaction.md +7 -5
  157. package/dist/agent-src/rules/user-interrupt-priority.md +17 -8
  158. package/dist/agent-src/rules/verify-before-complete.md +12 -22
  159. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +3 -3
  160. package/dist/agent-src/scripts/update_roadmap_progress.ts +197 -7
  161. package/dist/agent-src/skills/adr-create/SKILL.md +48 -42
  162. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +18 -0
  163. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  164. package/dist/agent-src/skills/ai-council/SKILL.md +14 -1
  165. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +0 -3
  166. package/dist/agent-src/skills/brand/SKILL.md +1 -1
  167. package/dist/agent-src/skills/brand-identity/SKILL.md +3 -3
  168. package/dist/agent-src/skills/brand-strategy/SKILL.md +1 -1
  169. package/dist/agent-src/skills/brand-to-tokens/SKILL.md +3 -3
  170. package/dist/agent-src/skills/canvas-design/SKILL.md +6 -0
  171. package/dist/agent-src/skills/check-refs/SKILL.md +7 -4
  172. package/dist/agent-src/skills/code-review/SKILL.md +1 -0
  173. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +6 -5
  174. package/dist/agent-src/skills/condense-memory/SKILL.md +11 -11
  175. package/dist/agent-src/skills/context-document/SKILL.md +17 -0
  176. package/dist/agent-src/skills/corpus-grounding/SKILL.md +3 -3
  177. package/dist/agent-src/skills/decision-record/SKILL.md +6 -0
  178. package/dist/agent-src/skills/decision-review/SKILL.md +5 -3
  179. package/dist/agent-src/skills/deep-reading-analyst/SKILL.md +6 -1
  180. package/dist/agent-src/skills/design-intelligence/SKILL.md +5 -2
  181. package/dist/agent-src/skills/design-intelligence/references/design-languages.md +1 -1
  182. package/dist/agent-src/skills/design-tokens/SKILL.md +10 -4
  183. package/dist/agent-src/skills/design-variations/SKILL.md +127 -0
  184. package/dist/agent-src/skills/design-variations/evals/triggers.json +17 -0
  185. package/dist/agent-src/skills/emit-tickets/SKILL.md +4 -4
  186. package/dist/agent-src/skills/fe-design/SKILL.md +20 -0
  187. package/dist/agent-src/skills/html-deck/SKILL.md +123 -0
  188. package/dist/agent-src/skills/html-deck/evals/triggers.json +17 -0
  189. package/dist/agent-src/skills/html-deck/templates/deck-shell.html +77 -0
  190. package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -0
  191. package/dist/agent-src/skills/laravel/SKILL.md +0 -1
  192. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +46 -0
  193. package/dist/agent-src/skills/lint-skills/SKILL.md +6 -6
  194. package/dist/agent-src/skills/md-language-check/SKILL.md +3 -3
  195. package/dist/agent-src/skills/memory-consolidation/SKILL.md +66 -1
  196. package/dist/agent-src/skills/migration-architect/SKILL.md +1 -0
  197. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +2 -2
  198. package/dist/agent-src/skills/performance-analysis/SKILL.md +2 -0
  199. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +4 -4
  200. package/dist/agent-src/skills/premortem/SKILL.md +0 -3
  201. package/dist/agent-src/skills/project-analysis-core/SKILL.md +16 -0
  202. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +3 -1
  203. package/dist/agent-src/skills/release-comms/SKILL.md +46 -45
  204. package/dist/agent-src/skills/roadmap-management/SKILL.md +21 -0
  205. package/dist/agent-src/skills/roadmap-writing/SKILL.md +32 -2
  206. package/dist/agent-src/skills/root-cause-frameworks/SKILL.md +0 -3
  207. package/dist/agent-src/skills/security-audit/SKILL.md +1 -0
  208. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -0
  209. package/dist/agent-src/skills/source-discovery/SKILL.md +22 -3
  210. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +33 -14
  211. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +11 -0
  212. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +8 -0
  213. package/dist/agent-src/skills/systematic-debugging/SKILL.md +29 -0
  214. package/dist/agent-src/skills/threat-modeling/SKILL.md +2 -2
  215. package/dist/agent-src/skills/typography-system/SKILL.md +2 -2
  216. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +2 -0
  217. package/dist/agent-src/skills/wireframe/SKILL.md +118 -0
  218. package/dist/agent-src/skills/wireframe/evals/triggers.json +17 -0
  219. package/dist/agent-src/templates/agent-settings.md +22 -1
  220. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  221. package/dist/agent-src/templates/command.md +2 -2
  222. package/dist/agent-src/templates/contexts/knowledge-pages.md +116 -0
  223. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +1 -1
  224. package/dist/agent-src/templates/roadmaps.md +70 -2
  225. package/dist/agent-src/templates/rule.md +1 -1
  226. package/dist/agent-src/templates/scripts/README.md +3 -3
  227. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +109 -0
  228. package/dist/agent-src/templates/tickets.md +8 -8
  229. package/dist/cli/commands/recordTriggerEval.test.js +1 -1
  230. package/dist/cli/commands/recordTriggerEval.test.js.map +1 -1
  231. package/dist/cli/initRouting.js +4 -2
  232. package/dist/cli/initRouting.js.map +1 -1
  233. package/dist/cli/registry.js +1 -0
  234. package/dist/cli/registry.js.map +1 -1
  235. package/dist/discovery/deprecation-report.md +1 -1
  236. package/dist/discovery/discovery-manifest.json +718 -240
  237. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  238. package/dist/discovery/discovery-manifest.summary.md +8 -8
  239. package/dist/discovery/orphan-report.md +1 -1
  240. package/dist/discovery/packs.json +43 -28
  241. package/dist/discovery/trust-report.md +12 -11
  242. package/dist/discovery/workspaces.json +29 -18
  243. package/dist/install/preflight.js +173 -0
  244. package/dist/install/preflight.js.map +1 -0
  245. package/dist/mcp/registry-manifest.json +4 -4
  246. package/dist/router.json +1 -1
  247. package/dist/server/routes/settings.js +4 -0
  248. package/dist/server/routes/settings.js.map +1 -1
  249. package/dist/server/schemas/settings.js +3 -1
  250. package/dist/server/schemas/settings.js.map +1 -1
  251. package/docs/CLAIMS.md +108 -0
  252. package/docs/MIGRATION.md +3 -3
  253. package/docs/architecture.md +5 -5
  254. package/docs/benchmark.md +133 -2
  255. package/docs/benchmark.pinned.yml +31 -0
  256. package/docs/capability-matrix.md +1 -0
  257. package/docs/catalog.md +70 -60
  258. package/docs/command-flows.md +15 -3
  259. package/docs/comparison.yaml +35 -0
  260. package/docs/contracts/agents-layout.md +148 -0
  261. package/docs/contracts/brand-token-consumption.md +5 -0
  262. package/docs/contracts/capability-boundary.md +5 -0
  263. package/docs/contracts/command-category-governance.md +5 -0
  264. package/docs/contracts/command-clusters.md +1 -0
  265. package/docs/contracts/command-surface-tiers.md +1 -1
  266. package/docs/contracts/conformance.md +84 -0
  267. package/docs/contracts/creative-pack-boundary.md +5 -0
  268. package/docs/contracts/discovery-manifest.schema.json +5 -4
  269. package/docs/contracts/file-ownership-matrix.json +4605 -985
  270. package/docs/contracts/governance-enforcement-projection.md +5 -0
  271. package/docs/contracts/gui-wizard.md +1 -1
  272. package/docs/contracts/hook-architecture-v1.md +2 -2
  273. package/docs/contracts/implement-ticket-flow.md +1 -1
  274. package/docs/contracts/kernel-membership.md +13 -0
  275. package/docs/contracts/mcp-tool-inventory.md +23 -23
  276. package/docs/contracts/no-runtime-boundary.md +6 -1
  277. package/docs/contracts/review-lens-schema.md +5 -0
  278. package/docs/contracts/rule-router.md +102 -8
  279. package/docs/contracts/skill-bundled-assets.md +1 -1
  280. package/docs/contracts/skill-dry-run.md +1 -1
  281. package/docs/contracts/subagent-boundary.md +5 -0
  282. package/docs/contracts/ticket-bundle-format.md +9 -4
  283. package/docs/contracts/tier-3-contrib-plugin.md +2 -2
  284. package/docs/contracts/write-engine.md +3 -0
  285. package/docs/customization.md +87 -15
  286. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +1 -1
  287. package/docs/decisions/ADR-109-subagent-v1-contract.md +246 -0
  288. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +105 -0
  289. package/docs/decisions/INDEX.md +2 -0
  290. package/docs/distribution/awesome-list-submission.md +46 -0
  291. package/docs/distribution/launch-story-draft.md +58 -0
  292. package/docs/end-to-end-walkthroughs.md +2 -2
  293. package/docs/getting-started.md +2 -2
  294. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +24 -0
  295. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +1 -1
  296. package/docs/guidelines/agent-infra/linked-projects-onboarding-gate.md +2 -2
  297. package/docs/guidelines/agent-infra/missing-tool-handling.md +3 -3
  298. package/docs/guidelines/agent-infra/verify-before-complete-demos.md +2 -2
  299. package/docs/guidelines/augment-portability-patterns.md +1 -1
  300. package/docs/guidelines/code-clarity.md +19 -0
  301. package/docs/guidelines/design-antipatterns-triggers.json +2 -1
  302. package/docs/guidelines/design-antipatterns.md +10 -1
  303. package/docs/guidelines/design-modes.md +6 -0
  304. package/docs/guidelines/php/general.md +9 -1
  305. package/docs/guidelines/php/php-coding-patterns.md +7 -0
  306. package/docs/guides/cross-repo-retrieval.md +1 -1
  307. package/docs/guides/frontend-design-corpus-refresh.md +2 -2
  308. package/docs/guides/local-analytics.md +4 -4
  309. package/docs/guides/skill-discovery.md +1 -1
  310. package/docs/guides/skill-preview.md +1 -1
  311. package/docs/hook-payload-capture.md +6 -6
  312. package/docs/install-friction-report.md +66 -0
  313. package/docs/installation.md +1 -1
  314. package/docs/maintainers/optional-media-deps.md +50 -0
  315. package/docs/mcp-server.md +11 -12
  316. package/docs/media/proof-demo.cast +14 -0
  317. package/docs/media/proof-demo.gif +0 -0
  318. package/docs/migration/consumer-template-consumption-model.md +1 -1
  319. package/docs/migration/divergences/bench-stats-float-precision.md +1 -1
  320. package/docs/migration/node-floor.md +1 -1
  321. package/docs/migration/yaml-roundtrip-spike.md +1 -1
  322. package/docs/personas.md +16 -5
  323. package/docs/positioning-evidence.md +86 -0
  324. package/docs/proof.md +86 -0
  325. package/docs/skills-catalog.md +1 -1
  326. package/docs/troubleshooting.md +8 -8
  327. package/docs/wedge/production-validator/README.md +57 -0
  328. package/docs/wedge/production-validator/production-validator.md +56 -0
  329. package/docs/wizard.md +2 -2
  330. package/package.json +1 -1
  331. package/src/config/agent-settings.template.yml +59 -4
  332. package/src/config/agents-paths.yml +254 -0
  333. package/src/config/budgets.yml +16 -0
  334. package/src/config/discovery/packs.yml +1 -0
  335. package/src/config/discovery/unassigned-artefacts.yml +2 -0
  336. package/src/config/gitignore-block.txt +25 -0
  337. package/src/config/host-capabilities.yml +31 -0
  338. package/src/config/profiles/balanced.ini +4 -0
  339. package/src/config/profiles/full.ini +4 -0
  340. package/src/config/profiles/minimal.ini +4 -0
  341. package/src/scripts/_cli/cmd_conformance.ts +716 -0
  342. package/src/scripts/_cli/cmd_doctor.ts +23 -2
  343. package/src/scripts/_cli/cmd_fleet.ts +401 -0
  344. package/src/scripts/_cli/cmd_preflight.ts +159 -0
  345. package/src/scripts/_dispatch.bash +10 -0
  346. package/src/scripts/_lib/knowledge_events.ts +193 -0
  347. package/src/scripts/_lib/subagent_steering.ts +115 -3
  348. package/src/scripts/_lib/text_similarity.ts +75 -0
  349. package/src/scripts/ai-video/test-pipeline.sh +1 -1
  350. package/src/scripts/ai_council/clients.ts +19 -3
  351. package/src/scripts/append_contested.ts +112 -0
  352. package/src/scripts/audit_auto_rules.ts +11 -1
  353. package/src/scripts/audit_mcp_tools.ts +25 -11
  354. package/src/scripts/bench_ab_v2_run.ts +527 -40
  355. package/src/scripts/bench_ab_v2_stats.ts +6 -0
  356. package/src/scripts/bench_matrix.ts +266 -0
  357. package/src/scripts/bootstrap_knowledge.ts +267 -0
  358. package/src/scripts/build_discovery_manifest.ts +42 -2
  359. package/src/scripts/build_proof.ts +214 -0
  360. package/src/scripts/check_always_budget.ts +3 -0
  361. package/src/scripts/check_augment_description_cap.ts +2 -2
  362. package/src/scripts/check_claims.ts +270 -0
  363. package/src/scripts/check_comparison.ts +79 -0
  364. package/src/scripts/check_generated_artefact_headers.ts +109 -0
  365. package/src/scripts/check_generator_output_coverage.ts +142 -0
  366. package/src/scripts/check_gitignore_freshness.ts +127 -0
  367. package/src/scripts/check_knowledge_pages.ts +210 -0
  368. package/src/scripts/check_knowledge_sharing.ts +162 -0
  369. package/src/scripts/check_media_deps.ts +91 -0
  370. package/src/scripts/check_memory_contradiction.ts +280 -0
  371. package/src/scripts/check_memory_similarity.ts +134 -0
  372. package/src/scripts/check_quality_regression.ts +56 -10
  373. package/src/scripts/check_references.ts +3 -1
  374. package/src/scripts/check_release_pr_shape.ts +4 -0
  375. package/src/scripts/check_site_links.ts +135 -0
  376. package/src/scripts/check_skill_gaps.ts +99 -0
  377. package/src/scripts/check_token_quality_golden.ts +197 -11
  378. package/src/scripts/check_tracked_but_ignored.ts +67 -0
  379. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  380. package/src/scripts/compile_router.ts +30 -3
  381. package/src/scripts/condense.ts +350 -14
  382. package/src/scripts/consolidate_knowledge_events.ts +192 -0
  383. package/src/scripts/degrade_to_pointer.ts +136 -0
  384. package/src/scripts/design_slop_rules.test.ts +15 -0
  385. package/src/scripts/design_slop_rules.ts +28 -0
  386. package/src/scripts/emit_knowledge_event.ts +158 -0
  387. package/src/scripts/export_replay_corpus.ts +187 -0
  388. package/src/scripts/external_sources_denylist.json +7 -2
  389. package/src/scripts/fold_intake.ts +281 -0
  390. package/src/scripts/generate_capability_matrix.ts +9 -1
  391. package/src/scripts/generate_knowledge_index.ts +222 -0
  392. package/src/scripts/hook_manifest.yaml +26 -14
  393. package/src/scripts/hooks/dispatch_hook.ts +18 -0
  394. package/src/scripts/hot_context_hook.ts +372 -0
  395. package/src/scripts/install +47 -0
  396. package/src/scripts/install-hooks.sh +17 -0
  397. package/src/scripts/inventory_meta_layers.ts +11 -0
  398. package/src/scripts/janitor.ts +258 -0
  399. package/src/scripts/lint_agents_layout.ts +74 -15
  400. package/src/scripts/lint_bench_ab.ts +4 -1
  401. package/src/scripts/lint_featured_skills.ts +0 -0
  402. package/src/scripts/lint_framework_leakage_allowlist.json +26 -3
  403. package/src/scripts/lint_knowledge_scale.ts +250 -0
  404. package/src/scripts/lint_legal_pack.ts +67 -0
  405. package/src/scripts/lint_persona_governance.ts +8 -3
  406. package/src/scripts/lint_regression.ts +15 -0
  407. package/src/scripts/lint_roadmap_blockers.ts +202 -0
  408. package/src/scripts/lint_roadmap_complexity.ts +81 -2
  409. package/src/scripts/lint_subagent_determinism.ts +125 -0
  410. package/src/scripts/measure_augment_budget.ts +46 -6
  411. package/src/scripts/measure_patterns.ts +4 -3
  412. package/src/scripts/measure_skill_reduction.ts +6 -6
  413. package/src/scripts/migration_status.ts +6 -2
  414. package/src/scripts/mine_missing_guardrails.ts +189 -0
  415. package/src/scripts/parity/phase_gate.ts +1 -1
  416. package/src/scripts/parity/replay.ts +21 -0
  417. package/src/scripts/project_thin_rules.ts +120 -16
  418. package/src/scripts/release.ts +39 -1
  419. package/src/scripts/render_benchmark_composite.ts +378 -0
  420. package/src/scripts/roadmap_progress_hook.ts +101 -43
  421. package/src/scripts/schemas/skill.schema.json +27 -0
  422. package/src/scripts/schemas/subagent.schema.json +106 -0
  423. package/src/scripts/skill_linter.ts +1 -0
  424. package/src/scripts/smoke/kernel.sh +5 -4
  425. package/src/scripts/surface-tiers.yml +1 -0
  426. package/src/scripts/sync_gitignore.ts +4 -0
  427. package/src/scripts/update_skill_candidates.ts +172 -0
  428. package/src/scripts/validate_frontmatter.ts +1 -0
@@ -94,11 +94,11 @@ type, affected paths) per
94
94
 
95
95
  Surface the draft and ask:
96
96
 
97
- > 1. Propose this candidate to `/memory propose` (recommended)
97
+ > 1. Propose this candidate to `/memory propose`
98
98
  > 2. Refine before proposing โ€” suggest changes
99
99
  > 3. Skip memory candidate for now
100
100
 
101
- **Empfehlung:** 1
101
+ **Recommendation:** 1
102
102
 
103
103
  ### Rules
104
104
 
@@ -90,11 +90,11 @@ draft an `incident-learnings` candidate via `/memory propose`:
90
90
 
91
91
  ### 5. Surface the candidate to the user
92
92
 
93
- > 1. Propose this candidate to `/memory propose` (recommended)
93
+ > 1. Propose this candidate to `/memory propose`
94
94
  > 2. Refine before proposing โ€” suggest changes
95
95
  > 3. Skip memory candidate for now
96
96
 
97
- **Empfehlung:** 1
97
+ **Recommendation:** 1
98
98
 
99
99
  ### Rules
100
100
 
@@ -108,11 +108,11 @@ update an existing one.
108
108
 
109
109
  Present the draft candidate and ask:
110
110
 
111
- > 1. Propose this candidate to `/memory propose` (recommended)
111
+ > 1. Propose this candidate to `/memory propose`
112
112
  > 2. Refine before proposing โ€” suggest changes
113
113
  > 3. Skip memory candidate for now
114
114
 
115
- **Empfehlung:** 1
115
+ **Recommendation:** 1
116
116
 
117
117
  ### Rules
118
118
 
@@ -82,11 +82,11 @@ If the analysis surfaces a pattern worth preserving for future plans:
82
82
 
83
83
  3. Surface the candidate to the user and ask:
84
84
 
85
- > 1. Propose this candidate to `/memory propose` (recommended)
85
+ > 1. Propose this candidate to `/memory propose`
86
86
  > 2. Refine before proposing โ€” suggest changes
87
87
  > 3. Skip memory candidate for now
88
88
 
89
- **Empfehlung:** 1
89
+ **Recommendation:** 1
90
90
 
91
91
  ### Rules
92
92
 
@@ -100,6 +100,31 @@ BUDGET_PERIOD=week node scripts/cost/budget.mjs check
100
100
 
101
101
  Allowed values: `today`, `week`, `month`, `all` (default).
102
102
 
103
+ ### 6. Orchestration telemetry summary (when telemetry exists)
104
+
105
+ Read the current-month JSONL from `agents/runtime/state/audit/YYYY-MM.jsonl`
106
+ (`YYYY-MM` = current UTC month). If it exists and has lines with `input_kind:
107
+ "orchestration"`, surface an orchestration summary via `readOrchestrationMetrics`
108
+ from `src/scripts/_lib/subagent_steering.ts`:
109
+
110
+ ```
111
+ Orchestration telemetry (YYYY-MM, N dispatches):
112
+ avg token_delta: ยฑNNN (positive = cost more; negative = saved)
113
+ spawn_failure_rate: N.N% (threshold: 10%)
114
+ verify_skip_rate: N.N% (threshold: 1%)
115
+ guardrail breaches: [token_blowup | spawn_failure | verify_skip | none]
116
+ ```
117
+
118
+ No orchestration lines yet (capture not running or no delegated dispatches this
119
+ month) โ†’ surface:
120
+
121
+ > No orchestration telemetry yet โ€” subagent dispatches begin writing to
122
+ > `agents/runtime/state/audit/YYYY-MM.jsonl` once `subagents.enabled: true`
123
+ > and a dispatch runs.
124
+
125
+ Skip this step entirely if the user did not ask about orchestration telemetry and
126
+ there is no `agents/runtime/state/audit/` directory.
127
+
103
128
  ## Rules
104
129
 
105
130
  - **Local-only.** Never persist cost data to remote stores. The
@@ -0,0 +1,30 @@
1
+ {
2
+ "command": "analyze",
3
+ "intent": "Analysis dispatcher โ€” classify input by keywords, propose a weighted framework path, let the user pick",
4
+ "cases": [
5
+ {
6
+ "prompt": "analyze what went wrong in yesterday's deploy",
7
+ "expected": "analyze"
8
+ },
9
+ {
10
+ "prompt": "run a post-mortem on the checkout outage",
11
+ "expected": "analyze"
12
+ },
13
+ {
14
+ "prompt": "we're about to launch โ€” do a pre-mortem on the migration plan",
15
+ "expected": "analyze"
16
+ },
17
+ {
18
+ "prompt": "review the decision we made about the queue architecture last quarter",
19
+ "expected": "analyze"
20
+ },
21
+ {
22
+ "prompt": "that was almost a data-loss incident โ€” analyze the near miss",
23
+ "expected": "analyze"
24
+ },
25
+ {
26
+ "prompt": "walk me through a structured incident analysis for the API downtime",
27
+ "expected": "analyze"
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "command": "mission-upgrade",
3
+ "intent": "Upgrade a Laravel application one major version (10โ†’11, 11โ†’12) via the gated /work engine with a structured breaking-change catalog",
4
+ "cases": [
5
+ {
6
+ "prompt": "upgrade our Laravel app from 10 to 11",
7
+ "expected": "mission-upgrade"
8
+ },
9
+ {
10
+ "prompt": "bump laravel/framework to the next major version",
11
+ "expected": "mission-upgrade"
12
+ },
13
+ {
14
+ "prompt": "run the Laravel 11 to 12 upgrade with the breaking-change catalog",
15
+ "expected": "mission-upgrade"
16
+ },
17
+ {
18
+ "prompt": "plan and execute the framework major-version upgrade for this Laravel project",
19
+ "expected": "mission-upgrade"
20
+ },
21
+ {
22
+ "prompt": "migrate this app to the new Laravel major release",
23
+ "expected": "mission-upgrade"
24
+ },
25
+ {
26
+ "prompt": "our composer.json pins laravel 10 โ€” take it to 11 safely",
27
+ "expected": "mission-upgrade"
28
+ }
29
+ ]
30
+ }
@@ -61,7 +61,7 @@ engine โ€” they make a `lite`-tier build safe (per
61
61
  `done`. If a dependency is open, STOP and surface it โ€” never build
62
62
  out of order.
63
63
  - **Pre-build staleness gate.** Run
64
- `python3 src/scripts/lint_ticket_buildable.ts` on the bundle. An
64
+ `./scripts-run src/scripts/lint_ticket_buildable` on the bundle. An
65
65
  `adr_refs` SHA drift is a **hard** stop ("re-emit the bundle"); a
66
66
  `source_refs` SHA drift only **warns** and proceeds (split severity).
67
67
  - **Boundary guard.** Carry the ticket's `boundaries`
@@ -46,7 +46,7 @@ If the prefix is missing โ†’ print the usage line above and stop. Do
46
46
  ### 2. Run the implementation
47
47
 
48
48
  ```bash
49
- python3 packages/core/installer/python/knowledge_ingest.py \
49
+ ./agent-config knowledge \
50
50
  forget <ingest-id-prefix>
51
51
  ```
52
52
 
@@ -55,7 +55,7 @@ Run before any file is touched:
55
55
  ### 3. Run the implementation
56
56
 
57
57
  ```bash
58
- python3 packages/core/installer/python/knowledge_ingest.py \
58
+ ./agent-config knowledge \
59
59
  ingest <path> [--no-redact] [--markitdown=<bin>]
60
60
  ```
61
61
 
@@ -46,7 +46,7 @@ sorted by `created_at` ascending. Read-only by default; `--pin` and
46
46
  ### 2. Run the implementation
47
47
 
48
48
  ```bash
49
- python3 packages/core/installer/python/knowledge_ingest.py \
49
+ ./agent-config knowledge \
50
50
  list [--format=...] [--pin <id-prefix>] [--unpin <id-prefix>]
51
51
  ```
52
52
 
@@ -66,15 +66,16 @@ If the lookup helper does not yet support `--priority`, fall back to a
66
66
  file-only sweep:
67
67
 
68
68
  ```bash
69
- python3 - <<'PY'
70
- import pathlib, yaml
71
- for f in sorted(pathlib.Path("agents/memory").rglob("*.yml")):
72
- data = yaml.safe_load(f.read_text(encoding="utf-8")) or {}
73
- for e in data.get("entries", []) or []:
74
- if e.get("priority") == "critical" and e.get("status") == "active":
75
- print(f"--- {f.parent.name}/{e.get('id')}")
76
- print(yaml.safe_dump(e, sort_keys=False), end="")
77
- PY
69
+ node -e '
70
+ const fs = require("fs"), path = require("path"), yaml = require("js-yaml");
71
+ const glob = (dir) => fs.readdirSync(dir, {recursive: true}).filter(f => f.endsWith(".yml")).map(f => path.join(dir, f));
72
+ for (const f of glob("agents/memory").sort()) {
73
+ const data = yaml.load(fs.readFileSync(f, "utf8")) || {};
74
+ for (const e of data.entries || [])
75
+ if (e.priority === "critical" && e.status === "active")
76
+ console.log("---", path.basename(path.dirname(f)) + "/" + e.id, "\n" + yaml.dump(e, {sortKeys: false}));
77
+ }
78
+ '
78
79
  ```
79
80
 
80
81
  The Tier-0 slice is surfaced once per `/memory:load` invocation, even
@@ -88,7 +89,7 @@ Before loading, count the entries:
88
89
 
89
90
  ```bash
90
91
  ./agent-config memory:lookup --types <type> --format json | \
91
- python3 -c "import sys, json; print(len(json.load(sys.stdin)))"
92
+ node -e "const d = []; process.stdin.on('data', c => d.push(c)); process.stdin.on('end', () => console.log(JSON.parse(d.join('')).length))"
92
93
  ```
93
94
 
94
95
  If the count exceeds 25, warn:
@@ -131,7 +132,7 @@ After step 4, count unreviewed intake entries for the same type:
131
132
 
132
133
  ```bash
133
134
  ./agent-config memory:lookup --types <type> --intake-only --format json | \
134
- python3 -c "import sys, json; print(len(json.load(sys.stdin)))"
135
+ node -e "const d = []; process.stdin.on('data', c => d.push(c)); process.stdin.on('end', () => console.log(JSON.parse(d.join('')).length))"
135
136
  ```
136
137
 
137
138
  Read `memory.review_threshold` from `.agent-settings.yml` (default 10).
@@ -116,6 +116,36 @@ schema to write to and record the override in the `source:` block.
116
116
 
117
117
  Show the YAML draft and ask for confirmation before writing.
118
118
 
119
+ ### 3b. Contradiction check โ€” durable types only
120
+
121
+ For the behaviorally load-bearing durable types (`incident-learnings`,
122
+ `product-rules`, `domain-invariants`), run the mechanical contradiction
123
+ detector before writing (same primary key + Jaccard body similarity
124
+ < 0.3 โ†’ same topic, different claim):
125
+
126
+ ```bash
127
+ ./scripts-run src/scripts/check_memory_contradiction \
128
+ --type <type> --key <curated id or key field> --body "<draft body>"
129
+ ```
130
+
131
+ - Exit `0` โ†’ proceed to Step 4.
132
+ - Exit `1` โ†’ a potential contradiction pair was surfaced. **Never
133
+ auto-resolve** (council REJECT list). Ask the human via the contested
134
+ flow:
135
+
136
+ ```
137
+ > โš ๏ธ The draft may contradict an existing durable entry (same key, low similarity).
138
+ >
139
+ > 1. Approve new + mark the existing entry `contested` (with provenance: what changed, which session)
140
+ > 2. Revise the new draft โ€” the existing entry stands
141
+ > 3. Both are valid in different scopes โ€” narrow the new entry's key and re-check
142
+ ```
143
+
144
+ Warning surface, not a gate โ€” the human's pick resolves it; the
145
+ detector never blocks a promote on its own. Non-durable types
146
+ (`sessions`-style exploratory content, `recurring-patterns`, โ€ฆ) are
147
+ deliberately not checked โ€” they evolve legitimately.
148
+
119
149
  ### 4. Write the curated entry (content-addressed)
120
150
 
121
151
  Compute the content hash and write a **one-entry file** at
@@ -75,7 +75,21 @@ Ask once, numbered. If the user picks `skip`, proceed without them:
75
75
  primary tag picks the intake JSONL file, the promoter resolves the
76
76
  curated target via tag intersection.
77
77
 
78
- ### 4. Emit via the shared helper
78
+ ### 4. Check for a near-duplicate (advisory)
79
+
80
+ ```bash
81
+ ./scripts-run src/scripts/check_memory_similarity --type <type> --body "<body>"
82
+ ```
83
+
84
+ Token-Jaccard similarity against existing intake signals of the same
85
+ type โ€” advisory, additive, never touches the exact-match dedup in
86
+ Step 5. Exit 1 (โ‰ฅ 80% similar) โ†’ surface the matched signal id and ask
87
+ whether to reuse/update it instead of creating a new one; proceed to
88
+ Step 5 only if the user confirms this is a genuinely distinct finding.
89
+ Exit 0 with a "nearest match" note (40โ€“79% similar) โ†’ mention it, then
90
+ proceed. Exit 0 with no match โ†’ proceed silently.
91
+
92
+ ### 5. Emit via the shared helper
79
93
 
80
94
  ```bash
81
95
  ./agent-config memory:signal \
@@ -95,7 +109,7 @@ automatically โ€” re-running the command on the same finding will
95
109
  silently skip the write. Add `--force` only when deliberate duplication
96
110
  is intended (rarely).
97
111
 
98
- ### 5. Confirm and close
112
+ ### 6. Confirm and close
99
113
 
100
114
  ```
101
115
  > โœ… Signal queued as id=<sig-xxxxxx> in <file>.
@@ -42,7 +42,7 @@ Before starting, confirm:
42
42
  Any fail โ†’ surface the conflict and stop. Run:
43
43
 
44
44
  ```bash
45
- python3 src/scripts/lint_missions.ts --check-precondition upgrade .
45
+ ./scripts-run src/scripts/lint_missions --check-precondition upgrade .
46
46
  ```
47
47
 
48
48
  (Currently a documented stub โ€” full live-repo check lands in Phase 1 PoC.)
@@ -41,11 +41,15 @@ unset):
41
41
  - **Node / TS monorepo**: Check `packages/`, `apps/`, or `modules/`.
42
42
  - **Python**: Check top-level package dirs under `src/<package>/` or flat `<package>/`.
43
43
  - **Go**: Check `internal/<domain>/` or `cmd/<service>/`.
44
- - If none of the above exists:
45
- ```
46
- โš ๏ธ No module system found (no Modules/, src/<Domain>/, packages/, internal/, or equivalent directory).
47
- ```
48
- Stop.
44
+
45
+ If both the `modules:` block and the fallback table yield nothing:
46
+
47
+ ```
48
+ โš ๏ธ No module system found (no Modules/, src/<Domain>/, packages/, internal/, or equivalent directory).
49
+ Run `./scripts-run src/scripts/propose_modules_config` to surface candidates.
50
+ ```
51
+
52
+ Stop.
49
53
 
50
54
  ### 2. List available modules
51
55
 
@@ -82,8 +86,8 @@ Let `{module_dir}` be the selected module's `module_path` from
82
86
 
83
87
  **Structure:**
84
88
  - List all directories and files (2 levels deep)
85
- - Count PHP files per directory (Controllers, Services, Models, Jobs, Commands, etc.)
86
- - List route files and their contents
89
+ - Count source files per directory (Controllers, Services, Models, Jobs, Commands, etc. โ€” adapt to the configured stack)
90
+ - List route / entry-point files and their contents
87
91
 
88
92
  **Code:**
89
93
  - Use `codebase-retrieval` to understand the module's purpose and key classes
@@ -0,0 +1,243 @@
1
+ ---
2
+ model_tier: high
3
+ name: optimize-project
4
+ pack: engineering-base
5
+ tier: 2
6
+ visibility: internal
7
+ skills: [project-analyzer, decision-review, roadmap-writing]
8
+ description: "Project-wide optimization sweep โ€” inventory roadmaps, ADRs, agent folders (incl. modules), challenge stale decisions with the user in the loop, emit new roadmap(s). E.g. 'optimize this project'."
9
+ suggestion:
10
+ eligible: true
11
+ trigger_description: "optimize this project, optimize the project, what should we improve based on current state, challenge our old decisions, are our roadmaps and ADRs still right, optimiere das Projekt, hinterfrag unsere alten Entscheidungen"
12
+ trigger_context: "user wants a project-wide review that questions existing state (roadmaps, ADRs, decisions, structures) and ends in new roadmap(s) โ€” NOT a bug fix, NOT a single-decision audit (/analyze:decision), NOT agent-layer tooling (/optimize)"
13
+ workspaces:
14
+ - engineering
15
+ - agent-config-maintainer
16
+ packs:
17
+ - meta
18
+ ---
19
+
20
+ # /optimize-project
21
+
22
+ Project-wide optimization loop: **inventory โ†’ challenge โ†’ interview โ†’
23
+ roadmap(s)**. Analyzes project it runs in (package or consumer),
24
+ questions existing state โ€” roadmaps, ADRs, decisions, structures, in
25
+ this package e.g. token consumption, memory, learnings โ€” asks user
26
+ when flipping old decision would be real improvement, ends by emitting
27
+ one or more NEW roadmaps via `/roadmap:create`.
28
+
29
+ **Coordinator** over existing primitives โ€” composes, never
30
+ reimplements: `/project-health`-style inventory, `/challenge-me`
31
+ interview mechanics, `/analyze:decision`-style decision challenge,
32
+ `/roadmap:create` output.
33
+
34
+ > Looking for agent-layer tooling (skills, agents-dir, augmentignore,
35
+ > rtk filters)? That is the [`/optimize`](optimize.md) cluster โ€”
36
+ > different surface. This command optimizes the **project**, not the
37
+ > agent layer.
38
+
39
+ ## When to invoke
40
+
41
+ - "Optimize this project" / "optimiere das Projekt".
42
+ - "What should we improve based on the current state?"
43
+ - "Challenge our old decisions" / "are our roadmaps and ADRs still right?"
44
+ - Periodic hygiene: roadmaps accumulated, decisions feel stale,
45
+ structures grew organically, nobody questioned them.
46
+
47
+ Do NOT invoke for: single named bug ("fix this"), single decision
48
+ audit (route to `/analyze:decision`), code-only analysis
49
+ (`/project-analyze`), AGENTS.md / agent-layer work (`/agents`,
50
+ `/optimize`).
51
+
52
+ ## Steps
53
+
54
+ ### Step 0 โ€” Scope detection (read-only)
55
+
56
+ 1. Detect target type:
57
+ - **Package mode** โ€” repo IS `event4u/agent-config` (marker:
58
+ `src/config/budgets.yml` + `dist/agent-src/` present). Optimization
59
+ surface additionally: token budget, memory index,
60
+ learnings/knowledge corpus, lint debt.
61
+ - **Consumer mode** โ€” any other project with `agents/` tree and/or
62
+ installed agent layer. Surface = workflows, structures, docs,
63
+ roadmaps, decisions.
64
+ 2. Resolve module roots via
65
+ `scripts/_lib/agent_settings.py::enumerate_modules()` (Laravel shape:
66
+ `app/Modules/*/agents/`); fallback `modules.root_paths` in
67
+ `.agent-settings.yml`.
68
+ 3. Exclusions hard: never analyze `vendor/`, `node_modules/`, `dist/`,
69
+ any generated projection (`.augment/`, `.claude/`, `.cursor/`).
70
+
71
+ ### Step 1 โ€” Inventory (read-only, parallel)
72
+
73
+ Gather without creating or modifying anything:
74
+
75
+ - **Roadmaps** โ€” `agents/roadmaps/` (+ per-module roadmap dirs): counts
76
+ per disposition (active / `later/` / `skipped/` / `archive/`),
77
+ per-roadmap open/done/deferred checkbox counts, staleness
78
+ (mtime > 60 days with open items), complete-but-unarchived.
79
+ - **Decisions** โ€” ADR dirs (`docs/adr/`, `docs/decisions/`,
80
+ `agents/decisions/`): count, age distribution, `status:` fields,
81
+ superseded chains.
82
+ - **Agent folders** โ€” `agents/` root + every module `agents/` folder:
83
+ docs, features, contexts; orphaned or stale files (referencing
84
+ deleted code).
85
+ - **Memory / learnings** (if present) โ€” memory index size, knowledge
86
+ cards, low-impact decisions corpus; entries whose subject no longer
87
+ exists in repo.
88
+ - **Package mode only** โ€” budget usage vs cap
89
+ (`src/config/budgets.yml`), kernel share, corpus size trends, known
90
+ lint debt, honest-null / don't-relitigate lock inventory (memory
91
+ index + `agents/settings/contexts/`).
92
+
93
+ Emit compact inventory report (counts + flagged items), in user's
94
+ language. Present findings incrementally, not one dump.
95
+
96
+ ### Step 2 โ€” Findings & challenge candidates
97
+
98
+ Classify everything flagged in Step 1 into three buckets:
99
+
100
+ 1. **Mechanical optimizations** โ€” no decision needed, just work: stale
101
+ roadmap cleanup, complete-but-unarchived roadmaps, dead references,
102
+ missing module docs, memory entries pointing at deleted code.
103
+ 2. **Decision-challenge candidates** โ€” existing decision (ADR, lock,
104
+ council verdict, structural convention) whose original assumptions
105
+ may no longer hold. Per candidate record: *the decision ยท original
106
+ assumption ยท what changed since ยท expected gain from flipping ยท flip
107
+ cost/blast radius*. Candidate without concrete "what changed" is not
108
+ a candidate โ€” drop it.
109
+ 3. **Structural / process improvements** โ€” recurring friction visible
110
+ in inventory (e.g. roadmap sprawl, duplicate contexts, token
111
+ hot-spots in package mode).
112
+
113
+ Rank by expected impact vs. effort. **Cap decision-challenge list at
114
+ top 5** (override: `--max-questions=N`). Everything below cap carries
115
+ into Step 4 as "further candidates" โ€” never silently dropped.
116
+
117
+ Before a candidate built on a claim about current state enters the
118
+ interview, verify the claim against the real source (grep, file read,
119
+ live git/CI state) per
120
+ [`source-discovery-gate`](../rules/source-discovery-gate.md) โ€”
121
+ never challenge a decision from a remembered or assumed fact.
122
+
123
+ ### Step 3 โ€” Challenge interview (user-gated, budgeted)
124
+
125
+ One question per turn, numbered options with recommendation โ€”
126
+ `/challenge-me` mechanics, per
127
+ [`ask-when-uncertain`](../rules/ask-when-uncertain.md) and
128
+ [`user-interaction`](../rules/user-interaction.md).
129
+
130
+ Per candidate, present:
131
+
132
+ ```
133
+ > **Decision:** <what was decided, where it is recorded>
134
+ > **Then:** <original assumption>
135
+ > **Now:** <what changed โ€” with evidence source>
136
+ > **Gain if flipped:** <expected improvement> ยท **Cost:** <blast radius>
137
+ >
138
+ > 1. Keep โ€” assumptions still hold
139
+ > 2. Flip โ€” schedule the change in the output roadmap
140
+ > 3. Re-evaluate via council โ€” genuinely contested, worth a multi-model pass
141
+ > 4. Defer โ€” park as "further candidate"
142
+ ```
143
+
144
+ Hard rules for this step:
145
+
146
+ - **Locked decisions are never silently flipped.** Honest-null verdict,
147
+ "don't relitigate" note, budget-canon line, or locked council
148
+ convergence follows
149
+ [`decision-revisit-gate`](../rules/decision-revisit-gate.md):
150
+ check the lock's mechanism/scope actually matches the proposed change
151
+ and its recorded revisit-conditions first; if it truly blocks, the
152
+ only flip path offered is option 3 (council re-eval) โ€” "Flip" is not
153
+ offered for locks.
154
+ - **Session budget:** max 5 interview questions by default
155
+ (`--max-questions=N` to override). Budget exhausted โ†’ remaining
156
+ candidates go to Step 4 as "further candidates".
157
+ - Interview answers adopted immediately; never re-argue a settled
158
+ answer.
159
+
160
+ ### Step 4 โ€” Synthesize โ†’ roadmap(s)
161
+
162
+ 1. Group accepted work โ€” mechanical optimizations + flipped decisions +
163
+ structural improvements โ€” into **one or more roadmaps by concern**
164
+ (keep k small; one roadmap per coherent theme, not one per finding).
165
+ 2. For each group, route to [`/roadmap:create`](roadmap/create.md)
166
+ with structured seed: goal, findings (with evidence), accepted
167
+ interview decisions, "further candidates" section for uninterviewed
168
+ remainder.
169
+ 3. Council re-evals chosen in interview (option 3) land as explicit
170
+ first step in the matching roadmap โ€” do NOT auto-run the council
171
+ from here.
172
+ 4. Regenerate roadmap dashboard in same reply
173
+ (`./agent-config roadmap:progress`) per
174
+ [`roadmap-progress-sync`](../rules/roadmap-progress-sync.md).
175
+ 5. **Hand back and stop.** Per
176
+ [`scope-control ยง Authoring vs. implementation`](../rules/scope-control.md)
177
+ the roadmap is the deliverable โ€” never auto-offer
178
+ `/roadmap:process-*` or start executing.
179
+
180
+ ## Output
181
+
182
+ 1. **Inventory report** (Step 1) โ€” compact counts + flagged items.
183
+ 2. **Findings report** (Step 2) โ€” three buckets, ranked, with
184
+ challenge-candidate cards.
185
+ 3. **Interview** (Step 3) โ€” one question per turn, โ‰ค budget.
186
+ 4. **Roadmap file(s)** (Step 4) โ€” the only files this command creates,
187
+ via `/roadmap:create`, plus dashboard regen.
188
+
189
+ ## Rules
190
+
191
+ - **Read-only until Step 4.** Only writes: new roadmap file(s) +
192
+ dashboard regen. No code edits, no doc rewrites, no deletion โ€”
193
+ cleanup work becomes roadmap steps, not inline actions.
194
+ - **Never edit or delete existing roadmaps / ADRs / decisions** โ€”
195
+ flipped decision becomes a roadmap step ("supersede ADR-NNN with โ€ฆ"),
196
+ never an in-place edit from this command.
197
+ - **No commits, no push, no PR** โ€” [`commit-policy`](../rules/commit-policy.md).
198
+ - **Never silently flip a lock** โ€” [`decision-revisit-gate`](../rules/decision-revisit-gate.md).
199
+ - **One question per turn**, recommendation line under every options
200
+ block.
201
+ - Mirror user's language in all reports and questions.
202
+
203
+ ## Gotchas
204
+
205
+ - **Unbounded interview** โ€” without question budget the decision-flip
206
+ loop can eat the session. Cap is load-bearing; don't lift silently.
207
+ - **Re-litigating without new evidence** โ€” challenge candidate needs
208
+ concrete "what changed". "I would decide differently today" is not
209
+ evidence; check the lock's recorded revisit-conditions first.
210
+ - **Scope bleed into `/optimize`** โ€” token/skill/agents-dir tooling
211
+ findings in package mode are reported, but their execution routes to
212
+ `/optimize` cluster sub-commands inside the output roadmap.
213
+ - **Roadmap sprawl as output** โ€” five roadmaps for one theme recreates
214
+ the problem this command fixes. Group by concern.
215
+ - **Vendor noise** โ€” module enumeration comes from
216
+ `enumerate_modules()`, never a bare glob that catches `vendor/`.
217
+
218
+ ## Do NOT
219
+
220
+ - Do NOT execute any found optimization in this command's turn โ€” the
221
+ roadmap is the deliverable.
222
+ - Do NOT auto-run a council session; record it as a roadmap step.
223
+ - Do NOT offer "Flip" on locked decisions โ€” council re-eval only.
224
+ - Do NOT create analysis files (that is `/project-analyze`); this
225
+ command creates roadmaps only.
226
+ - Do NOT re-ask a settled interview answer.
227
+
228
+ ## See also
229
+
230
+ - [`/optimize`](optimize.md) โ€” agent-layer tooling cluster (skills,
231
+ agents-dir, augmentignore, rtk); cross-linked on purpose โ€” closest
232
+ name, different surface.
233
+ - [`/project-analyze`](project-analyze.md) โ€” deep code/stack analysis
234
+ with analysis-file output.
235
+ - [`/project-health`](project-health.md) โ€” quick read-only counts, no
236
+ challenge loop.
237
+ - [`/analyze:decision`](analyze/decision.md) โ€” single-decision audit;
238
+ this command sweeps and hands hot ones to the interview.
239
+ - [`/challenge-me with-docs`](challenge-me/with-docs.md) โ€” interview
240
+ mechanics this command borrows, applied to a seed instead of the
241
+ project state.
242
+ - [`decision-revisit-gate`](../rules/decision-revisit-gate.md) โ€”
243
+ lock-flip discipline Step 3 enforces.
@@ -27,6 +27,11 @@ Top-level orchestrator for the `/optimize` family.
27
27
 
28
28
  > Looking for `AGENTS.md` operations (init, refactor, audit)? Those
29
29
  > live under [`/agents`](agents.md) (`init / optimize / audit`).
30
+ >
31
+ > Looking for **project-wide** optimization (roadmaps, ADRs, decisions,
32
+ > structures โ€” challenge-and-roadmap loop)? That is the standalone
33
+ > [`/optimize-project`](optimize-project.md) โ€” this cluster only covers
34
+ > the agent layer.
30
35
 
31
36
  ## Sub-commands
32
37