@event4u/agent-config 9.7.0 → 9.9.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 (901) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +314 -190
  3. package/CONTRIBUTING.md +23 -7
  4. package/MIGRATION.md +20 -0
  5. package/README.md +57 -11
  6. package/dist/agent-src/commands/agents/audit.md +1 -1
  7. package/dist/agent-src/commands/agents/optimize.md +2 -2
  8. package/dist/agent-src/commands/agents/user.md +1 -1
  9. package/dist/agent-src/commands/agents.md +1 -1
  10. package/dist/agent-src/commands/check-current-md.md +3 -3
  11. package/dist/agent-src/commands/commit/in-chunks.md +8 -0
  12. package/dist/agent-src/commands/commit.md +17 -0
  13. package/dist/agent-src/commands/fix/portability.md +2 -2
  14. package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
  15. package/dist/agent-src/commands/fix/refs.md +2 -2
  16. package/dist/agent-src/commands/fix/route.md +4 -3
  17. package/dist/agent-src/commands/fix.md +9 -6
  18. package/dist/agent-src/commands/ghostwriter.md +1 -1
  19. package/dist/agent-src/commands/image.md +1 -1
  20. package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
  21. package/dist/agent-src/commands/optimize/skills.md +2 -2
  22. package/dist/agent-src/commands/post-as.md +1 -1
  23. package/dist/agent-src/commands/pr/create.md +4 -0
  24. package/dist/agent-src/commands/research.md +1 -1
  25. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  26. package/dist/agent-src/commands/security-audit-config.md +1 -1
  27. package/dist/agent-src/commands/team/delegate.md +4 -0
  28. package/dist/agent-src/commands/video.md +1 -1
  29. package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
  30. package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
  31. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +48 -2
  32. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -0
  33. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
  34. package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
  35. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
  36. package/dist/agent-src/contexts/override-system.md +75 -5
  37. package/dist/agent-src/rules/code-provenance.md +112 -0
  38. package/dist/agent-src/rules/context-hygiene.md +2 -0
  39. package/dist/agent-src/rules/doc-screenshot-hygiene.md +97 -0
  40. package/dist/agent-src/rules/domain-safety-pii.md +1 -0
  41. package/dist/agent-src/rules/external-code-graph-interop.md +13 -3
  42. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +2 -0
  43. package/dist/agent-src/rules/git-history-discipline.md +2 -0
  44. package/dist/agent-src/rules/history-discipline.md +80 -0
  45. package/dist/agent-src/rules/language-and-tone.md +2 -0
  46. package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -0
  47. package/dist/agent-src/rules/media-governance-routing.md +2 -0
  48. package/dist/agent-src/rules/minimal-safe-diff.md +2 -0
  49. package/dist/agent-src/rules/no-roadmap-references.md +4 -1
  50. package/dist/agent-src/rules/non-destructive-by-default.md +20 -0
  51. package/dist/agent-src/rules/onboarding-gate.md +2 -0
  52. package/dist/agent-src/rules/output-discipline.md +2 -0
  53. package/dist/agent-src/rules/persona-governance.md +2 -0
  54. package/dist/agent-src/rules/php-coding.md +1 -0
  55. package/dist/agent-src/rules/preservation-guard.md +3 -0
  56. package/dist/agent-src/rules/reviewer-awareness.md +1 -0
  57. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
  58. package/dist/agent-src/rules/roadmap-progress-sync.md +9 -0
  59. package/dist/agent-src/rules/scale-discipline.md +92 -0
  60. package/dist/agent-src/rules/secret-vcs-guard.md +106 -0
  61. package/dist/agent-src/rules/security-sensitive-stop.md +11 -1
  62. package/dist/agent-src/rules/session-canary.md +77 -0
  63. package/dist/agent-src/rules/skill-quality.md +2 -0
  64. package/dist/agent-src/rules/source-confidentiality.md +2 -0
  65. package/dist/agent-src/rules/source-of-truth.md +2 -0
  66. package/dist/agent-src/rules/telegraph-speak.md +2 -0
  67. package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -1
  68. package/dist/agent-src/rules/tool-safety.md +4 -1
  69. package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
  70. package/dist/agent-src/rules/verify-before-complete.md +2 -0
  71. package/dist/agent-src/skills/adr-create/SKILL.md +17 -1
  72. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  73. package/dist/agent-src/skills/code-intelligence/SKILL.md +97 -0
  74. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  75. package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
  76. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  77. package/dist/agent-src/skills/design-review/SKILL.md +5 -6
  78. package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
  79. package/dist/agent-src/skills/gated-reach/SKILL.md +185 -0
  80. package/dist/agent-src/skills/gated-reach/evals/triggers.json +72 -0
  81. package/dist/agent-src/skills/history-design/SKILL.md +101 -0
  82. package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
  83. package/dist/agent-src/skills/humanizer/SKILL.md +3 -3
  84. package/dist/agent-src/skills/image-analyser/SKILL.md +14 -12
  85. package/dist/agent-src/skills/image-editing/SKILL.md +2 -1
  86. package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
  87. package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
  88. package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
  89. package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
  90. package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
  91. package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
  92. package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
  93. package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
  94. package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
  95. package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
  96. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  97. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +7 -7
  98. package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
  99. package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
  100. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +2 -2
  101. package/dist/agent-src/skills/readme-writing/SKILL.md +6 -1
  102. package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -0
  103. package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -3
  104. package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -0
  105. package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
  106. package/dist/agent-src/skills/rule-refactor/SKILL.md +3 -3
  107. package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
  108. package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
  109. package/dist/agent-src/skills/screenshot-hygiene/SKILL.md +171 -0
  110. package/dist/agent-src/skills/secrets-management/SKILL.md +43 -1
  111. package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
  112. package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +1 -1
  113. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -3
  114. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  115. package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
  116. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +45 -85
  117. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +5 -4
  118. package/dist/agent-src/skills/subagent-orchestration/prompts/adversarial-verification-council.md +29 -0
  119. package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge-two-stage.md +29 -0
  120. package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge.md +29 -0
  121. package/dist/agent-src/skills/subagent-orchestration/prompts/do-competitively.md +29 -0
  122. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-parallel.md +29 -0
  123. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +29 -0
  124. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-worktrees.md +29 -0
  125. package/dist/agent-src/skills/subagent-orchestration/prompts/judge-with-debate.md +29 -0
  126. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  127. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -3
  128. package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
  129. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +4 -0
  130. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +2 -3
  131. package/dist/agent-src/templates/AGENTS.md +1 -1
  132. package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
  133. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  134. package/dist/agent-src/templates/command.md +3 -3
  135. package/dist/agent-src/templates/github-workflows/secret-scan.yml +65 -0
  136. package/dist/agent-src/templates/persona.md +2 -2
  137. package/dist/agent-src/templates/rule.md +2 -2
  138. package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  139. package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
  140. package/dist/cli/commands/doctorShell.js +20 -0
  141. package/dist/cli/commands/doctorShell.js.map +1 -1
  142. package/dist/cli/commands/rtkDetect.js +58 -0
  143. package/dist/cli/commands/rtkDetect.js.map +1 -0
  144. package/dist/cli/configRoot.js +112 -0
  145. package/dist/cli/configRoot.js.map +1 -0
  146. package/dist/cli/configRoot.test.js +97 -0
  147. package/dist/cli/configRoot.test.js.map +1 -0
  148. package/dist/cli/firstRunNotice.js +70 -0
  149. package/dist/cli/firstRunNotice.js.map +1 -0
  150. package/dist/cli/help.js +4 -1
  151. package/dist/cli/help.js.map +1 -1
  152. package/dist/cli/main.js +54 -5
  153. package/dist/cli/main.js.map +1 -1
  154. package/dist/cli/registry.js +8 -1
  155. package/dist/cli/registry.js.map +1 -1
  156. package/dist/discovery/deprecation-report.md +1 -1
  157. package/dist/discovery/discovery-manifest.json +502 -101
  158. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  159. package/dist/discovery/discovery-manifest.summary.md +6 -4
  160. package/dist/discovery/orphan-report.md +1 -1
  161. package/dist/discovery/packs.json +95 -8
  162. package/dist/discovery/trust-report.md +11 -11
  163. package/dist/discovery/workspaces.json +36 -7
  164. package/dist/hooks/dispatch.js +19475 -0
  165. package/dist/install/agentSwitchDetection.js +75 -0
  166. package/dist/install/agentSwitchDetection.js.map +1 -0
  167. package/dist/install/agentSwitchProfile.js +117 -0
  168. package/dist/install/agentSwitchProfile.js.map +1 -0
  169. package/dist/install/atomic.js +1 -1
  170. package/dist/install/detect.js +1 -1
  171. package/dist/install/install.mjs +791 -486
  172. package/dist/install/rtkDetection.js +213 -0
  173. package/dist/install/rtkDetection.js.map +1 -0
  174. package/dist/install/rule_scope.js +2 -1
  175. package/dist/install/rule_scope.js.map +1 -1
  176. package/dist/install/types.js +2 -2
  177. package/dist/install/wizard-plan.js +1 -1
  178. package/dist/install/wizardDismissals.js +58 -0
  179. package/dist/install/wizardDismissals.js.map +1 -0
  180. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  181. package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
  182. package/dist/mcp/registry-manifest.json +15 -4
  183. package/dist/mcp/server.json +20 -0
  184. package/dist/mcp/server.mjs +44292 -0
  185. package/dist/router.json +1 -1
  186. package/dist/scripts/condense.js +14 -7
  187. package/dist/scripts/condense.js.map +1 -1
  188. package/dist/server/app.js +12 -0
  189. package/dist/server/app.js.map +1 -1
  190. package/dist/server/io/sharedWriteCheck.js +101 -0
  191. package/dist/server/io/sharedWriteCheck.js.map +1 -0
  192. package/dist/server/routes/ping.js +32 -0
  193. package/dist/server/routes/ping.js.map +1 -1
  194. package/dist/server/routes/settings.js +21 -4
  195. package/dist/server/routes/settings.js.map +1 -1
  196. package/dist/server/routes/userMd.js +21 -4
  197. package/dist/server/routes/userMd.js.map +1 -1
  198. package/dist/server/routes/wizard.js +68 -25
  199. package/dist/server/routes/wizard.js.map +1 -1
  200. package/dist/server/schemas/settings.js +12 -2
  201. package/dist/server/schemas/settings.js.map +1 -1
  202. package/dist/server/serverInfo.js +6 -2
  203. package/dist/server/serverInfo.js.map +1 -1
  204. package/dist/server/token.js +11 -4
  205. package/dist/server/token.js.map +1 -1
  206. package/dist/server/writeRoot.js +15 -1
  207. package/dist/server/writeRoot.js.map +1 -1
  208. package/dist/shared/capabilities.js +33 -0
  209. package/dist/shared/capabilities.js.map +1 -0
  210. package/dist/shared/capabilities.test.js +39 -0
  211. package/dist/shared/capabilities.test.js.map +1 -0
  212. package/dist/ui/assets/index-BpSQt5vm.js +40 -0
  213. package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
  214. package/dist/ui/assets/index-jSfMW8_t.css +1 -0
  215. package/dist/ui/index.html +15 -6
  216. package/docs/MIGRATION.md +16 -0
  217. package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
  218. package/package.json +22 -9
  219. package/src/agent-src/templates/AGENTS.md +1 -1
  220. package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  221. package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
  222. package/src/config/agent-settings.template.yml +94 -13
  223. package/src/config/discovery/packs.yml +22 -0
  224. package/src/config/discovery/workspaces.yml +1 -1
  225. package/src/config/evaluator-budgets.json +47 -0
  226. package/src/config/hook-latency-budget.json +20 -0
  227. package/src/config/reach-channels.yml +217 -0
  228. package/src/config/reach-prescriptions-intake.yml +200 -0
  229. package/src/install/agentSwitchDetection.ts +90 -0
  230. package/src/install/agentSwitchProfile.ts +131 -0
  231. package/src/install/atomic.ts +1 -1
  232. package/src/install/detect.ts +1 -1
  233. package/src/install/rtkDetection.ts +274 -0
  234. package/src/install/rule_scope.ts +9 -2
  235. package/src/install/types.ts +2 -2
  236. package/src/install/wizard-plan.ts +1 -1
  237. package/src/install/wizardDismissals.ts +60 -0
  238. package/src/scripts/_cli/cmd_doctor.ts +62 -1
  239. package/src/scripts/_cli/cmd_memory_get.ts +197 -0
  240. package/src/scripts/_cli/cmd_refresh.ts +30 -0
  241. package/src/scripts/_dispatch.bash +96 -0
  242. package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
  243. package/src/scripts/_lib/auto_dispatch.ts +76 -0
  244. package/src/scripts/_lib/detect_target_license.ts +714 -0
  245. package/src/scripts/_lib/exec_evidence.ts +251 -0
  246. package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +15 -0
  247. package/src/scripts/_lib/fixtures/secret-detector/positives.txt +15 -0
  248. package/src/scripts/_lib/install_drift.ts +194 -0
  249. package/src/scripts/_lib/kernel_rules.ts +46 -0
  250. package/src/scripts/_lib/memory_fts_index.ts +390 -0
  251. package/src/scripts/_lib/orchestration_record.ts +91 -2
  252. package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
  253. package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
  254. package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
  255. package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
  256. package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
  257. package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
  258. package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
  259. package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
  260. package/src/scripts/_lib/persistence/types.ts +109 -0
  261. package/src/scripts/_lib/reddit_thread_parse.ts +598 -0
  262. package/src/scripts/_lib/risk_paths.ts +160 -0
  263. package/src/scripts/_lib/rtk_allowlist.ts +44 -0
  264. package/src/scripts/_lib/secret_detector.test.ts +108 -0
  265. package/src/scripts/_lib/secret_detector.ts +328 -0
  266. package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
  267. package/src/scripts/_lib/spawn_env.ts +7 -0
  268. package/src/scripts/_lib/sqlite_guard.ts +191 -0
  269. package/src/scripts/_lib/subagent_spawn.ts +53 -0
  270. package/src/scripts/_lib/tool_probe.ts +359 -0
  271. package/src/scripts/_lib/worker_budget.ts +107 -0
  272. package/src/scripts/adr/regenerate_index.ts +81 -6
  273. package/src/scripts/ai_council/blind_review.ts +0 -0
  274. package/src/scripts/ai_council/config.ts +12 -6
  275. package/src/scripts/ai_council/orchestrator.ts +73 -3
  276. package/src/scripts/ai_team/review_gate.ts +8 -10
  277. package/src/scripts/ai_team/team_dispatch.ts +48 -0
  278. package/src/scripts/audit_adr_coverage.ts +33 -0
  279. package/src/scripts/audit_initial_context.ts +1 -1
  280. package/src/scripts/bench_cross_source_eval.ts +400 -0
  281. package/src/scripts/bench_honesty_score.ts +1093 -0
  282. package/src/scripts/bench_hook_latency.ts +218 -0
  283. package/src/scripts/build_mcp_catalog.ts +275 -0
  284. package/src/scripts/build_mcp_registry_manifest.ts +46 -0
  285. package/src/scripts/build_proof.ts +207 -0
  286. package/src/scripts/chat_history.ts +8 -5
  287. package/src/scripts/check_adr_frontmatter.ts +195 -0
  288. package/src/scripts/check_artefact_count_messaging.ts +4 -0
  289. package/src/scripts/check_backstop_debt.ts +210 -0
  290. package/src/scripts/check_bundle_path_leakage.ts +343 -0
  291. package/src/scripts/check_claims.ts +188 -8
  292. package/src/scripts/check_comparison.ts +12 -0
  293. package/src/scripts/check_enforcement_coverage.ts +592 -0
  294. package/src/scripts/check_evaluator_budgets.ts +99 -0
  295. package/src/scripts/check_kernel_rule_bundle.ts +16 -12
  296. package/src/scripts/check_knowledge_sharing.ts +12 -1
  297. package/src/scripts/check_no_external_sources.ts +2 -2
  298. package/src/scripts/check_reach_channels.ts +407 -0
  299. package/src/scripts/check_reach_staleness.ts +364 -0
  300. package/src/scripts/check_secret_leak.test.ts +47 -0
  301. package/src/scripts/check_secret_leak.ts +290 -0
  302. package/src/scripts/check_source_pointer_freshness.ts +28 -3
  303. package/src/scripts/code_graph/build.ts +0 -0
  304. package/src/scripts/code_graph/cli.ts +379 -0
  305. package/src/scripts/code_graph/detect.ts +186 -0
  306. package/src/scripts/code_graph/extract.ts +386 -0
  307. package/src/scripts/code_graph/intent.ts +45 -0
  308. package/src/scripts/code_graph/loader.ts +123 -0
  309. package/src/scripts/code_graph/query.ts +290 -0
  310. package/src/scripts/code_graph/sanitize.ts +30 -0
  311. package/src/scripts/code_graph/sqlite_store.ts +174 -0
  312. package/src/scripts/code_graph/types.ts +83 -0
  313. package/src/scripts/code_graph/validate.ts +63 -0
  314. package/src/scripts/condense.ts +14 -6
  315. package/src/scripts/context_hygiene_hook.ts +8 -5
  316. package/src/scripts/council_cli.ts +126 -12
  317. package/src/scripts/detect_target_license.ts +203 -0
  318. package/src/scripts/evaluator_umbrella.sh +145 -0
  319. package/src/scripts/external_sources_denylist.json +8 -4
  320. package/src/scripts/first_run_gate_hook.ts +9 -5
  321. package/src/scripts/generate_subagent_floor.ts +194 -0
  322. package/src/scripts/hermetic-install.sh +3 -3
  323. package/src/scripts/hook_manifest.yaml +65 -16
  324. package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
  325. package/src/scripts/hooks/block_no_verify.ts +9 -9
  326. package/src/scripts/hooks/code_graph_nudge_hook.ts +191 -0
  327. package/src/scripts/hooks/concern_registry.ts +75 -0
  328. package/src/scripts/hooks/design_slop_hook.ts +8 -5
  329. package/src/scripts/hooks/dispatch_entry.ts +37 -0
  330. package/src/scripts/hooks/dispatch_hook.ts +176 -3
  331. package/src/scripts/hooks/hook_stdin.ts +42 -0
  332. package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
  333. package/src/scripts/hot_context_hook.ts +7 -6
  334. package/src/scripts/injection_scan_hook.ts +9 -1
  335. package/src/scripts/install +6 -6
  336. package/src/scripts/install-hooks.sh +4 -4
  337. package/src/scripts/install.sh +5 -4
  338. package/src/scripts/install.ts +264 -23
  339. package/src/scripts/iron_law_sha.ts +3 -12
  340. package/src/scripts/learning_sidecar.ts +0 -0
  341. package/src/scripts/lint_budget_ownership.ts +89 -0
  342. package/src/scripts/lint_command_routing.ts +35 -5
  343. package/src/scripts/lint_command_verbs.ts +42 -9
  344. package/src/scripts/lint_consumer_internal_refs.ts +211 -0
  345. package/src/scripts/lint_discovery_vocabulary.ts +2 -0
  346. package/src/scripts/lint_documented_commands.ts +670 -0
  347. package/src/scripts/lint_framework_leakage.ts +17 -3
  348. package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
  349. package/src/scripts/lint_governed_writes.ts +335 -0
  350. package/src/scripts/lint_hidden_unicode.ts +6 -0
  351. package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
  352. package/src/scripts/lint_memory_tripwire.ts +186 -0
  353. package/src/scripts/lint_override_kernel_guard.ts +267 -0
  354. package/src/scripts/lint_persistence.ts +171 -0
  355. package/src/scripts/lint_pre_migration_refs.ts +106 -0
  356. package/src/scripts/lint_provenance.ts +547 -0
  357. package/src/scripts/lint_provenance_vocabulary.ts +437 -0
  358. package/src/scripts/lint_spawn_payload.ts +283 -0
  359. package/src/scripts/lint_store_boundary.ts +152 -0
  360. package/src/scripts/lint_versioned_cache.ts +7 -1
  361. package/src/scripts/mcp_server/__main__.ts +7 -2
  362. package/src/scripts/mcp_server/catalog.ts +23 -1
  363. package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
  364. package/src/scripts/mcp_server/prompts.ts +6 -0
  365. package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
  366. package/src/scripts/mcp_server/tools.ts +56 -5
  367. package/src/scripts/mcp_telemetry_query.ts +2 -33
  368. package/src/scripts/mcp_telemetry_store.ts +64 -34
  369. package/src/scripts/measure_rule_budget.ts +3 -12
  370. package/src/scripts/memory_learn_hook.ts +126 -0
  371. package/src/scripts/memory_lookup.ts +0 -0
  372. package/src/scripts/memory_replay_24.ts +312 -0
  373. package/src/scripts/memory_report.ts +16 -3
  374. package/src/scripts/memory_signal.ts +48 -0
  375. package/src/scripts/memory_status.ts +6 -0
  376. package/src/scripts/minimal_safe_diff_hook.ts +8 -5
  377. package/src/scripts/onboarding_gate_hook.ts +8 -5
  378. package/src/scripts/orchestration_record.ts +16 -0
  379. package/src/scripts/pr_url_reminder_hook.ts +8 -1
  380. package/src/scripts/prepack-check.mjs +17 -0
  381. package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
  382. package/src/scripts/prepack_lifecycle_check.mjs +82 -0
  383. package/src/scripts/profile_staleness_hook.ts +8 -7
  384. package/src/scripts/reach_doctor.ts +1651 -0
  385. package/src/scripts/release.ts +24 -3
  386. package/src/scripts/report_install_drift.ts +109 -0
  387. package/src/scripts/risk_escalation_shadow.ts +160 -0
  388. package/src/scripts/roadmap_progress_hook.ts +8 -5
  389. package/src/scripts/schemas/agent-settings.schema.json +23 -0
  390. package/src/scripts/schemas/license-policy.schema.json +89 -0
  391. package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
  392. package/src/scripts/schemas/reach-channels.schema.json +134 -0
  393. package/src/scripts/schemas/reach-doctor-payload.schema.json +220 -0
  394. package/src/scripts/schemas/rule.schema.json +20 -0
  395. package/src/scripts/self_review_gate.test.ts +173 -1
  396. package/src/scripts/self_review_gate.ts +155 -15
  397. package/src/scripts/session_canary_hook.ts +182 -0
  398. package/src/scripts/skill_linter.ts +55 -0
  399. package/src/scripts/smoke_quickstart.ts +2 -2
  400. package/src/scripts/surface_probe_hook.ts +8 -7
  401. package/src/scripts/sync_gitattributes.ts +310 -0
  402. package/src/scripts/team_review_gate_hook.ts +13 -16
  403. package/src/scripts/validate_reach_prescriptions.ts +751 -0
  404. package/src/scripts/verify_before_complete_hook.ts +8 -5
  405. package/src/scripts/wrapper_freshness_hook.ts +8 -7
  406. package/src/server/schemas/settings.ts +24 -2
  407. package/src/shared/capabilities.test.ts +43 -0
  408. package/src/shared/capabilities.ts +75 -0
  409. package/src/templates/minimal/agents-overrides-readme.md +20 -0
  410. package/dist/ui/assets/index-BPFMZWUs.css +0 -1
  411. package/dist/ui/assets/index-BiEZiZ31.js +0 -40
  412. package/dist/ui/assets/index-BiEZiZ31.js.map +0 -1
  413. package/docs/CLAIMS.md +0 -261
  414. package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
  415. package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
  416. package/docs/SKILL_CENSUS.md +0 -352
  417. package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
  418. package/docs/adrs/cost/README.md +0 -9
  419. package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
  420. package/docs/adrs/memory/README.md +0 -10
  421. package/docs/adrs/router/0001-three-tier-routing.md +0 -119
  422. package/docs/adrs/router/README.md +0 -9
  423. package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
  424. package/docs/adrs/schema/README.md +0 -9
  425. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
  426. package/docs/adrs/smoke/README.md +0 -9
  427. package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
  428. package/docs/adrs/telegraph/README.md +0 -9
  429. package/docs/announcements/2026-05-non-dev-launch.md +0 -79
  430. package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
  431. package/docs/anti-reskin-gate.md +0 -60
  432. package/docs/architecture/augment-projection.md +0 -70
  433. package/docs/architecture/claude-bundle.md +0 -77
  434. package/docs/architecture/current-onboard-baseline.md +0 -126
  435. package/docs/architecture/current-safety-behavior.md +0 -137
  436. package/docs/architecture/multi-tool-projection.md +0 -125
  437. package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
  438. package/docs/architecture/source-projection.md +0 -85
  439. package/docs/architecture.md +0 -390
  440. package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
  441. package/docs/archive/CHANGELOG-7.0.0.md +0 -419
  442. package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
  443. package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
  444. package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
  445. package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
  446. package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
  447. package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
  448. package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
  449. package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
  450. package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
  451. package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
  452. package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
  453. package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
  454. package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
  455. package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
  456. package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
  457. package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
  458. package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
  459. package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
  460. package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
  461. package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
  462. package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
  463. package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
  464. package/docs/artefact-census.md +0 -71
  465. package/docs/benchmark.md +0 -648
  466. package/docs/benchmark.pinned.yml +0 -31
  467. package/docs/benchmarks.md +0 -85
  468. package/docs/capability-matrix.md +0 -33
  469. package/docs/case-studies/_template.md +0 -60
  470. package/docs/case-studies/frontend-design-positioning.md +0 -86
  471. package/docs/catalog.md +0 -721
  472. package/docs/command-flows.md +0 -272
  473. package/docs/command-naming-audit.md +0 -60
  474. package/docs/comparison.yaml +0 -45
  475. package/docs/contracts/CHANGELOG-conventions.md +0 -149
  476. package/docs/contracts/STABILITY.md +0 -188
  477. package/docs/contracts/adoption-signal-floor.md +0 -127
  478. package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
  479. package/docs/contracts/adr-chat-history-split.md +0 -140
  480. package/docs/contracts/adr-command-suggestion.md +0 -144
  481. package/docs/contracts/adr-forecast-construction-shape.md +0 -90
  482. package/docs/contracts/adr-gtm-context-spine.md +0 -116
  483. package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
  484. package/docs/contracts/adr-install-user-type-axis.md +0 -107
  485. package/docs/contracts/adr-layout.md +0 -107
  486. package/docs/contracts/adr-level-6-productization.md +0 -145
  487. package/docs/contracts/adr-mcp-runtime.md +0 -128
  488. package/docs/contracts/adr-product-ui-track.md +0 -381
  489. package/docs/contracts/adr-prompt-driven-execution.md +0 -186
  490. package/docs/contracts/adr-settings-sync-engine.md +0 -128
  491. package/docs/contracts/adr-user-types-axis.md +0 -127
  492. package/docs/contracts/adr-wing4-context-spine.md +0 -126
  493. package/docs/contracts/agent-user-schema.md +0 -170
  494. package/docs/contracts/agents-layout.md +0 -148
  495. package/docs/contracts/agents-md-tech-stack.md +0 -75
  496. package/docs/contracts/ai-council-config.md +0 -829
  497. package/docs/contracts/ai-team-config.md +0 -224
  498. package/docs/contracts/analysis-memory-loop.md +0 -149
  499. package/docs/contracts/at-rest-encryption.md +0 -191
  500. package/docs/contracts/audit-log-v1.md +0 -150
  501. package/docs/contracts/auto-orchestration-v1.md +0 -70
  502. package/docs/contracts/benchmark-ab-contract.md +0 -106
  503. package/docs/contracts/benchmark-corpus-spec.md +0 -125
  504. package/docs/contracts/benchmark-report-schema.md +0 -113
  505. package/docs/contracts/branch-protection-policy.md +0 -139
  506. package/docs/contracts/brand-token-consumption.md +0 -74
  507. package/docs/contracts/capability-boundary.md +0 -69
  508. package/docs/contracts/capability-packs.md +0 -217
  509. package/docs/contracts/ci-cost-budget.md +0 -111
  510. package/docs/contracts/ci-green-floor.md +0 -141
  511. package/docs/contracts/command-category-governance.md +0 -84
  512. package/docs/contracts/command-clusters.md +0 -399
  513. package/docs/contracts/command-surface-tiers.md +0 -176
  514. package/docs/contracts/command-taxonomy.md +0 -137
  515. package/docs/contracts/condensation-default-kill-criterion.md +0 -116
  516. package/docs/contracts/config-presets.md +0 -144
  517. package/docs/contracts/conformance.md +0 -84
  518. package/docs/contracts/consumer-bridge.md +0 -73
  519. package/docs/contracts/context-paths.md +0 -101
  520. package/docs/contracts/context-spine.md +0 -179
  521. package/docs/contracts/cost-dashboard.md +0 -143
  522. package/docs/contracts/cost-enforcement.md +0 -134
  523. package/docs/contracts/cost-profile-defaults.md +0 -110
  524. package/docs/contracts/cost-summary-schema.md +0 -107
  525. package/docs/contracts/creative-pack-boundary.md +0 -63
  526. package/docs/contracts/cross-repo-retrieval.md +0 -64
  527. package/docs/contracts/cross-wing-handoff.md +0 -134
  528. package/docs/contracts/daily-workspace.md +0 -147
  529. package/docs/contracts/decision-engine-gates.md +0 -120
  530. package/docs/contracts/decision-trace-v1.md +0 -177
  531. package/docs/contracts/design-artifact-lifecycle.md +0 -93
  532. package/docs/contracts/design-artifact-verification.md +0 -153
  533. package/docs/contracts/discovery-manifest.md +0 -209
  534. package/docs/contracts/discovery-manifest.schema.json +0 -254
  535. package/docs/contracts/evidence-based-pruning.md +0 -102
  536. package/docs/contracts/explain-modes.md +0 -187
  537. package/docs/contracts/explain-trace.schema.json +0 -144
  538. package/docs/contracts/file-ownership-matrix.json +0 -13941
  539. package/docs/contracts/file-ownership-matrix.md +0 -135
  540. package/docs/contracts/frontmatter-contract.md +0 -140
  541. package/docs/contracts/ghostwriter-schema.md +0 -337
  542. package/docs/contracts/governance-enforcement-projection.md +0 -159
  543. package/docs/contracts/gui-wizard.md +0 -350
  544. package/docs/contracts/harness-expectations.md +0 -128
  545. package/docs/contracts/hook-architecture-v1.md +0 -325
  546. package/docs/contracts/host-agent-protocol.md +0 -110
  547. package/docs/contracts/implement-ticket-flow.md +0 -625
  548. package/docs/contracts/init-telemetry.md +0 -132
  549. package/docs/contracts/injected-block-authenticity-model.md +0 -66
  550. package/docs/contracts/install-layout.md +0 -249
  551. package/docs/contracts/install-scopes.md +0 -82
  552. package/docs/contracts/installed-tools-lockfile.md +0 -144
  553. package/docs/contracts/installer-agent-mode.md +0 -137
  554. package/docs/contracts/iron-law-overrides.txt +0 -26
  555. package/docs/contracts/kernel-membership.md +0 -339
  556. package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
  557. package/docs/contracts/linear-ai-three-layers.md +0 -130
  558. package/docs/contracts/linter-structural-model.md +0 -181
  559. package/docs/contracts/load-context-budget-model.md +0 -259
  560. package/docs/contracts/load-context-schema.md +0 -220
  561. package/docs/contracts/local-analytics.md +0 -160
  562. package/docs/contracts/local-knowledge-ingestion.md +0 -96
  563. package/docs/contracts/local-server-api.md +0 -134
  564. package/docs/contracts/low-impact-corpus-format.md +0 -95
  565. package/docs/contracts/mcp-beta-criteria.md +0 -130
  566. package/docs/contracts/mcp-cloud-scope.md +0 -355
  567. package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
  568. package/docs/contracts/mcp-phase-1-scope.md +0 -272
  569. package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
  570. package/docs/contracts/mcp-tool-inventory.md +0 -64
  571. package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
  572. package/docs/contracts/measurement-baseline.md +0 -103
  573. package/docs/contracts/memory-visibility-v1.md +0 -160
  574. package/docs/contracts/mental-models.md +0 -336
  575. package/docs/contracts/migrate-command.md +0 -233
  576. package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
  577. package/docs/contracts/namespace.md +0 -125
  578. package/docs/contracts/no-runtime-boundary.md +0 -61
  579. package/docs/contracts/one-off-script-lifecycle.md +0 -110
  580. package/docs/contracts/orchestration-dsl-v1.md +0 -153
  581. package/docs/contracts/package-self-orientation.md +0 -163
  582. package/docs/contracts/pilot/agent-authority.md +0 -24
  583. package/docs/contracts/pilot/direct-answers.md +0 -70
  584. package/docs/contracts/pilot/language-and-tone.md +0 -63
  585. package/docs/contracts/plain-language-surface.md +0 -117
  586. package/docs/contracts/prelaunch-diagnostics.md +0 -151
  587. package/docs/contracts/profile-system.md +0 -167
  588. package/docs/contracts/reasoning-discipline-protocol.md +0 -83
  589. package/docs/contracts/release-pr-gating.md +0 -151
  590. package/docs/contracts/release-sizing.md +0 -107
  591. package/docs/contracts/release-trunk-sync.md +0 -105
  592. package/docs/contracts/review-lens-schema.md +0 -64
  593. package/docs/contracts/roadmap-complexity-standard.md +0 -138
  594. package/docs/contracts/role-experience.md +0 -125
  595. package/docs/contracts/router-blending.md +0 -71
  596. package/docs/contracts/rule-classification.md +0 -171
  597. package/docs/contracts/rule-interactions.md +0 -132
  598. package/docs/contracts/rule-interactions.yml +0 -260
  599. package/docs/contracts/rule-priority-hierarchy.md +0 -88
  600. package/docs/contracts/rule-router.md +0 -287
  601. package/docs/contracts/safety-model.md +0 -129
  602. package/docs/contracts/session-profile-overlay.md +0 -157
  603. package/docs/contracts/settings-api.md +0 -264
  604. package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
  605. package/docs/contracts/settings-sync-yaml-subset.md +0 -139
  606. package/docs/contracts/skill-bundled-assets.md +0 -62
  607. package/docs/contracts/skill-discovery.md +0 -80
  608. package/docs/contracts/skill-distribution-channels.md +0 -66
  609. package/docs/contracts/skill-domains.md +0 -144
  610. package/docs/contracts/skill-dry-run.md +0 -47
  611. package/docs/contracts/skill-family-map.yml +0 -915
  612. package/docs/contracts/smoke-contracts.md +0 -144
  613. package/docs/contracts/subagent-boundary.md +0 -59
  614. package/docs/contracts/surface-agent-contracts.md +0 -153
  615. package/docs/contracts/surface-matrix.md +0 -108
  616. package/docs/contracts/surface-tiers.md +0 -81
  617. package/docs/contracts/telegraph-telemetry.md +0 -83
  618. package/docs/contracts/ticket-bundle-format.md +0 -233
  619. package/docs/contracts/tier-3-contrib-plugin.md +0 -137
  620. package/docs/contracts/trust-and-safety.md +0 -144
  621. package/docs/contracts/ui-stack-extension.md +0 -237
  622. package/docs/contracts/ui-track-flow.md +0 -329
  623. package/docs/contracts/universal-skills.md +0 -91
  624. package/docs/contracts/user-type-schema.md +0 -146
  625. package/docs/contracts/value-dashboard-spec.md +0 -378
  626. package/docs/contracts/value-report-schema.md +0 -168
  627. package/docs/contracts/workflow-packs.md +0 -121
  628. package/docs/contracts/workspace-boundary.md +0 -84
  629. package/docs/contracts/workspace-documents.md +0 -144
  630. package/docs/contracts/write-engine.md +0 -182
  631. package/docs/cookbook.md +0 -152
  632. package/docs/customization.md +0 -685
  633. package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
  634. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
  635. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
  636. package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
  637. package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
  638. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
  639. package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
  640. package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
  641. package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
  642. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
  643. package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
  644. package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
  645. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
  646. package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
  647. package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
  648. package/docs/decisions/ADR-016-installer-architecture.md +0 -189
  649. package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
  650. package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
  651. package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
  652. package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
  653. package/docs/decisions/ADR-021-deployment-shape.md +0 -153
  654. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
  655. package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
  656. package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
  657. package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
  658. package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
  659. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
  660. package/docs/decisions/ADR-028-root-layout.md +0 -147
  661. package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
  662. package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
  663. package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
  664. package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
  665. package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
  666. package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
  667. package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
  668. package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
  669. package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
  670. package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
  671. package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
  672. package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
  673. package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
  674. package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
  675. package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
  676. package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
  677. package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
  678. package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
  679. package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
  680. package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
  681. package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
  682. package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
  683. package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
  684. package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
  685. package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
  686. package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
  687. package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
  688. package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
  689. package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
  690. package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
  691. package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
  692. package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
  693. package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
  694. package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
  695. package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
  696. package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
  697. package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
  698. package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
  699. package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
  700. package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
  701. package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
  702. package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
  703. package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
  704. package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
  705. package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
  706. package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
  707. package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
  708. package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
  709. package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
  710. package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
  711. package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
  712. package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
  713. package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
  714. package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
  715. package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
  716. package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
  717. package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
  718. package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
  719. package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
  720. package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
  721. package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
  722. package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
  723. package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
  724. package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
  725. package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
  726. package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
  727. package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
  728. package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
  729. package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
  730. package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
  731. package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
  732. package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
  733. package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
  734. package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
  735. package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
  736. package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
  737. package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
  738. package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
  739. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
  740. package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
  741. package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -246
  742. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -110
  743. package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
  744. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
  745. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -201
  746. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
  747. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
  748. package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
  749. package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
  750. package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
  751. package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
  752. package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
  753. package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
  754. package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
  755. package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
  756. package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
  757. package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
  758. package/docs/decisions/INDEX.md +0 -136
  759. package/docs/deploy/connector-setup.md +0 -129
  760. package/docs/deploy/env-vars.md +0 -70
  761. package/docs/deploy/policy-cookbook.md +0 -130
  762. package/docs/deploy/quickstart.md +0 -112
  763. package/docs/deploy/small-team-recipe.md +0 -148
  764. package/docs/deploy/team-deployment-posture.md +0 -111
  765. package/docs/design/adversarial-council-eval.md +0 -106
  766. package/docs/design/council-vs-solo-baseline.md +0 -92
  767. package/docs/design/cross-model-parity-eval.md +0 -82
  768. package/docs/design/length-neutral-judge-rerun.md +0 -92
  769. package/docs/design/utilization-window-criteria.md +0 -51
  770. package/docs/development.md +0 -230
  771. package/docs/distribution/awesome-list-submission.md +0 -46
  772. package/docs/distribution/consumer-matrix.md +0 -96
  773. package/docs/distribution/launch-story-draft.md +0 -58
  774. package/docs/distribution/mcp-submission-checklist.md +0 -95
  775. package/docs/distribution/public-install-smoke.md +0 -68
  776. package/docs/distribution/registries.md +0 -117
  777. package/docs/distribution/registry-submissions.md +0 -85
  778. package/docs/distribution/telemetry-privacy.md +0 -128
  779. package/docs/distribution/telemetry-schema.md +0 -174
  780. package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
  781. package/docs/end-to-end-walkthroughs.md +0 -165
  782. package/docs/enforcement-by-host.md +0 -44
  783. package/docs/examples/agent-user.example.md +0 -22
  784. package/docs/experiences/agency.md +0 -49
  785. package/docs/experiences/content_creator.md +0 -49
  786. package/docs/experiences/developer.md +0 -49
  787. package/docs/experiences/finance.md +0 -50
  788. package/docs/experiences/founder.md +0 -49
  789. package/docs/experiences/ops.md +0 -49
  790. package/docs/featured-commands.md +0 -27
  791. package/docs/featured-skills.md +0 -95
  792. package/docs/flows.md +0 -67
  793. package/docs/getting-started-by-role.md +0 -190
  794. package/docs/getting-started-laravel.md +0 -72
  795. package/docs/getting-started-local-stdio.md +0 -77
  796. package/docs/getting-started.md +0 -254
  797. package/docs/github-topics.md +0 -93
  798. package/docs/governance-advantage.md +0 -72
  799. package/docs/governance.md +0 -96
  800. package/docs/guides/cross-repo-linked-projects.md +0 -93
  801. package/docs/guides/cross-repo-retrieval.md +0 -61
  802. package/docs/guides/frontend-design-corpus-refresh.md +0 -83
  803. package/docs/guides/local-analytics.md +0 -125
  804. package/docs/guides/local-knowledge.md +0 -127
  805. package/docs/guides/skill-discovery.md +0 -71
  806. package/docs/guides/skill-preview.md +0 -71
  807. package/docs/hook-payload-capture.md +0 -221
  808. package/docs/install-friction-report.md +0 -66
  809. package/docs/installation.md +0 -959
  810. package/docs/maintainers/branch-protection.md +0 -105
  811. package/docs/maintainers/dev-mode.md +0 -106
  812. package/docs/maintainers/optional-media-deps.md +0 -50
  813. package/docs/maintainers/system-map.md +0 -85
  814. package/docs/mcp-registries.md +0 -94
  815. package/docs/mcp-server.md +0 -175
  816. package/docs/mcp.md +0 -147
  817. package/docs/media/proof-demo.cast +0 -14
  818. package/docs/media/proof-demo.gif +0 -0
  819. package/docs/migration/consumer-template-consumption-model.md +0 -145
  820. package/docs/migration/divergences/README.md +0 -55
  821. package/docs/migration/divergences/_template.md +0 -50
  822. package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
  823. package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
  824. package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
  825. package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
  826. package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
  827. package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
  828. package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
  829. package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
  830. package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
  831. package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
  832. package/docs/migration/node-floor.md +0 -86
  833. package/docs/migration/v1-to-v2.md +0 -156
  834. package/docs/migration/yaml-roundtrip-spike.md +0 -163
  835. package/docs/migrations/commands-1.15.0.md +0 -117
  836. package/docs/parity/bench-external.json +0 -58
  837. package/docs/parity/bench.json +0 -41
  838. package/docs/parity/command-frontmatter.md +0 -60
  839. package/docs/parity/external-runtime.md +0 -46
  840. package/docs/personas.md +0 -178
  841. package/docs/positioning-evidence.md +0 -86
  842. package/docs/profiles.md +0 -108
  843. package/docs/proof.md +0 -176
  844. package/docs/quality.md +0 -98
  845. package/docs/readme-split-plan.md +0 -102
  846. package/docs/recruits/_template.md +0 -81
  847. package/docs/release-runbook.md +0 -141
  848. package/docs/role-experiences.md +0 -19
  849. package/docs/safety.md +0 -30
  850. package/docs/second-brain-scope.md +0 -116
  851. package/docs/self-review-gate.md +0 -65
  852. package/docs/setup/enterprise-and-offline.md +0 -201
  853. package/docs/setup/mcp-client-config.md +0 -358
  854. package/docs/setup/mcp-cloud-endpoints.md +0 -116
  855. package/docs/setup/mcp-cloud-registry-listing.md +0 -99
  856. package/docs/setup/mcp-cloud-setup.md +0 -183
  857. package/docs/setup/mcp-r2-bootstrap.md +0 -82
  858. package/docs/setup/mcp-server-docker.md +0 -101
  859. package/docs/setup/per-ide/aider.md +0 -48
  860. package/docs/setup/per-ide/antigravity.md +0 -68
  861. package/docs/setup/per-ide/augment.md +0 -89
  862. package/docs/setup/per-ide/claude-code.md +0 -97
  863. package/docs/setup/per-ide/claude-desktop.md +0 -207
  864. package/docs/setup/per-ide/cline.md +0 -43
  865. package/docs/setup/per-ide/codebuddy.md +0 -63
  866. package/docs/setup/per-ide/codex.md +0 -46
  867. package/docs/setup/per-ide/continue.md +0 -68
  868. package/docs/setup/per-ide/copilot.md +0 -80
  869. package/docs/setup/per-ide/cursor.md +0 -125
  870. package/docs/setup/per-ide/droid.md +0 -65
  871. package/docs/setup/per-ide/gemini-cli.md +0 -45
  872. package/docs/setup/per-ide/jetbrains.md +0 -76
  873. package/docs/setup/per-ide/kilocode.md +0 -66
  874. package/docs/setup/per-ide/kiro.md +0 -72
  875. package/docs/setup/per-ide/opencode.md +0 -62
  876. package/docs/setup/per-ide/qoder.md +0 -63
  877. package/docs/setup/per-ide/roocode.md +0 -68
  878. package/docs/setup/per-ide/trae.md +0 -63
  879. package/docs/setup/per-ide/warp.md +0 -63
  880. package/docs/setup/per-ide/windsurf.md +0 -109
  881. package/docs/setup/per-ide/zed.md +0 -73
  882. package/docs/showcase.md +0 -209
  883. package/docs/skill-duplication-findings.md +0 -91
  884. package/docs/skills-catalog.md +0 -265
  885. package/docs/skills-taxonomy.md +0 -90
  886. package/docs/spawn-site-policy.md +0 -72
  887. package/docs/succession.md +0 -80
  888. package/docs/threat-model.md +0 -29
  889. package/docs/troubleshooting.md +0 -155
  890. package/docs/ui-track-mental-model.md +0 -121
  891. package/docs/us-vs-the-category.md +0 -38
  892. package/docs/value.md +0 -86
  893. package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
  894. package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
  895. package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
  896. package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
  897. package/docs/walkthroughs/daily-workspace.md +0 -127
  898. package/docs/wedge/production-validator/README.md +0 -81
  899. package/docs/wedge/production-validator/first-run-check.sh +0 -42
  900. package/docs/wedge/production-validator/production-validator.md +0 -83
  901. package/docs/wizard.md +0 -173
