@event4u/agent-config 8.1.0 → 8.3.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 (615) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/CHANGELOG.md +83 -292
  3. package/MIGRATION.md +18 -0
  4. package/README.md +86 -3
  5. package/dist/agent-src/commands/agents/init.md +3 -3
  6. package/dist/agent-src/commands/chat-history/import.md +5 -5
  7. package/dist/agent-src/commands/chat-history.md +1 -1
  8. package/dist/agent-src/commands/condense.md +1 -1
  9. package/dist/agent-src/commands/context/create.md +1 -1
  10. package/dist/agent-src/commands/council/analysis.md +2 -2
  11. package/dist/agent-src/commands/council/default.md +3 -3
  12. package/dist/agent-src/commands/council/design.md +2 -2
  13. package/dist/agent-src/commands/council/optimize.md +1 -1
  14. package/dist/agent-src/commands/council/pr.md +2 -2
  15. package/dist/agent-src/commands/council.md +1 -1
  16. package/dist/agent-src/commands/feature/plan.md +1 -1
  17. package/dist/agent-src/commands/ghostwriter/list.md +1 -1
  18. package/dist/agent-src/commands/ghostwriter/write.md +1 -1
  19. package/dist/agent-src/commands/ghostwriter.md +1 -1
  20. package/dist/agent-src/commands/implement-ticket.md +2 -2
  21. package/dist/agent-src/commands/judge/on-diff.md +1 -1
  22. package/dist/agent-src/commands/judge/steps.md +3 -1
  23. package/dist/agent-src/commands/memory/add.md +2 -2
  24. package/dist/agent-src/commands/memory/learn-low-impact.md +1 -1
  25. package/dist/agent-src/commands/memory/load.md +1 -1
  26. package/dist/agent-src/commands/memory/mine-session.md +1 -1
  27. package/dist/agent-src/commands/memory/promote.md +1 -1
  28. package/dist/agent-src/commands/memory/propose.md +1 -1
  29. package/dist/agent-src/commands/mission/upgrade.md +1 -1
  30. package/dist/agent-src/commands/module/explore.md +3 -3
  31. package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
  32. package/dist/agent-src/commands/optimize/skills.md +1 -1
  33. package/dist/agent-src/commands/optimize-project.md +1 -1
  34. package/dist/agent-src/commands/orchestrate.md +2 -2
  35. package/dist/agent-src/commands/project-analyze.md +1 -1
  36. package/dist/agent-src/commands/project-health.md +1 -1
  37. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  38. package/dist/agent-src/commands/roadmap/create.md +2 -2
  39. package/dist/agent-src/commands/roadmap/process-full.md +3 -1
  40. package/dist/agent-src/commands/roadmap/process-phase.md +4 -2
  41. package/dist/agent-src/commands/roadmap/process-step.md +3 -1
  42. package/dist/agent-src/commands/security-audit-config.md +1 -1
  43. package/dist/agent-src/commands/sync-agent-settings.md +7 -7
  44. package/dist/agent-src/commands/sync-gitignore/fix.md +3 -3
  45. package/dist/agent-src/commands/sync-gitignore.md +4 -4
  46. package/dist/agent-src/commands/work.md +3 -3
  47. package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
  48. package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
  49. package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +1 -1
  50. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -7
  51. package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
  52. package/dist/agent-src/contexts/execution/roadmap-process-loop.md +9 -4
  53. package/dist/agent-src/contexts/execution/toolchain-resolver.md +10 -9
  54. package/dist/agent-src/contexts/execution/verification-mechanics.md +13 -1
  55. package/dist/agent-src/packs/README.md +1 -1
  56. package/dist/agent-src/presets/README.md +1 -1
  57. package/dist/agent-src/profiles/README.md +1 -1
  58. package/dist/agent-src/rules/architecture.md +2 -2
  59. package/dist/agent-src/rules/context-hygiene.md +2 -2
  60. package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
  61. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
  62. package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
  63. package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
  64. package/dist/agent-src/rules/media-governance-routing.md +1 -1
  65. package/dist/agent-src/rules/no-roadmap-references.md +3 -3
  66. package/dist/agent-src/rules/preservation-guard.md +2 -2
  67. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
  68. package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
  69. package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
  70. package/dist/agent-src/rules/source-confidentiality.md +1 -1
  71. package/dist/agent-src/rules/telegraph-speak.md +1 -1
  72. package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
  73. package/dist/agent-src/rules/ui-audit-gate.md +1 -1
  74. package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
  75. package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
  76. package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
  77. package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
  78. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
  79. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
  80. package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
  81. package/dist/agent-src/skills/api-design/SKILL.md +1 -1
  82. package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
  83. package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
  84. package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
  85. package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
  86. package/dist/agent-src/skills/code-review/SKILL.md +3 -4
  87. package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
  88. package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
  89. package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
  90. package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
  91. package/dist/agent-src/skills/context-document/SKILL.md +1 -1
  92. package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
  93. package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
  94. package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
  95. package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
  96. package/dist/agent-src/skills/database/SKILL.md +2 -1
  97. package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
  98. package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
  99. package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
  100. package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
  101. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
  102. package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
  103. package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
  104. package/dist/agent-src/skills/flux/SKILL.md +10 -9
  105. package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
  106. package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
  107. package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
  108. package/dist/agent-src/skills/livewire/SKILL.md +10 -9
  109. package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
  110. package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
  111. package/dist/agent-src/skills/module-management/SKILL.md +2 -2
  112. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
  113. package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
  114. package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
  115. package/dist/agent-src/skills/premortem/SKILL.md +1 -1
  116. package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
  117. package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
  118. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
  119. package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
  120. package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
  121. package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
  122. package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
  123. package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
  124. package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
  125. package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
  126. package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
  127. package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
  128. package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
  129. package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
  130. package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
  131. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
  132. package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
  133. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
  134. package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
  135. package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
  136. package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
  137. package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
  138. package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
  139. package/dist/agent-src/templates/agent-settings.md +34 -25
  140. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
  141. package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
  142. package/dist/agent-src/templates/agents/proposal.example.md +4 -4
  143. package/dist/agent-src/templates/copilot-instructions.md +1 -1
  144. package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
  145. package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
  146. package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
  147. package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
  148. package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
  149. package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
  150. package/dist/agent-src/templates/roadmaps.md +9 -4
  151. package/dist/agent-src/templates/rule.md +3 -3
  152. package/dist/agent-src/templates/scripts/README.md +6 -6
  153. package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
  154. package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
  155. package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
  156. package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
  157. package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
  158. package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
  159. package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
  160. package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
  161. package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
  162. package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
  163. package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
  164. package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
  165. package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
  166. package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
  167. package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
  168. package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
  169. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
  170. package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
  171. package/dist/agent-src/templates/skill.md +2 -2
  172. package/dist/cli/python/knowledge_ingest.js +24 -3
  173. package/dist/cli/python/knowledge_ingest.js.map +1 -1
  174. package/dist/cli/python/workspace_analytics.js +23 -3
  175. package/dist/cli/python/workspace_analytics.js.map +1 -1
  176. package/dist/cli/python/workspace_crypto.js +23 -3
  177. package/dist/cli/python/workspace_crypto.js.map +1 -1
  178. package/dist/cli/python/workspace_documents.js +23 -3
  179. package/dist/cli/python/workspace_documents.js.map +1 -1
  180. package/dist/cli/python/workspace_drive.js +24 -3
  181. package/dist/cli/python/workspace_drive.js.map +1 -1
  182. package/dist/cli/python/workspace_drive_health.js +23 -3
  183. package/dist/cli/python/workspace_drive_health.js.map +1 -1
  184. package/dist/cli/python/workspace_explain.js +23 -3
  185. package/dist/cli/python/workspace_explain.js.map +1 -1
  186. package/dist/cli/python/workspace_hosts.js +23 -3
  187. package/dist/cli/python/workspace_hosts.js.map +1 -1
  188. package/dist/cli/python/workspace_inbox.js +23 -3
  189. package/dist/cli/python/workspace_inbox.js.map +1 -1
  190. package/dist/cli/python/workspace_render.js +23 -3
  191. package/dist/cli/python/workspace_render.js.map +1 -1
  192. package/dist/cli/python/workspace_roles.js +23 -3
  193. package/dist/cli/python/workspace_roles.js.map +1 -1
  194. package/dist/cli/python/workspace_sessions.js +23 -3
  195. package/dist/cli/python/workspace_sessions.js.map +1 -1
  196. package/dist/cli/python/workspace_skills.js +23 -3
  197. package/dist/cli/python/workspace_skills.js.map +1 -1
  198. package/dist/cli/registry.js +2 -0
  199. package/dist/cli/registry.js.map +1 -1
  200. package/dist/discovery/deprecation-report.md +1 -1
  201. package/dist/discovery/discovery-manifest.json +118 -118
  202. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  203. package/dist/discovery/discovery-manifest.summary.md +2 -2
  204. package/dist/discovery/orphan-report.md +1 -1
  205. package/dist/discovery/packs.json +3 -3
  206. package/dist/discovery/trust-report.md +1 -1
  207. package/dist/discovery/workspaces.json +3 -3
  208. package/dist/install/install.mjs +647 -408
  209. package/dist/mcp/registry-manifest.json +3 -3
  210. package/dist/server/routes/settings.js +4 -4
  211. package/dist/server/routes/settings.js.map +1 -1
  212. package/dist/server/schemas/settings.js +1 -1
  213. package/dist/server/schemas/settings.js.map +1 -1
  214. package/docs/CLAIMS.md +2 -2
  215. package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
  216. package/docs/benchmark.md +40 -0
  217. package/docs/contracts/CHANGELOG-conventions.md +8 -5
  218. package/docs/contracts/branch-protection-policy.md +14 -5
  219. package/docs/contracts/mcp-phase-1-scope.md +75 -0
  220. package/docs/contracts/mcp-tool-inventory.md +22 -15
  221. package/docs/contracts/release-pr-gating.md +22 -11
  222. package/docs/contracts/skill-bundled-assets.md +2 -2
  223. package/docs/customization.md +1 -1
  224. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
  225. package/docs/decisions/ADR-111-canonical-glama-listing.md +97 -0
  226. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +92 -0
  227. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +201 -0
  228. package/docs/decisions/INDEX.md +3 -0
  229. package/docs/distribution/registry-submissions.md +1 -1
  230. package/docs/getting-started.md +8 -6
  231. package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
  232. package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
  233. package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
  234. package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
  235. package/docs/guidelines/agent-infra/layered-settings.md +4 -4
  236. package/docs/guidelines/agent-infra/memory-access.md +19 -18
  237. package/docs/guidelines/agent-infra/naming.md +1 -1
  238. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
  239. package/docs/guidelines/agent-infra/role-contracts.md +1 -1
  240. package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
  241. package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
  242. package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
  243. package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
  244. package/docs/guidelines/augment-portability-patterns.md +1 -1
  245. package/docs/installation.md +13 -14
  246. package/docs/mcp-server.md +32 -20
  247. package/docs/proof.md +1 -1
  248. package/docs/setup/mcp-cloud-endpoints.md +9 -2
  249. package/docs/setup/per-ide/claude-code.md +10 -4
  250. package/package.json +4 -3
  251. package/src/config/agent-settings.template.yml +31 -17
  252. package/src/config/host-capabilities.yml +25 -16
  253. package/src/config/profiles/balanced.ini +5 -3
  254. package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
  255. package/src/scripts/_cli/cmd_conformance.ts +23 -4
  256. package/src/scripts/_cli/cmd_doctor.ts +196 -8
  257. package/src/scripts/_cli/cmd_explain.ts +23 -4
  258. package/src/scripts/_cli/cmd_export.ts +23 -4
  259. package/src/scripts/_cli/cmd_fleet.ts +23 -4
  260. package/src/scripts/_cli/cmd_migrate.ts +23 -4
  261. package/src/scripts/_cli/cmd_preflight.ts +24 -4
  262. package/src/scripts/_cli/cmd_prune.ts +23 -4
  263. package/src/scripts/_cli/cmd_refresh.ts +23 -4
  264. package/src/scripts/_cli/cmd_settings_check.ts +23 -4
  265. package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
  266. package/src/scripts/_cli/cmd_sync.ts +23 -4
  267. package/src/scripts/_cli/cmd_uninstall.ts +45 -4
  268. package/src/scripts/_cli/cmd_update.ts +23 -4
  269. package/src/scripts/_cli/cmd_upgrade.ts +307 -17
  270. package/src/scripts/_cli/cmd_validate.ts +23 -4
  271. package/src/scripts/_cli/cmd_versions.ts +23 -4
  272. package/src/scripts/_dispatch.bash +62 -19
  273. package/src/scripts/_lib/claude_plugin.ts +83 -0
  274. package/src/scripts/_lib/claude_settings_hooks.ts +251 -0
  275. package/src/scripts/_lib/knowledge_global.ts +24 -2
  276. package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
  277. package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
  278. package/src/scripts/_lib/link_crypto.ts +24 -5
  279. package/src/scripts/_lib/pin_resolver.ts +24 -3
  280. package/src/scripts/adoption_report.ts +23 -4
  281. package/src/scripts/adoption_snapshot.ts +23 -1
  282. package/src/scripts/adoption_status.ts +23 -4
  283. package/src/scripts/adr/regenerate_index.ts +24 -3
  284. package/src/scripts/ai_council/airgap.ts +25 -2
  285. package/src/scripts/ai_council/compile_corpus.ts +24 -2
  286. package/src/scripts/ai_council/pricing.ts +11 -1
  287. package/src/scripts/analysis_freshness.ts +23 -4
  288. package/src/scripts/annotate_discovery.ts +23 -1
  289. package/src/scripts/apply_modules_config.ts +23 -4
  290. package/src/scripts/audit_adr_coverage.ts +23 -4
  291. package/src/scripts/audit_auto_rules.ts +23 -1
  292. package/src/scripts/audit_cloud_compatibility.ts +23 -4
  293. package/src/scripts/audit_command_surface.ts +23 -4
  294. package/src/scripts/audit_initial_context.ts +23 -3
  295. package/src/scripts/audit_likelihood.ts +23 -1
  296. package/src/scripts/audit_mcp_tools.ts +23 -3
  297. package/src/scripts/audit_overlap.ts +23 -1
  298. package/src/scripts/audit_skill_descriptions.ts +24 -2
  299. package/src/scripts/audit_skill_overlap.ts +23 -1
  300. package/src/scripts/audit_user_type_axis.ts +23 -4
  301. package/src/scripts/backfill_model_tier.ts +23 -4
  302. package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
  303. package/src/scripts/bench_ab_clone.ts +23 -1
  304. package/src/scripts/bench_ab_diff.ts +23 -1
  305. package/src/scripts/bench_ab_integrity.ts +23 -1
  306. package/src/scripts/bench_ab_run.ts +23 -2
  307. package/src/scripts/bench_ab_task_runner.ts +23 -1
  308. package/src/scripts/bench_ab_tracka_run.ts +23 -2
  309. package/src/scripts/bench_ab_v2_run.ts +23 -1
  310. package/src/scripts/bench_ab_v2_stats.ts +23 -1
  311. package/src/scripts/bench_baseline_ready.ts +23 -1
  312. package/src/scripts/bench_condense_memory.ts +23 -1
  313. package/src/scripts/bench_drift_check.ts +23 -2
  314. package/src/scripts/bench_matrix.ts +23 -4
  315. package/src/scripts/bench_per_tool.ts +23 -1
  316. package/src/scripts/bench_quality_run.ts +23 -2
  317. package/src/scripts/bench_rtk_savings.ts +23 -1
  318. package/src/scripts/bench_rule_load_latency.ts +23 -2
  319. package/src/scripts/bench_run.ts +23 -2
  320. package/src/scripts/bench_runner.ts +23 -1
  321. package/src/scripts/build_cloud_bundle.ts +23 -3
  322. package/src/scripts/build_discovery_manifest.ts +23 -4
  323. package/src/scripts/build_linear_digest.ts +23 -3
  324. package/src/scripts/build_mcp_registry_manifest.ts +23 -4
  325. package/src/scripts/build_rule_trigger_matrix.ts +23 -4
  326. package/src/scripts/capture_showcase_session.ts +23 -1
  327. package/src/scripts/chat_history.ts +24 -3
  328. package/src/scripts/check_always_budget.ts +23 -2
  329. package/src/scripts/check_artefact_checksums.ts +23 -4
  330. package/src/scripts/check_augment_description_cap.ts +23 -4
  331. package/src/scripts/check_augmentignore.ts +23 -4
  332. package/src/scripts/check_beta_review_markers.ts +23 -4
  333. package/src/scripts/check_cluster_patterns.ts +23 -4
  334. package/src/scripts/check_command_count_messaging.ts +23 -4
  335. package/src/scripts/check_comparison.ts +23 -1
  336. package/src/scripts/check_condensation.ts +24 -3
  337. package/src/scripts/check_condensed_paths.ts +23 -2
  338. package/src/scripts/check_context_paths.ts +23 -4
  339. package/src/scripts/check_council_config_location.ts +23 -4
  340. package/src/scripts/check_council_layout.ts +23 -4
  341. package/src/scripts/check_council_references.ts +23 -4
  342. package/src/scripts/check_discovery_determinism.ts +24 -4
  343. package/src/scripts/check_gate_paths.ts +23 -4
  344. package/src/scripts/check_generated_artefact_headers.ts +23 -4
  345. package/src/scripts/check_generator_output_coverage.ts +23 -4
  346. package/src/scripts/check_gitignore_freshness.ts +23 -4
  347. package/src/scripts/check_iron_law_prominence.ts +23 -4
  348. package/src/scripts/check_kernel_prefix_stability.ts +0 -0
  349. package/src/scripts/check_kernel_rule_bundle.ts +23 -4
  350. package/src/scripts/check_knowledge_cards.ts +23 -1
  351. package/src/scripts/check_md_language.ts +23 -4
  352. package/src/scripts/check_media_deps.ts +24 -1
  353. package/src/scripts/check_memory.ts +24 -2
  354. package/src/scripts/check_memory_proposal.ts +23 -4
  355. package/src/scripts/check_module_management_neutral.ts +23 -4
  356. package/src/scripts/check_no_conflict_markers.ts +23 -4
  357. package/src/scripts/check_no_external_sources.ts +23 -4
  358. package/src/scripts/check_no_local_settings_committed.ts +24 -4
  359. package/src/scripts/check_no_new_legacy_path.ts +23 -4
  360. package/src/scripts/check_no_roadmap_refs.ts +23 -4
  361. package/src/scripts/check_one_off_location.ts +23 -4
  362. package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
  363. package/src/scripts/check_portability.ts +24 -3
  364. package/src/scripts/check_proposal.ts +0 -0
  365. package/src/scripts/check_public_catalog_links.ts +23 -4
  366. package/src/scripts/check_public_links.ts +23 -4
  367. package/src/scripts/check_quality_regression.ts +23 -2
  368. package/src/scripts/check_references.ts +23 -4
  369. package/src/scripts/check_release_includes_discovery.ts +23 -4
  370. package/src/scripts/check_release_pr_shape.ts +23 -4
  371. package/src/scripts/check_release_published.ts +23 -4
  372. package/src/scripts/check_release_trunk_sync.ts +23 -4
  373. package/src/scripts/check_reply_consistency.ts +23 -4
  374. package/src/scripts/check_roadmap_trackable.ts +23 -4
  375. package/src/scripts/check_role_doc_links.ts +23 -4
  376. package/src/scripts/check_safety_floor_untouched.ts +24 -4
  377. package/src/scripts/check_site_links.ts +23 -1
  378. package/src/scripts/check_skill_gaps.ts +23 -1
  379. package/src/scripts/check_skill_requires.ts +23 -4
  380. package/src/scripts/check_structural_breaking.ts +24 -4
  381. package/src/scripts/check_surface_tiers.ts +23 -4
  382. package/src/scripts/check_template_pin_drift.ts +23 -4
  383. package/src/scripts/check_test_coverage_diff.ts +23 -4
  384. package/src/scripts/check_token_optimizer_freshness.ts +23 -4
  385. package/src/scripts/check_token_quality_golden.ts +23 -2
  386. package/src/scripts/check_token_regression.ts +23 -2
  387. package/src/scripts/check_tracked_but_ignored.ts +24 -4
  388. package/src/scripts/check_trigger_evals.ts +23 -4
  389. package/src/scripts/check_trunk_drift.ts +24 -1
  390. package/src/scripts/check_update_banner.ts +23 -4
  391. package/src/scripts/ci_summary.ts +23 -4
  392. package/src/scripts/ci_time_ratio.ts +23 -4
  393. package/src/scripts/cluster_near_miss_patterns.ts +0 -0
  394. package/src/scripts/compile_router.ts +23 -4
  395. package/src/scripts/condense.ts +30 -31
  396. package/src/scripts/condense_memory.ts +24 -2
  397. package/src/scripts/config/packs.ts +24 -4
  398. package/src/scripts/config/session_profiles.ts +23 -4
  399. package/src/scripts/context_hygiene_hook.ts +24 -3
  400. package/src/scripts/cost_by_conversation.ts +23 -4
  401. package/src/scripts/cost_summary.ts +23 -4
  402. package/src/scripts/council_cli.ts +35 -7
  403. package/src/scripts/council_prune.ts +25 -2
  404. package/src/scripts/cross_repo_retrieve.ts +23 -4
  405. package/src/scripts/discovery_stats.ts +23 -4
  406. package/src/scripts/evidence_report.ts +23 -1
  407. package/src/scripts/export_replay_corpus.ts +23 -2
  408. package/src/scripts/extract_audit_patterns.ts +23 -1
  409. package/src/scripts/first_run_gate_hook.ts +24 -3
  410. package/src/scripts/gen_discovery_baseline.ts +23 -4
  411. package/src/scripts/generate_capabilities_index.ts +24 -5
  412. package/src/scripts/generate_capability_matrix.ts +23 -4
  413. package/src/scripts/generate_catalog.ts +23 -1
  414. package/src/scripts/generate_command_flows.ts +23 -4
  415. package/src/scripts/generate_cookbook.ts +23 -4
  416. package/src/scripts/generate_index.ts +23 -4
  417. package/src/scripts/generate_ownership_matrix.ts +23 -1
  418. package/src/scripts/generate_pack_manifests.ts +24 -5
  419. package/src/scripts/generate_role_experiences_catalog.ts +23 -4
  420. package/src/scripts/hooks/block_no_verify.ts +23 -4
  421. package/src/scripts/hooks/design_slop_hook.ts +24 -3
  422. package/src/scripts/hooks/dispatch_hook.ts +47 -14
  423. package/src/scripts/hooks/replay_hook.ts +23 -2
  424. package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
  425. package/src/scripts/hooks_doctor.ts +23 -2
  426. package/src/scripts/hooks_status.ts +23 -2
  427. package/src/scripts/injection_scan_hook.ts +24 -5
  428. package/src/scripts/install +23 -4
  429. package/src/scripts/install.ts +102 -44
  430. package/src/scripts/inventory_abstraction_budget.ts +23 -1
  431. package/src/scripts/inventory_frontmatter.ts +23 -1
  432. package/src/scripts/inventory_meta_layers.ts +23 -1
  433. package/src/scripts/iron_law_sha.ts +23 -4
  434. package/src/scripts/janitor.ts +23 -4
  435. package/src/scripts/knowledge_global_cli.ts +24 -2
  436. package/src/scripts/linked_projects_list.ts +23 -4
  437. package/src/scripts/lint_agent_security.ts +23 -4
  438. package/src/scripts/lint_agent_skill_names.ts +23 -4
  439. package/src/scripts/lint_agents_layout.ts +23 -4
  440. package/src/scripts/lint_agents_md.ts +23 -4
  441. package/src/scripts/lint_archived_skills.ts +23 -4
  442. package/src/scripts/lint_artefact_frontmatter.ts +23 -4
  443. package/src/scripts/lint_bench_ab.ts +23 -4
  444. package/src/scripts/lint_bench_corpus.ts +23 -2
  445. package/src/scripts/lint_command_flow_coverage.ts +23 -4
  446. package/src/scripts/lint_command_routing.ts +23 -4
  447. package/src/scripts/lint_command_tiers.ts +23 -2
  448. package/src/scripts/lint_command_verbs.ts +23 -4
  449. package/src/scripts/lint_commit_subjects.ts +24 -4
  450. package/src/scripts/lint_confusables.ts +25 -5
  451. package/src/scripts/lint_context_spine_usage.ts +23 -4
  452. package/src/scripts/lint_discovery_manifest.ts +23 -4
  453. package/src/scripts/lint_discovery_vocabulary.ts +23 -4
  454. package/src/scripts/lint_empty_roadmaps.ts +23 -4
  455. package/src/scripts/lint_eval_freshness.ts +23 -4
  456. package/src/scripts/lint_examples.ts +23 -4
  457. package/src/scripts/lint_explain_trace.ts +23 -4
  458. package/src/scripts/lint_featured_skills.ts +0 -0
  459. package/src/scripts/lint_flows.ts +23 -4
  460. package/src/scripts/lint_framework_leakage.ts +23 -4
  461. package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
  462. package/src/scripts/lint_ghostwriter_source.ts +23 -4
  463. package/src/scripts/lint_glama_drift.ts +75 -0
  464. package/src/scripts/lint_global_paths.ts +23 -2
  465. package/src/scripts/lint_handoffs.ts +23 -4
  466. package/src/scripts/lint_hidden_unicode.ts +24 -5
  467. package/src/scripts/lint_hook_concern_budget.ts +23 -4
  468. package/src/scripts/lint_hook_manifest.ts +23 -2
  469. package/src/scripts/lint_instruction_smuggling.ts +25 -5
  470. package/src/scripts/lint_legal_pack.ts +23 -1
  471. package/src/scripts/lint_load_context.ts +23 -4
  472. package/src/scripts/lint_marketplace.ts +24 -3
  473. package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
  474. package/src/scripts/lint_mcp_config_security.ts +25 -5
  475. package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
  476. package/src/scripts/lint_media_policy_linkage.ts +23 -4
  477. package/src/scripts/lint_missions.ts +23 -4
  478. package/src/scripts/lint_model_tier_coverage.ts +23 -4
  479. package/src/scripts/lint_namespace.ts +23 -4
  480. package/src/scripts/lint_namespace_collisions.ts +23 -4
  481. package/src/scripts/lint_new_skill_gate.ts +23 -4
  482. package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
  483. package/src/scripts/lint_one_off_age.ts +23 -4
  484. package/src/scripts/lint_orchestration_dsl.ts +23 -4
  485. package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
  486. package/src/scripts/lint_pack_boundaries.ts +23 -4
  487. package/src/scripts/lint_pack_dependencies.ts +23 -2
  488. package/src/scripts/lint_pack_first_win.ts +23 -4
  489. package/src/scripts/lint_pack_risk_class.ts +23 -1
  490. package/src/scripts/lint_persona_governance.ts +23 -4
  491. package/src/scripts/lint_positioning.ts +23 -4
  492. package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
  493. package/src/scripts/lint_readme_jargon.ts +23 -4
  494. package/src/scripts/lint_readme_size.ts +23 -4
  495. package/src/scripts/lint_regression.ts +23 -4
  496. package/src/scripts/lint_roadmap_blockers.ts +23 -4
  497. package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
  498. package/src/scripts/lint_roadmap_complexity.ts +23 -4
  499. package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
  500. package/src/scripts/lint_role_experiences.ts +23 -4
  501. package/src/scripts/lint_rule_interactions.ts +23 -4
  502. package/src/scripts/lint_rule_tiers.ts +24 -3
  503. package/src/scripts/lint_showcase_sessions.ts +23 -4
  504. package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
  505. package/src/scripts/lint_skill_originality.ts +23 -4
  506. package/src/scripts/lint_skill_tools.ts +23 -4
  507. package/src/scripts/lint_subagent_determinism.ts +23 -4
  508. package/src/scripts/lint_ticket_buildable.ts +23 -4
  509. package/src/scripts/lint_topics_yaml.ts +23 -4
  510. package/src/scripts/lint_trust_coherence.ts +23 -4
  511. package/src/scripts/lint_value_dashboard.ts +23 -4
  512. package/src/scripts/lint_workflow_security.ts +23 -4
  513. package/src/scripts/lint_workspace_boundary.ts +23 -4
  514. package/src/scripts/mcp_exec/safety_envelope.ts +105 -0
  515. package/src/scripts/mcp_parity_smoke.ts +23 -2
  516. package/src/scripts/mcp_registry_submit.sh +14 -3
  517. package/src/scripts/mcp_render.ts +23 -4
  518. package/src/scripts/mcp_server/__main__.ts +6 -8
  519. package/src/scripts/mcp_server/consumer_tool_catalog.json +78 -3
  520. package/src/scripts/mcp_server/tools.ts +731 -0
  521. package/src/scripts/mcp_telemetry_health.ts +23 -4
  522. package/src/scripts/mcp_telemetry_query.ts +23 -4
  523. package/src/scripts/mcp_telemetry_store.ts +23 -4
  524. package/src/scripts/measure_augment_budget.ts +23 -1
  525. package/src/scripts/measure_density.ts +23 -1
  526. package/src/scripts/measure_frugality_savings.ts +23 -1
  527. package/src/scripts/measure_markitdown_lift.ts +23 -1
  528. package/src/scripts/measure_patterns.ts +23 -1
  529. package/src/scripts/measure_projection_bytes.ts +23 -1
  530. package/src/scripts/measure_rule_budget.ts +23 -4
  531. package/src/scripts/measure_skill_reduction.ts +23 -1
  532. package/src/scripts/memory_hash.ts +24 -2
  533. package/src/scripts/memory_lookup.ts +24 -2
  534. package/src/scripts/memory_report.ts +24 -2
  535. package/src/scripts/memory_signal.ts +24 -2
  536. package/src/scripts/memory_status.ts +26 -2
  537. package/src/scripts/migrate_command_suggestions.ts +23 -4
  538. package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
  539. package/src/scripts/migration_status.ts +25 -4
  540. package/src/scripts/mine_missing_guardrails.ts +23 -1
  541. package/src/scripts/mine_session.ts +23 -1
  542. package/src/scripts/minimal_safe_diff_hook.ts +24 -3
  543. package/src/scripts/new_skill.ts +23 -3
  544. package/src/scripts/onboarding_gate_hook.ts +24 -3
  545. package/src/scripts/parity/coverage_diff.ts +25 -3
  546. package/src/scripts/parity/phase_gate.ts +25 -4
  547. package/src/scripts/parity/replay.ts +25 -3
  548. package/src/scripts/pattern_share.ts +23 -4
  549. package/src/scripts/plan_physical_move.ts +23 -4
  550. package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
  551. package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
  552. package/src/scripts/prediction-pool/score_ev.ts +24 -3
  553. package/src/scripts/print_required_checks.ts +24 -4
  554. package/src/scripts/probe_host_compliance.ts +23 -2
  555. package/src/scripts/probe_projection_fidelity.ts +23 -1
  556. package/src/scripts/probe_skill_registration.ts +24 -2
  557. package/src/scripts/profile_staleness_hook.ts +24 -3
  558. package/src/scripts/profile_use.ts +23 -4
  559. package/src/scripts/project_thin_rules.ts +23 -3
  560. package/src/scripts/propose_modules_config.ts +23 -4
  561. package/src/scripts/prototype_lint_contradictions.ts +23 -1
  562. package/src/scripts/prove_pack_extractable.ts +23 -4
  563. package/src/scripts/readme_linter.ts +23 -3
  564. package/src/scripts/redact_hook_capture.ts +23 -4
  565. package/src/scripts/refine_ticket_detect.ts +23 -4
  566. package/src/scripts/release.ts +226 -43
  567. package/src/scripts/render_benchmark_composite.ts +23 -4
  568. package/src/scripts/render_benchmark_md.ts +23 -4
  569. package/src/scripts/roadmap_progress_hook.ts +46 -16
  570. package/src/scripts/run_skill_evals.ts +23 -4
  571. package/src/scripts/runtime_dispatcher.ts +23 -4
  572. package/src/scripts/runtime_registry.ts +23 -4
  573. package/src/scripts/score_skill_selection.ts +23 -1
  574. package/src/scripts/security_audit_config.ts +24 -5
  575. package/src/scripts/skill_collision_clusters.ts +23 -4
  576. package/src/scripts/skill_discovery.ts +23 -4
  577. package/src/scripts/skill_linter.ts +23 -2
  578. package/src/scripts/skill_preview.ts +23 -4
  579. package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
  580. package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
  581. package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
  582. package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
  583. package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
  584. package/src/scripts/skill_usage_collect.ts +23 -4
  585. package/src/scripts/smoke_path_resolution.ts +23 -4
  586. package/src/scripts/smoke_quickstart.ts +23 -4
  587. package/src/scripts/snapshot_agent_outputs.ts +23 -4
  588. package/src/scripts/spotcheck_thin_root.ts +23 -4
  589. package/src/scripts/sync_agent_settings.ts +23 -4
  590. package/src/scripts/sync_github_metadata.ts +23 -4
  591. package/src/scripts/sync_gitignore.ts +23 -4
  592. package/src/scripts/telegraph_stats.ts +23 -4
  593. package/src/scripts/tool_registry.ts +24 -4
  594. package/src/scripts/trigger_coverage.ts +23 -4
  595. package/src/scripts/update_counts.ts +23 -4
  596. package/src/scripts/update_prices.ts +23 -1
  597. package/src/scripts/validate_agent_settings.ts +23 -4
  598. package/src/scripts/validate_decision_engine.ts +23 -4
  599. package/src/scripts/validate_discovery_manifest.ts +23 -4
  600. package/src/scripts/validate_frontmatter.ts +23 -2
  601. package/src/scripts/validate_pack_yaml.ts +0 -0
  602. package/src/scripts/validate_safe_paths.ts +24 -4
  603. package/src/scripts/validate_telegraph_carveouts.ts +23 -4
  604. package/src/scripts/verify_before_complete_hook.ts +24 -3
  605. package/src/scripts/verify_physical_move.ts +23 -4
  606. package/src/scripts/wrapper_freshness_hook.ts +107 -8
  607. package/tests/fixtures/hooks/README.md +92 -0
  608. package/tests/fixtures/hooks/agent_error.json +7 -0
  609. package/tests/fixtures/hooks/post_tool_use.json +13 -0
  610. package/tests/fixtures/hooks/pre_compact.json +7 -0
  611. package/tests/fixtures/hooks/pre_tool_use.json +9 -0
  612. package/tests/fixtures/hooks/session_end.json +6 -0
  613. package/tests/fixtures/hooks/session_start.json +6 -0
  614. package/tests/fixtures/hooks/stop.json +6 -0
  615. package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
