@event4u/agent-config 6.0.0 → 6.1.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 (378) hide show
  1. package/.claude-plugin/marketplace.json +5 -5
  2. package/CHANGELOG.md +167 -440
  3. package/README.md +3 -3
  4. package/dist/agent-src/commands/agent-handoff.md +5 -4
  5. package/dist/agent-src/commands/agent-status.md +1 -0
  6. package/dist/agent-src/commands/agents/audit.md +1 -0
  7. package/dist/agent-src/commands/agents/init.md +3 -0
  8. package/dist/agent-src/commands/agents/optimize.md +1 -0
  9. package/dist/agent-src/commands/agents/user/accept.md +1 -0
  10. package/dist/agent-src/commands/agents/user/init.md +1 -0
  11. package/dist/agent-src/commands/agents/user/review.md +1 -0
  12. package/dist/agent-src/commands/agents/user/show.md +1 -0
  13. package/dist/agent-src/commands/agents/user/update.md +1 -0
  14. package/dist/agent-src/commands/agents/user.md +1 -0
  15. package/dist/agent-src/commands/agents.md +1 -0
  16. package/dist/agent-src/commands/analytics/prune.md +3 -2
  17. package/dist/agent-src/commands/analytics/show.md +3 -2
  18. package/dist/agent-src/commands/analytics.md +3 -2
  19. package/dist/agent-src/commands/analyze-reference-repo.md +1 -0
  20. package/dist/agent-src/commands/bug-fix.md +1 -0
  21. package/dist/agent-src/commands/bug-investigate.md +1 -0
  22. package/dist/agent-src/commands/challenge-me/vision.md +3 -2
  23. package/dist/agent-src/commands/challenge-me/with-docs.md +3 -2
  24. package/dist/agent-src/commands/challenge-me.md +3 -2
  25. package/dist/agent-src/commands/chat-history/import.md +9 -9
  26. package/dist/agent-src/commands/chat-history.md +32 -30
  27. package/dist/agent-src/commands/check-current-md.md +1 -0
  28. package/dist/agent-src/commands/commit/in-chunks.md +1 -0
  29. package/dist/agent-src/commands/commit.md +1 -0
  30. package/dist/agent-src/commands/condense.md +1 -0
  31. package/dist/agent-src/commands/context/create.md +1 -0
  32. package/dist/agent-src/commands/context/refactor.md +1 -0
  33. package/dist/agent-src/commands/context.md +1 -0
  34. package/dist/agent-src/commands/cost-report.md +5 -4
  35. package/dist/agent-src/commands/council/analysis.md +3 -2
  36. package/dist/agent-src/commands/council/debate.md +5 -4
  37. package/dist/agent-src/commands/council/default.md +3 -2
  38. package/dist/agent-src/commands/council/design.md +3 -2
  39. package/dist/agent-src/commands/council/optimize.md +3 -2
  40. package/dist/agent-src/commands/council/pr.md +3 -2
  41. package/dist/agent-src/commands/council.md +4 -3
  42. package/dist/agent-src/commands/e2e-heal.md +1 -0
  43. package/dist/agent-src/commands/e2e-plan.md +1 -0
  44. package/dist/agent-src/commands/estimate-ticket.md +1 -0
  45. package/dist/agent-src/commands/feature/dev.md +1 -0
  46. package/dist/agent-src/commands/feature/explore.md +1 -0
  47. package/dist/agent-src/commands/feature/plan.md +6 -6
  48. package/dist/agent-src/commands/feature/refactor.md +1 -0
  49. package/dist/agent-src/commands/feature/roadmap.md +1 -0
  50. package/dist/agent-src/commands/feature.md +1 -0
  51. package/dist/agent-src/commands/fix/ci.md +1 -0
  52. package/dist/agent-src/commands/fix/portability.md +1 -0
  53. package/dist/agent-src/commands/fix/pr-comments.md +147 -15
  54. package/dist/agent-src/commands/fix/refs.md +1 -0
  55. package/dist/agent-src/commands/fix/seeder.md +1 -0
  56. package/dist/agent-src/commands/fix.md +8 -8
  57. package/dist/agent-src/commands/ghostwriter/delete.md +1 -0
  58. package/dist/agent-src/commands/ghostwriter/fetch.md +1 -0
  59. package/dist/agent-src/commands/ghostwriter/list.md +1 -0
  60. package/dist/agent-src/commands/ghostwriter/show.md +1 -0
  61. package/dist/agent-src/commands/ghostwriter/write.md +1 -0
  62. package/dist/agent-src/commands/ghostwriter.md +1 -0
  63. package/dist/agent-src/commands/grill-me.md +3 -2
  64. package/dist/agent-src/commands/image/analyse.md +1 -0
  65. package/dist/agent-src/commands/image/create.md +1 -0
  66. package/dist/agent-src/commands/image/verify.md +1 -0
  67. package/dist/agent-src/commands/image.md +1 -0
  68. package/dist/agent-src/commands/implement-ticket.md +1 -0
  69. package/dist/agent-src/commands/jira-ticket.md +1 -0
  70. package/dist/agent-src/commands/judge/on-diff.md +1 -0
  71. package/dist/agent-src/commands/judge/solo.md +1 -0
  72. package/dist/agent-src/commands/judge/steps.md +1 -0
  73. package/dist/agent-src/commands/judge.md +1 -0
  74. package/dist/agent-src/commands/knowledge/cross-repo.md +1 -0
  75. package/dist/agent-src/commands/knowledge/forget.md +1 -0
  76. package/dist/agent-src/commands/knowledge/ingest.md +1 -0
  77. package/dist/agent-src/commands/knowledge/list.md +1 -0
  78. package/dist/agent-src/commands/knowledge.md +1 -0
  79. package/dist/agent-src/commands/memory/add.md +8 -6
  80. package/dist/agent-src/commands/memory/learn-low-impact.md +3 -2
  81. package/dist/agent-src/commands/memory/load.md +7 -7
  82. package/dist/agent-src/commands/memory/mine-session.md +39 -12
  83. package/dist/agent-src/commands/memory/promote.md +3 -2
  84. package/dist/agent-src/commands/memory/propose.md +7 -6
  85. package/dist/agent-src/commands/memory.md +3 -2
  86. package/dist/agent-src/commands/mode.md +1 -0
  87. package/dist/agent-src/commands/module/create.md +1 -0
  88. package/dist/agent-src/commands/module/explore.md +1 -0
  89. package/dist/agent-src/commands/module.md +1 -0
  90. package/dist/agent-src/commands/optimize/agents-dir.md +1 -0
  91. package/dist/agent-src/commands/optimize/augmentignore.md +1 -0
  92. package/dist/agent-src/commands/optimize/rtk.md +1 -0
  93. package/dist/agent-src/commands/optimize/skills.md +1 -0
  94. package/dist/agent-src/commands/optimize-prompt.md +1 -0
  95. package/dist/agent-src/commands/optimize.md +1 -0
  96. package/dist/agent-src/commands/orchestrate.md +1 -0
  97. package/dist/agent-src/commands/override/create.md +1 -0
  98. package/dist/agent-src/commands/override/manage.md +1 -0
  99. package/dist/agent-src/commands/override.md +1 -0
  100. package/dist/agent-src/commands/package-reset.md +1 -0
  101. package/dist/agent-src/commands/package-test.md +1 -0
  102. package/dist/agent-src/commands/post-as/ghostwriter.md +1 -0
  103. package/dist/agent-src/commands/post-as/me.md +1 -0
  104. package/dist/agent-src/commands/post-as.md +1 -0
  105. package/dist/agent-src/commands/pr/create/description-only.md +1 -0
  106. package/dist/agent-src/commands/pr/create.md +25 -0
  107. package/dist/agent-src/commands/prediction-pool.md +1 -0
  108. package/dist/agent-src/commands/prepare-for-review.md +1 -0
  109. package/dist/agent-src/commands/profile/activate.md +1 -0
  110. package/dist/agent-src/commands/profile/deactivate.md +1 -0
  111. package/dist/agent-src/commands/profile/show.md +1 -0
  112. package/dist/agent-src/commands/profile.md +1 -0
  113. package/dist/agent-src/commands/project-analyze.md +1 -0
  114. package/dist/agent-src/commands/project-health.md +1 -0
  115. package/dist/agent-src/commands/quality-fix.md +1 -0
  116. package/dist/agent-src/commands/refine-ticket.md +1 -0
  117. package/dist/agent-src/commands/research/deep.md +1 -0
  118. package/dist/agent-src/commands/research/report.md +1 -0
  119. package/dist/agent-src/commands/research.md +1 -0
  120. package/dist/agent-src/commands/review-changes.md +1 -0
  121. package/dist/agent-src/commands/review-routing.md +1 -0
  122. package/dist/agent-src/commands/roadmap/ai-council.md +1 -0
  123. package/dist/agent-src/commands/roadmap/create.md +1 -0
  124. package/dist/agent-src/commands/roadmap/process-full.md +1 -0
  125. package/dist/agent-src/commands/roadmap/process-phase.md +1 -0
  126. package/dist/agent-src/commands/roadmap/process-step.md +1 -0
  127. package/dist/agent-src/commands/roadmap.md +1 -0
  128. package/dist/agent-src/commands/rule-compliance-audit.md +1 -0
  129. package/dist/agent-src/commands/security-audit-config.md +84 -0
  130. package/dist/agent-src/commands/set-cost-profile.md +1 -0
  131. package/dist/agent-src/commands/skill/preview.md +1 -0
  132. package/dist/agent-src/commands/skill.md +1 -0
  133. package/dist/agent-src/commands/skills/discover.md +1 -0
  134. package/dist/agent-src/commands/skills.md +1 -0
  135. package/dist/agent-src/commands/sync-agent-settings.md +1 -0
  136. package/dist/agent-src/commands/sync-gitignore/fix.md +1 -0
  137. package/dist/agent-src/commands/sync-gitignore.md +1 -0
  138. package/dist/agent-src/commands/tests/create.md +1 -0
  139. package/dist/agent-src/commands/tests/execute.md +1 -0
  140. package/dist/agent-src/commands/tests.md +1 -0
  141. package/dist/agent-src/commands/threat-model.md +1 -0
  142. package/dist/agent-src/commands/update-form-request-messages.md +1 -0
  143. package/dist/agent-src/commands/upstream-contribute.md +1 -0
  144. package/dist/agent-src/commands/video/from-script.md +1 -0
  145. package/dist/agent-src/commands/video/from-song.md +1 -0
  146. package/dist/agent-src/commands/video/scene.md +1 -0
  147. package/dist/agent-src/commands/video/stitch.md +1 -0
  148. package/dist/agent-src/commands/video/storyboard.md +1 -0
  149. package/dist/agent-src/commands/video.md +1 -0
  150. package/dist/agent-src/commands/work.md +1 -0
  151. package/dist/agent-src/contexts/augment-infrastructure.md +1 -1
  152. package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
  153. package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
  154. package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +6 -6
  155. package/dist/agent-src/contexts/contracts/consumer-agents-md-guide.md +2 -2
  156. package/dist/agent-src/contexts/execution/rdp-gate.md +75 -0
  157. package/dist/agent-src/contexts/subagent-configuration.md +1 -0
  158. package/dist/agent-src/personas/advisors/contrarian.md +1 -1
  159. package/dist/agent-src/personas/advisors/executor.md +1 -1
  160. package/dist/agent-src/personas/advisors/expansionist.md +1 -1
  161. package/dist/agent-src/personas/advisors/first-principles.md +1 -1
  162. package/dist/agent-src/personas/advisors/outsider.md +1 -1
  163. package/dist/agent-src/rules/autonomous-execution.md +12 -0
  164. package/dist/agent-src/rules/external-reference-deep-dive.md +1 -1
  165. package/dist/agent-src/rules/git-history-discipline.md +47 -1
  166. package/dist/agent-src/rules/improve-before-implement.md +12 -0
  167. package/dist/agent-src/rules/lethal-trifecta-guard.md +80 -0
  168. package/dist/agent-src/rules/no-pr-progress-comments.md +3 -4
  169. package/dist/agent-src/rules/notes-first-reasoning.md +71 -0
  170. package/dist/agent-src/rules/roadmap-progress-sync.md +48 -31
  171. package/dist/agent-src/rules/security-sensitive-stop.md +14 -1
  172. package/dist/agent-src/rules/source-confidentiality.md +97 -0
  173. package/dist/agent-src/rules/think-before-action.md +9 -1
  174. package/dist/agent-src/rules/untrusted-input-defense.md +76 -0
  175. package/dist/agent-src/scripts/archive_completed_roadmaps.py +171 -0
  176. package/dist/agent-src/skills/adversarial-review/SKILL.md +14 -0
  177. package/dist/agent-src/skills/agent-security-review/SKILL.md +113 -0
  178. package/dist/agent-src/skills/agent-security-review/evals/triggers.json +51 -0
  179. package/dist/agent-src/skills/ai-council/SKILL.md +3 -3
  180. package/dist/agent-src/skills/async-python-patterns/SKILL.md +1 -1
  181. package/dist/agent-src/skills/blast-radius-analyzer/SKILL.md +12 -11
  182. package/dist/agent-src/skills/command-routing/SKILL.md +1 -1
  183. package/dist/agent-src/skills/complexity-first-planning/SKILL.md +96 -0
  184. package/dist/agent-src/skills/complexity-first-planning/evals/triggers.json +16 -0
  185. package/dist/agent-src/skills/copilot-config/SKILL.md +3 -4
  186. package/dist/agent-src/skills/defense-in-depth/SKILL.md +1 -1
  187. package/dist/agent-src/skills/developer-like-execution/SKILL.md +5 -4
  188. package/dist/agent-src/skills/error-handling-patterns/SKILL.md +1 -1
  189. package/dist/agent-src/skills/feature-planning/SKILL.md +2 -2
  190. package/dist/agent-src/skills/mcp-builder/SKILL.md +1 -1
  191. package/dist/agent-src/skills/memory-consolidation/SKILL.md +63 -17
  192. package/dist/agent-src/skills/prompt-engineering-patterns/SKILL.md +1 -1
  193. package/dist/agent-src/skills/readme-writing-package/SKILL.md +1 -1
  194. package/dist/agent-src/skills/reasoning-orchestrator/SKILL.md +119 -0
  195. package/dist/agent-src/skills/reasoning-orchestrator/evals/triggers.json +16 -0
  196. package/dist/agent-src/skills/receiving-code-review/SKILL.md +6 -6
  197. package/dist/agent-src/skills/refine-prompt/SKILL.md +1 -1
  198. package/dist/agent-src/skills/refine-ticket/SKILL.md +1 -1
  199. package/dist/agent-src/skills/repomix-packer/SKILL.md +1 -1
  200. package/dist/agent-src/skills/secrets-management/SKILL.md +1 -1
  201. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +10 -3
  202. package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
  203. package/dist/agent-src/skills/testing-anti-patterns/process-anti-patterns.md +1 -1
  204. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  205. package/dist/agent-src/templates/agents/.gitattributes.fragment +0 -1
  206. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +4 -4
  207. package/dist/agent-src/templates/scripts/check_memory.py +1 -2
  208. package/dist/agent-src/templates/scripts/check_memory_proposal.py +1 -1
  209. package/dist/agent-src/templates/scripts/memory_lookup.py +148 -289
  210. package/dist/agent-src/templates/scripts/memory_report.py +132 -2
  211. package/dist/agent-src/templates/scripts/memory_signal.py +7 -9
  212. package/dist/agent-src/templates/scripts/memory_status.py +25 -206
  213. package/dist/agent-src/templates/scripts/work_engine/directives/backend/memory.py +6 -6
  214. package/dist/agent-src/templates/scripts/work_engine/directives/ui/_passthrough.py +3 -3
  215. package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.py +0 -1
  216. package/dist/cli/agent-config.js +31 -300
  217. package/dist/cli/agent-config.js.map +1 -1
  218. package/dist/cli/commands/commands.js +10 -5
  219. package/dist/cli/commands/commands.js.map +1 -1
  220. package/dist/cli/discovery/loadManifest.js.map +1 -1
  221. package/dist/cli/main.js +309 -0
  222. package/dist/cli/main.js.map +1 -0
  223. package/dist/discovery/deprecation-report.md +1 -1
  224. package/dist/discovery/discovery-manifest.json +645 -342
  225. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  226. package/dist/discovery/discovery-manifest.summary.md +8 -5
  227. package/dist/discovery/orphan-report.md +1 -1
  228. package/dist/discovery/packs.json +149 -37
  229. package/dist/discovery/trust-report.md +3 -3
  230. package/dist/discovery/workspaces.json +61 -36
  231. package/dist/mcp/registry-manifest.json +4 -4
  232. package/dist/router.json +1 -1
  233. package/dist/server/routes/wizard.js +4 -3
  234. package/dist/server/routes/wizard.js.map +1 -1
  235. package/dist/server/schemas/settings.js +18 -0
  236. package/dist/server/schemas/settings.js.map +1 -1
  237. package/docs/MIGRATION.md +1 -1
  238. package/docs/adrs/cost/0001-hard-stop-hook.md +5 -5
  239. package/docs/adrs/memory/0001-consumer-side-snapshot.md +15 -7
  240. package/docs/adrs/memory/README.md +6 -5
  241. package/docs/adrs/router/0001-three-tier-routing.md +2 -2
  242. package/docs/adrs/schema/0001-json-schema-frontmatter.md +2 -2
  243. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +5 -5
  244. package/docs/adrs/telegraph/0001-default-off-until-bench.md +3 -3
  245. package/docs/architecture.md +9 -9
  246. package/docs/archive/CHANGELOG-pre-2.2.0.md +30 -30
  247. package/docs/archive/CHANGELOG-pre-2.25.0.md +1 -1
  248. package/docs/archive/CHANGELOG-pre-4.5.0.md +1 -1
  249. package/docs/archive/CHANGELOG-pre-6.0.0.md +473 -0
  250. package/docs/benchmark.md +54 -53
  251. package/docs/benchmarks.md +2 -2
  252. package/docs/case-studies/{frontend-design-vs-ui-ux-pro-max.md → frontend-design-positioning.md} +4 -4
  253. package/docs/catalog.md +20 -13
  254. package/docs/command-flows.md +90 -92
  255. package/docs/contracts/adr-layout.md +2 -3
  256. package/docs/contracts/adr-level-6-productization.md +1 -1
  257. package/docs/contracts/ai-council-config.md +42 -7
  258. package/docs/contracts/command-clusters.md +1 -1
  259. package/docs/contracts/cost-enforcement.md +1 -1
  260. package/docs/contracts/cost-summary-schema.md +1 -1
  261. package/docs/contracts/daily-workspace.md +1 -0
  262. package/docs/contracts/discovery-manifest.schema.json +4 -2
  263. package/docs/contracts/explain-modes.md +1 -1
  264. package/docs/contracts/implement-ticket-flow.md +6 -7
  265. package/docs/contracts/mcp-tool-inventory.md +10 -10
  266. package/docs/contracts/measurement-baseline.md +1 -1
  267. package/docs/contracts/memory-visibility-v1.md +1 -5
  268. package/docs/contracts/namespace.md +1 -1
  269. package/docs/contracts/persona-schema.md +1 -1
  270. package/docs/contracts/rule-interactions.md +1 -1
  271. package/docs/contracts/smoke-contracts.md +1 -1
  272. package/docs/contracts/universal-skills.md +0 -1
  273. package/docs/contracts/workspace-boundary.md +84 -0
  274. package/docs/customization.md +3 -3
  275. package/docs/decisions/ADR-009-event4u-namespace.md +1 -1
  276. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +1 -1
  277. package/docs/decisions/ADR-026-explain-mode-translation.md +1 -1
  278. package/docs/decisions/ADR-088-no-external-runtime-federation.md +26 -27
  279. package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +95 -0
  280. package/docs/decisions/ADR-091-split-meta-capability-packs.md +113 -0
  281. package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +93 -0
  282. package/docs/decisions/ADR-093-ai-council-config-user-global.md +111 -0
  283. package/docs/decisions/ADR-094-agent-memory-layer-removal.md +94 -0
  284. package/docs/decisions/ADR-095-workspace-boundary-contract.md +108 -0
  285. package/docs/decisions/INDEX.md +6 -0
  286. package/docs/development.md +5 -7
  287. package/docs/getting-started.md +4 -4
  288. package/docs/guidelines/agent-infra/5w2h-analysis.md +1 -1
  289. package/docs/guidelines/agent-infra/comparison-matrix.md +1 -1
  290. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +1 -1
  291. package/docs/guidelines/agent-infra/critical-thinking.md +1 -1
  292. package/docs/guidelines/agent-infra/engineering-memory-data-format.md +1 -5
  293. package/docs/guidelines/agent-infra/first-principles.md +1 -1
  294. package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +164 -0
  295. package/docs/guidelines/agent-infra/inversion-thinking.md +1 -1
  296. package/docs/guidelines/agent-infra/ios-simulator-guide.md +9 -14
  297. package/docs/guidelines/agent-infra/mcp-request-signing.md +19 -22
  298. package/docs/guidelines/agent-infra/memory-access.md +25 -31
  299. package/docs/guidelines/agent-infra/mental-models.md +1 -1
  300. package/docs/guidelines/agent-infra/model-recommendation.md +29 -0
  301. package/docs/guidelines/agent-infra/scqa-framework.md +3 -3
  302. package/docs/guidelines/agent-infra/security-lint-containment.md +81 -0
  303. package/docs/guidelines/agent-infra/six-hats.md +1 -1
  304. package/docs/guidelines/agent-infra/systems-thinking.md +1 -1
  305. package/docs/guidelines/agent-infra/untrusted-input-spotlighting.md +72 -0
  306. package/docs/installation.md +1 -1
  307. package/docs/mcp.md +2 -2
  308. package/docs/parity/{bench-ruflo.json → bench-external.json} +10 -10
  309. package/docs/parity/{ruflo.md → external-runtime.md} +9 -9
  310. package/docs/quality.md +3 -3
  311. package/docs/safety.md +3 -3
  312. package/docs/skills-catalog.md +4 -1
  313. package/llms.txt +3 -0
  314. package/package.json +1 -1
  315. package/src/config/agent-settings.template.yml +65 -3
  316. package/src/config/discovery/packs.yml +29 -0
  317. package/src/config/discovery/workspaces.yml +3 -1
  318. package/src/config/gitignore-block.txt +6 -0
  319. package/src/scripts/__pycache__/validate_frontmatter.cpython-312.pyc +0 -0
  320. package/src/scripts/_cli/cmd_doctor.py +99 -13
  321. package/src/scripts/_lib/__pycache__/__init__.cpython-312.pyc +0 -0
  322. package/src/scripts/_lib/__pycache__/agent_src.cpython-312.pyc +0 -0
  323. package/src/scripts/_lib/bench_ab_scoring_v2.py +227 -0
  324. package/src/scripts/_lib/global_deploy_inventory.py +39 -9
  325. package/src/scripts/_lib/link_crypto.py +206 -0
  326. package/src/scripts/_lib/security_lint.py +228 -0
  327. package/src/scripts/ai_council/clients.py +2 -2
  328. package/src/scripts/ai_council/config.py +55 -0
  329. package/src/scripts/audit_adr_coverage.py +0 -2
  330. package/src/scripts/audit_command_surface.py +18 -5
  331. package/src/scripts/audit_mcp_tools.py +2 -2
  332. package/src/scripts/audit_skill_descriptions.py +2 -2
  333. package/src/scripts/bench_ab_clone.py +62 -12
  334. package/src/scripts/bench_ab_task_runner.py +475 -30
  335. package/src/scripts/bench_ab_v2_run.py +247 -0
  336. package/src/scripts/bench_ab_v2_stats.py +347 -0
  337. package/src/scripts/bench_run.py +1 -1
  338. package/src/scripts/build_discovery_manifest.py +10 -0
  339. package/src/scripts/check_bite_sized_granularity.py +1 -2
  340. package/src/scripts/check_memory.py +49 -63
  341. package/src/scripts/check_memory_proposal.py +1 -1
  342. package/src/scripts/check_no_external_sources.py +101 -0
  343. package/src/scripts/check_references.py +2 -0
  344. package/src/scripts/cost_by_conversation.py +1 -1
  345. package/src/scripts/council_cli.py +28 -14
  346. package/src/scripts/external_sources_denylist.json +91 -0
  347. package/src/scripts/hook_manifest.yaml +14 -6
  348. package/src/scripts/injection_scan_hook.py +145 -0
  349. package/src/scripts/install-hooks.sh +11 -0
  350. package/src/scripts/install.py +88 -13
  351. package/src/scripts/lint_agent_security.py +112 -0
  352. package/src/scripts/lint_bench_ab.py +5 -4
  353. package/src/scripts/lint_command_tiers.py +63 -22
  354. package/src/scripts/lint_discovery_vocabulary.py +2 -0
  355. package/src/scripts/lint_empty_roadmaps.py +80 -0
  356. package/src/scripts/lint_hidden_unicode.py +132 -0
  357. package/src/scripts/lint_instruction_smuggling.py +107 -0
  358. package/src/scripts/lint_marketplace.py +1 -1
  359. package/src/scripts/lint_mcp_config_security.py +124 -0
  360. package/src/scripts/lint_skill_frontmatter_safety.py +144 -0
  361. package/src/scripts/lint_workspace_boundary.py +122 -0
  362. package/src/scripts/mcp_server/consumer_tool_catalog.json +2 -3
  363. package/src/scripts/mcp_server/tools.py +8 -32
  364. package/src/scripts/memory_lookup.py +27 -296
  365. package/src/scripts/memory_report.py +1 -23
  366. package/src/scripts/memory_signal.py +6 -53
  367. package/src/scripts/memory_status.py +25 -206
  368. package/src/scripts/mine_session.py +118 -41
  369. package/src/scripts/pack_dependency_allowlist.json +2 -2
  370. package/src/scripts/render_benchmark_md.py +141 -52
  371. package/src/scripts/schemas/command.schema.json +6 -1
  372. package/src/scripts/security_audit_config.py +153 -0
  373. package/dist/agent-src/commands/chat-history/learn.md +0 -184
  374. package/dist/agent-src/commands/chat-history/show.md +0 -113
  375. package/dist/agent-src/commands/fix/pr-bot-comments.md +0 -157
  376. package/dist/agent-src/commands/fix/pr-developer-comments.md +0 -163
  377. package/dist/agent-src/templates/agents/memory/architecture-decisions.example.yml +0 -95
  378. package/docs/contracts/agent-memory-contract.md +0 -159