@@ -1,70 +0,0 @@
1
- ---
2
- adr: 078
3
- status: accepted
4
- date: 2026-06-09
5
- decision: drive-health-panel
6
- supersedes: —
7
- superseded_by: —
8
- phase: employee-product Phase 8 (road-to-employee-product-and-external-proof)
9
- type: structural
10
- ---
11
-
12
- # ADR-078 — WorkspacePage drive-health panel (read-only)
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-09. Closes the GUI debt deferred by
17
- [`ADR-073`](ADR-073-drive-health-kill-switch.md) ("a dedicated health panel")
18
- and [`ADR-075`](ADR-075-workspace-gui-drive.md) (deferred the drive-health UI).
19
- Small mechanical reuse — consumes the existing `GET /drive-health` (ADR-073);
20
- no server change, no council (read-only display of existing data).
21
-
22
- ## Context
23
-
24
- The kill-switch (ADR-073/074) trips a host to inbox-only after repeated drive
25
- failures and auto-recovers it on a cooldown probe. `GET /drive-health` exposes
26
- that state, but the GUI only reflected `host_killed` / `recovered` transiently
27
- in a launch banner — an operator had no standing view of *which* host is paused
28
- and *why*.
29
-
30
- ## Decision
31
-
32
- - A read-only **Host health** panel in the workspace rail, fed by the existing
33
- `GET /drive-health` (fetched in `load()`, **non-critical**: a failed health
34
- fetch never blocks the page — it falls back to an empty snapshot).
35
- - Surfaces **only unhealthy hosts** (killed, or with a non-zero failure
36
- streak); the common all-healthy case shows a one-line "All hosts healthy."
37
- - Per host: state (`paused — auto-recovering` for an auto-trip, `paused
38
- (manual)` for a manual kill, `degraded` for a streak without a trip), the
39
- failure streak, and the last error kind.
40
- - **No reset action in v0** — reset stays a CLI op (`workspace_drive_health.py
41
- reset`); auto-cooldown (ADR-074) handles the common recovery, so a GUI reset
42
- button (which would need a new state-mutating endpoint) is deferred.
43
-
44
- ## Consequences
45
-
46
- - An operator can see at a glance why a host isn't driving and whether it is
47
- auto-recovering — the observability the kill-switch councils asked for.
48
- - Purely additive + non-critical: no server change, and a health-endpoint
49
- failure degrades to "All hosts healthy" rather than breaking the workspace.
50
-
51
- ## Alternatives considered
52
-
53
- - **A reset button in the panel** — deferred: needs a new POST endpoint
54
- (state mutation); auto-recovery covers the common case, so v0 stays
55
- read-only.
56
- - **Always list every host (including healthy)** — rejected: noise; the panel
57
- earns its space only when something is wrong.
58
- - **Poll `/drive-health` on an interval** — deferred: a load-time snapshot +
59
- the launch banner's live `host_killed`/`recovered` cover v0; live polling is
60
- a later refinement.
61
-
62
- ## Deferred to v1 (debt)
63
-
64
- A GUI reset button (+ its endpoint), live polling / refresh, and a full
65
- per-host history view (totals, trip count over time).
66
-
67
- ## References
68
-
69
- - [`ADR-073`](ADR-073-drive-health-kill-switch.md) / [`ADR-074`](ADR-074-drive-kill-switch-auto-recovery.md) — the kill-switch + `GET /drive-health` this surfaces.
70
- - [`ADR-075`](ADR-075-workspace-gui-drive.md) — the GUI rail + patterns reused.
@@ -1,81 +0,0 @@
1
- ---
2
- adr: 079
3
- status: accepted
4
- date: 2026-06-09
5
- decision: workspace-host-picker
6
- supersedes: —
7
- superseded_by: —
8
- phase: employee-product Phase 8 (road-to-employee-product-and-external-proof)
9
- type: structural
10
- ---
11
-
12
- # ADR-079 — WorkspacePage host picker (v1)
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-09. Design + a focused tie-break converged via AI-council
17
- (claude-sonnet-4-5 + gpt-4o, design mode, 2026-06-09). **Reverses the v0
18
- deferral** in [`ADR-075`](ADR-075-workspace-gui-drive.md) (which hard-coded
19
- `host: 'claude-code'` "until real usage / if users demand it"): the backend now
20
- drives all three Tier-1 hosts (ADR-072), so surfacing the choice is the
21
- anticipated v1.
22
-
23
- ## Context
24
-
25
- ADR-075 deferred a host picker citing "host ids ≠ model names (confusing), an
26
- N×M test matrix, an unrequested feature." With codex + gemini drive configs
27
- merged, the picker is the natural v1. This ADR confirms the reversal and
28
- addresses the UX concern the deferral raised.
29
-
30
- ## Decision
31
-
32
- | # | Question | Verdict | Rationale |
33
- |---|---|---|---|
34
- | 1 | Labels | **Friendly label + id**: `Claude Code (claude-code)`, `Codex (codex)`, `Gemini (gemini)`. | Resolves the "ids are confusing" concern without hiding the id the backend uses. |
35
- | 2 | Placement | **Global header `<select>`** (one host per session) — **tie-break decision**. | Round 2 split (global vs per-task); the tie-break converged on global: v0 was already session-global, zero data on per-task switching, per-task + sessionStorage has the *same* stickiness with more UI repetition. |
36
- | 3 | Persistence | Default `claude-code`; persist in **`sessionStorage`** (per-session), not `localStorage`. | Cross-session stickiness without usage data is speculative ("spooky action"); session scope matches the picker's session-global model. |
37
- | 4 | Options | The **three Tier-1 hosts** only. | The inbox is already the automatic degrade when a CLI is absent — a manual inbox option is redundant chrome. |
38
- | 5 | Availability | A new **`GET /workspace/hosts`** returns each Tier-1 host's `cli_present`; the picker **disables an uninstalled host** with a "not installed" note. **Fail open** — no availability data → all hosts selectable. | The council's hardest hit: a "dumb" picker lets a user pick an absent host and waste a launch that only degrades to the inbox. The probe is side-effect-free (`shutil.which`), no API spend. |
39
-
40
- No feature flag: the picker **defaults to `claude-code`**, exactly v0's
41
- behaviour, so the safe fallback is the default itself.
42
-
43
- ## Surface
44
-
45
- - `GET /api/v1/workspace/hosts` → `{ hosts: [{ id, cli_present, effective_tier }] }`
46
- (Tier-1 only, via `workspace_hosts.py list`). Fail-open to `[]`.
47
- - `WorkspacePage`: a header `HostPicker` `<select>` (friendly labels, absent
48
- hosts disabled) → `setSelectedHost` persists to `sessionStorage`; `launch()`
49
- sends `selectedHost`. Continuation still resumes the session's recorded host
50
- (unchanged).
51
-
52
- ## Consequences
53
-
54
- - An employee can run a task on Codex or Gemini, not just Claude Code, and sees
55
- which hosts are actually installed before picking.
56
- - Availability + host fetches are **non-critical** in `load()` — a failure
57
- degrades to "all hosts enabled" / empty, never blocks the page.
58
- - Continuation (ADR-076) is unaffected — it always resumes the host recorded on
59
- the session's turns, regardless of the current picker value.
60
-
61
- ## Alternatives considered
62
-
63
- - **Per-task picker** — rejected at tie-break: same stickiness as the global
64
- select with more per-launch chrome; no evidence for per-task host variance.
65
- - **localStorage persistence** — rejected: cross-session stickiness is
66
- speculative without usage data.
67
- - **Manual "inbox hand-off" option** — rejected: redundant with the automatic
68
- absent-CLI degrade.
69
- - **Dumb picker (no availability)** — rejected: wastes a launch on an absent
70
- host; the cheap `which` probe avoids the first-run friction.
71
-
72
- ## Deferred to v1+ (debt)
73
-
74
- Live availability polling (re-probe without a reload), a model-tier hint per
75
- host, and per-task host override (only if usage shows real per-task variance).
76
-
77
- ## References
78
-
79
- - [`ADR-075`](ADR-075-workspace-gui-drive.md) — the v0 deferral this reverses.
80
- - [`ADR-072`](ADR-072-codex-gemini-drive-configs.md) — the codex/gemini drive configs that make the choice meaningful.
81
- - [`ADR-068`](ADR-068-host-tier-detection.md) — `workspace_hosts.py` detection the `/hosts` endpoint reuses.
@@ -1,92 +0,0 @@
1
- ---
2
- adr: 080
3
- status: accepted
4
- date: 2026-06-09
5
- decision: host-session-expired-410
6
- supersedes: —
7
- superseded_by: —
8
- phase: employee-product Phase 8 (road-to-employee-product-and-external-proof)
9
- type: structural
10
- ---
11
-
12
- # ADR-080 — `/continue` 410 on an expired host session
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-09. Implements the 410 mapping
17
- [`ADR-076`](ADR-076-workspace-multi-turn.md) deferred ("a 410 'host session
18
- expired' mapping needs per-host stderr detection → v1"). No council — ADR-076
19
- already fixed the *shape* (410, per-host stderr); this PR supplies the verified
20
- signatures.
21
-
22
- ## Context
23
-
24
- `POST /sessions/:id/continue` resumes a host session by its recorded id. If the
25
- host has since garbage-collected / never had that session, resume fails — but
26
- ADR-076 returned a generic `{driven:false, error_kind}` indistinguishable from a
27
- transient failure. The GUI should tell the user "start a new conversation," not
28
- show a generic error.
29
-
30
- ## Decision
31
-
32
- Detect an expired / unknown host session from the host CLI's stderr **only on
33
- the resume path** and map it to a distinct `error_kind: 'session-expired'`,
34
- which `/continue` answers as **HTTP 410 Gone** (`start a new conversation`).
35
-
36
- **Verified stderr signatures** (probed 2026-06-09 with a bogus session id —
37
- fast-fail, no LLM turn):
38
-
39
- | Host | Signature (substring, case-insensitive) |
40
- |---|---|
41
- | claude | `No conversation found with session ID` |
42
- | gemini | `Invalid session identifier` |
43
- | codex | `no rollout found for thread id` / `thread/resume failed` |
44
-
45
- Plus a generic `session not found` catch-all. `_is_session_expired(stderr)` is
46
- substring-matched and **best-effort + extensible** — a new host (or a vendor
47
- wording change) adds a signature; an unmatched failure stays the generic
48
- `nonzero-exit` / `bad-envelope`.
49
-
50
- **Scope guard:** the mapping fires **only when `resume_session_id` is set** — the
51
- identical stderr on a fresh launch stays `nonzero-exit` (a fresh launch has no
52
- session to expire).
53
-
54
- ## Consequences
55
-
56
- - A continued conversation whose host session is gone returns **410** with a
57
- clear "start a new conversation" message — the GUI can route the user to a
58
- fresh launch rather than surfacing a confusing drive error.
59
- - 410 is the honest code: not 5xx (our system is fine), not 4xx (the request was
60
- valid) — a gone resource.
61
- - The session log still records the `host.error(session-expired)` (audit trail);
62
- health recording still applies (a probe that hits an expired session counts as
63
- a failure, consistent with the kill-switch).
64
-
65
- ## Alternatives considered
66
-
67
- - **Keep the generic error** — rejected: indistinguishable from a transient
68
- failure; the user can't tell they need a fresh conversation.
69
- - **Parse exit codes instead of stderr** — rejected: the three CLIs use
70
- different / overlapping exit codes; the stderr message is the reliable signal.
71
- - **A 409** — rejected: 409 already means "no host turn to continue" (ADR-076);
72
- 410 (gone) is the correct distinct semantics for an expired session.
73
-
74
- ## Testing note
75
-
76
- The detector is covered hermetically by `workspace_drive.py` pytest (stubbed
77
- stderr with all three verified signatures + the resume-only scope guard). The
78
- Node `error_kind → 410` mapping is a trivial one-line map and is exercised
79
- through that detector — a Node-level vitest would need a real host CLI to emit
80
- the signature (absent in CI), so it follows the established pattern of covering
81
- real-drive paths in pytest, not vitest.
82
-
83
- ## Deferred to v1+ (debt)
84
-
85
- A GUI affordance that, on a 410, offers a one-click "start a fresh conversation"
86
- (re-launch the same role/task). Signature drift monitoring (alert if an
87
- unmatched resume failure rate climbs — it may signal a new vendor wording).
88
-
89
- ## References
90
-
91
- - [`ADR-076`](ADR-076-workspace-multi-turn.md) — `/continue` + the deferred 410 this closes.
92
- - [`ADR-072`](ADR-072-codex-gemini-drive-configs.md) — the three host CLIs whose stderr is matched.
@@ -1,71 +0,0 @@
1
- ---
2
- adr: 081
3
- status: accepted
4
- date: 2026-06-09
5
- decision: drive-health-reset-and-410-affordance
6
- supersedes: —
7
- superseded_by: —
8
- phase: employee-product Phase 8 (road-to-employee-product-and-external-proof)
9
- type: structural
10
- ---
11
-
12
- # ADR-081 — Drive-health reset endpoint + 410 follow-up affordance
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-09. Closes two deferred GUI items: the reset button
17
- [`ADR-078`](ADR-078-drive-health-panel.md) deferred ("reset stays a CLI op …
18
- a GUI reset button needs a new state-mutating endpoint → deferred") and the
19
- 410 affordance [`ADR-080`](ADR-080-host-session-expired-410.md) deferred ("a
20
- GUI 'start a fresh conversation' one-click on 410"). Mechanical — no council.
21
-
22
- ## Context
23
-
24
- The kill-switch panel (ADR-078) was read-only; clearing a paused host meant the
25
- CLI. And a `/continue` 410 (ADR-080) only set a banner — the follow-up box
26
- stayed, inviting a retry that would 410 again.
27
-
28
- ## Decision
29
-
30
- 1. **`POST /api/v1/workspace/drive-health/:host/reset`** → `workspace_drive_health.py
31
- reset` → returns the reset state. The operator escape hatch for a paused
32
- host (and the *only* path for a sticky **manual** kill, which auto-recovery
33
- never clears). An invalid host id → 400 (CLI charset/root guard).
34
- 2. **Reset button** in the health panel, shown **only on a killed host**; click
35
- → reset → re-fetch `/drive-health` → the row clears.
36
- 3. **410 affordance:** when `/continue` returns 410 (host session expired), the
37
- GUI sets a `sessionGone` flag → the follow-up form is **replaced** by
38
- "Host session expired — pick a task above to start a new conversation."
39
- `sessionGone` resets on the next launch.
40
-
41
- ## Consequences
42
-
43
- - A paused host can be cleared from the browser — completing the kill-switch
44
- UX (auto-recovery for transient trips, one-click reset for the rest +
45
- sticky manual kills).
46
- - A 410 no longer leaves a dead follow-up box: the user is routed to start a
47
- fresh conversation instead of retrying into another 410.
48
- - Reset is a low-risk local-cache mutation (clears `workspace/health/<host>.json`
49
- flags); no model/data/infra surface, so no threat-model gate.
50
-
51
- ## Alternatives considered
52
-
53
- - **Keep reset CLI-only** — rejected now: with the panel surfacing paused hosts,
54
- a reset there is the obvious completion; the endpoint is a thin CLI wrapper.
55
- - **410 → just a banner (keep the form)** — rejected: invites a retry that
56
- 410s again; replacing the form is the honest dead-end signal.
57
- - **A one-click "re-launch same task" on 410** — deferred: needs to remember
58
- the originating task + inputs; the "pick a task above" pointer is enough for
59
- v1.
60
-
61
- ## Deferred to v1+ (debt)
62
-
63
- A one-click re-launch (same role/task/inputs) on 410; a manual "pause this host"
64
- button (the inverse of reset) if operators want to force a host off; live
65
- polling so a reset / recovery elsewhere reflects without a reload.
66
-
67
- ## References
68
-
69
- - [`ADR-078`](ADR-078-drive-health-panel.md) — the read-only panel this makes actionable.
70
- - [`ADR-080`](ADR-080-host-session-expired-410.md) — the 410 this gives a GUI affordance.
71
- - [`ADR-073`](ADR-073-drive-health-kill-switch.md) / [`ADR-074`](ADR-074-drive-kill-switch-auto-recovery.md) — the kill-switch + `reset` semantics.
@@ -1,58 +0,0 @@
1
- ---
2
- adr: 082
3
- status: accepted
4
- date: 2026-06-09
5
- decision: 410-one-click-relaunch
6
- supersedes: —
7
- superseded_by: —
8
- phase: employee-product Phase 8 (road-to-employee-product-and-external-proof)
9
- type: structural
10
- ---
11
-
12
- # ADR-082 — One-click re-launch on a 410 (expired host session)
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-09. Closes the deferral in
17
- [`ADR-081`](ADR-081-drive-health-reset-and-410-affordance.md) ("a one-click
18
- re-launch (same role/task/inputs) on 410"). GUI-only, mechanical — no council,
19
- no server change.
20
-
21
- ## Context
22
-
23
- ADR-080/081 made `/continue` answer 410 on an expired host session and replaced
24
- the follow-up form with a "pick a task above to start a new conversation" note.
25
- That pointer made the user re-pick the role, re-open the task, and re-type the
26
- inputs — friction for what is just "run the same thing in a fresh session."
27
-
28
- ## Decision
29
-
30
- - `launch()` remembers the originating `{ role, task, inputs }` in a
31
- `lastLaunch` signal.
32
- - The 410 affordance renders a **"Start a new conversation"** button when
33
- `lastLaunch` is set; clicking it re-invokes `launch(role, task, inputs)` — a
34
- fresh session with the same parameters (and the current host pick). It falls
35
- back to the "pick a task above" pointer only when there is no remembered
36
- launch.
37
-
38
- ## Consequences
39
-
40
- - A user whose host session expired re-runs the same task in one click, instead
41
- of re-entering everything.
42
- - Re-launch goes through the normal `launch()` path — same kill-switch gate,
43
- health recording, and `sessionGone` reset; the new turn replaces the expired
44
- one in the result pane.
45
- - No new endpoint and no server change — `lastLaunch` is GUI state.
46
-
47
- ## Alternatives considered
48
-
49
- - **Re-pick manually (the ADR-081 pointer)** — kept as the fallback when no
50
- prior launch is remembered, but the button is the common case.
51
- - **Persist `lastLaunch` across reloads** — unnecessary: a 410 is acted on in
52
- the same session it occurred; cross-reload memory adds no value.
53
-
54
- ## References
55
-
56
- - [`ADR-081`](ADR-081-drive-health-reset-and-410-affordance.md) — the 410 affordance this completes.
57
- - [`ADR-080`](ADR-080-host-session-expired-410.md) — the 410 itself.
58
- - [`ADR-075`](ADR-075-workspace-gui-drive.md) — the `launch()` flow re-invoked.
@@ -1,85 +0,0 @@
1
- ---
2
- adr: 083
3
- status: accepted
4
- date: 2026-06-09
5
- decision: session-thread-and-arbitrary-continuation
6
- supersedes: —
7
- superseded_by: —
8
- phase: employee-product Phase 8 (road-to-employee-product-and-external-proof)
9
- type: structural
10
- ---
11
-
12
- # ADR-083 — Session thread view + arbitrary continuation
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-09. Design converged via AI-council (claude-sonnet-4-5 +
17
- gpt-4o, design mode, 2026-06-09). Ships in two PRs (council sequencing): **PR-1**
18
- the server record (this ADR + the `/continue` follow-up record); **PR-2** the
19
- GUI (clickable session strip + thread view + continuation target). Closes the
20
- last substantive ADR-075 deferral.
21
-
22
- ## Context
23
-
24
- The workspace shows only the **latest** turn and only continues the **active**
25
- session. Two gaps: no full **thread** (each turn replaces the prior), and no
26
- **arbitrary continuation** (a past session in the strip isn't clickable).
27
-
28
- **Load-bearing log fact:** the session JSONL records `launcher.input` (opening
29
- task + inputs) + one `host.turn` per assistant reply — but the **user's
30
- follow-up prompts were not recorded**, so a thread would show replies without
31
- the questions that produced them.
32
-
33
- ## Decision
34
-
35
- | # | Question | Verdict |
36
- |---|---|---|
37
- | 1 | Record follow-up prompts? | **Yes** — `/continue` appends a `launcher.input` with `followup: true` carrying the `prompt`, **before** driving (so the question survives a failed turn). **Reuse** `launcher.input` (no new record kind). |
38
- | 2/4 | Thread render | The result area renders the log as ordered blocks: opening task, then interleaved user (`launcher.input followup`) + assistant (`host.turn`) + error (`host.error`) blocks; reuse the 2000-char collapse. |
39
- | 3 | Continuation target | A selected session's id is the `/continue` target; 409 / 410 surface as before. |
40
- | 5 | State | **One "current session"** drives both the thread and the follow-up box; launching sets it to the new session, selecting a strip session sets it to that one. |
41
-
42
- **Privacy (council's hardest pushback — shared sessions):** defused by a fact —
43
- the workspace is **per-user / local** (`daily-workspace` § State scope: "Per-user.
44
- Local-only. One workspace per OS user. No multi-tenant view"). The follow-up
45
- prompt is the same user's text at the same encrypt-at-rest tier as every other
46
- record; recording it expands **no** privacy surface. (If the workspace ever
47
- gains multi-user session sharing, follow-up-prompt classification must be
48
- revisited — flagged here.)
49
-
50
- **Old sessions** (pre-recording) have no follow-up records → the thread shows
51
- the opening task + assistant turns, degrading gracefully (no crash, no
52
- placeholder noise).
53
-
54
- No feature flag: the record is additive + low-risk; rollback is a revert.
55
-
56
- ## Consequences
57
-
58
- - A real thread (question → answer → question → answer) for sessions created
59
- after PR-1; reply-only for older ones.
60
- - Any past session is continuable from the strip — the workspace becomes a
61
- browseable, resumable conversation history, not just a launch pad.
62
- - One server record append per follow-up; the GUI keys the thread + follow-up
63
- off a single current-session id.
64
-
65
- ## Alternatives considered
66
-
67
- - **New `launcher.followup` record kind** — rejected: schema proliferation; a
68
- `followup: true` field on `launcher.input` is enough.
69
- - **Assistant-turns-only thread (no recording)** — rejected: a thread without
70
- the questions is confusing; the record is one cheap append.
71
- - **Two parallel result components (active vs selected)** — rejected: the
72
- council's one-current-session model is cleaner; the thread view subsumes the
73
- single-turn display.
74
-
75
- ## Deferred to v1+ (debt)
76
-
77
- Idempotency on rapid double-submits (v0 has no retry semantics); progressive /
78
- streamed loading for very long session logs; a multi-user-sharing revisit of
79
- follow-up-prompt classification (only if session sharing is ever added).
80
-
81
- ## References
82
-
83
- - [`ADR-076`](ADR-076-workspace-multi-turn.md) — `/continue` this records into.
84
- - [`ADR-075`](ADR-075-workspace-gui-drive.md) / [`ADR-082`](ADR-082-410-one-click-relaunch.md) — the GUI result area the thread view subsumes.
85
- - [`daily-workspace`](../contracts/daily-workspace.md) § State scope — the per-user/local fact that defuses the privacy concern.
@@ -1,52 +0,0 @@
1
- ---
2
- adr: 084
3
- status: accepted
4
- date: 2026-06-09
5
- decision: drive-health-refresh-on-drive
6
- supersedes: —
7
- superseded_by: —
8
- phase: employee-product Phase 8 (road-to-employee-product-and-external-proof)
9
- type: structural
10
- ---
11
-
12
- # ADR-084 — Refresh drive-health after every drive
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-09. Addresses the "live health" polish deferred by
17
- [`ADR-078`](ADR-078-drive-health-panel.md) (the panel was a load-time snapshot).
18
- Trivial, GUI-only — no council, no server change.
19
-
20
- ## Context
21
-
22
- The drive-health panel (ADR-078) fetched once on page load and after a manual
23
- reset (ADR-081). But a host trips / auto-recovers **as a side effect of a
24
- drive** — so during a session the panel could show stale state (e.g. a host that
25
- just tripped on the last launch still shows healthy until a reload).
26
-
27
- ## Decision
28
-
29
- Re-fetch `GET /drive-health` after every `launch` and `continue` (a small
30
- `refreshHealth()` helper, reused by the reset path). **Refresh-on-drive**, not
31
- `setInterval` polling: health only changes on a drive the user just initiated,
32
- so polling would be wasted requests + a timer to manage; refreshing exactly when
33
- state can change is sufficient and cheaper. Non-critical — a failed refresh
34
- leaves the panel as-is (same fail-open posture as the initial load).
35
-
36
- ## Consequences
37
-
38
- - The panel reflects a host tripping / recovering immediately after the drive
39
- that caused it, with no reload.
40
- - No timer, no background polling, no new endpoint — one extra GET per drive.
41
-
42
- ## Alternatives considered
43
-
44
- - **`setInterval` polling** — rejected: health is event-driven (only a drive
45
- changes it); polling burns requests for a local single-user tool and adds a
46
- timer lifecycle to manage.
47
- - **Server push / SSE** — over-engineered for a local single-user panel.
48
-
49
- ## References
50
-
51
- - [`ADR-078`](ADR-078-drive-health-panel.md) — the panel this keeps fresh.
52
- - [`ADR-081`](ADR-081-drive-health-reset-and-410-affordance.md) — the reset path the `refreshHealth()` helper is shared with.
@@ -1,158 +0,0 @@
1
- ---
2
- adr: 085
3
- status: accepted
4
- date: 2026-06-10
5
- decision: mcp-stdio-end-user-distribution-shape
6
- supersedes: —
7
- superseded_by: —
8
- phase: mcp-stdio-end-user-packaging Phase 1 (road-to-mcp-stdio-end-user-packaging)
9
- type: structural
10
- ---
11
-
12
- # ADR-085 — Distribution shape for the turnkey end-user stdio MCP server
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-10. Phase 1 (decision-only, no code) of
17
- [`road-to-mcp-stdio-end-user-packaging`], promoted from `draft → ready` by an
18
- explicit maintainer decision (the demand trigger, recorded below). Resolved via
19
- a two-round peer-reviewed AI-council session plus a tie-break round
20
- (claude-sonnet-4-5 + gpt-4o, 2026-06-10) — split in round 1 (A2×B1 vs A1×B2),
21
- **converged on A2×B1** in the tie-break.
22
-
23
- ## Context
24
-
25
- `@event4u/agent-config` already ships **two** MCP surfaces under a named-scope
26
- model:
27
-
28
- - `mcp_scope: lite` — a **hosted Cloudflare Worker** (`internal/workers/mcp/`,
29
- TypeScript) serving governance content as read-only MCP prompts + resources
30
- (skills/commands/rules/guidelines) plus a few read-only tools, from a
31
- release-pinned R2 blob. Never executes, never touches consumer FS.
32
- - `mcp_scope: full` — a **local stdio kernel** (`src/scripts/mcp_server/`,
33
- Python) that can execute tools and depends on ~112 on-disk scripts + a
34
- consumer `.agent-settings.yml`. Launched today only from a cloned repo:
35
- `PYTHONPATH=src .venv-mcp/bin/python -m scripts.mcp_server`.
36
-
37
- The npm bin already exists: `agent-config` → `dist/cli/agent-config.js` (Node
38
- ≥20). There is **no** stdio client-config template for end-users; the only
39
- templates target the remote Worker via `mcp-remote`.
40
-
41
- **Gap.** End-users who *configure* pre-built agents (Claude Desktop / Cursor /
42
- Zed / Claude Code) cannot run a **local** stdio server without cloning the repo
43
- and building a venv. The decision is the whole design — two coupled axes:
44
- **scope** (full execution vs read-only lite) and **launch channel** (npm-Node vs
45
- pipx/uvx vs bundled-venv).
46
-
47
- ### Demand trigger (recorded per the roadmap precondition)
48
-
49
- The roadmap is promoted on the precondition clause *"the maintainer decides to
50
- position the package for end-users explicitly."* That decision was made on
51
- 2026-06-10 (maintainer instruction: "promote mcp-stdio, do Phase 1"). The
52
- trigger is **positioning for end-users who configure agents** — note it does
53
- **not** state those users need *execution*; it states they need local access to
54
- the content.
55
-
56
- ## Decision
57
-
58
- **A2 × B1** — a local **stdio-lite** server, pure-Node, launched via the
59
- existing `@event4u/agent-config` npm bin. It serves the shipped `dist/`
60
- governance content (skills / commands / rules / guidelines) as MCP prompts +
61
- resources plus the read-only tools (`memory_lookup`, `list_*`,
62
- `read_resource_body`). **No Python, no venv, no execution, no consumer-FS
63
- writes.**
64
-
65
- This is architecturally proven: the hosted lite Worker already does exactly this
66
- in TypeScript from an R2 blob; the local server reads the bundled `dist/`
67
- instead. A local stdio-lite adds an **offline / no-account / Worker-outage
68
- fallback** path — a reliability hedge, cheap to ship in Node, with no
69
- Node→Python handoff.
70
-
71
- ### Why not the alternatives
72
-
73
- - **A1×B1 (full Python kernel launched by the Node bin) — rejected as fatal.**
74
- A long-running stdio daemon needs a clean stdin/stdout JSON-RPC contract; a
75
- Node shim spawning Python leaks (npm update checks, debug logs, stderr) and
76
- breaks the protocol. Both council members converged on this. The channel
77
- **must** match the implementation language: A2→B1 (pure Node) or A1→B2 (pure
78
- Python). No mixed handoff.
79
- - **A1×B2 (full Python kernel via pipx/uvx) — deferred, not chosen.** It ships
80
- the ~112 executable scripts and therefore demands a platform matrix
81
- (linux-x64 / darwin-arm64 / win32-x64), a supply-chain threat model, a
82
- first-run consent flow, and a kill-switch — all Phase-1-blocking. There is **no
83
- evidence** end-users need execution (vs content access); committing that
84
- surface now is building the maximal surface for a speculative problem, against
85
- `minimal-safe-diff` + YAGNI and the council's standing "do not build end-user
86
- packaging on spec" caution.
87
- - **B3 (bundled venv / self-contained binary) — deferred.** Only justified if a
88
- material fraction of the audience has *neither* Node nor Python; no such data
89
- exists, and the stated clients (Claude Desktop / Cursor / Zed / Claude Code)
90
- overwhelmingly carry Node.
91
-
92
- ## Consequences
93
-
94
- ### Trade-off the maintainer accepts
95
-
96
- **Zero local script execution in Phase 1.** A user who needs to *run* a script
97
- must file an issue or self-host the Python `full` kernel separately. The
98
- turnkey path serves content access only.
99
-
100
- ### Phase-2 upgrade trigger (when the deferred execution axis flips)
101
-
102
- Flip to A1×B2 scoping (platform matrix + consent UI + sandboxing) when **any**
103
- of:
104
-
105
- - **≥ 3** end-user issues request execution of *named* scripts (any tier), **or**
106
- - **≥ 1** issue requests a *write / mutate* script (flips immediately — higher
107
- risk), **or**
108
- - **≥ 1** corporate adopter requires auditable local execution.
109
-
110
- (The tie-break preferred this tighter, falsifiable trigger over a flat "≥ 20
111
- requests"; the threshold remains the maintainer's to tune.)
112
-
113
- ### Phase-2 prerequisites surfaced now (council blind-spot fold-in)
114
-
115
- These are **not** Phase-1 work (Phase 1 is ADR-only) but the roadmap's later
116
- phases should land them so a Phase-2 flip is a configuration change, not a
117
- discovery project:
118
-
119
- - A **script-dependency manifest** (each script's PyPI/stdlib imports) +
120
- **execution-tier tags** (read-only / mutate / network) + a one-time **CVE
121
- baseline scan** (`pip-audit` / `safety`), e.g. `dist/scripts-meta.json`.
122
- - A **`list-scripts`** discoverability tool that surfaces the corpus with tier +
123
- availability metadata ("execution: deferred to Phase 2") so end-users see what
124
- exists without it being runnable.
125
-
126
- ### Positive
127
-
128
- - Smallest turnkey path that solves the *stated* problem (local content access).
129
- - No new packaging toolchain, no venv, no platform matrix, no execution security
130
- surface in Phase 1.
131
- - Multi-channel content consistency + a Worker-outage fallback.
132
-
133
- ### Negative / cost
134
-
135
- - Read-only MCP tools (`memory_lookup`, `list_*`, `read_resource_body`) get a
136
- Node reimplementation (~200–300 LOC) over the shipped `dist/` artefacts,
137
- duplicating the Python handlers. Accepted as a one-time tax that buys the
138
- elimination of the trust-boundary, platform-matrix, and rollback complexity
139
- A1 would introduce.
140
-
141
- ## Alternatives
142
-
143
- | Shape | Verdict |
144
- |---|---|
145
- | **A2×B1** pure-Node stdio-lite via npm bin | **Chosen** — minimal-safe-diff, no handoff, reliability hedge |
146
- | A1×B2 full Python kernel via pipx/uvx | Deferred — no execution-demand evidence; heavy security surface |
147
- | A1×B1 full kernel via Node bin | Rejected (fatal) — Node→Python stdout pollution breaks JSON-RPC |
148
- | B3 bundled venv / self-contained binary | Deferred — only for a no-runtime audience; no data |
149
-
150
- ## References
151
-
152
- - Roadmap: `road-to-mcp-stdio-end-user-packaging` Phase 1 (under `agents/roadmaps/`).
153
- - [`ADR-067`](ADR-067-glama-registry-listing.md) — the Glama listing (targets
154
- *contributors*; this ADR targets *end-users*).
155
- - [`mcp-cloud-scope`](../contracts/mcp-cloud-scope.md) — the lite/full scope model.
156
- - [`mcp-phase-1-scope`](../contracts/mcp-phase-1-scope.md) — owns `scripts/mcp_server/` (local stdio).
157
- - Council convergence: claude-sonnet-4-5 + gpt-4o, 2026-06-10 (round 1 split
158
- A2×B1 / A1×B2, tie-break converged A2×B1).