package/docs/benchmark.md CHANGED
@@ -173,6 +173,46 @@ additionally gated on the P2 non-Claude replication.
173
173
 
174
174
  - Report: `internal/bench/reports/ab-v2/2026-07-07T07-04-39Z-ab-v2-paired.json`.
175
175
 
176
+ ### P2 gate — non-Claude weak host (`gpt-5-mini` via codex) — **REPLICATION FAILED**
177
+
178
+ > **The essential lift does NOT replicate on the first non-Claude weak host as
179
+ > shipped.** Full corpus, `vanilla` vs `rules-kernel-dc` × 3 seeds on
180
+ > `gpt-5-mini` driven by the codex CLI (n=90 pairs, 0 errored, frozen
181
+ > checkout). Corpus-wide discipline Δ=+0.024 (p=0.70). Critically, this is NOT
182
+ > a ceiling null: on the scope/downstream family the host has headroom
183
+ > (vanilla 0.533→ 0.733) yet the rules do not fill it — trapE 0.733 → 0.667
184
+ > (Δ=−0.067, 1 discordant pair). Capability trends negative (89% → 82%,
185
+ > McNemar p=0.07) — **not significant, so no harm is claimed**; it is a
186
+ > cautionary trend, not a validated effect. Cost factor 1.18x.
187
+ >
188
+ > **Honest scope / confound:** the codex CLI has no system-prompt injection
189
+ > surface, so the rules were prepended to the user prompt in a marked block —
190
+ > a weaker instruction surface than the claude arms' system prompt. The
191
+ > measurement cannot distinguish "discipline rules do not transplant to
192
+ > GPT-class hosts" from "user-surface injection is too weak". It DOES
193
+ > establish the decision-relevant fact: **as shipped, on this host, there is
194
+ > no measured lift.** A system-surface experiment (API-loop harness) is a
195
+ > non-gating backlog follow-up.
196
+
197
+ | axis | vanilla | rules-kernel-dc | Δ | test |
198
+ |---|---|---|---|---|
199
+ | capability (pass-rate) | 89% | 82% | −7pp | McNemar p=0.07 (n.s.) |
200
+ | discipline, full corpus (0–1) | 0.819 | 0.843 | +0.024 | Wilcoxon p=0.70, rb=0.09 (n≠0=23) |
201
+ | discipline, scope/downstream family (n=15) | 0.733 | 0.667 | −0.067 | 1 discordant pair (negative) |
202
+ | mean tokens/run | 302,655 | 358,326 | +55,671 (~1.18x) | — |
203
+
204
+ **P2-verdict disposition** (council claude-sonnet-4-5 + gpt-4o, 2026-07-07,
205
+ 2-round debate — recorded in
206
+ `agents/settings/contexts/weak-host-lift-tiering-verdict.md`):
207
+ `gpt-5-mini` joins the measured NULL-lift disable-list; `unknown_defaults`
208
+ becomes vendor-granular (`anthropic: lift_enabled` — the one family with a
209
+ measured lift — `default: lift_disabled`); the `balanced` installer preset
210
+ fills `discipline_profile: auto`, so the lift enables only where measured.
211
+ The three-host evidence ledger: Claude weak = family-scoped lift · Claude
212
+ strong = ceiling null · GPT weak = failed replication (confounded surface).
213
+
214
+ - Report: `internal/bench/reports/ab-v2/2026-07-07T10-33-53Z-ab-v2-paired.json`.
215
+
176
216
  ## Strong host (`sonnet`, full 30-task corpus) — Gate verdict: **HONEST-NULL**