@@ -7,7 +7,7 @@
7
7
 
8
8
  > Every command is classified in `src/flows/surface-map.yaml` (coverage enforced by `scripts/lint_command_flow_coverage.py`). The four user-work flows carry rich definitions in `src/flows/<flow>.yaml`.
9
9
 
10
- **150 commands** across **10 surfaces** (4 user-work flows + 6 platform/domain surfaces).
10
+ **148 commands** across **10 surfaces** (4 user-work flows + 6 platform/domain surfaces).
11
11
 
12
12
  ## User-work flows
13
13
 
@@ -25,10 +25,10 @@ _Explore, plan, estimate, refine, and investigate before building. The "what sho
25
25
  - `bug-investigate` — Investigate a bug — auto-detect ticket from branch, gather Jira/Sentry/description context, trace root cause
26
26
  - `estimate-ticket` — Estimate a Jira/Linear ticket before sprint planning — size + risk + split recommendation + uncertainty, si…
27
27
  - `feature` — Feature orchestrator — routes to explore, plan, refactor, roadmap, dev
28
- - `feature:explore` — Brainstorm and explore a feature idea before committing to a full plan
29
- - `feature:plan` — Interactively plan a feature — research, discuss, and create a structured feature document
30
- - `feature:refactor` — Refine and update an existing feature plan through interactive discussion
31
- - `feature:roadmap` — Generate implementation roadmap(s) from a feature plan and link them
28
+ - `feature-explore` — Brainstorm and explore a feature idea before committing to a full plan
29
+ - `feature-plan` — Interactively plan a feature — research, discuss, and create a structured feature document
30
+ - `feature-refactor` — Refine and update an existing feature plan through interactive discussion
31
+ - `feature-roadmap` — Generate implementation roadmap(s) from a feature plan and link them
32
32
  - `project-analyze` — Full project analysis — detect stack, inventory modules, audit docs, create missing contexts