177
217
 
178
218
  - capability lift significant: `False`
@@ -110,17 +110,20 @@ pre-X.Y.x` commit — never bundled with a feature release.
110
110
 
111
111
  ### Gate-vs-script contract
112
112
 
113
- - **Canonical splitter** — `scripts/release.py`. When a release crosses
114
- a minor/major boundary and the current era body is at or over the
115
- 250-line cap, the release pipeline writes the
113
+ - **Canonical splitter** — `src/scripts/release.ts`, run via `task release`
114
+ or the `release`-labeled-PR CI path
115
+ (`.github/workflows/release.yml`, see
116
+ [`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md)).
117
+ When a release crosses a minor/major boundary and the current era body
118
+ is at or over the 250-line cap, the release pipeline writes the
116
119
  `chore(changelog): split era …` commit **first**, then the
117
120
  `release: X.Y.Z` commit. The maintainer does not run the split by
118
121
  hand for the release path.
119
- - **Backstop** — `tests/test_changelog_eras.py::test_current_era_body_under_cap`
122
+ - **Backstop** — `tests/lib/changelog_eras.test.ts` (`test_current_era_body_under_cap`)
120
123
  catches entries written **outside** the release script (hand-edited
121
124
  Unreleased section, agent-authored hotfix entries, doc patches). The
122
125
  failure message names `task release` as the auto-split path.
123
- - **Shared cap constant** — `scripts/_lib/changelog_eras.py` owns
126
+ - **Shared cap constant** — `src/scripts/_lib/changelog_eras.ts` owns
124
127
  `CURRENT_ERA_BODY_CAP` and the era-header regex. Both the test and
125
128
  the release script import from there; no parallel copies.
126
129
  - **Patch-release overflow** — a `patch` bump cannot cross an era
@@ -54,7 +54,14 @@ per branch name.
54
54
  - **Feature PR** — head branch does not match `release/X.Y.Z` (the default).
55
55
  - **Release PR** — head branch matches `^release/\d+\.\d+\.\d+$` AND the
56
56
  diff stays within the version-bump allowlist (see `release-pr-gating.md`).
57
- Either condition failing falls the PR back to feature-PR mode.
57
+ Either condition failing falls the PR back to feature-PR mode. Author is
58
+ either a maintainer (`task release`) or `github-actions[bot]` (the
59
+ `release`-labeled-PR CI path, `.github/workflows/release.yml`) — the
60
+ shape checks are author-agnostic. Verified live: this repo's branch
61
+ protection requires zero approving reviews and exactly one status check
62
+ (`Sync + Generate Tools Consistency`); the bot path's real friction is
63
+ GitHub's separate bot-created-PR approval gate, not a review requirement
64
+ — see [`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md).
58
65
  - **Docs-only PR** — diff is entirely inside `docs/**` or matches only
59
66
  top-level Markdown (`README.md`, `CHANGELOG.md`, `CONTRIBUTING.md`,
60
67
  `AGENTS.md`). No code, tests, workflows, or scripts. This shape is
@@ -65,7 +72,7 @@ per branch name.
65
72
  ## Failure mode — the cut never silently lifts
66
73
 
67
74
  If a release-PR's diff exits the allowlist mid-stream (e.g. a last-minute
68
- CHANGELOG fixup that also touches `scripts/release.py`):
75
+ CHANGELOG fixup that also touches `src/scripts/release.ts`):
69
76
 
70
77
  1. `Release Validation / release-shape` exits non-zero.
71
78
  2. The required-check set for the PR effectively flips back to the
@@ -125,6 +132,8 @@ its own protection rules:
125
132
  - [`ci-cost-budget.md`](ci-cost-budget.md) — measured baseline durations
126
133
  per job + quarterly review cadence (Phase C).
127
134
  - `.github/workflows/release-validation.yml` — the three release-PR jobs.
128
- - `scripts/check_release_pr_shape.py` — the shape detector.
129
- - `scripts/release.py` — emits release PRs; release cadence stays driven
130
- by Conventional Commits, not CI cost.
135
+ - `src/scripts/check_release_pr_shape.ts` — the shape detector.
136
+ - `src/scripts/release.ts` — emits release PRs (both entry points); release
137
+ cadence stays driven by Conventional Commits, not CI cost.
138
+ - [`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md) — the
139
+ CI-native (`release`-label) entry point and the bot-PR-approval finding.
@@ -181,6 +181,81 @@ does not introduce a new tool, resource type, or protocol surface.
181
181
  process per stdio session. Multi-tenancy lives with the future
182
182
  bridge, not the kernel.
183
183
 
184
+ ## Amendment — MCP Full Power (accepted 2026-07-07)
185
+
186
+ > **Status: Accepted.** Recorded by `road-to-mcp-full-power.md` Phase 3.
187
+ > User signoff on the `a0-amendment-signoff` blocker plus the council
188
+ > verdict in `agents/decisions/mcp-write-exec-cut-2026-07-07.md` both
189
+ > landed 2026-07-07. Existing Phase 1–6 sections above predate the TS
190
+ > migration (they still reference `scripts/mcp_server/*.py` and a
191
+ > two-tool allowlist) and are known-stale beyond what this amendment
192
+ > covers; a full contract refresh is a separate follow-up, out of scope
193
+ > here.
194
+
195
+ **Named consumer ask.** Operator, 2026-07-07: expose the CLI/script long
196
+ tail (roadmap, telemetry, capabilities, doctor, council, memory, …) through
197
+ MCP in safety tiers, not just the current 9-tool read-only/single-write set.
198
+
199
+ **Safety-tier model** (full classification:
200
+ [`agents/settings/contexts/mcp-tool-tier-map.md`](../../agents/settings/contexts/mcp-tool-tier-map.md)):
201
+
202
+ | Tier | Contract treatment |
203
+ |---|---|
204
+ | `read-only` | May be implemented without further gate — same bar as the existing 9 tools. |
205
+ | `fs-write-in-tree` | May be implemented once path-guarded via `_validateInTreePath` — same pattern as `chat_history_append`. |
206
+ | `shell-exec` | Requires the safety envelope: fixed argv (no shell interpolation of caller-supplied strings), timeout, output truncation, no network access from the spawned process. Implementation requires the Phase 3 council verdict naming it in the cut list. |
207
+ | `network` | Never silent-default. Every call surfaces cost/consequence before executing; billable calls (e.g. `council:run`) require the caller to pass an explicit confirmation flag echoed back in the tool result, not just be callable. |
208
+ | `long-running` | Structurally excluded — not tool-call-shaped (blocks or starts a server). |
209
+ | `hard-floor-never` | **Permanently excluded.** Secrets (`keys:install-*`), the global/outside-repo install (`upgrade`, `global`, `refresh`, `settings:migrate`), and bulk-destructive commands (`uninstall`, `prune`) are never reachable via any MCP tool, bridge, or allowlist entry, under any settings value. This list only grows, never shrinks, without a fresh A0 amendment of its own. |
210
+
211
+ **Deny-by-default, build-time only.** No consumer-settings allowlist ships
212
+ (a `mcp.tools.allow` runtime setting was considered and **rejected** by
213
+ the Phase 3 council — see below). A tool is reachable if and only if it
214
+ was generated into the build from an approved tier-map entry. Enabling a
215
+ new tool is a code change (add the entry, rebuild), never a settings
216
+ edit. `hard-floor-never` tier entries are never generated — the
217
+ exclusion is structural (the tool does not exist in `tools/list`), not a
218
+ runtime rejection.
219
+
220
+ **Bridge shape (Phase 5) — decided: pure build-time codegen.** Every
221
+ approved tool, in every tier including `shell-exec`, is generated at
222
+ build time from `src/cli/registry.ts` metadata plus the tier map — one
223
+ MCP tool per approved command, each with its own JSON Schema. A generic
224
+ `agent_config_cli` tool with a runtime-validated `subcommand` argument
225
+ was considered and rejected: the package's existing `chat_history_append`
226
+ pattern is already a compiled tool with a hardcoded path guard, not a
227
+ generic bridge gated by an editable setting, and the council verdict
228
+ (`agents/decisions/mcp-write-exec-cut-2026-07-07.md`) found the
229
+ runtime-allowlist approach strictly weaker on security grounds for no
230
+ countervailing benefit. Shell-exec tools additionally compile in their
231
+ safety envelope (fixed argv, timeout, output cap, no network) as
232
+ constants, not configuration.
233
+
234
+ **Shell-exec safety review (Phase 5, shipped pilot: `run_tests`).**
235
+ Lethal-trifecta pass for the one approved exec-tier tool:
236
+
237
+ - *Untrusted-content ingestion:* the tool's inputs (`filter`, `path`) come
238
+ from the MCP caller — the same principal that already holds the chat
239
+ surface; no fetched/external content selects what runs. Caller strings
240
+ become literal argv elements via
241
+ `src/scripts/mcp_exec/safety_envelope.ts` (`execFile`, no shell) — a
242
+ hostile string cannot become a second command.
243
+ - *Private-data access:* the spawned vitest run sees the consumer tree,
244
+ same as every fs tool; no credential paths are added to its env.
245
+ - *Egress:* the envelope adds no network I/O of its own. Arbitrary test
246
+ code MAY use the network — that is a property of the project's tests,
247
+ not of the tool; the envelope's guarantees are spawn-surface guarantees
248
+ (no shell, `SIGKILL` timeout, per-stream byte caps), stated as such and
249
+ never marketed as network isolation.
250
+ - *Compiled constants:* 120s timeout, 64KB per-stream cap — code-review
251
+ events, not settings.
252
+
253
+ **Long-running policy (Phase 5) — decided: synchronous truncation.** No
254
+ async job/poll pattern ships: an exec call that exceeds its compiled
255
+ timeout returns `timed_out: true` with the captured, capped output.
256
+ Revisit only if a council-approved tool genuinely cannot fit a
257
+ synchronous budget (e.g. a future `council:run`).
258
+
184
259
  ## Revision policy
185
260
 
186
261
  This contract is **experimental** — breaking changes are allowed in any
@@ -14,21 +14,21 @@ keep-beta-until: 2026-08-14
14
14
 
15
15
  ## Summary
16
16
 
17
- - **Total tools:** 20
18
- - **By transport:** stdio=9
19
- - **By side-effect:** fs-write=5, ro=12, shell=3
20
- - **Discovery-only stubs (no implementation):** 11
17
+ - **Total tools:** 27
18
+ - **By transport:** stdio=18
19
+ - **By side-effect:** fs-write=8, ro=16, shell=3
20
+ - **Discovery-only stubs (no implementation):** 9
21
21
 
22
22
  ## Tools
23
23
 
24
24
  | Tool | Side-effect | Transports | Catalog | Handler |
25
25
  |---|---|---|---|---|
26
- | `lint_skills` | `ro` | stdio | [`consumer_tool_catalog.json:7`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L7) | [`tools.ts:575`](../../src/scripts/mcp_server/tools.ts#L575) |
27
- | `chat_history_append` | `fs-write` | stdio | [`consumer_tool_catalog.json:24`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L24) | [`tools.ts:603`](../../src/scripts/mcp_server/tools.ts#L603) |
28
- | `chat_history_read` | `ro` | stdio | [`consumer_tool_catalog.json:43`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L43) | [`tools.ts:664`](../../src/scripts/mcp_server/tools.ts#L664) |
29
- | `memory_lookup` | `ro` | stdio | [`consumer_tool_catalog.json:59`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L59) | [`tools.ts:706`](../../src/scripts/mcp_server/tools.ts#L706) |
30
- | `memory_signal` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:75`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L75) | _stub-only_ |
31
- | `memory_status` | `ro` | stdio | [`consumer_tool_catalog.json:91`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L91) | [`tools.ts:748`](../../src/scripts/mcp_server/tools.ts#L748) |
26
+ | `lint_skills` | `ro` | stdio | [`consumer_tool_catalog.json:7`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L7) | [`tools.ts:1102`](../../src/scripts/mcp_server/tools.ts#L1102) |
27
+ | `chat_history_append` | `fs-write` | stdio | [`consumer_tool_catalog.json:24`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L24) | [`tools.ts:1130`](../../src/scripts/mcp_server/tools.ts#L1130) |
28
+ | `chat_history_read` | `ro` | stdio | [`consumer_tool_catalog.json:43`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L43) | [`tools.ts:1191`](../../src/scripts/mcp_server/tools.ts#L1191) |
29
+ | `memory_lookup` | `ro` | stdio | [`consumer_tool_catalog.json:59`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L59) | [`tools.ts:1233`](../../src/scripts/mcp_server/tools.ts#L1233) |
30
+ | `memory_signal` | `fs-write` | stdio | [`consumer_tool_catalog.json:75`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L75) | [`tools.ts:1360`](../../src/scripts/mcp_server/tools.ts#L1360) |
31
+ | `memory_status` | `ro` | stdio | [`consumer_tool_catalog.json:91`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L91) | [`tools.ts:1275`](../../src/scripts/mcp_server/tools.ts#L1275) |
32
32
  | `skill_trigger_eval` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:98`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L98) | _stub-only_ |
33
33
  | `suggest_command` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:114`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L114) | _stub-only_ |
34
34
  | `suggest_skill_for_task` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:129`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L129) | _stub-only_ |
@@ -36,13 +36,20 @@ keep-beta-until: 2026-08-14
36
36
  | `update_form_request_messages` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:158`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L158) | _stub-only_ |
37
37
  | `sync_gitignore` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:173`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L173) | _stub-only_ |
38
38
  | `sync_agent_settings` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:186`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L186) | _stub-only_ |
39
- | `run_tests` | `shell` | _(stub)_ | [`consumer_tool_catalog.json:200`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L200) | _stub-only_ |
39
+ | `run_tests` | `shell` | stdio | [`consumer_tool_catalog.json:200`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L200) | [`tools.ts:1535`](../../src/scripts/mcp_server/tools.ts#L1535) |
40
40
  | `run_quality_checks` | `shell` | _(stub)_ | [`consumer_tool_catalog.json:214`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L214) | _stub-only_ |
41
- | `list_skills` | `ro` | stdio | [`consumer_tool_catalog.json:227`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L227) | [`tools.ts:762`](../../src/scripts/mcp_server/tools.ts#L762) |
42
- | `list_commands` | `ro` | stdio | [`consumer_tool_catalog.json:234`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L234) | [`tools.ts:777`](../../src/scripts/mcp_server/tools.ts#L777) |
43
- | `list_rules` | `ro` | stdio | [`consumer_tool_catalog.json:241`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L241) | [`tools.ts:792`](../../src/scripts/mcp_server/tools.ts#L792) |
41
+ | `list_skills` | `ro` | stdio | [`consumer_tool_catalog.json:227`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L227) | [`tools.ts:1289`](../../src/scripts/mcp_server/tools.ts#L1289) |
42
+ | `list_commands` | `ro` | stdio | [`consumer_tool_catalog.json:234`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L234) | [`tools.ts:1304`](../../src/scripts/mcp_server/tools.ts#L1304) |
43
+ | `list_rules` | `ro` | stdio | [`consumer_tool_catalog.json:241`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L241) | [`tools.ts:1319`](../../src/scripts/mcp_server/tools.ts#L1319) |
44
44
  | `compile_router` | `shell` | _(stub)_ | [`consumer_tool_catalog.json:248`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L248) | _stub-only_ |
45
- | `read_resource_body` | `ro` | stdio | [`consumer_tool_catalog.json:261`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L261) | [`tools.ts:808`](../../src/scripts/mcp_server/tools.ts#L808) |
45
+ | `read_resource_body` | `ro` | stdio | [`consumer_tool_catalog.json:261`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L261) | [`tools.ts:1335`](../../src/scripts/mcp_server/tools.ts#L1335) |
46
+ | `roadmap_progress` | `fs-write` | stdio | [`consumer_tool_catalog.json:275`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L275) | [`tools.ts:1394`](../../src/scripts/mcp_server/tools.ts#L1394) |
47
+ | `roadmap_archive` | `fs-write` | stdio | [`consumer_tool_catalog.json:288`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L288) | [`tools.ts:1417`](../../src/scripts/mcp_server/tools.ts#L1417) |
48
+ | `capabilities_index` | `fs-write` | stdio | [`consumer_tool_catalog.json:295`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L295) | [`tools.ts:1433`](../../src/scripts/mcp_server/tools.ts#L1433) |
49
+ | `doctor_report` | `ro` | stdio | [`consumer_tool_catalog.json:308`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L308) | [`tools.ts:1456`](../../src/scripts/mcp_server/tools.ts#L1456) |
50
+ | `conformance_check` | `ro` | stdio | [`consumer_tool_catalog.json:315`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L315) | [`tools.ts:1470`](../../src/scripts/mcp_server/tools.ts#L1470) |
51
+ | `telemetry_report` | `ro` | stdio | [`consumer_tool_catalog.json:322`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L322) | [`tools.ts:1484`](../../src/scripts/mcp_server/tools.ts#L1484) |
52
+ | `council_estimate` | `ro` | stdio | [`consumer_tool_catalog.json:335`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L335) | [`tools.ts:1506`](../../src/scripts/mcp_server/tools.ts#L1506) |
46
53
 
47
54
  ## Glossary
48
55
 
@@ -5,7 +5,14 @@ keep-beta-until: 2026-09-04
5
5
 
6
6
  # Release-PR Gating Contract
7
7
 
8
- > **Status:** active · **Owner:** maintainer (`scripts/release.py`) · **Opened:** 2026-05-26
8
+ > **Status:** active · **Owner:** maintainer (`src/scripts/release.ts`) · **Opened:** 2026-05-26
9
+ >
10
+ > Release PRs are opened by either entry point into `release.ts`: `task
11
+ > release` (interactive, local) or `.github/workflows/release.yml` (the
12
+ > `release`-labeled-PR CI path, author `github-actions[bot]`) — see
13
+ > [`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md).
14
+ > This contract's shape checks are author-agnostic by design; both entry
15
+ > points produce the identical PR shape below.
9
16
  >
10
17
  > Source: `road-to-optimized-ci-and-release-gates.md` Phase A Step 1. Measured
11
18
  > baseline (`gh run list --branch main --limit 50`): `Public Install Smoke`
@@ -22,21 +29,23 @@ A pull request qualifies as a **release PR** when **both** of the following
22
29
  hold:
23
30
 
24
31
  1. **Head branch matches** `^release/\d+\.\d+\.\d+$` — same regex as
25
- `scripts/release.py` § `_RELEASE_BRANCH_RE`.
32
+ `src/scripts/release.ts` § `_RELEASE_BRANCH_RE`.
26
33
  2. **Diff file set is a subset of the version-bump allowlist:**
27
34
  - `package.json`
28
35
  - `CHANGELOG.md`
29
36
  - `.claude-plugin/marketplace.json`
30
37
  - `packages/*/pack.yaml`
31
38
  - `packages/*/README.md`
32
- - `docs/archive/CHANGELOG-pre-*.md` — emitted by `scripts/release.py`'s
39
+ - `docs/archive/CHANGELOG-pre-*.md` — emitted by `release.ts`'s
33
40
  automatic CHANGELOG era split (see `docs/contracts/CHANGELOG-conventions.md`
34
41
  § Era splits) when the current era crosses its line cap on an
35
42
  era-boundary release.
36
43
 
37
- Both predicates are enforced by `scripts/check_release_pr_shape.py`
38
- (stdlib-only, ≤ 150 LOC). The script exits 0 when both hold; non-zero with
39
- a per-file diff naming any out-of-allowlist entry otherwise.
44
+ Both predicates are enforced by `src/scripts/check_release_pr_shape.ts`.
45
+ The script exits 0 when both hold; non-zero with a per-file diff naming any
46
+ out-of-allowlist entry otherwise. It reads the diff shape only — it does
47
+ not check the PR author, so it passes identically for a `task
48
+ release`-opened PR and a `release.yml`-opened one.
40
49
 
41
50
  ## Cut surface — heavy jobs that skip on release PRs
42
51
 
@@ -76,10 +85,10 @@ the feature-PR floor by adding:
76
85
 
77
86
  The optimisation is **opt-in by shape, not by branch name**. A release-PR
78
87
  whose diff contains a stray file outside the allowlist (e.g. a last-minute
79
- CHANGELOG fixup that also touches `scripts/release.py`) trips the shape
88
+ CHANGELOG fixup that also touches `src/scripts/release.ts`) trips the shape
80
89
  detector:
81
90
 
82
- 1. `check_release_pr_shape.py` exits non-zero with a per-file diff.
91
+ 1. `check_release_pr_shape.ts` exits non-zero with a per-file diff.
83
92
  2. The CI dashboard surfaces "release-shape" red.
84
93
  3. The maintainer either narrows the diff (move the script edit to a
85
94
  separate PR) or accepts the heavy matrix re-running on the next push.
@@ -95,7 +104,7 @@ name alone never bypasses the heavy matrix.
95
104
  - **Not a coverage-reduction contract.** The release-validation jobs are
96
105
  additive, not substitutive.
97
106
  - **Not a release-velocity contract.** Release cadence is driven by
98
- Conventional Commits in `scripts/release.py`, not by CI cost.
107
+ Conventional Commits in `src/scripts/release.ts`, not by CI cost.
99
108
  - **Not a Hard-Floor lift.** No security check is removed.
100
109
  `release-guard.yml`'s `assert-version-matches-tag` job is independent of
101
110
  `Tests` / `Public Install Smoke` and stays mandatory on every tag.
@@ -108,6 +117,8 @@ name alone never bypasses the heavy matrix.
108
117
  cadence (Phase C).
109
118
  - `.github/workflows/release-validation.yml` — the tight release-shape
110
119
  validation workflow (Phase B).
111
- - `scripts/check_release_pr_shape.py` — the shape detector (Phase A).
112
- - `scripts/release.py` § `_RELEASE_BRANCH_RE` — source of truth for the
120
+ - `src/scripts/check_release_pr_shape.ts` — the shape detector (Phase A).
121
+ - `src/scripts/release.ts` § `_RELEASE_BRANCH_RE` — source of truth for the
113
122
  release-branch naming convention.
123
+ - [`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md) — the
124
+ CI-native (`release`-label) entry point into the same script.
@@ -36,7 +36,7 @@ A BUNDLED SCRIPT RESOLVES EVERY SIBLING ASSET VIA ITS OWN FILE LOCATION
36
36
  cwd-implicit locations, except where a flag explicitly defaults to cwd.
37
37
  - Cross-skill references (one skill invoking another's bundled engine)
38
38
  resolve via the common skills root (e.g. `design-intelligence` passing
39
- its `data/manifest.json` to `corpus-grounding/scripts/ground.py`).
39
+ its `data/manifest.json` to `corpus-grounding/scripts/ground.ts`).
40
40
  Sibling deployment is guaranteed by stage 4 (whole-directory copies of
41
41
  every installed skill into one root).
42
42
  - Bundled scripts are **pure stdlib** unless the skill's frontmatter
@@ -45,7 +45,7 @@ A BUNDLED SCRIPT RESOLVES EVERY SIBLING ASSET VIA ITS OWN FILE LOCATION
45
45
 
46
46
  ## What this contract does NOT cover
47
47
 
48
- - Repo-root `scripts/` (e.g. `council_cli.py`) — **maintainer-only**,
48
+ - Repo-root `scripts/` (e.g. `council_cli.ts`) — **maintainer-only**,
49
49
  never shipped to consumers. Do not confuse the two layers.
50
50
  - `.md` files inside skills — they pass through condensation (prose is
51
51
  rewritten); do not put load-bearing machine-read data in skill `.md`.
@@ -244,7 +244,7 @@ always-honoured surface, resolved at session start from `dist/router.json`
244
244
  | `off` (legacy `minimal`) | kernel only | ~1x (lowest) | Hosts with a MEASURED null discipline lift (`src/config/host-capabilities.yml`); cost-sensitive sessions |
245
245
  | `essential` | kernel + the lift-carrying rules (`downstream-changes`) | ~3.3x | Day-to-day work — keeps the measured weak-host discipline lift (+0.458, p=0.0135) |
246
246
  | `full` | kernel + tier-1 + tier-2 (everything) | ~11.7x (highest) | EXPERIMENTAL opt-in — residual lift over `essential` not established (p=0.37); agent-config development |
247
- | `auto` | resolved per session: measured-null host → `off`, otherwise → `essential` | varies | The evidence-gated default target |
247
+ | `auto` | resolved per session: measured-null host → `off`; unmeasured Claude-family → `essential`; unmeasured non-Claude → `off` (P2 verdict, vendor-granular `unknown_defaults`) | varies | The balanced-preset default — lift only where measured |
248
248
  | `custom` (legacy) | profile ignored — every matrix value must be set explicitly | varies | Power users with bespoke rule sets |
249
249
 
250
250
  > **`balanced` was retired 2026-07-07** — the size cut (kernel + tier-1)
@@ -72,10 +72,15 @@ project is opened by Haiku one session and Fable the next, across vendors
72
72
  guarantee: trigger semantics are configuration-independent.
73
73
  4. **`discipline_profile` joins `MERGEABLE_KEYS`** (user-global cascade), as
74
74
  the successor of the already-mergeable `rule_loading_tier`.
75
- 5. **Defaults are evidence-gated.** The template ships the key commented-out
76
- (legacy mapping applies) until the P1 full-corpus + P2 non-Claude gates
77
- pass (`agents/roadmaps/road-to-discipline-profile-tiering.md`); the flip
78
- target is `auto`.
75
+ 5. **Defaults are evidence-gated.** *(Amended 2026-07-07 after both gates
76
+ ran — original wording: ship commented-out until P1 + P2 pass, flip
77
+ target `auto`.)* P1 passed family-scoped; P2 FAILED on the first
78
+ non-Claude weak host (`docs/benchmark.md § P2 gate`). Per the P2-verdict
79
+ council, the installer presets fill the key per profile (minimal→off,
80
+ balanced→`auto`, full→full) and `auto` resolves vendor-granularly
81
+ (measured-null → off; unmeasured Claude-family → essential; unmeasured
82
+ non-Claude → off) — the lift enables only where measured. Evidence trail:
83
+ `agents/roadmaps/archive/road-to-discipline-profile-tiering.md`.
79
84
 
80
85
  ## Consequences
81
86
 
@@ -0,0 +1,97 @@
1
+ ---
2
+ adr: 111
3
+ status: accepted
4
+ date: 2026-07-07
5
+ decision: canonical-glama-listing
6
+ supersedes: —
7
+ superseded_by: —
8
+ phase: road-to-mcp-full-power
9
+ type: standing
10
+ ---
11
+
12
+ # ADR-111 — the kernel stdio server is the canonical Glama listing; the turnkey server stays unlisted
13
+
14
+ ## Status
15
+
16
+ **Accepted** · 2026-07-07 · maintainer decision, Phase 2 of
17
+ `road-to-mcp-full-power.md`.
18
+
19
+ ## Context
20
+
21
+ The package now ships two distinct stdio MCP servers with different
22
+ audiences and capability shapes:
23
+
24
+ 1. **Kernel stdio server** (`src/scripts/mcp_server/`, started via
25
+ `agent-config mcp:run`) — requires a repo checkout (or the glama build
26
+ step), exposes 430 prompts / 232 resources / 27 catalogued tools (9
27
+ implemented as of Phase 1/4 of this roadmap). This is the server glama.ai
28
+ currently indexes and lists at
29
+ `glama.ai/mcp/servers/event4u-app/agent-config`.
30
+ 2. **Turnkey stdio-lite server** (`src/cli/mcp/`, started via
31
+ `agent-config mcp-server`) — zero-setup, reads the bundled
32
+ `dist/agent-src/` + `docs/guidelines/` directly from the installed npm
33
+ package, no repo clone required. Read-only by design (ADR-085): zero
34
+ tools, prompts/resources only.
35
+
36
+ `road-to-glama-registry-listing.md` (archived) already converged on listing
37
+ only the stdio server for a contributor/agent-developer audience, before the
38
+ turnkey server existed in its current form. This ADR re-confirms that choice
39
+ now that both servers are live, and records why a second listing is not
40
+ added.
41
+
42
+ ## Decision
43
+
44
+ 1. **Glama lists the kernel server only.** `glama.json` and the committed
45
+ `internal/glama/{build,run}` scripts continue to target
46
+ `src/scripts/mcp_server/__main__.ts`. No change to the glama admin
47
+ configuration.
48
+ 2. **The turnkey server is not submitted to glama.** Rationale:
49
+ - Glama's value proposition (repo-aware introspection, contributor
50
+ discovery) matches the kernel server's audience — people extending or
51
+ debugging the package itself.
52
+ - The turnkey server's audience (end users who `npx @event4u/agent-config
53
+ mcp-server` for zero-setup client config) is served better by direct
54
+ per-IDE config snippets (`docs/setup/mcp-client-config.md`,
55
+ `docs/getting-started-local-stdio.md`) than by a registry listing that
56
+ would advertise a read-only, tool-less server next to the fuller
57
+ kernel listing under the same package name — a likely source of
58
+ consumer confusion ("why does the glama listing show tools I don't
59
+ get?").
60
+ - Glama's schema (`glama.ai/mcp/schemas/server.json`) supports exactly one
61
+ manifest field (`maintainers`); there is no per-listing scoping
62
+ mechanism to distinguish two servers from the same repo without a
63
+ second, separately-hosted manifest — not worth the maintenance surface
64
+ for a zero-tool server.
65
+ 3. **Revisit trigger.** Reopen this decision if either: (a) the turnkey
66
+ server gains tools (Phase 6 of this roadmap may bundle the kernel tool
67
+ surface into the npm package, per the ADR-085 revisit), making its
68
+ capability shape worth discovering separately; or (b) a named consumer
69
+ asks to discover the turnkey server via a registry specifically (not
70
+ just via npm/README).
71
+
72
+ ## Consequences
73
+
74
+ - No glama configuration change required by this roadmap.
75
+ - `docs/mcp-registries.md` and `docs/setup/mcp-client-config.md` document
76
+ both entry points, but only one (the kernel server) appears in the glama
77
+ registry — this asymmetry is intentional, not an oversight.
78
+ - Official MCP-registry submission (Phase 2 Step 5 of this roadmap) is
79
+ free to list either or both servers, since that registry's schema is not
80
+ glama's single-manifest-per-repo constraint — evaluated separately.
81
+
82
+ ## Alternatives
83
+
84
+ - **List both as separate glama entries.** Rejected — no such thing as
85
+ "the second manifest field" in glama's schema for this repo; would need a
86
+ second cloned/forked registration, disproportionate for a read-only
87
+ zero-tool server.
88
+ - **Drop the kernel listing, list only turnkey.** Rejected — the kernel
89
+ server's tool surface is the entire reason glama's introspection is
90
+ valuable here; a tool-less listing loses that value.
91
+
92
+ ## References
93
+
94
+ - `road-to-glama-registry-listing.md` (archived) — original listing decision.
95
+ - `road-to-mcp-stdio-end-user-packaging.md` (archived) — turnkey server origin, ADR-085.
96
+ - `agents/settings/contexts/mcp-tool-tier-map.md` — capability-shape evidence for both servers.
97
+ - `internal/glama/README.md` — the build/run scripts this decision keeps unchanged.
@@ -0,0 +1,92 @@
1
+ ---
2
+ adr: 112
3
+ status: accepted
4
+ date: 2026-07-07
5
+ decision: stdio-lite-stays-read-only
6
+ supersedes: —
7
+ superseded_by: —
8
+ phase: road-to-mcp-full-power
9
+ type: standing
10
+ ---
11
+
12
+ # ADR-112 — the turnkey stdio-lite server stays read-only; tool users route to the kernel server
13
+
14
+ ## Status
15
+
16
+ **Accepted** · 2026-07-07 · maintainer decision, Phase 6 of
17
+ `road-to-mcp-full-power.md`. Resolves the ADR-085 revisit trigger
18
+ ("full-kernel bundling deferred — no demand"), which fired via this
19
+ roadmap's named consumer ask.
20
+
21
+ ## Context
22
+
23
+ ADR-085 shipped `agent-config mcp-server` (stdio-lite, `src/cli/mcp/`) as
24
+ a read-only, zero-setup surface: prompts + resources from the bundled
25
+ `dist/agent-src/` + `docs/guidelines/`, `tools/list` empty, execution
26
+ deferred until demand existed. Demand now exists — but for the *kernel*
27
+ server: Phases 4–5 of this roadmap shipped 18 implemented tools
28
+ (write-tier + one shell-exec pilot) on `src/scripts/mcp_server/`, all
29
+ requiring a repo checkout and the full script tree
30
+ (`src/agent-src/scripts/`, `src/scripts/_cli/`, the council pricing
31
+ stack, the exec safety envelope).
32
+
33
+ The A1 option (bundle the kernel tool surface into the npm package so
34
+ `agent-config mcp-server` gains tools) was re-evaluated against that
35
+ shipped reality.
36
+
37
+ ## Decision
38
+
39
+ 1. **Stdio-lite stays read-only.** `agent-config mcp-server` keeps its
40
+ ADR-085 shape: prompts + resources, zero tools, zero setup. No kernel
41
+ bundling.
42
+ 2. **Tool users route to the kernel server** (`agent-config mcp:run` on a
43
+ repo checkout). The per-IDE docs present this as the explicit
44
+ trade-off: zero-setup content surface vs. checkout-required execution
45
+ surface.
46
+ 3. **Rationale:**
47
+ - The Phase 4/5 handlers import live repo modules (dashboard
48
+ regenerator, archival sweep, doctor/conformance internals, council
49
+ pricing, the exec envelope). Bundling them means shipping and
50
+ version-locking effectively the whole `src/` tree inside the npm
51
+ tarball — the "turnkey" story would inherit the kernel's full
52
+ dependency and drift surface while losing its one virtue:
53
+ nothing-to-break simplicity.
54
+ - The tools mutate the consumer's `agents/` tree and spawn vitest.
55
+ A zero-setup binary that writes and executes on first contact is
56
+ the wrong default posture for the entry-level surface; the kernel
57
+ path's checkout requirement is a natural consent step.
58
+ - Maintaining one execution surface (kernel) instead of two keeps the
59
+ A0 contract, the test suite, and the telemetry story single-homed.
60
+ 4. **Revisit trigger:** a named end-user ask for MCP tools *without* a
61
+ repo checkout (e.g. a Claude Desktop user who wants `memory_signal`
62
+ but will not clone). That reopens A1 as its own roadmap with a fresh
63
+ council round — not a silent scope creep on this ADR.
64
+
65
+ ## Consequences
66
+
67
+ - `docs/setup/mcp-client-config.md`'s two-entry-point table stays
68
+ accurate as written (local turnkey = read-only content; tools =
69
+ kernel).
70
+ - ADR-111 (Glama lists the kernel only) is reinforced — the listed
71
+ server is also the only tool-bearing one.
72
+ - The Worker remains read-only per `docs/contracts/mcp-cloud-scope.md`;
73
+ nothing in this ADR changes cloud scope.
74
+
75
+ ## Alternatives
76
+
77
+ - **A1 full-kernel bundling** — rejected above (dependency surface,
78
+ write/exec-by-default posture, dual maintenance).
79
+ - **Partial bundling (read-only tools only in stdio-lite)** — rejected:
80
+ splits the tool catalog across two servers with different subsets,
81
+ making `implemented_on` client-visible behaviour diverge per entry
82
+ point; the discovery-first catalog would need a third transport
83
+ dimension for marginal gain.
84
+
85
+ ## References
86
+
87
+ - ADR-085 — original stdio-lite shape (read-only, execution deferred).
88
+ - ADR-111 — canonical Glama listing (kernel only).
89
+ - `agents/decisions/mcp-write-exec-cut-2026-07-07.md` — the tool cut that
90
+ created the demand this ADR routes.
91
+ - `docs/contracts/mcp-phase-1-scope.md` § Amendment — the execution
92
+ surface this decision keeps single-homed.