33
33
  - `project-health` — Quick project health check — show status of docs, modules, contexts, and roadmaps without creating anything
34
34
  - `refine-ticket` — Refine a Jira/Linear ticket before planning — rewritten ticket + Top-5 risks + persona voices, orchestrates…
@@ -44,13 +44,13 @@ _Build it. The core "make the change" front — drive a prompt, ticket, or featu
44
44
  - `bug-fix` — Plan and implement a bug fix — based on investigation, with quality checks and test verification
45
45
  - `e2e-heal` — Find, debug, and fix failing Playwright E2E tests
46
46
  - `e2e-plan` — Explore the application and create a structured E2E test plan in Markdown
47
- - `feature:dev` — Full 7-phase feature development workflow for complex features.
47
+ - `feature-dev` — Full 7-phase feature development workflow for complex features.
48
48
  - `implement-ticket` — Drive a ticket end-to-end through refine → memory → analyze → plan → implement → test → verify → report — O…
49
49
  - `jira-ticket` — Read Jira ticket from branch name, analyze linked Sentry issues, implement feature or fix bug
50
- - `module:create` — Create a new module from .module-template with interactive setup
50
+ - `module-create` — Create a new module from .module-template with interactive setup
51
51
  - `tests` — Tests orchestrator — routes to create, execute
52
- - `tests:create` — Write meaningful tests for the current branch — stack-adaptive (pest / phpunit / vitest / jest / pytest / …)
53
- - `tests:execute` — Run the project's test suite — stack-adaptive (pest / phpunit / vitest / jest / pytest / …)
52
+ - `tests-create` — Write meaningful tests for the current branch — stack-adaptive (pest / phpunit / vitest / jest / pytest / …)
53
+ - `tests-execute` — Run the project's test suite — stack-adaptive (pest / phpunit / vitest / jest / pytest / …)
54
54
  - `update-form-request-messages` — Sync the messages() method of a FormRequest class — add missing entries, link them to language keys, and cl…
55
55
  - `work` — Drive a free-form prompt end-to-end through refine → score → plan → implement → test → verify → report — Op…
56
56
 
@@ -62,11 +62,11 @@ _Check it. Self-review, judge, quality-fix, and threat-model a change before it
62
62
 
63
63
  **Default path:** `review-changes` → `judge` → `quality-fix` → `threat-model`
64
64
 
65
- - `fix:ci` — Fetch CI errors from GitHub Actions and fix them
65
+ - `fix-ci` — Fetch CI errors from GitHub Actions and fix them
66
66
  - `judge` — Judge orchestrator — routes to solo, steps, on-diff
67
- - `judge:on-diff` — Run a single change through an implementer→judge loop with a two-revision ceiling, then hand back to the user
68
- - `judge:solo` — Run a standalone judge on an existing diff or code change — no implementer, no revision loop, verdict only
69
- - `judge:steps` — Execute an ordered plan step by step with a judge gate between steps — stops on first failed verdict
67
+ - `judge-on-diff` — Run a single change through an implementer→judge loop with a two-revision ceiling, then hand back to the user
68
+ - `judge-solo` — Run a standalone judge on an existing diff or code change — no implementer, no revision loop, verdict only
69
+ - `judge-steps` — Execute an ordered plan step by step with a judge gate between steps — stops on first failed verdict
70
70
  - `quality-fix` — Run quality pipeline (PHP and/or JS/TS) and fix all errors — auto-detects language from changed files
71
71
  - `review-changes` — Self-review local changes before creating a PR — dispatches to five specialized judges (bug, security, test…
72
72
  - `threat-model` — Run a pre-implementation threat model on a proposed change — enumerates abuse cases, trust boundaries, and…
@@ -81,13 +81,13 @@ _Ship it. Commit in logical chunks, open the PR, answer review comments, and pre
81
81
 
82
82
  - `git-commit` — Stage and commit all uncommitted changes — splits into logical commits following Conventional Commits
83
83
  - `git-commit-in-chunks` — Stage and commit all uncommitted changes in logical chunks WITHOUT confirmation — sibling of /commit for au…
84
- - `fix` — Fix orchestrator — routes to ci, references, portability, seeder, pr-comments, pr-bot-comments, pr-develope…
85
- - `fix:portability` — Find and fix project-specific references in shared .augment/ package files
86
- - `fix:pr-bot-comments` — Fix and reply to bot review comments (Copilot, Augment, Greptile, etc.) on a GitHub PR
87
- - `fix:pr-comments` — Fix and reply to all open review comments (bots + human reviewers) on a GitHub PR
88
- - `fix:pr-developer-comments` — Fix and reply to human reviewer comments on a GitHub PR
89
- - `fix:refs` — Find and fix broken cross-references in .augment/ and agents/ files
90
- - `fix:seeder` — Scan seeder data files for broken foreign key references — find constants used without getReference() and f…
84
+ - `fix` — Fix orchestrator — routes to ci, references, portability, seeder, pr-comments
85
+ - `fix-portability` — Find and fix project-specific references in shared .augment/ package files
86
+ - `fix/pr-bot-comments`
87
+ - `fix-pr-comments` — Fix and reply to all open review comments (bots + human reviewers) on a GitHub PR
88
+ - `fix/pr-developer-comments`
89
+ - `fix-refs` — Find and fix broken cross-references in .augment/ and agents/ files
90
+ - `fix-seeder` — Scan seeder data files for broken foreign key references — find constants used without getReference() and f…
91
91
  - `git-pr-create` — Create a GitHub PR with structured description from Jira ticket and code changes
92
92
  - `git-pr-create-description-only` — Generate a PR description as a copyable markdown block — used standalone or by create-pr
93
93
  - `prepare-for-review` — Prepare a PR branch for local review — updates main and merges the full branch chain so the branch is up to…
@@ -99,93 +99,91 @@ _Ship it. Commit in logical chunks, open the PR, answer review comments, and pre
99
99
  _Deliberately-started features — not daily flow members, never buried as skills._
100
100
 
101
101
  - `challenge-me` — Challenge-me orchestrator — routes to vision, with-docs
102
- - `challenge-me:vision` — Stress-test a plan or idea by one-question-at-a-time interview until 95% confidence — emits a copyable Mark…
103
- - `challenge-me:with-docs` — Doc-aware /challenge-me — 95%-confidence interview with session glossary vs CONTEXT.md, load-bearing claim-…
102
+ - `challenge-me-vision` — Stress-test a plan or idea by one-question-at-a-time interview until 95% confidence — emits a copyable Mark…
103
+ - `challenge-me-with-docs` — Doc-aware /challenge-me — 95%-confidence interview with session glossary vs CONTEXT.md, load-bearing claim-…
104
104
  - `council` — Council orchestrator — routes to default, pr, design, optimize, analysis, debate
105
- - `council:analysis` — Run the council on a local analysis output (project-analyze, audit script, codebase scan) — critiques the a…
106
- - `council:debate` — Multi-round council debate with progressive cost disclosure — each member produces a position, then rebuts…
107
- - `council:default` — Default council lens — neutral framing, redacted context, advisory output only. Run `/council default <inpu…
108
- - `council:design` — Run the council on a design document, ADR, or architecture proposal — surfaces hidden coupling, missing rol…
109
- - `council:optimize` — Run the council on an optimization target — perf hot path, memory pattern, query, or an /optimize-* output…
110
- - `council:pr` — Pull a GitHub PR via gh CLI and run the council on the diff with a PR-specific neutrality preamble — read-o…
105
+ - `council-analysis` — Run the council on a local analysis output (project-analyze, audit script, codebase scan) — critiques the a…
106
+ - `council-debate` — Multi-round council debate with progressive cost disclosure — each member produces a position, then rebuts…
107
+ - `council-default` — Default council lens — neutral framing, redacted context, advisory output only. Run `/council default <inpu…
108
+ - `council-design` — Run the council on a design document, ADR, or architecture proposal — surfaces hidden coupling, missing rol…
109
+ - `council-optimize` — Run the council on an optimization target — perf hot path, memory pattern, query, or an /optimize-* output…
110
+ - `council-pr` — Pull a GitHub PR via gh CLI and run the council on the diff with a PR-specific neutrality preamble — read-o…
111
111
  - `grill-me` — Alias for /challenge-me — interactive grill-style interview that sharpens a fuzzy plan/idea into a copyable…
112
112
  - `research` — Preliminary research scaffolder — pick objects, define fields, emit `outline.yaml` + `fields.yaml` for down…
113
- - `research:deep` — Read `outline.yaml`, research each item in batches, write per-item JSON validated against the project-local…
114
- - `research:report` — Summarise per-item JSON results from `/research:deep` into `report.md`. Agent renders directly + emits an o…
113
+ - `research-deep` — Read `outline.yaml`, research each item in batches, write per-item JSON validated against the project-local…
114
+ - `research-report` — Summarise per-item JSON results from `/research:deep` into `report.md`. Agent renders directly + emits an o…
115
115
  - `roadmap` — Roadmap orchestrator — routes to create (authoring) and process-step / process-phase / process-full (autono…
116
- - `roadmap:ai-council` — Challenge a roadmap with the AI council (deep tier) and refactor from convergence findings. Wraps `/council…
117
- - `roadmap:create` — Interactively create a new roadmap file in agents/roadmaps/
118
- - `roadmap:process-full` — Autonomously process every open step across every phase of a roadmap until the file is fully closed. Larges…
119
- - `roadmap:process-phase` — Autonomously process every open step in the next or current phase of a roadmap, then stop. Default executio…
120
- - `roadmap:process-step` — Autonomously process the single next open step of a roadmap and stop. Smallest execution scope of the /road…
116
+ - `roadmap-ai-council` — Challenge a roadmap with the AI council (deep tier) and refactor from convergence findings. Wraps `/council…
117
+ - `roadmap-create` — Interactively create a new roadmap file in agents/roadmaps/
118
+ - `roadmap-process-full` — Autonomously process every open step across every phase of a roadmap until the file is fully closed. Larges…
119
+ - `roadmap-process-phase` — Autonomously process every open step in the next or current phase of a roadmap, then stop. Default executio…
120
+ - `roadmap-process-step` — Autonomously process the single next open step of a roadmap and stop. Smallest execution scope of the /road…
121
121
 
122
122
  ### Platform surface — `agent-admin`
123
123
 
124
124
  _The system/admin surface (NOT a flow): memory · analytics · governance · config · introspection, reached on demand._
125
125
 
126
126
  - `agents` — Agent-layer orchestrator — routes to init, optimize, audit. Covers AGENTS.md and its multi-tool stubs (CLAU…
127
- - `agents:audit` — Audit agent infrastructure — token overhead, rule triggers, AGENTS.md health, Capability-over-Structure adh…
128
- - `agents:init` — Initialize the agent layer for a consumer project — creates AGENTS.md and .github/copilot-instructions.md f…
129
- - `agents:optimize` — Refactor AGENTS.md to the Thin-Root contract (caps, pointer ratio, capability bullets, emergency-triage) an…
130
- - `agents:user` — User-persona file (.agent-user.md) — interview, render, and maintain who the user is and how they want to b…
131
- - `agents:user-accept` — Apply a buffered observation to .agent-user.md after explicit user confirmation; bumps last_updated and dro…
132
- - `agents:user-init` — Interactive interview that creates the project-root .agent-user.md from the locked v1 schema (name, languag…
133
- - `agents:user-review` — List buffered observations from .agent-user.observations.jsonl with numbered options to inspect or accept i…
134
- - `agents:user-show` — Read-only render of .agent-user.md — prints the persona summary the host agent loads at session start.
135
- - `agents:user-update` — Open .agent-user.md in the user's IDE for manual edit; validates schema and 100-line cap on save.
127
+ - `agents-audit` — Audit agent infrastructure — token overhead, rule triggers, AGENTS.md health, Capability-over-Structure adh…
128
+ - `agents-init` — Initialize the agent layer for a consumer project — creates AGENTS.md and .github/copilot-instructions.md f…
129
+ - `agents-optimize` — Refactor AGENTS.md to the Thin-Root contract (caps, pointer ratio, capability bullets, emergency-triage) an…
130
+ - `agents-user` — User-persona file (.agent-user.md) — interview, render, and maintain who the user is and how they want to b…
131
+ - `agents-user-accept` — Apply a buffered observation to .agent-user.md after explicit user confirmation; bumps last_updated and dro…
132
+ - `agents-user-init` — Interactive interview that creates the project-root .agent-user.md from the locked v1 schema (name, languag…
133
+ - `agents-user-review` — List buffered observations from .agent-user.observations.jsonl with numbered options to inspect or accept i…
134
+ - `agents-user-show` — Read-only render of .agent-user.md — prints the persona summary the host agent loads at session start.
135
+ - `agents-user-update` — Open .agent-user.md in the user's IDE for manual edit; validates schema and 100-line cap on save.
136
136
  - `analytics` — Analytics orchestrator — routes to show, prune. Local-only workspace event log under `~/.event4u/agent-conf…
137
- - `analytics:prune` — Drop events older than the 90-day retention window from the local analytics log. Atomic and idempotent.
138
- - `analytics:show` — Render top prompts, launcher → completion rate per role, average session length, and knowledge-source usage…
139
- - `chat-history` — Chat-history orchestrator — routes to show, import, learn
140
- - `chat-history:import` — Surface prior chat-history sessions as a numbered table, let the user pick one, read it silently, and emit…
141
- - `chat-history:learn` — Pick a prior chat-history session and mine it for project-improving learningsruns learning-to-rule-or-sk
142
- - `chat-history:show` — Show the status of the persistent chat-history log file size, entry count, header fingerprint, age, and t…
143
- - `check-current-md`
144
- - `condense` — Condense .md files from .agent-src.uncondensed/ into telegraph format and write to dist/agent-src/
137
+ - `analytics-prune` — Drop events older than the 90-day retention window from the local analytics log. Atomic and idempotent.
138
+ - `analytics-show` — Render top prompts, launcher → completion rate per role, average session length, and knowledge-source usage…
139
+ - `chat-history` — Chat-history orchestrator — routes to import (selective cross-session resume). Mining moved to /memory mine…
140
+ - `chat-history-import` — Surface prior chat-history sessions as a numbered table, let the user pick one, read it silently, and emit…
141
+ - `check-current-md` — Check the open .md file (or a passed path) for German outside DE:/EN: anchor blocks umlauts, function wor
142
+ - `condense` — Condense .md files from src/ into telegraph format and write to dist/agent-src/
145
143
  - `context` — Context orchestrator — routes to create, refactor
146
- - `context:create` — Analyze a codebase area and create a structured context document
147
- - `context:refactor` — Analyze, update, and extend an existing context document
144
+ - `context-create` — Analyze a codebase area and create a structured context document
145
+ - `context-refactor` — Analyze, update, and extend an existing context document
148
146
  - `cost-report` — Capture token cost from the active Claude Code session, append to the local sessions store, and surface the…
149
147
  - `knowledge` — Knowledge orchestrator — routes to ingest, list, forget. Local-only file ingestion into the agent memory na…
150
- - `knowledge:cross-repo` — Targeted, read-only retrieval over opted-in linked-project siblings (ADR-032 Option A). Pulls a shared type…
151
- - `knowledge:forget` — Drop a knowledge ingest from `agents/memory/knowledge/` by id prefix. Atomic, no partial state. Pinning pro…
152
- - `knowledge:ingest` — Walk a local path (folder, .zip, single file), redact PII + secrets, chunk to 2 KB markdown, and persist in…
153
- - `knowledge:list` — List existing knowledge ingests in `agents/memory/knowledge/` (table or JSON); pin / unpin by id prefix to…
148
+ - `knowledge-cross-repo` — Targeted, read-only retrieval over opted-in linked-project siblings (ADR-032 Option A). Pulls a shared type…
149
+ - `knowledge-forget` — Drop a knowledge ingest from `agents/memory/knowledge/` by id prefix. Atomic, no partial state. Pinning pro…
150
+ - `knowledge-ingest` — Walk a local path (folder, .zip, single file), redact PII + secrets, chunk to 2 KB markdown, and persist in…
151
+ - `knowledge-list` — List existing knowledge ingests in `agents/memory/knowledge/` (table or JSON); pin / unpin by id prefix to…
154
152
  - `memory` — Memory orchestrator — routes to add, load, mine-session, promote, propose
155
- - `memory:add` — Interactively add a validated entry to an engineering-memory file (domain-invariants, architecture-decision
156
- - `memory:learn-low-impact` — Preview validated low-impact entries that would be upstreamed to the package seed (default `--preview`); `-…
157
- - `memory:load` — Load ALL curated entries of a given memory type into the current context — opt-in full load for deep analys…
158
- - `memory:mine-session` — Mine the active session transcript for memory signals (corrections, preferences, decisions, recurring patte
159
- - `memory:promote` — Promote an intake signal (or provisional proposal) into a curated memory entry — opens a PR and runs the ad…
160
- - `memory:propose` — Append a provisional memory signal to the intake stream — the universal fallback for any producer (human or…
153
+ - `memory-add` — Interactively add a validated entry to an engineering-memory file (domain-invariants, incident-learnings, p
154
+ - `memory-learn-low-impact` — Preview validated low-impact entries that would be upstreamed to the package seed (default `--preview`); `-…
155
+ - `memory-load` — Load ALL curated entries of a given memory type into the current context — opt-in full load for deep analys…
156
+ - `memory-mine-session` — Mine a session (cross-host chat-history log) for memory signals and/or rule/skill proposal seeds via --mode
157
+ - `memory-promote` — Promote an intake signal (or provisional proposal) into a curated memory entry — opens a PR and runs the ad…
158
+ - `memory-propose` — Append a provisional memory signal to the intake stream — the universal fallback for any producer (human or…
161
159
  - `module` — Module orchestrator — routes to create, explore
162
- - `module:explore` — Explore a module — load its structure, docs, and context into the current conversation
160
+ - `module-explore` — Explore a module — load its structure, docs, and context into the current conversation
163
161
  - `optimize` — Optimize orchestrator — routes to skills, agents-dir, augmentignore, rtk-filters
164
162
  - `optimize-prompt` — Optimize a raw prompt for ChatGPT, Claude, Gemini, or another AI via the 4-D methodology — BASIC vs DETAIL…
165
- - `optimize:agents-dir` — Manage the agents/ directory — scaffold, folder-audit, fix. Single command with three modes (--scaffold / -…
166
- - `optimize:augmentignore` — Creates or updates .augmentignore based on the project's actual tech stack, large files, generated artifact…
167
- - `optimize:rtk` — Create or optimize project-local rtk filters based on the actual toolchain
168
- - `optimize:skills` — Audits skills — measures baseline, finds duplicates/merge candidates, runs linter. Suggest only, never auto…
163
+ - `optimize-agents-dir` — Manage the agents/ directory — scaffold, folder-audit, fix. Single command with three modes (--scaffold / -…
164
+ - `optimize-augmentignore` — Creates or updates .augmentignore based on the project's actual tech stack, large files, generated artifact…
165
+ - `optimize-rtk` — Create or optimize project-local rtk filters based on the actual toolchain
166
+ - `optimize-skills` — Audits skills — measures baseline, finds duplicates/merge candidates, runs linter. Suggest only, never auto…
169
167
  - `orchestrate` — Run a YAML pipeline defined under `.agent-config/orchestrations/` — chains personas / skills / commands / s…
170
168
  - `override` — Override orchestrator — routes to create, manage
171
- - `override:create` — Creates a project-level override for a shared skill, rule, or command.
172
- - `override:manage` — Reviews, updates, and refactors existing project-level overrides.
169
+ - `override-create` — Creates a project-level override for a shared skill, rule, or command.
170
+ - `override-manage` — Reviews, updates, and refactors existing project-level overrides.
173
171
  - `package-reset` — /package-reset
174
172
  - `package-test` — /package-test
175
173
  - `profile` — Session-profile orchestrator — activate / deactivate / show the active packs for this session (recommendati…
176
- - `profile:activate` — Activate a session profile — surface only the named profile/pack closure plus core artefacts, no persistence
177
- - `profile:deactivate` — Deactivate the session profile — clear the overlay (or drop named packs) so the full surface returns
178
- - `profile:show` — Show the active session profile — active packs and surfaced/hidden command+skill counts (observability surf…
174
+ - `profile-activate` — Activate a session profile — surface only the named profile/pack closure plus core artefacts, no persistence
175
+ - `profile-deactivate` — Deactivate the session profile — clear the overlay (or drop named packs) so the full surface returns
176
+ - `profile-show` — Show the active session profile — active packs and surfaced/hidden command+skill counts (observability surf…
179
177
  - `review-routing` — Compute reviewer roles and matched historical bug patterns for the current diff, using project-local owners…
180
178
  - `rule-compliance-audit` — Audit rule trigger quality, simulate activation, detect overlaps, and find never-activating rules
181
179
  - `set-cost-profile` — Change the rule_loading_tier in .agent-settings.yml — shows each profile's meaning and applies the selection
182
180
  - `skill` — Single-skill orchestrator — routes to preview. Non-destructive "what will this skill do?" before you run it.
183
- - `skill:preview` — Non-destructive preview of a skill — its declared steps, execution type, allowed tools, and file/command ta…
181
+ - `skill-preview` — Non-destructive preview of a skill — its declared steps, execution type, allowed tools, and file/command ta…
184
182
  - `skills` — Skill discovery orchestrator — routes to discover. Local, explained skill recommendations over the catalog…
185
- - `skills:discover` — Recommend skills for a role — ranked by four explained classes (most-useful-for-role, related-to-current-ta…
183
+ - `skills-discover` — Recommend skills for a role — ranked by four explained classes (most-useful-for-role, related-to-current-ta…
186
184
  - `sync-agent-settings` — Sync `.agent-settings.yml` against the current template + profile — adds new sections/keys, preserves user…
187
185
  - `sync-gitignore` — Sync the `event4u/agent-config` block in the consumer project's .gitignore — adds missing entries, preserve…
188
- - `sync-gitignore:fix` — Scrub legacy pre-`/agents/` patterns from the consumer's .gitignore (inside or outside the managed block) a…
186
+ - `sync-gitignore-fix` — Scrub legacy pre-`/agents/` patterns from the consumer's .gitignore (inside or outside the managed block) a…
189
187
  - `upstream-contribute` — Contribute a learning, skill, rule, or fix from a consumer project back to the shared agent-config package
190
188
 
191
189
  ### Domain flow — media
@@ -193,29 +191,29 @@ _The system/admin surface (NOT a flow): memory · analytics · governance · con
193
191
  _AI image + video pipeline._
194
192
 
195
193
  - `image` — Character-image fidelity orchestrator — analyse, create, and verify a character image against its canon. Ro…
196
- - `image:analyse` — Analyse a character image down to the smallest mole and diff it against a canon — per-feature spec, OCR tat…
197
- - `image:create` — Generate a character image to spec — assemble a max-fidelity, anchors-first prompt from a Canon Spec; gover…
198
- - `image:verify` — Verify a candidate render against its canon — run the analyser in loop mode, emit the gate verdict + remain…
194
+ - `image-analyse` — Analyse a character image down to the smallest mole and diff it against a canon — per-feature spec, OCR tat…
195
+ - `image-create` — Generate a character image to spec — assemble a max-fidelity, anchors-first prompt from a Canon Spec; gover…
196
+ - `image-verify` — Verify a candidate render against its canon — run the analyser in loop mode, emit the gate verdict + remain…
199
197
  - `video` — Video-creation orchestrator — Hollywood-level AI video pipeline. Routes to from-script, from-song, scene, s…
200
- - `video:from-script` — Drive a script end-to-end through the AI video pipeline — scenes → blueprint → image → operator pick → moti…
201
- - `video:from-song` — Music-video from a song + reference images — accept or derive a timed scene script, optional character-lock…
202
- - `video:scene` — Render a single scene from a one-line idea — scene-expander → blueprint → image → operator pick → motion →…
203
- - `video:stitch` — Re-stitch existing clips in `<project>/scenes/*/` after operator edits — no re-render. ffmpeg concat driven…
204
- - `video:storyboard` — Image-only storyboard — script → scenes → blueprint → image render → contact-sheet PNG via ffmpeg montage.…
198
+ - `video-from-script` — Drive a script end-to-end through the AI video pipeline — scenes → blueprint → image → operator pick → moti…
199
+ - `video-from-song` — Music-video from a song + reference images — accept or derive a timed scene script, optional character-lock…
200
+ - `video-scene` — Render a single scene from a one-line idea — scene-expander → blueprint → image → operator pick → motion →…
201
+ - `video-stitch` — Re-stitch existing clips in `<project>/scenes/*/` after operator edits — no re-render. ffmpeg concat driven…
202
+ - `video-storyboard` — Image-only storyboard — script → scenes → blueprint → image render → contact-sheet PNG via ffmpeg montage.…
205
203
 
206
204
  ### Domain flow — marketing
207
205
 
208
206
  _Ghostwriter + post-as voice pipeline._
209
207
 
210
208
  - `ghostwriter` — Ghostwriter cluster — fetch, write, list, show, and delete public-figure voice profiles (the third voice pr…
211
- - `ghostwriter:delete` — Hard-delete a ghostwriter profile at agents/reference/ghostwriter/<slug>.md after a two-step confirmation.…
212
- - `ghostwriter:fetch` — Build or refresh a public-figure voice profile under agents/reference/ghostwriter/ from a URL or bare name;…
213
- - `ghostwriter:list` — List captured ghostwriter profiles under agents/reference/ghostwriter/ as a numbered table with confidence,…
214
- - `ghostwriter:show` — Render a single ghostwriter profile in full — identity, style fingerprint, voice samples, taboos, source UR…
215
- - `ghostwriter:write` — Draft a markdown post in the voice of a captured public-figure ghostwriter profile; appends the mandatory n…
209
+ - `ghostwriter-delete` — Hard-delete a ghostwriter profile at agents/reference/ghostwriter/<slug>.md after a two-step confirmation.…
210
+ - `ghostwriter-fetch` — Build or refresh a public-figure voice profile under agents/reference/ghostwriter/ from a URL or bare name;…
211
+ - `ghostwriter-list` — List captured ghostwriter profiles under agents/reference/ghostwriter/ as a numbered table with confidence,…
212
+ - `ghostwriter-show` — Render a single ghostwriter profile in full — identity, style fingerprint, voice samples, taboos, source UR…
213
+ - `ghostwriter-write` — Draft a markdown post in the voice of a captured public-figure ghostwriter profile; appends the mandatory n…
216
214
  - `post-as` — Consumer-facing write entry points — :me drafts in the maintainer's own voice from .agent-user.md (no discl…
217
- - `post-as:ghostwriter` — Thin alias for /ghostwriter:write — drafts a copyable markdown post in a captured public-figure voice with…
218
- - `post-as:me` — Draft a copyable markdown post in the maintainer's own voice (style source = .agent-user.md.voice_sample).…
215
+ - `post-as-ghostwriter` — Thin alias for /ghostwriter:write — drafts a copyable markdown post in a captured public-figure voice with…
216
+ - `post-as-me` — Draft a copyable markdown post in the maintainer's own voice (style source = .agent-user.md.voice_sample).…
219
217
 
220
218
  ### Domain flow — fun
221
219
 
@@ -4,7 +4,7 @@ stability: stable
4
4
 
5
5
  # ADR Layout — Per-area Directories
6
6
 
7
- > Status: accepted · 2026-05-16 · Roadmap: `step-11-ruflo-parity` Phase 4
7
+ > Status: accepted · 2026-05-16 · Roadmap: an internal parity roadmap (local-only) Phase 4
8
8
 
9
9
  ## Scope
10
10
 
@@ -42,7 +42,6 @@ Reserved areas (bootstrap pass — step-11 Phase 4 Step 3):
42
42
  | `schema` | Frontmatter schemas, v2 rigor, lint behaviour | [`schema-versioning.md`](schema-versioning.md) (when published) |
43
43
  | `router` | `router.json` shape, tier semantics, dispatch precedence | [`rule-router.md`](rule-router.md) |
44
44
  | `smoke` | Per-tier smoke contracts, baseline locks | [`smoke-contracts.md`](smoke-contracts.md) |
45
- | `memory` | Memory MCP, propose / promote / poison flow | [`agent-memory-contract.md`](agent-memory-contract.md) |
46
45
 
47
46
  ## Frontmatter
48
47
 
@@ -105,4 +104,4 @@ The skill's template, numbering logic, and validation hooks are identical for bo
105
104
  - [`docs/decisions/INDEX.md`](../decisions/INDEX.md) — flat surface index.
106
105
  - [`scripts/audit_adr_coverage.py`](../../src/scripts/audit_adr_coverage.py) — coverage gate.
107
106
  - [`scripts/adr/regenerate_index.py`](../../src/scripts/adr/regenerate_index.py) — index regenerator (works on both surfaces; pass `--dir`).
108
- - `step-11-ruflo-parity` Phase 4 — origin.
107
+ - an internal parity roadmap (local-only) Phase 4 — origin.
@@ -63,7 +63,7 @@ stability: stable
63
63
  - Rule-Interaction matrix marked rule-only by design;
64
64
  [`rule-interactions.md`](rule-interactions.md) § "Out of scope —
65
65
  orchestration surfaces" points at `decision-engine-gates`,
66
- `decision-trace-v1`, `agent-memory-contract`, `memory-visibility-v1`,
66
+ `decision-trace-v1`, `memory-visibility-v1`,
67
67
  and the `ai-council` skill for Council × Memory × Work-Engine
68
68
  interactions (P5.2).
69
69
  - `type: orchestrator` frontmatter tag exempts cluster routers from
@@ -3,16 +3,16 @@ stability: beta
3
3
  keep-beta-until: 2026-08-12
4
4
  ---
5
5
 
6
- # AI-Council Config (`agents/settings/.ai-council.yml`)
6
+ # AI-Council Config (`.ai-council.yml`)
7
7
 
8
8
  **Purpose.** Lock the schema, validation, and precedence rules for the
9
9
  centralized council config file. Every phase of the AI-Council
10
10
  consolidation work reads from this file; the contract here is the
11
11
  boundary that prevents drift across the loader, the CLI, the
12
- orchestrator, and the `agents/settings/.ai-council.yml` file itself.
12
+ orchestrator, and the `.ai-council.yml` file itself.
13
13
 
14
14
  **Audience.** Authors of `scripts/ai_council/config.py`, `council_cli.py`,
15
- `scripts/ai_council/orchestrator.py`, and the `agents/settings/.ai-council.yml`
15
+ `scripts/ai_council/orchestrator.py`, and the `.ai-council.yml`
16
16
  starter. Also reviewers checking that new providers / advisors / debate
17
17
  features keep the schema intact.
18
18
 
@@ -21,10 +21,45 @@ a revision entry in the consuming roadmap.
21
21
 
22
22
  ## File location
23
23
 
24
- The single source of truth is **`agents/settings/.ai-council.yml`** at the
25
- project root. The legacy `ai_council.*` block under `.agent-settings.yml`
26
- is removed by Phase 0 Step 5 and replaced by a one-line breadcrumb
27
- pointing at this contract.
24
+ The council is configured **once per user**, not per project. The config
25
+ lives in the user-global namespace:
26
+
27
+ ```
28
+ ~/.event4u/agent-config/settings/.ai-council.yml
29
+ ```
30
+
31
+ (with the legacy `~/.config/agent-config/settings/.ai-council.yml` read as a
32
+ fallback during the v2.4 namespace transition). This is where a single
33
+ developer enables members, pins models, and sets caps once — and the
34
+ council then works in **every** project they open, with no per-project
35
+ file to check in or accidentally commit. See
36
+ [ADR-093](../decisions/ADR-093-ai-council-config-user-global.md).
37
+
38
+ `scripts/ai_council/config.py:resolve_config_path` resolves the active
39
+ file with this precedence (first match wins):
40
+
41
+ 1. **`$AI_COUNCIL_CONFIG`** — an explicit absolute path. Honoured even
42
+ when the target is absent (so a typo surfaces as "create it here"
43
+ rather than silently falling back). Primarily for tests / power users.
44
+ 2. **Project-local** `<project_root>/agents/settings/.ai-council.yml` —
45
+ only when a consumer project deliberately checks in its own council
46
+ config. This **overrides** the user-global file for that project.
47
+ 3. **User-global** `~/.event4u/agent-config/settings/.ai-council.yml` — the
48
+ canonical default described above.
49
+
50
+ When none exists, the loader reports the user-global path as the place to
51
+ create it. `agents/templates/.ai-council.yml.example` ships the documented
52
+ shape to copy from. The legacy `ai_council.*` block under
53
+ `.agent-settings.yml` remains removed (Phase 0 Step 5); a one-line
54
+ breadcrumb there points at this contract.
55
+
56
+ > **Why user-global, not project-tracked.** A council config checked into
57
+ > the project tree (the pre-ADR-093 layout) (a) re-applied per-project
58
+ > instead of per-developer, (b) risked being committed to a public repo,
59
+ > and (c) was silently *not found* on cloud / headless / fresh-checkout
60
+ > surfaces with no project copy — the council then refused with
61
+ > "ai_council.enabled is false" even though the user had set it up. The
62
+ > user-global location fixes all three.
28
63
 
29
64
  ## Top-level schema
30
65
 
@@ -33,7 +33,7 @@ column 1 of this table.
33
33
  | `feature` | 1 | `explore` · `plan` · `refactor` · `roadmap` · `dev` | `feature-explore` · `feature-plan` · `feature-refactor` · `feature-roadmap` · `feature-dev` |
34
34
  | `chat-history` | 2 | `show` · `import` · `learn` | `chat-history` (legacy status) — `resume` / `clear` / `checkpoint` removed in `road-to-chat-history-hook-only` (auto-adopt + structural hooks); `import` (verbatim cross-session render) and `learn` (project-improving learning extraction) added in the v4 stateless schema |
35
35
  | `agents` | 2 | `init` · `optimize` · `audit` · `user` | AGENTS.md file family (high-frequency) — repurposed 2026-05-09: `init` (was `/copilot-agents init`) · `optimize` (merger of `/optimize agents-md` + `/copilot-agents optimize`) · `audit` (was `/optimize agents`, collapses old `audit` + `check` verbs); legacy folder ops (`prepare` / `cleanup` / folder-`audit`) moved to `/optimize agents-dir`; `user` sub-cluster added 2026-05-15 — manages the project-root `.agent-user.md` persona file (sub-sub-commands: `init` · `show` · `review` · `accept` · `update`) per [`agent-user-schema`](agent-user-schema.md) |
36
- | `memory` | 2 | `add` · `load` · `promote` · `propose` · `mine-session` · `learn-low-impact` | `memory-add` · `memory-full` · `memory-promote` · `propose-memory`; `mine-session` added 2026-05-10 — manual transcript-mining sub-command from `road-to-dream-skill-adoption.md`, opt-in via `--confirm-transcript-access` per invocation; `learn-low-impact` added 2026-05-15 — upstreams `## Validated` entries from `agents/decisions/low-impact-decisions.md` to the package seed via a DRAFT PR (re-runs the privacy-floor redactor as a second gate per `low-impact-corpus-privacy-floor`) |
36
+ | `memory` | 2 | `add` · `load` · `promote` · `propose` · `mine-session` · `learn-low-impact` | `memory-add` · `memory-full` · `memory-promote` · `propose-memory`; `mine-session` added 2026-05-10 — manual transcript-mining sub-command from an internal roadmap (local-only), opt-in via `--confirm-transcript-access` per invocation; `learn-low-impact` added 2026-05-15 — upstreams `## Validated` entries from `agents/decisions/low-impact-decisions.md` to the package seed via a DRAFT PR (re-runs the privacy-floor redactor as a second gate per `low-impact-corpus-privacy-floor`) |
37
37
  | `roadmap` | 2 | `create` · `ai-council` · `process-step` · `process-phase` · `process-full` | `roadmap-create` · `roadmap-execute` (replaced — autonomous, no per-step gate; `process-phase` is the default execution scope); `ai-council` added 2026-05-07 — wraps `/council default` with `--input-mode roadmap --depth deep` |
38
38
  | `module` | 2 | `create` · `explore` | `module-create` · `module-explore` |
39
39
  | `tests` | 2 | `create` · `execute` | `tests-create` · `tests-execute` |
@@ -128,7 +128,7 @@ suite is wired to `task test-cost-budget` per `step-11` Phase 2 Step 5.
128
128
 
129
129
  ## See also
130
130
 
131
- - `step-11-ruflo-parity` — Measurement & Governance Parity roadmap.
131
+ - an internal parity roadmap (local-only) — Measurement & Governance Parity roadmap.
132
132
  - `docs/contracts/cost-dashboard.md` — companion dashboard contract.
133
133
  - `scripts/cost/budget.mjs` — evaluator implementation.
134
134
  - `internal/bench/pricing.yaml` — per-model USD pricing table.
@@ -9,7 +9,7 @@ Stable JSON contract for inter-tool consumption of cost-tracking data
9
9
  emitted by [`scripts/cost_summary.py`](../../src/scripts/cost_summary.py).
10
10
  Schema-versioned so downstream consumers can pin and migrate explicitly.
11
11
 
12
- Design reference: Ruflo `scripts/summary.mjs` (upstream cite). Our shape
12
+ Design reference: the external runtime `scripts/summary.mjs` (upstream cite). Our shape
13
13
  diverges to align with the local `agents/cost-tracking/sessions.jsonl`
14
14
  fields and the telegraph-suspended-multiplier contract.
15
15
 
@@ -139,6 +139,7 @@ counters only. No prompt bodies, no response bodies.
139
139
 
140
140
  ## Cross-references
141
141
 
142
+ - **Boundary:** [`workspace-boundary`](workspace-boundary.md) — what the workspace owns vs. does **not** own ([`ADR-095`](../decisions/ADR-095-workspace-boundary-contract.md)), enforced by the import-edge linter.
142
143
  - ADRs: [`022`](../decisions/ADR-022-daily-workspace-decomposition.md) · [`023`](../decisions/ADR-023-host-agent-protocol.md) · [`024`](../decisions/ADR-024-workspace-v0-feature-floor.md) · [`025`](../decisions/ADR-025-workspace-chrome.md).
143
144
  - Host-agent protocol: [`host-agent-protocol`](host-agent-protocol.md).
144
145
  - GUI substrate: [`gui-wizard`](gui-wizard.md).
@@ -64,7 +64,8 @@
64
64
  "product-basic", "product-discovery",
65
65
  "finance-basic", "finance-advanced",
66
66
  "gtm-sales", "gtm-marketing",
67
- "ops-people", "founder-strategy", "small-business", "construction", "ai-video", "fun", "meta", "git", "frontend-design"
67
+ "ops-people", "founder-strategy", "small-business", "construction", "ai-video", "fun", "meta", "git", "frontend-design",
68
+ "memory", "analytics", "product-reasoning"
68
69
  ]
69
70
  },
70
71
  "lifecycle": {
@@ -134,7 +135,8 @@
134
135
  "category": { "type": "string", "enum": ["skill", "rule", "command", "template"] },
135
136
  "name": { "type": "string" },
136
137
  "pack": { "$ref": "#/$defs/pack_id", "description": "capability-packs.md — canonical OWNER pack (ownership/budget unit). Orthogonal to `packs` (discovery tags); the owner need not appear in `packs`." },
137
- "tier": { "type": "integer", "enum": [0, 1, 2], "description": "6.0.0-C — command-surface tier surfaced on `category: command` artefacts so the CLI discovery surface reads the manifest, not a parallel catalog." },
138
+ "tier": { "type": "integer", "enum": [0, 1, 2], "description": "6.0.0-C — command-surface tier surfaced on `category: command` artefacts so the CLI discovery surface reads the manifest, not a parallel catalog. Back-compat alias of `visibility` since ADR-090; dual-emitted during the deprecation window." },
139
+ "visibility": { "type": "string", "enum": ["visible", "advanced", "internal"], "description": "ADR-090 — named command-surface visibility (visible↔tier 0, advanced↔tier 1, internal↔tier 2); the classifier source of truth. Dual-emitted alongside `tier` on `category: command` artefacts during the deprecation window." },
138
140
  "intent": { "type": "string", "description": "6.0.0-C — command routing metadata (one-line existence justification). Present on visible command artefacts." },
139
141
  "routes_to": { "type": "array", "items": { "type": "string" }, "description": "6.0.0-C — command routing metadata (skill/cluster-sub/command slugs the intent routes to)." },
140
142
  "replaces": { "type": "array", "items": { "type": "string" }, "description": "6.0.0-C — command routing metadata (prior names/aliases this command absorbs; may be empty)." },
@@ -182,6 +182,6 @@ profile-explain (`ask-when-uncertain`).
182
182
  ## Cross-references
183
183
 
184
184
  - ADR: [`ADR-026`](../decisions/ADR-026-explain-mode-translation.md).
185
- - Envelope contract: [`agent-memory-contract`](agent-memory-contract.md) (`explain-v1`).
185
+ - Envelope contract: [`retrieval-v1.schema.json`](../../internal/schemas/retrieval-v1.schema.json) (`explain-v1`).
186
186
  - Workspace integration: [`daily-workspace`](daily-workspace.md) (right rail).
187
187
  - Roles: [`role-experience`](role-experience.md) (`explain_default` field).
@@ -34,7 +34,7 @@ in Phase 0 and recorded in a short ADR once decided.
34
34
  - A runtime implementation spec.
35
35
  - A DSL for user-authored flows (explicitly out of scope).
36
36
  - A memory retrieval spec — that lives in
37
- [`agent-memory-contract.md`](agent-memory-contract.md).
37
+ [`../guidelines/agent-infra/memory-access.md`](../guidelines/agent-infra/memory-access.md).
38
38
 
39
39
  ## The linear flow
40
40
 
@@ -262,17 +262,16 @@ boundary writes. Full reference: [`work-engine-hooks.md`](work-engine-hooks.md).
262
262
  Bounded per the top-level roadmap rule:
263
263
 
264
264
  - **Max 12 hits total.**
265
- - **Four allowed types:** `domain-invariants`,
266
- `architecture-decisions`, `incident-learnings`,
267
- `historical-patterns`. All four exist in the
268
- [templates directory](../../.agent-src.uncondensed/templates/agents/memory/).
265
+ - **Three allowed types:** `domain-invariants`, `incident-learnings`,
266
+ `historical-patterns`. (Architectural rationale lives in ADRs —
267
+ `docs/decisions/` not in curated memory.)
269
268
  - **Keys:** files touched by the plan, symbols referenced by the
270
269
  ticket.
271
270
  - **Decision-change rule:** a memory hit that did not change an
272
271
  outcome is dropped from the report. If none changed an outcome,
273
272
  the `memory` section of the report is omitted — not padded.
274
273
  - Follows the retrieval shape in
275
- [`agent-memory-contract.md`](agent-memory-contract.md).
274
+ [`../guidelines/agent-infra/memory-access.md`](../guidelines/agent-infra/memory-access.md).
276
275
 
277
276
  ## Persona policies
278
277
 
@@ -619,7 +618,7 @@ are blocked by `freeze-guard.yml::manifest-integrity` at PR time.
619
618
  - `tests/golden/` — capture sandbox, recipes, and Capture Packs
620
619
  - [`../../tests/golden/harness.py`](../../tests/golden/harness.py) — Strict-Verb replay harness
621
620
  - [`../../.github/workflows/freeze-guard.yml`](../../.github/workflows/freeze-guard.yml) — manifest-integrity + live-replay gates
622
- - [`agent-memory-contract.md`](agent-memory-contract.md)
621
+ - [`../guidelines/agent-infra/memory-access.md`](../guidelines/agent-infra/memory-access.md)
623
622
  - [`../../docs/guidelines/agent-infra/role-contracts.md`](../../docs/guidelines/agent-infra/role-contracts.md)
624
623
  - [`../../.agent-src.uncondensed/rules/user-interaction.md`](../../.agent-src.uncondensed/rules/user-interaction.md)
625
624
  - [`../../.agent-src.uncondensed/rules/scope-control.md`](../../.agent-src.uncondensed/rules/scope-control.md)
@@ -10,7 +10,7 @@ keep-beta-until: 2026-08-14
10
10
  > [`scripts/mcp_server/consumer_tool_catalog.json`](../../scripts/mcp_server/consumer_tool_catalog.json).
11
11
  > Do **not** hand-edit; rerun `python3 scripts/audit_mcp_tools.py --write`.
12
12
  >
13
- > Step-11 Phase 5 Step 3 (`step-11-ruflo-parity.md`).
13
+ > Step-11 Phase 5 Step 3 (an internal parity roadmap (local-only)).
14
14
 
15
15
  ## Summary
16
16
 
@@ -23,12 +23,12 @@ keep-beta-until: 2026-08-14
23
23
 
24
24
  | Tool | Side-effect | Transports | Catalog | Handler |
25
25
  |---|---|---|---|---|
26
- | `lint_skills` | `ro` | stdio | [`consumer_tool_catalog.json:7`](../../scripts/mcp_server/consumer_tool_catalog.json#L7) | [`tools.py:521`](../../scripts/mcp_server/tools.py#L521) |
27
- | `chat_history_append` | `fs-write` | stdio | [`consumer_tool_catalog.json:24`](../../scripts/mcp_server/consumer_tool_catalog.json#L24) | [`tools.py:546`](../../scripts/mcp_server/tools.py#L546) |
28
- | `chat_history_read` | `ro` | stdio | [`consumer_tool_catalog.json:43`](../../scripts/mcp_server/consumer_tool_catalog.json#L43) | [`tools.py:586`](../../scripts/mcp_server/tools.py#L586) |
29
- | `memory_lookup` | `ro` | stdio | [`consumer_tool_catalog.json:59`](../../scripts/mcp_server/consumer_tool_catalog.json#L59) | [`tools.py:606`](../../scripts/mcp_server/tools.py#L606) |
26
+ | `lint_skills` | `ro` | stdio | [`consumer_tool_catalog.json:7`](../../scripts/mcp_server/consumer_tool_catalog.json#L7) | [`tools.py:509`](../../scripts/mcp_server/tools.py#L509) |
27
+ | `chat_history_append` | `fs-write` | stdio | [`consumer_tool_catalog.json:24`](../../scripts/mcp_server/consumer_tool_catalog.json#L24) | [`tools.py:539`](../../scripts/mcp_server/tools.py#L539) |
28
+ | `chat_history_read` | `ro` | stdio | [`consumer_tool_catalog.json:43`](../../scripts/mcp_server/consumer_tool_catalog.json#L43) | [`tools.py:606`](../../scripts/mcp_server/tools.py#L606) |
29
+ | `memory_lookup` | `ro` | stdio | [`consumer_tool_catalog.json:59`](../../scripts/mcp_server/consumer_tool_catalog.json#L59) | [`tools.py:654`](../../scripts/mcp_server/tools.py#L654) |
30
30
  | `memory_signal` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:75`](../../scripts/mcp_server/consumer_tool_catalog.json#L75) | _stub-only_ |
31
- | `memory_status` | `ro` | stdio | [`consumer_tool_catalog.json:91`](../../scripts/mcp_server/consumer_tool_catalog.json#L91) | [`tools.py:633`](../../scripts/mcp_server/tools.py#L633) |
31
+ | `memory_status` | `ro` | stdio | [`consumer_tool_catalog.json:91`](../../scripts/mcp_server/consumer_tool_catalog.json#L91) | [`tools.py:701`](../../scripts/mcp_server/tools.py#L701) |
32
32
  | `skill_trigger_eval` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:98`](../../scripts/mcp_server/consumer_tool_catalog.json#L98) | _stub-only_ |
33
33
  | `suggest_command` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:114`](../../scripts/mcp_server/consumer_tool_catalog.json#L114) | _stub-only_ |
34
34
  | `suggest_skill_for_task` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:129`](../../scripts/mcp_server/consumer_tool_catalog.json#L129) | _stub-only_ |
@@ -38,11 +38,11 @@ keep-beta-until: 2026-08-14
38
38
  | `sync_agent_settings` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:186`](../../scripts/mcp_server/consumer_tool_catalog.json#L186) | _stub-only_ |
39
39
  | `run_tests` | `shell` | _(stub)_ | [`consumer_tool_catalog.json:200`](../../scripts/mcp_server/consumer_tool_catalog.json#L200) | _stub-only_ |
40
40
  | `run_quality_checks` | `shell` | _(stub)_ | [`consumer_tool_catalog.json:214`](../../scripts/mcp_server/consumer_tool_catalog.json#L214) | _stub-only_ |
41
- | `list_skills` | `ro` | stdio | [`consumer_tool_catalog.json:227`](../../scripts/mcp_server/consumer_tool_catalog.json#L227) | [`tools.py:647`](../../scripts/mcp_server/tools.py#L647) |
42
- | `list_commands` | `ro` | stdio | [`consumer_tool_catalog.json:234`](../../scripts/mcp_server/consumer_tool_catalog.json#L234) | [`tools.py:660`](../../scripts/mcp_server/tools.py#L660) |
43
- | `list_rules` | `ro` | stdio | [`consumer_tool_catalog.json:241`](../../scripts/mcp_server/consumer_tool_catalog.json#L241) | [`tools.py:673`](../../scripts/mcp_server/tools.py#L673) |
41
+ | `list_skills` | `ro` | stdio | [`consumer_tool_catalog.json:227`](../../scripts/mcp_server/consumer_tool_catalog.json#L227) | [`tools.py:716`](../../scripts/mcp_server/tools.py#L716) |
42
+ | `list_commands` | `ro` | stdio | [`consumer_tool_catalog.json:234`](../../scripts/mcp_server/consumer_tool_catalog.json#L234) | [`tools.py:732`](../../scripts/mcp_server/tools.py#L732) |
43
+ | `list_rules` | `ro` | stdio | [`consumer_tool_catalog.json:241`](../../scripts/mcp_server/consumer_tool_catalog.json#L241) | [`tools.py:748`](../../scripts/mcp_server/tools.py#L748) |
44
44
  | `compile_router` | `shell` | _(stub)_ | [`consumer_tool_catalog.json:248`](../../scripts/mcp_server/consumer_tool_catalog.json#L248) | _stub-only_ |
45
- | `read_resource_body` | `ro` | stdio | [`consumer_tool_catalog.json:261`](../../scripts/mcp_server/consumer_tool_catalog.json#L261) | [`tools.py:686`](../../scripts/mcp_server/tools.py#L686) |
45
+ | `read_resource_body` | `ro` | stdio | [`consumer_tool_catalog.json:261`](../../scripts/mcp_server/consumer_tool_catalog.json#L261) | [`tools.py:765`](../../scripts/mcp_server/tools.py#L765) |
46
46
 
47
47
  ## Glossary
48
48
 
@@ -90,7 +90,7 @@ P2 roadmap reads — not the live `internal/bench/reports/` directory.
90
90
 
91
91
  ## Carve-outs
92
92
 
93
- - **Pricing freshness:** [`internal/bench/pricing.yaml`](../../bench/pricing.yaml) rows must carry `sourced_on: YYYY-MM-DD`. Stale prices = stale numbers = no trust (ruflo "measured-vs-claimed" pattern).
93
+ - **Pricing freshness:** [`internal/bench/pricing.yaml`](../../bench/pricing.yaml) rows must carry `sourced_on: YYYY-MM-DD`. Stale prices = stale numbers = no trust (external "measured-vs-claimed" pattern).
94
94
  - **Subjective grading excluded:** quality scoring is mechanical via `quality_assertion`. No vibes.
95
95
  - **Cursor / Cline / Windsurf:** rules-only surfaces, no SKILL.md projection. `bench:projection` reports them as `not_applicable` — the gap is acknowledged, not silently dropped.
96
96
 
@@ -7,9 +7,7 @@ keep-beta-until: 2026-08-12
7
7
 
8
8
  **Purpose.** Pin the format of the user-facing visibility line that
9
9
  every memory-using `/work` and `/implement-ticket` run prints, so the
10
- user can tell what the agent retrieved and what it ignored.
11
- Complements [`agent-memory-contract.md`](agent-memory-contract.md):
12
- that doc describes the **CLI surface and backend states**; this doc
10
+ user can tell what the agent retrieved and what it ignored. This doc
13
11
  describes the **operator-facing surface** the engine emits per turn.
14
12
 
15
13
  **Scope.** Defines the line shape, the privacy floor, and the opt-out
@@ -156,8 +154,6 @@ compat extensions.
156
154
 
157
155
  ## Cross-references
158
156
 
159
- - CLI surface and backend states:
160
- [`agent-memory-contract.md`](agent-memory-contract.md).
161
157
  - Decision-trace JSON consumes the same counts:
162
158
  [`decision-trace-v1.md`](decision-trace-v1.md).
163
159
  - Privacy regression test path:
@@ -10,7 +10,7 @@ stability: stable
10
10
  > all five surfaces silently.
11
11
  >
12
12
  > **Source:** Step-11 Phase 5 Step 1
13
- > (`step-11-ruflo-parity.md`).
13
+ > (an internal parity roadmap (local-only)).
14
14
  > **Enforcer:** [`scripts/lint_namespace.py`](../../src/scripts/lint_namespace.py),
15
15
  > wired into `task lint-skills`.
16
16