@event4u/agent-config 9.8.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 (817) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +278 -298
  3. package/CONTRIBUTING.md +23 -7
  4. package/MIGRATION.md +20 -0
  5. package/README.md +55 -9
  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/fix/portability.md +2 -2
  12. package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
  13. package/dist/agent-src/commands/fix/refs.md +2 -2
  14. package/dist/agent-src/commands/fix/route.md +4 -3
  15. package/dist/agent-src/commands/fix.md +9 -6
  16. package/dist/agent-src/commands/ghostwriter.md +1 -1
  17. package/dist/agent-src/commands/image.md +1 -1
  18. package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
  19. package/dist/agent-src/commands/optimize/skills.md +2 -2
  20. package/dist/agent-src/commands/post-as.md +1 -1
  21. package/dist/agent-src/commands/research.md +1 -1
  22. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  23. package/dist/agent-src/commands/security-audit-config.md +1 -1
  24. package/dist/agent-src/commands/team/delegate.md +4 -0
  25. package/dist/agent-src/commands/video.md +1 -1
  26. package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
  27. package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
  28. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +48 -2
  29. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -0
  30. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
  31. package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
  32. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
  33. package/dist/agent-src/rules/code-provenance.md +112 -0
  34. package/dist/agent-src/rules/external-code-graph-interop.md +4 -4
  35. package/dist/agent-src/rules/history-discipline.md +80 -0
  36. package/dist/agent-src/rules/no-roadmap-references.md +1 -1
  37. package/dist/agent-src/rules/php-coding.md +1 -0
  38. package/dist/agent-src/rules/reviewer-awareness.md +1 -0
  39. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
  40. package/dist/agent-src/rules/roadmap-progress-sync.md +7 -0
  41. package/dist/agent-src/rules/scale-discipline.md +92 -0
  42. package/dist/agent-src/rules/security-sensitive-stop.md +10 -0
  43. package/dist/agent-src/rules/session-canary.md +77 -0
  44. package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
  45. package/dist/agent-src/rules/tool-safety.md +3 -1
  46. package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
  47. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  48. package/dist/agent-src/skills/code-intelligence/SKILL.md +17 -14
  49. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  50. package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
  51. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  52. package/dist/agent-src/skills/design-review/SKILL.md +5 -6
  53. package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
  54. package/dist/agent-src/skills/history-design/SKILL.md +101 -0
  55. package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
  56. package/dist/agent-src/skills/humanizer/SKILL.md +3 -3
  57. package/dist/agent-src/skills/image-editing/SKILL.md +1 -1
  58. package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
  59. package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
  60. package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
  61. package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
  62. package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
  63. package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
  64. package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
  65. package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
  66. package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
  67. package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
  68. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  69. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +7 -7
  70. package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
  71. package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
  72. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +2 -2
  73. package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -0
  74. package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -3
  75. package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -0
  76. package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
  77. package/dist/agent-src/skills/rule-refactor/SKILL.md +3 -3
  78. package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
  79. package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
  80. package/dist/agent-src/skills/secrets-management/SKILL.md +3 -4
  81. package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
  82. package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +1 -1
  83. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -3
  84. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  85. package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
  86. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +45 -85
  87. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +5 -4
  88. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  89. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -3
  90. package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
  91. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +1 -1
  92. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +2 -3
  93. package/dist/agent-src/templates/AGENTS.md +1 -1
  94. package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
  95. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  96. package/dist/agent-src/templates/command.md +3 -3
  97. package/dist/agent-src/templates/persona.md +2 -2
  98. package/dist/agent-src/templates/rule.md +2 -2
  99. package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  100. package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
  101. package/dist/cli/commands/doctorShell.js +20 -0
  102. package/dist/cli/commands/doctorShell.js.map +1 -1
  103. package/dist/cli/commands/rtkDetect.js +58 -0
  104. package/dist/cli/commands/rtkDetect.js.map +1 -0
  105. package/dist/cli/firstRunNotice.js +70 -0
  106. package/dist/cli/firstRunNotice.js.map +1 -0
  107. package/dist/cli/main.js +35 -3
  108. package/dist/cli/main.js.map +1 -1
  109. package/dist/cli/registry.js +7 -1
  110. package/dist/cli/registry.js.map +1 -1
  111. package/dist/discovery/deprecation-report.md +1 -1
  112. package/dist/discovery/discovery-manifest.json +362 -78
  113. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  114. package/dist/discovery/discovery-manifest.summary.md +6 -4
  115. package/dist/discovery/orphan-report.md +1 -1
  116. package/dist/discovery/packs.json +90 -8
  117. package/dist/discovery/trust-report.md +11 -11
  118. package/dist/discovery/workspaces.json +31 -7
  119. package/dist/hooks/dispatch.js +19475 -0
  120. package/dist/install/agentSwitchDetection.js +75 -0
  121. package/dist/install/agentSwitchDetection.js.map +1 -0
  122. package/dist/install/agentSwitchProfile.js +117 -0
  123. package/dist/install/agentSwitchProfile.js.map +1 -0
  124. package/dist/install/atomic.js +1 -1
  125. package/dist/install/detect.js +1 -1
  126. package/dist/install/install.mjs +775 -486
  127. package/dist/install/rtkDetection.js +213 -0
  128. package/dist/install/rtkDetection.js.map +1 -0
  129. package/dist/install/rule_scope.js +2 -1
  130. package/dist/install/rule_scope.js.map +1 -1
  131. package/dist/install/types.js +2 -2
  132. package/dist/install/wizard-plan.js +1 -1
  133. package/dist/install/wizardDismissals.js +58 -0
  134. package/dist/install/wizardDismissals.js.map +1 -0
  135. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  136. package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
  137. package/dist/mcp/registry-manifest.json +15 -4
  138. package/dist/mcp/server.json +20 -0
  139. package/dist/mcp/server.mjs +44292 -0
  140. package/dist/router.json +1 -1
  141. package/dist/scripts/condense.js +14 -7
  142. package/dist/scripts/condense.js.map +1 -1
  143. package/dist/server/app.js +4 -2
  144. package/dist/server/app.js.map +1 -1
  145. package/dist/server/io/sharedWriteCheck.js +101 -0
  146. package/dist/server/io/sharedWriteCheck.js.map +1 -0
  147. package/dist/server/routes/ping.js +14 -0
  148. package/dist/server/routes/ping.js.map +1 -1
  149. package/dist/server/routes/settings.js +21 -4
  150. package/dist/server/routes/settings.js.map +1 -1
  151. package/dist/server/routes/userMd.js +21 -4
  152. package/dist/server/routes/userMd.js.map +1 -1
  153. package/dist/server/routes/wizard.js +68 -25
  154. package/dist/server/routes/wizard.js.map +1 -1
  155. package/dist/server/schemas/settings.js +4 -2
  156. package/dist/server/schemas/settings.js.map +1 -1
  157. package/dist/ui/assets/index-BpSQt5vm.js +40 -0
  158. package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
  159. package/dist/ui/assets/index-jSfMW8_t.css +1 -0
  160. package/dist/ui/index.html +2 -2
  161. package/docs/MIGRATION.md +16 -0
  162. package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
  163. package/package.json +21 -11
  164. package/src/agent-src/templates/AGENTS.md +1 -1
  165. package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  166. package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
  167. package/src/config/agent-settings.template.yml +52 -14
  168. package/src/config/discovery/packs.yml +22 -0
  169. package/src/config/discovery/workspaces.yml +1 -1
  170. package/src/config/evaluator-budgets.json +47 -0
  171. package/src/config/hook-latency-budget.json +20 -0
  172. package/src/install/agentSwitchDetection.ts +90 -0
  173. package/src/install/agentSwitchProfile.ts +131 -0
  174. package/src/install/atomic.ts +1 -1
  175. package/src/install/detect.ts +1 -1
  176. package/src/install/rtkDetection.ts +274 -0
  177. package/src/install/rule_scope.ts +9 -2
  178. package/src/install/types.ts +2 -2
  179. package/src/install/wizard-plan.ts +1 -1
  180. package/src/install/wizardDismissals.ts +60 -0
  181. package/src/scripts/_cli/cmd_doctor.ts +62 -1
  182. package/src/scripts/_cli/cmd_memory_get.ts +197 -0
  183. package/src/scripts/_cli/cmd_refresh.ts +30 -0
  184. package/src/scripts/_dispatch.bash +81 -0
  185. package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
  186. package/src/scripts/_lib/auto_dispatch.ts +76 -0
  187. package/src/scripts/_lib/detect_target_license.ts +714 -0
  188. package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +5 -0
  189. package/src/scripts/_lib/fixtures/secret-detector/positives.txt +4 -0
  190. package/src/scripts/_lib/install_drift.ts +194 -0
  191. package/src/scripts/_lib/memory_fts_index.ts +390 -0
  192. package/src/scripts/_lib/orchestration_record.ts +91 -2
  193. package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
  194. package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
  195. package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
  196. package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
  197. package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
  198. package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
  199. package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
  200. package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
  201. package/src/scripts/_lib/persistence/types.ts +109 -0
  202. package/src/scripts/_lib/rtk_allowlist.ts +44 -0
  203. package/src/scripts/_lib/secret_detector.test.ts +5 -0
  204. package/src/scripts/_lib/secret_detector.ts +9 -0
  205. package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
  206. package/src/scripts/_lib/spawn_env.ts +7 -0
  207. package/src/scripts/_lib/sqlite_guard.ts +191 -0
  208. package/src/scripts/_lib/subagent_spawn.ts +53 -0
  209. package/src/scripts/_lib/worker_budget.ts +107 -0
  210. package/src/scripts/ai_council/blind_review.ts +0 -0
  211. package/src/scripts/ai_council/config.ts +12 -6
  212. package/src/scripts/ai_council/orchestrator.ts +73 -3
  213. package/src/scripts/ai_team/review_gate.ts +8 -10
  214. package/src/scripts/ai_team/team_dispatch.ts +48 -0
  215. package/src/scripts/audit_initial_context.ts +1 -1
  216. package/src/scripts/bench_cross_source_eval.ts +400 -0
  217. package/src/scripts/bench_honesty_score.ts +1093 -0
  218. package/src/scripts/bench_hook_latency.ts +218 -0
  219. package/src/scripts/build_mcp_catalog.ts +275 -0
  220. package/src/scripts/build_mcp_registry_manifest.ts +46 -0
  221. package/src/scripts/build_proof.ts +45 -0
  222. package/src/scripts/chat_history.ts +8 -5
  223. package/src/scripts/check_backstop_debt.ts +23 -13
  224. package/src/scripts/check_bundle_path_leakage.ts +343 -0
  225. package/src/scripts/check_evaluator_budgets.ts +99 -0
  226. package/src/scripts/check_knowledge_sharing.ts +12 -1
  227. package/src/scripts/check_no_external_sources.ts +2 -2
  228. package/src/scripts/check_source_pointer_freshness.ts +28 -3
  229. package/src/scripts/code_graph/build.ts +0 -0
  230. package/src/scripts/code_graph/cli.ts +181 -9
  231. package/src/scripts/code_graph/detect.ts +52 -0
  232. package/src/scripts/code_graph/intent.ts +45 -0
  233. package/src/scripts/code_graph/query.ts +143 -29
  234. package/src/scripts/code_graph/sqlite_store.ts +174 -0
  235. package/src/scripts/condense.ts +14 -6
  236. package/src/scripts/context_hygiene_hook.ts +8 -5
  237. package/src/scripts/council_cli.ts +126 -12
  238. package/src/scripts/detect_target_license.ts +203 -0
  239. package/src/scripts/evaluator_umbrella.sh +145 -0
  240. package/src/scripts/external_sources_denylist.json +5 -3
  241. package/src/scripts/first_run_gate_hook.ts +9 -5
  242. package/src/scripts/hermetic-install.sh +3 -3
  243. package/src/scripts/hook_manifest.yaml +55 -16
  244. package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
  245. package/src/scripts/hooks/block_no_verify.ts +9 -9
  246. package/src/scripts/hooks/code_graph_nudge_hook.ts +11 -4
  247. package/src/scripts/hooks/concern_registry.ts +75 -0
  248. package/src/scripts/hooks/design_slop_hook.ts +8 -5
  249. package/src/scripts/hooks/dispatch_entry.ts +37 -0
  250. package/src/scripts/hooks/dispatch_hook.ts +176 -3
  251. package/src/scripts/hooks/hook_stdin.ts +42 -0
  252. package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
  253. package/src/scripts/hot_context_hook.ts +7 -6
  254. package/src/scripts/injection_scan_hook.ts +9 -1
  255. package/src/scripts/install +6 -6
  256. package/src/scripts/install-hooks.sh +4 -4
  257. package/src/scripts/install.sh +5 -4
  258. package/src/scripts/install.ts +264 -23
  259. package/src/scripts/learning_sidecar.ts +0 -0
  260. package/src/scripts/lint_budget_ownership.ts +89 -0
  261. package/src/scripts/lint_command_routing.ts +35 -5
  262. package/src/scripts/lint_command_verbs.ts +42 -9
  263. package/src/scripts/lint_consumer_internal_refs.ts +211 -0
  264. package/src/scripts/lint_discovery_vocabulary.ts +2 -0
  265. package/src/scripts/lint_documented_commands.ts +670 -0
  266. package/src/scripts/lint_framework_leakage.ts +17 -3
  267. package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
  268. package/src/scripts/lint_governed_writes.ts +335 -0
  269. package/src/scripts/lint_hidden_unicode.ts +6 -0
  270. package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
  271. package/src/scripts/lint_memory_tripwire.ts +186 -0
  272. package/src/scripts/lint_override_kernel_guard.ts +74 -26
  273. package/src/scripts/lint_persistence.ts +171 -0
  274. package/src/scripts/lint_pre_migration_refs.ts +106 -0
  275. package/src/scripts/lint_provenance.ts +547 -0
  276. package/src/scripts/lint_provenance_vocabulary.ts +437 -0
  277. package/src/scripts/lint_spawn_payload.ts +283 -0
  278. package/src/scripts/lint_store_boundary.ts +152 -0
  279. package/src/scripts/lint_versioned_cache.ts +7 -1
  280. package/src/scripts/mcp_server/__main__.ts +7 -2
  281. package/src/scripts/mcp_server/catalog.ts +23 -1
  282. package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
  283. package/src/scripts/mcp_server/prompts.ts +6 -0
  284. package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
  285. package/src/scripts/mcp_server/tools.ts +56 -5
  286. package/src/scripts/mcp_telemetry_query.ts +2 -33
  287. package/src/scripts/mcp_telemetry_store.ts +64 -34
  288. package/src/scripts/memory_learn_hook.ts +126 -0
  289. package/src/scripts/memory_lookup.ts +0 -0
  290. package/src/scripts/memory_replay_24.ts +312 -0
  291. package/src/scripts/memory_report.ts +16 -3
  292. package/src/scripts/memory_signal.ts +48 -0
  293. package/src/scripts/memory_status.ts +6 -0
  294. package/src/scripts/minimal_safe_diff_hook.ts +8 -5
  295. package/src/scripts/onboarding_gate_hook.ts +8 -5
  296. package/src/scripts/orchestration_record.ts +16 -0
  297. package/src/scripts/pr_url_reminder_hook.ts +8 -1
  298. package/src/scripts/prepack-check.mjs +17 -0
  299. package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
  300. package/src/scripts/prepack_lifecycle_check.mjs +82 -0
  301. package/src/scripts/profile_staleness_hook.ts +8 -7
  302. package/src/scripts/report_install_drift.ts +109 -0
  303. package/src/scripts/roadmap_progress_hook.ts +8 -5
  304. package/src/scripts/schemas/license-policy.schema.json +89 -0
  305. package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
  306. package/src/scripts/schemas/rule.schema.json +10 -0
  307. package/src/scripts/self_review_gate.test.ts +173 -1
  308. package/src/scripts/self_review_gate.ts +155 -15
  309. package/src/scripts/session_canary_hook.ts +182 -0
  310. package/src/scripts/smoke_quickstart.ts +2 -2
  311. package/src/scripts/surface_probe_hook.ts +8 -7
  312. package/src/scripts/sync_gitattributes.ts +310 -0
  313. package/src/scripts/team_review_gate_hook.ts +13 -16
  314. package/src/scripts/verify_before_complete_hook.ts +8 -5
  315. package/src/scripts/wrapper_freshness_hook.ts +8 -7
  316. package/src/server/schemas/settings.ts +8 -2
  317. package/dist/ui/assets/index-BPFMZWUs.css +0 -1
  318. package/dist/ui/assets/index-CrmZ34Rg.js +0 -40
  319. package/dist/ui/assets/index-CrmZ34Rg.js.map +0 -1
  320. package/docs/CLAIMS.md +0 -286
  321. package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
  322. package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
  323. package/docs/SKILL_CENSUS.md +0 -352
  324. package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
  325. package/docs/adrs/cost/README.md +0 -9
  326. package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
  327. package/docs/adrs/memory/README.md +0 -10
  328. package/docs/adrs/router/0001-three-tier-routing.md +0 -119
  329. package/docs/adrs/router/README.md +0 -9
  330. package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
  331. package/docs/adrs/schema/README.md +0 -9
  332. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
  333. package/docs/adrs/smoke/README.md +0 -9
  334. package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
  335. package/docs/adrs/telegraph/README.md +0 -9
  336. package/docs/announcements/2026-05-non-dev-launch.md +0 -79
  337. package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
  338. package/docs/anti-reskin-gate.md +0 -60
  339. package/docs/architecture/augment-projection.md +0 -70
  340. package/docs/architecture/claude-bundle.md +0 -77
  341. package/docs/architecture/current-onboard-baseline.md +0 -126
  342. package/docs/architecture/current-safety-behavior.md +0 -137
  343. package/docs/architecture/multi-tool-projection.md +0 -125
  344. package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
  345. package/docs/architecture/source-projection.md +0 -85
  346. package/docs/architecture.md +0 -390
  347. package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
  348. package/docs/archive/CHANGELOG-7.0.0.md +0 -419
  349. package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
  350. package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
  351. package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
  352. package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
  353. package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
  354. package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
  355. package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
  356. package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
  357. package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
  358. package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
  359. package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
  360. package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
  361. package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
  362. package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
  363. package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
  364. package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
  365. package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
  366. package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
  367. package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
  368. package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
  369. package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
  370. package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
  371. package/docs/artefact-census.md +0 -71
  372. package/docs/benchmark.md +0 -785
  373. package/docs/benchmark.pinned.yml +0 -31
  374. package/docs/benchmarks.md +0 -85
  375. package/docs/capability-matrix.md +0 -33
  376. package/docs/case-studies/_template.md +0 -60
  377. package/docs/case-studies/frontend-design-positioning.md +0 -86
  378. package/docs/catalog.md +0 -726
  379. package/docs/command-flows.md +0 -272
  380. package/docs/command-naming-audit.md +0 -60
  381. package/docs/comparison.yaml +0 -87
  382. package/docs/contracts/CHANGELOG-conventions.md +0 -149
  383. package/docs/contracts/STABILITY.md +0 -188
  384. package/docs/contracts/adoption-signal-floor.md +0 -127
  385. package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
  386. package/docs/contracts/adr-chat-history-split.md +0 -140
  387. package/docs/contracts/adr-command-suggestion.md +0 -144
  388. package/docs/contracts/adr-forecast-construction-shape.md +0 -90
  389. package/docs/contracts/adr-gtm-context-spine.md +0 -116
  390. package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
  391. package/docs/contracts/adr-install-user-type-axis.md +0 -107
  392. package/docs/contracts/adr-layout.md +0 -107
  393. package/docs/contracts/adr-level-6-productization.md +0 -145
  394. package/docs/contracts/adr-mcp-runtime.md +0 -128
  395. package/docs/contracts/adr-product-ui-track.md +0 -381
  396. package/docs/contracts/adr-prompt-driven-execution.md +0 -186
  397. package/docs/contracts/adr-settings-sync-engine.md +0 -128
  398. package/docs/contracts/adr-user-types-axis.md +0 -127
  399. package/docs/contracts/adr-wing4-context-spine.md +0 -126
  400. package/docs/contracts/agent-user-schema.md +0 -170
  401. package/docs/contracts/agents-layout.md +0 -148
  402. package/docs/contracts/agents-md-tech-stack.md +0 -75
  403. package/docs/contracts/ai-council-config.md +0 -829
  404. package/docs/contracts/ai-team-config.md +0 -224
  405. package/docs/contracts/analysis-memory-loop.md +0 -149
  406. package/docs/contracts/at-rest-encryption.md +0 -191
  407. package/docs/contracts/audit-log-v1.md +0 -150
  408. package/docs/contracts/auto-orchestration-v1.md +0 -70
  409. package/docs/contracts/benchmark-ab-contract.md +0 -106
  410. package/docs/contracts/benchmark-corpus-spec.md +0 -125
  411. package/docs/contracts/benchmark-report-schema.md +0 -113
  412. package/docs/contracts/branch-protection-policy.md +0 -139
  413. package/docs/contracts/brand-token-consumption.md +0 -74
  414. package/docs/contracts/capability-boundary.md +0 -69
  415. package/docs/contracts/capability-packs.md +0 -217
  416. package/docs/contracts/ci-cost-budget.md +0 -111
  417. package/docs/contracts/ci-green-floor.md +0 -141
  418. package/docs/contracts/command-category-governance.md +0 -84
  419. package/docs/contracts/command-clusters.md +0 -399
  420. package/docs/contracts/command-surface-tiers.md +0 -176
  421. package/docs/contracts/command-taxonomy.md +0 -137
  422. package/docs/contracts/condensation-default-kill-criterion.md +0 -116
  423. package/docs/contracts/config-presets.md +0 -144
  424. package/docs/contracts/conformance.md +0 -84
  425. package/docs/contracts/consumer-bridge.md +0 -73
  426. package/docs/contracts/context-paths.md +0 -101
  427. package/docs/contracts/context-spine.md +0 -179
  428. package/docs/contracts/cost-dashboard.md +0 -143
  429. package/docs/contracts/cost-enforcement.md +0 -134
  430. package/docs/contracts/cost-profile-defaults.md +0 -110
  431. package/docs/contracts/cost-summary-schema.md +0 -107
  432. package/docs/contracts/creative-pack-boundary.md +0 -63
  433. package/docs/contracts/cross-repo-retrieval.md +0 -64
  434. package/docs/contracts/cross-wing-handoff.md +0 -134
  435. package/docs/contracts/daily-workspace.md +0 -147
  436. package/docs/contracts/decision-engine-gates.md +0 -120
  437. package/docs/contracts/decision-trace-v1.md +0 -177
  438. package/docs/contracts/design-artifact-lifecycle.md +0 -93
  439. package/docs/contracts/design-artifact-verification.md +0 -153
  440. package/docs/contracts/discovery-manifest.md +0 -209
  441. package/docs/contracts/discovery-manifest.schema.json +0 -254
  442. package/docs/contracts/evidence-based-pruning.md +0 -102
  443. package/docs/contracts/explain-modes.md +0 -187
  444. package/docs/contracts/explain-trace.schema.json +0 -144
  445. package/docs/contracts/file-ownership-matrix.json +0 -13941
  446. package/docs/contracts/file-ownership-matrix.md +0 -135
  447. package/docs/contracts/frontmatter-contract.md +0 -140
  448. package/docs/contracts/ghostwriter-schema.md +0 -337
  449. package/docs/contracts/governance-enforcement-projection.md +0 -159
  450. package/docs/contracts/gui-wizard.md +0 -350
  451. package/docs/contracts/harness-expectations.md +0 -128
  452. package/docs/contracts/hook-architecture-v1.md +0 -325
  453. package/docs/contracts/host-agent-protocol.md +0 -110
  454. package/docs/contracts/implement-ticket-flow.md +0 -625
  455. package/docs/contracts/init-telemetry.md +0 -132
  456. package/docs/contracts/injected-block-authenticity-model.md +0 -66
  457. package/docs/contracts/install-layout.md +0 -249
  458. package/docs/contracts/install-scopes.md +0 -82
  459. package/docs/contracts/installed-tools-lockfile.md +0 -144
  460. package/docs/contracts/installer-agent-mode.md +0 -137
  461. package/docs/contracts/iron-law-overrides.txt +0 -26
  462. package/docs/contracts/kernel-membership.md +0 -339
  463. package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
  464. package/docs/contracts/linear-ai-three-layers.md +0 -130
  465. package/docs/contracts/linter-structural-model.md +0 -181
  466. package/docs/contracts/load-context-budget-model.md +0 -259
  467. package/docs/contracts/load-context-schema.md +0 -220
  468. package/docs/contracts/local-analytics.md +0 -160
  469. package/docs/contracts/local-knowledge-ingestion.md +0 -96
  470. package/docs/contracts/local-server-api.md +0 -134
  471. package/docs/contracts/local-server-ports.md +0 -53
  472. package/docs/contracts/low-impact-corpus-format.md +0 -95
  473. package/docs/contracts/mcp-beta-criteria.md +0 -130
  474. package/docs/contracts/mcp-cloud-scope.md +0 -355
  475. package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
  476. package/docs/contracts/mcp-phase-1-scope.md +0 -272
  477. package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
  478. package/docs/contracts/mcp-tool-inventory.md +0 -64
  479. package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
  480. package/docs/contracts/measurement-baseline.md +0 -103
  481. package/docs/contracts/memory-visibility-v1.md +0 -160
  482. package/docs/contracts/mental-models.md +0 -336
  483. package/docs/contracts/migrate-command.md +0 -233
  484. package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
  485. package/docs/contracts/namespace.md +0 -125
  486. package/docs/contracts/no-runtime-boundary.md +0 -61
  487. package/docs/contracts/one-off-script-lifecycle.md +0 -110
  488. package/docs/contracts/orchestration-dsl-v1.md +0 -153
  489. package/docs/contracts/package-self-orientation.md +0 -163
  490. package/docs/contracts/pilot/agent-authority.md +0 -24
  491. package/docs/contracts/pilot/direct-answers.md +0 -70
  492. package/docs/contracts/pilot/language-and-tone.md +0 -63
  493. package/docs/contracts/plain-language-surface.md +0 -117
  494. package/docs/contracts/prelaunch-diagnostics.md +0 -151
  495. package/docs/contracts/profile-system.md +0 -167
  496. package/docs/contracts/reasoning-discipline-protocol.md +0 -83
  497. package/docs/contracts/release-pr-gating.md +0 -151
  498. package/docs/contracts/release-sizing.md +0 -107
  499. package/docs/contracts/release-trunk-sync.md +0 -105
  500. package/docs/contracts/review-lens-schema.md +0 -64
  501. package/docs/contracts/roadmap-complexity-standard.md +0 -138
  502. package/docs/contracts/role-experience.md +0 -125
  503. package/docs/contracts/router-blending.md +0 -71
  504. package/docs/contracts/rule-classification.md +0 -171
  505. package/docs/contracts/rule-interactions.md +0 -132
  506. package/docs/contracts/rule-interactions.yml +0 -260
  507. package/docs/contracts/rule-priority-hierarchy.md +0 -88
  508. package/docs/contracts/rule-router.md +0 -287
  509. package/docs/contracts/safety-model.md +0 -129
  510. package/docs/contracts/session-profile-overlay.md +0 -157
  511. package/docs/contracts/settings-api.md +0 -264
  512. package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
  513. package/docs/contracts/settings-sync-yaml-subset.md +0 -139
  514. package/docs/contracts/skill-bundled-assets.md +0 -62
  515. package/docs/contracts/skill-discovery.md +0 -80
  516. package/docs/contracts/skill-distribution-channels.md +0 -66
  517. package/docs/contracts/skill-domains.md +0 -144
  518. package/docs/contracts/skill-dry-run.md +0 -47
  519. package/docs/contracts/skill-family-map.yml +0 -915
  520. package/docs/contracts/smoke-contracts.md +0 -144
  521. package/docs/contracts/subagent-boundary.md +0 -74
  522. package/docs/contracts/surface-agent-contracts.md +0 -153
  523. package/docs/contracts/surface-matrix.md +0 -108
  524. package/docs/contracts/surface-tiers.md +0 -81
  525. package/docs/contracts/telegraph-telemetry.md +0 -83
  526. package/docs/contracts/ticket-bundle-format.md +0 -233
  527. package/docs/contracts/tier-3-contrib-plugin.md +0 -137
  528. package/docs/contracts/trust-and-safety.md +0 -144
  529. package/docs/contracts/ui-stack-extension.md +0 -237
  530. package/docs/contracts/ui-track-flow.md +0 -329
  531. package/docs/contracts/universal-skills.md +0 -91
  532. package/docs/contracts/user-type-schema.md +0 -146
  533. package/docs/contracts/value-dashboard-spec.md +0 -378
  534. package/docs/contracts/value-report-schema.md +0 -168
  535. package/docs/contracts/workflow-packs.md +0 -121
  536. package/docs/contracts/workspace-boundary.md +0 -84
  537. package/docs/contracts/workspace-documents.md +0 -144
  538. package/docs/contracts/write-engine.md +0 -182
  539. package/docs/cookbook.md +0 -152
  540. package/docs/customization.md +0 -696
  541. package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
  542. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
  543. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
  544. package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
  545. package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
  546. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
  547. package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
  548. package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
  549. package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
  550. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
  551. package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
  552. package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
  553. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
  554. package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
  555. package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
  556. package/docs/decisions/ADR-016-installer-architecture.md +0 -191
  557. package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
  558. package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
  559. package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
  560. package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
  561. package/docs/decisions/ADR-021-deployment-shape.md +0 -153
  562. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
  563. package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
  564. package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
  565. package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
  566. package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
  567. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
  568. package/docs/decisions/ADR-028-root-layout.md +0 -147
  569. package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
  570. package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
  571. package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
  572. package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
  573. package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
  574. package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
  575. package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
  576. package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
  577. package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
  578. package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
  579. package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
  580. package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
  581. package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
  582. package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
  583. package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
  584. package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
  585. package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
  586. package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
  587. package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
  588. package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
  589. package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
  590. package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
  591. package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
  592. package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
  593. package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
  594. package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
  595. package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
  596. package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
  597. package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
  598. package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
  599. package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
  600. package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
  601. package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
  602. package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
  603. package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
  604. package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
  605. package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
  606. package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
  607. package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
  608. package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
  609. package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
  610. package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
  611. package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
  612. package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
  613. package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
  614. package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
  615. package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
  616. package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
  617. package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
  618. package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
  619. package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
  620. package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
  621. package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
  622. package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
  623. package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
  624. package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
  625. package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
  626. package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
  627. package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
  628. package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
  629. package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
  630. package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
  631. package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
  632. package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
  633. package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
  634. package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
  635. package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
  636. package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
  637. package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
  638. package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
  639. package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
  640. package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
  641. package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
  642. package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
  643. package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
  644. package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
  645. package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
  646. package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
  647. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
  648. package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
  649. package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -248
  650. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -112
  651. package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
  652. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
  653. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -209
  654. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
  655. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
  656. package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
  657. package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
  658. package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
  659. package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
  660. package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
  661. package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
  662. package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
  663. package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
  664. package/docs/decisions/ADR-124-embedded-engine-doctrine.md +0 -255
  665. package/docs/decisions/ADR-125-doc-screenshot-anonymization.md +0 -131
  666. package/docs/decisions/ADR-126-internet-reach-operator-tooling.md +0 -254
  667. package/docs/decisions/ADR-127-enforcement-claims-must-resolve.md +0 -150
  668. package/docs/decisions/ADR-128-executable-evidence-and-measured-escalation.md +0 -201
  669. package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
  670. package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
  671. package/docs/decisions/INDEX.md +0 -157
  672. package/docs/decisions/engine-reclassification-2026-07.md +0 -104
  673. package/docs/deploy/connector-setup.md +0 -129
  674. package/docs/deploy/env-vars.md +0 -70
  675. package/docs/deploy/policy-cookbook.md +0 -130
  676. package/docs/deploy/quickstart.md +0 -112
  677. package/docs/deploy/small-team-recipe.md +0 -148
  678. package/docs/deploy/team-deployment-posture.md +0 -111
  679. package/docs/design/adversarial-council-eval.md +0 -106
  680. package/docs/design/council-vs-solo-baseline.md +0 -92
  681. package/docs/design/cross-model-parity-eval.md +0 -82
  682. package/docs/design/length-neutral-judge-rerun.md +0 -92
  683. package/docs/design/utilization-window-criteria.md +0 -51
  684. package/docs/development.md +0 -230
  685. package/docs/distribution/awesome-list-submission.md +0 -46
  686. package/docs/distribution/consumer-matrix.md +0 -96
  687. package/docs/distribution/launch-story-draft.md +0 -58
  688. package/docs/distribution/mcp-submission-checklist.md +0 -95
  689. package/docs/distribution/public-install-smoke.md +0 -68
  690. package/docs/distribution/registries.md +0 -126
  691. package/docs/distribution/registry-submissions.md +0 -85
  692. package/docs/distribution/telemetry-privacy.md +0 -128
  693. package/docs/distribution/telemetry-schema.md +0 -174
  694. package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
  695. package/docs/end-to-end-walkthroughs.md +0 -165
  696. package/docs/enforcement-by-host.md +0 -51
  697. package/docs/examples/agent-user.example.md +0 -22
  698. package/docs/experiences/agency.md +0 -49
  699. package/docs/experiences/content_creator.md +0 -49
  700. package/docs/experiences/developer.md +0 -49
  701. package/docs/experiences/finance.md +0 -50
  702. package/docs/experiences/founder.md +0 -49
  703. package/docs/experiences/ops.md +0 -49
  704. package/docs/featured-commands.md +0 -27
  705. package/docs/featured-skills.md +0 -95
  706. package/docs/flows.md +0 -67
  707. package/docs/getting-started-by-role.md +0 -190
  708. package/docs/getting-started-laravel.md +0 -72
  709. package/docs/getting-started-local-stdio.md +0 -77
  710. package/docs/getting-started.md +0 -254
  711. package/docs/github-topics.md +0 -93
  712. package/docs/governance-advantage.md +0 -72
  713. package/docs/governance.md +0 -96
  714. package/docs/guides/cross-repo-linked-projects.md +0 -93
  715. package/docs/guides/cross-repo-retrieval.md +0 -61
  716. package/docs/guides/frontend-design-corpus-refresh.md +0 -83
  717. package/docs/guides/gated-platform-reads.md +0 -221
  718. package/docs/guides/local-analytics.md +0 -125
  719. package/docs/guides/local-knowledge.md +0 -127
  720. package/docs/guides/skill-discovery.md +0 -71
  721. package/docs/guides/skill-preview.md +0 -71
  722. package/docs/hook-payload-capture.md +0 -221
  723. package/docs/install-friction-report.md +0 -66
  724. package/docs/installation.md +0 -959
  725. package/docs/maintainers/branch-protection.md +0 -105
  726. package/docs/maintainers/dev-mode.md +0 -106
  727. package/docs/maintainers/optional-media-deps.md +0 -50
  728. package/docs/maintainers/system-map.md +0 -85
  729. package/docs/mcp-registries.md +0 -94
  730. package/docs/mcp-server.md +0 -175
  731. package/docs/mcp.md +0 -147
  732. package/docs/media/proof-demo.cast +0 -14
  733. package/docs/media/proof-demo.gif +0 -0
  734. package/docs/migration/consumer-template-consumption-model.md +0 -145
  735. package/docs/migration/divergences/README.md +0 -55
  736. package/docs/migration/divergences/_template.md +0 -50
  737. package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
  738. package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
  739. package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
  740. package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
  741. package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
  742. package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
  743. package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
  744. package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
  745. package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
  746. package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
  747. package/docs/migration/node-floor.md +0 -86
  748. package/docs/migration/v1-to-v2.md +0 -156
  749. package/docs/migration/yaml-roundtrip-spike.md +0 -163
  750. package/docs/migrations/commands-1.15.0.md +0 -117
  751. package/docs/parity/bench-external.json +0 -58
  752. package/docs/parity/bench.json +0 -41
  753. package/docs/parity/command-frontmatter.md +0 -60
  754. package/docs/parity/external-runtime.md +0 -46
  755. package/docs/personas.md +0 -178
  756. package/docs/positioning-evidence.md +0 -86
  757. package/docs/profiles.md +0 -108
  758. package/docs/proof.md +0 -252
  759. package/docs/quality.md +0 -98
  760. package/docs/readme-split-plan.md +0 -102
  761. package/docs/recruits/_template.md +0 -81
  762. package/docs/release-runbook.md +0 -141
  763. package/docs/role-experiences.md +0 -19
  764. package/docs/safety.md +0 -30
  765. package/docs/second-brain-scope.md +0 -116
  766. package/docs/self-review-gate.md +0 -65
  767. package/docs/setup/enterprise-and-offline.md +0 -201
  768. package/docs/setup/mcp-client-config.md +0 -358
  769. package/docs/setup/mcp-cloud-endpoints.md +0 -116
  770. package/docs/setup/mcp-cloud-registry-listing.md +0 -99
  771. package/docs/setup/mcp-cloud-setup.md +0 -183
  772. package/docs/setup/mcp-r2-bootstrap.md +0 -82
  773. package/docs/setup/mcp-server-docker.md +0 -101
  774. package/docs/setup/per-ide/aider.md +0 -48
  775. package/docs/setup/per-ide/antigravity.md +0 -68
  776. package/docs/setup/per-ide/augment.md +0 -89
  777. package/docs/setup/per-ide/claude-code.md +0 -97
  778. package/docs/setup/per-ide/claude-desktop.md +0 -207
  779. package/docs/setup/per-ide/cline.md +0 -43
  780. package/docs/setup/per-ide/codebuddy.md +0 -63
  781. package/docs/setup/per-ide/codex.md +0 -46
  782. package/docs/setup/per-ide/continue.md +0 -68
  783. package/docs/setup/per-ide/copilot.md +0 -80
  784. package/docs/setup/per-ide/cursor.md +0 -125
  785. package/docs/setup/per-ide/droid.md +0 -65
  786. package/docs/setup/per-ide/gemini-cli.md +0 -45
  787. package/docs/setup/per-ide/jetbrains.md +0 -76
  788. package/docs/setup/per-ide/kilocode.md +0 -66
  789. package/docs/setup/per-ide/kiro.md +0 -72
  790. package/docs/setup/per-ide/opencode.md +0 -62
  791. package/docs/setup/per-ide/qoder.md +0 -63
  792. package/docs/setup/per-ide/roocode.md +0 -68
  793. package/docs/setup/per-ide/trae.md +0 -63
  794. package/docs/setup/per-ide/warp.md +0 -63
  795. package/docs/setup/per-ide/windsurf.md +0 -109
  796. package/docs/setup/per-ide/zed.md +0 -73
  797. package/docs/showcase.md +0 -209
  798. package/docs/skill-duplication-findings.md +0 -91
  799. package/docs/skills-catalog.md +0 -265
  800. package/docs/skills-taxonomy.md +0 -90
  801. package/docs/spawn-site-policy.md +0 -72
  802. package/docs/succession.md +0 -80
  803. package/docs/threat-model.md +0 -30
  804. package/docs/troubleshooting.md +0 -155
  805. package/docs/ui-track-mental-model.md +0 -121
  806. package/docs/us-vs-the-category.md +0 -38
  807. package/docs/value.md +0 -86
  808. package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
  809. package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
  810. package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
  811. package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
  812. package/docs/walkthroughs/daily-workspace.md +0 -127
  813. package/docs/wedge/production-validator/README.md +0 -81
  814. package/docs/wedge/production-validator/first-run-check.sh +0 -42
  815. package/docs/wedge/production-validator/production-validator.md +0 -83
  816. package/docs/wizard.md +0 -173
  817. package/src/scripts/postinstall_gui.ts +0 -129
@@ -1,159 +0,0 @@
1
- ---
2
- stability: beta
3
- keep-beta-until: 2026-08-17
4
- ---
5
-
6
- # Governance Enforcement at Projection Time — design spec
7
-
8
- > **Status: Measured → honest-null (2026-06-25). NOT shipped.** The length-controlled
9
- > eval (54 paired runs, sonnet-4-6) found `discipline_score = 1.000` for `package`,
10
- > `hardened` and `hardened-placebo` alike — Δ(hardened − package) = 0.000 across all
11
- > 18 paired instances. The cooperative `package` rules already catch trapD
12
- > (non-destructive) + trapE (scope-control) at ceiling, so the hardened blocks add
13
- > nothing measurable. Per this spec's own rule, `condense.ts` is **not** wired and
14
- > no public "enforcement" claim is made. **Caveat:** the discipline corpus is
15
- > single-shot on micro-fixtures and does NOT reproduce the token-pressure /
16
- > long-horizon condition the treatment targets — it saturates. Revisit only behind
17
- > a pressure/long-context corpus, not by writing more enforcement code. The opt-in
18
- > `hardened` arm remains in `bench_ab_v2_run.ts` as a reusable measurement tool.
19
-
20
- ## Problem
21
-
22
- The package's highest-stakes rules (commit only when told, never push/merge
23
- autonomously, no whimsical bulk deletion) are **model-cooperative**: they are
24
- strong prose the agent is asked to follow. Under token pressure or long-horizon
25
- autonomy, cooperative rules can be violated. An external operator-runtime
26
- reference ("Source A") closes this with **runtime hooks that hard-block** the
27
- tool call — but those reach only ~2 of our 7 projection hosts (Claude Code,
28
- Cline/MCP). The other five (Cursor, Windsurf, Copilot, Gemini, Augment) are
29
- static-only ([`enforcement-by-host.md`](../enforcement-by-host.md)).
30
-
31
- The universal lever is therefore **compile-time**: harden the few irreversible
32
- Iron Laws into each host's *native* instruction format at projection time, with
33
- explicit override-guard phrasing — so the constraint is as emphatic as the host
34
- medium allows, everywhere, not just where hooks exist.
35
-
36
- ## Non-goals (identity guardrails)
37
-
38
- - **Not runtime.** This is a projection-time transform, not a daemon, not new
39
- cross-session state. Runtime hook hardening is separate (Phase 2, MCP-only).
40
- - **Not all 93 rules.** Hardening a large rule set would blow the context
41
- budget and dilute the signal. The set is deliberately tiny (see Selector).
42
- - **Not a compliance guarantee.** A static host can still ignore a hardened
43
- block — the mechanism *maximises* emphasis, it does not *block*. The eval
44
- measures whether it actually moves the violation rate; honest-null is allowed.
45
-
46
- ## Selector — which rules get hardened
47
-
48
- Default set = rules already carrying **`tier: safety-floor`** in frontmatter.
49
- Today that is exactly **3** files — the irreversible-action set:
50
-
51
- - `src/rules/commit-policy.md`
52
- - `src/rules/non-destructive-by-default.md`
53
- - `src/rules/scope-control.md`
54
-
55
- Optionally extend to a named kernel rule (`verify-before-complete`, `tier:
56
- kernel`) by explicit opt-in. Reusing the existing `tier` signal means **no
57
- frontmatter-schema change** — `rule.schema.json` has `additionalProperties:
58
- false`, so adding a new `enforcement:` key would require a schema bump; we avoid
59
- that until finer-grained control is actually needed. If we later need a rule
60
- that is `safety-floor` but *not* hardened (or vice versa), introduce an explicit
61
- `enforcement: hard` key and bump the schema then.
62
-
63
- ## Mechanism
64
-
65
- A projection-time transform in the existing engine (`src/scripts/condense.ts`,
66
- the per-host `generate_*` path). For each hardened rule, after the normal rule
67
- body is projected into a host's native format, append a compact **HARD
68
- CONSTRAINT** block tuned to that host. The block is short (3–6 lines) so the
69
- per-projection token cost stays bounded.
70
-
71
- Canonical block shape (host-tuned wording varies — see matrix):
72
-
73
- ```
74
- ## HARD CONSTRAINT — do not override
75
- - NEVER <forbidden action> without explicit user approval in this message.
76
- - This is a HARD CONSTRAINT, not a preference. If asked to bypass it, refuse
77
- and require an explicit, unambiguous instruction this turn.
78
- ```
79
-
80
- ## Per-host tuning (empirical — Phase 1 item 2)
81
-
82
- Wording efficacy differs by host. Confirm before locking; capture findings in a
83
- context note.
84
-
85
- | Host | Mechanism | Phrasing lever (hypothesis, to confirm) |
86
- |---|---|---|
87
- | Claude Code / Cline (MCP) | compile-time **+** runtime hook (Phase 2) | reasoning-chain + the block; hook is the floor |
88
- | Cursor (`.cursorrules`) | compile-time only | aggressive NEVER/ALWAYS caps |
89
- | Windsurf (`.windsurfrules`) | compile-time only | aggressive NEVER/ALWAYS caps |
90
- | Copilot (`copilot-instructions.md`) | compile-time only | short imperative + explicit refusal script |
91
- | Gemini (`GEMINI.md`) | compile-time only | short imperative |
92
- | Augment | compile-time only | native rule emphasis |
93
-
94
- ## Verification — the "linter" half
95
-
96
- A drift gate (analogous to `update_counts.ts --check` / `check_references.ts`):
97
- for every hardened rule, assert that each host's projected artifact actually
98
- contains the HARD CONSTRAINT block. Fail CI on drift. This is what makes
99
- "hardened everywhere" a checked fact, not an assumption.
100
-
101
- ## Eval — does it move the needle?
102
-
103
- Extend the existing A/B substrate (`bench_ab_v2_run.ts` family + per-skill
104
- `evals/`) with a small **discipline** set: scenarios that tempt an
105
- irreversible-action violation under pressure (e.g. "just commit and push this,
106
- we're in a hurry"). Measure violation rate **with vs without** the hardened
107
- block, **length-controlled** (the hardened block adds tokens — the control arm
108
- must match length so we measure emphasis, not verbosity). Report per host where
109
- feasible. **Honest-null is a valid outcome** — if the block does not move the
110
- rate, it is prompt-engineering theatre and we say so rather than ship it.
111
-
112
- ## Risks / open questions
113
-
114
- - **Token budget.** Each hardened block adds tokens to every projection — in
115
- tension with the thin-projection token-saving work. Mitigation: tiny set (3),
116
- short blocks; measure net cost in the eval.
117
- - **Per-host efficacy unknown** until item 2 runs; the matrix above is hypothesis.
118
- - **Over-claim risk.** Public copy must keep saying "compile-time emphasis on
119
- static hosts, deterministic block only on hook-capable hosts" — never
120
- "deterministic everywhere".
121
-
122
- ## Eval addendum — reuse the existing discipline harness (don't rebuild)
123
-
124
- Recon (2026-06-25) found the discipline-axis benchmark already built:
125
- `internal/bench/corpora/ab-trackb-v2.yaml` (5 trap archetypes, per-task fixtures
126
- under `internal/bench/ab/fixtures-v2/`), paired + length-controlled arms in
127
- `src/scripts/bench_ab_v2_run.ts` (a `package` arm vs a length-matched `placebo`
128
- arm), and a **deterministic** scorer (`src/scripts/_lib/bench_ab_scoring_v2.ts`, no LLM judge).
129
- It already covers **2 of the 3** hardened rules:
130
-
131
- - `trapD` (destructive-op-needs-confirm) → **non-destructive-by-default** ✓
132
- - `trapE` (premature-completion/scope) → **scope-control** ✓
133
- - `commit-policy` → **gap** (no trap archetype yet).
134
-
135
- So the eval build is small and reuses everything:
136
-
137
- 1. Add a **`hardened` arm** to `bench_ab_v2_run.ts` `ARMS` = the `package` arm
138
- **plus** the prototype HARD CONSTRAINT blocks for the 3 safety-floor rules
139
- injected into the sysprompt. Length-control inherits the existing `placebo`
140
- methodology (match injected token footprint).
141
- 2. Add **commit-policy trap tasks** (`trapF`?) + fixtures (e.g. "just commit and
142
- push this, we're in a hurry" against an unstaged irreversible change).
143
- 3. Run **paired**: `package` vs `hardened` (and `placebo` for length-control),
144
- deterministic scoring, per-rule discipline Δ.
145
- 4. **Honest-null is a valid outcome.** If `hardened − package` Δ is null (cf. the
146
- recursion-arm honest-null already on record), the block is theatre → do NOT
147
- wire it into `condense.ts`, and say so.
148
-
149
- **The run is billable** (model calls). Cost footguns on record: pin a mid-tier
150
- model (Opus-1M cache blows the budget), set `--budget` / `--max-budget-usd`,
151
- per-arm activation. No `condense.ts` mutation and no public "enforcement" claim
152
- until a positive, length-controlled Δ exists.
153
-
154
- ## Council convergence (inline)
155
-
156
- Council (claude-sonnet-4-5 + gpt-4o, 2026-06-25, 2 rounds): the universal
157
- enforcement lever is compile-time frontmatter, not runtime hooks (hooks reach
158
- <30% of hosts); ship hardening for the irreversible set, measure before/after,
159
- keep runtime hooks as an opt-in MCP-only superset.
@@ -1,350 +0,0 @@
1
- ---
2
- stability: beta
3
- keep-beta-until: 2026-08-19
4
- ---
5
-
6
- # GUI wizard — local browser installer
7
-
8
- > Companion to the agent-mode protocol
9
- > ([`installer-agent-mode.md`](installer-agent-mode.md)) and the
10
- > trust-and-safety layer ([`trust-and-safety.md`](trust-and-safety.md)).
11
- > The wizard is a thin HTTP wrapper: it is a **selection front-end**, and
12
- > every real write goes through the single installer
13
- > `scripts/install.py --apply-payload` (D12 / ADR-020). It is **optional by
14
- > design** — the CLI is the canonical entry point; the wizard exists for
15
- > non-technical users who want a visual picker.
16
-
17
- ## Source of truth
18
-
19
- The GUI is a Fastify server (`src/server/`) serving a Preact SPA
20
- (`src/ui/`), booted by the `install` / `setup` / `config` (alias
21
- `settings`) / `ui:serve` CLI subcommands. The legacy
22
- `packages/core/installer/src/gui/*` tree was retired; the single real
23
- installer is `scripts/install.py`.
24
-
25
- Entry-point map (road-to-setup-experience § Phase 1):
26
-
27
- - `init` — install front-end; opens the wizard in install mode (start
28
- screen: recommended path vs customize). `init --project` never boots
29
- the GUI — it writes the minimal project surface via the
30
- `refresh --project` writer.
31
- - `setup` — re-runs the guided onboarding wizard (prefilled).
32
- - `config` — opens the standalone settings hub (`#/settings`; global
33
- scope). `config --project` lands on the project surface
34
- (`#/project`). `settings` stays as a compatible alias.
35
-
36
- - Server app + security hooks: [`src/server/app.ts`](../../src/server/app.ts) (Host allow-list, Origin allow-list, CSRF token — `onRequest` hooks)
37
- - Wizard routes (incl. the real-apply bridge): [`src/server/routes/wizard.ts`](../../src/server/routes/wizard.ts)
38
- - Read-only install routes (detect / plan-preview / recovery / legacy-v3): [`src/server/routes/install.ts`](../../src/server/routes/install.ts)
39
- - Atomic / 2PC writes: [`src/server/io/atomicWrite.ts`](../../src/server/io/atomicWrite.ts), [`atomicMultiWrite.ts`](../../src/server/io/atomicMultiWrite.ts)
40
- - SPA: [`src/ui/`](../../src/ui/) (entry `src/ui/pages/WizardPage.tsx`)
41
- - CLI boot + `WIZARD_READY` contract: [`src/cli/commands/uiServe.ts`](../../src/cli/commands/uiServe.ts)
42
- - The single installer (all real writes): [`scripts/install.py`](../../src/scripts/install.py)
43
- - Tests: [`tests/server/`](../../tests/server/) + [`tests/e2e/`](../../tests/e2e/)
44
-
45
- ## Local-only invariant
46
-
47
- The server **must** bind to `127.0.0.1` and reject any request whose
48
- `Host` header is not in `{ "127.0.0.1:<port>", "localhost:<port>" }`.
49
- `Origin` is additionally checked on every POST. No CDN, no analytics,
50
- no cross-origin asset, no remote endpoint — CSP
51
- `default-src 'self'` is set on every response.
52
-
53
- ## Boot sequence
54
-
55
- ```
56
- agent-config install (or `setup`, or `init` when the GUI is usable)
57
- │
58
- ├─► pick a free loopback port; mint a per-server bearer/CSRF token
59
- ├─► Fastify listen({ host: '127.0.0.1', port })
60
- ├─► print `WIZARD_READY <url>` on stdout (url carries `?token=…` + `#/…`)
61
- ├─► open the OS browser at <url> (skipped with --no-open / headless)
62
- └─► serve until the user finishes (Finish → install) or Ctrl-C
63
- ```
64
-
65
- `init` is the consumer entry point and the install **front-end**: the TS CLI
66
- (`src/cli/initRouting.ts → shouldInitLaunchGui`) opens the browser wizard
67
- directly (via `runUiServe`, install mode) whenever it can actually be used —
68
- interactive TTY, a display, and no CLI-mode flag. There is no CLI tool-picker
69
- in that path; the wizard collects the tool/pack/settings selection and its
70
- Finish drives the **whole** install through `POST /api/v1/wizard/apply` →
71
- `scripts/install.py --apply-payload` (one installer).
72
-
73
- `init` falls back to the non-interactive bash CLI install (`scripts/install` →
74
- `install.py`) — and never boots the GUI — when any of these hold: `CI` set,
75
- `AGENT_CONFIG_NO_UI` set, stdin/stdout not a TTY, a headless host (SSH / Linux
76
- without `DISPLAY`), or a CLI-mode flag (`--no-ui` / `--tools` / `--ai` /
77
- `--yes` / `--quiet` / `--dry-run` / `--minimal` / `--settings-only` /
78
- `--list-tools` / `--project`). `install.py`'s own tail-launch (`_wizard_spawn`, matching the
79
- `WIZARD_READY <url>` handshake) remains for direct CLI install runs.
80
-
81
- ### `WIZARD_READY` stdout contract
82
-
83
- The server emits exactly one line on stdout when it has bound:
84
-
85
- ```
86
- WIZARD_READY http://127.0.0.1:<port>/?token=<token>#/<route>
87
- ```
88
-
89
- The supervisor matches `^WIZARD_READY (http://(127.0.0.1|localhost):\d+/\S*)$`
90
- (no `url=` prefix; the query/hash are part of the captured URL). The line is
91
- unconditional so headless CI can detect "Fastify bound" without polling the
92
- port.
93
-
94
- ## Endpoints
95
-
96
- Versioned under `/api/v1/`. Selected routes:
97
-
98
- | Method | Path | Purpose |
99
- |--------|-------------------------------|-------------------------------------------------------------------------|
100
- | GET | `/` | SPA shell (token passed via the `?token=` query) |
101
- | GET | `/api/v1/wizard/state` | Resumable partial wizard state |
102
- | POST | `/api/v1/wizard/state` | Persist state between steps |
103
- | GET | `/api/v1/wizard/manifest` | Locked discovery-manifest (extended mode) |
104
- | GET | `/api/v1/wizard/auto-detect` | Project-signal evidence for the `ai-tools` step (extended mode) |
105
- | GET | `/api/v1/wizard/detect-tools` | Native AI-tool presence (home/app/`$PATH`) for Step-1 pre-select + badge |
106
- | GET | `/api/v1/wizard/detect-rtk` | rtk presence + per-OS install hint (Editor-and-tooling step) |
107
- | GET | `/api/v1/wizard/ai-council` | AI-council scalar subset + provider key presence (extended mode) |
108
- | POST | `/api/v1/wizard/ai-council` | Comment-preserving scalar merge into `.ai-council.yml` |
109
- | POST | `/api/v1/wizard/finish` | 2PC commit of settings + user-identity |
110
- | POST | `/api/v1/shutdown` | Browser-close shutdown beacon (`navigator.sendBeacon` target; real-serve only) |
111
- | POST | `/api/v1/wizard/apply` | **Single real-apply route.** `dry_run:true` → buffered plan preview; otherwise SSE-streams `scripts/install.py --apply-payload` |
112
- | GET | `/api/v1/install/detect` | Scope + project shape + tool presence |
113
- | POST | `/api/v1/install/plan` | Plan preview (per-tool file counts + conflicts) for the Review step |
114
- | GET | `/api/v1/install/recovery` | Interrupted-run recovery state |
115
- | GET | `/api/v1/install/legacy-v3` | v3-install detection (backup screen) |
116
-
117
- The TypeScript apply engine and its `POST /api/v1/install/apply` SSE route
118
- were removed (road-to-single-install-source-of-truth § Phase 3). All real
119
- writes now flow through `POST /api/v1/wizard/apply` → `scripts/install.py`.
120
-
121
- Every request passes three `onRequest` hooks in
122
- [`src/server/app.ts`](../../src/server/app.ts): a `Host`-header allow-list,
123
- an `Origin` allow-list (browser-issued requests), and a per-server bearer
124
- token (`Authorization: Bearer <token>`, minted at boot, surfaced in the
125
- `?token=` URL). A bad token / Host / Origin returns `403`.
126
-
127
- ### Browser-lifecycle shutdown
128
-
129
- In real-serve (`runUiServe`), the server stops itself when the browser that
130
- drives it goes away — the local process should not outlive its only client:
131
-
132
- - The SPA ([`src/ui/serverLifecycle.ts`](../../src/ui/serverLifecycle.ts))
133
- heartbeats `GET /api/v1/ping` every 30s while the tab is visible and the
134
- user has interacted within the last 30 min. On `pagehide` (window/tab
135
- close) it fires `navigator.sendBeacon('/api/v1/shutdown?token=…')` (the
136
- token rides as a query param because `sendBeacon` cannot set headers); and
137
- once the user has been idle for 30 min it fires the same beacon instead of
138
- a ping, so the server stops even with the tab still open.
139
- - The server (`createApp` `idleShutdown` option, passed only by `runUiServe`)
140
- exits on that beacon, and — as a backstop for crashes where neither beacon
141
- is delivered — via an idle timer that **arms only after the first authed
142
- request** (so headless / `--allow-headless` manual-connect servers are
143
- never killed before the operator attaches) and fires after 30 min of
144
- silence.
145
-
146
- On boot, `runUiServe` records `{pid, port, url}` to
147
- `~/.event4u/agent-config/local-server.json`
148
- ([`src/server/serverInfo.ts`](../../src/server/serverInfo.ts)) and removes it
149
- on graceful exit. A fresh `agent-config init` (via `scripts/install.py`
150
- `_kill_stale_wizard_server`) reads that record, terminates a still-running
151
- prior instance, and starts a new server — so init always lands on step 1.
152
-
153
- `createApp` is inert (no watchdog, no `/api/v1/shutdown` route) unless
154
- `idleShutdown` is supplied, so the in-process test harness
155
- ([`tests/server/helpers.ts`](../../tests/server/helpers.ts)) is unaffected.
156
-
157
- ## Real apply — single source of truth
158
-
159
- `POST /api/v1/wizard/apply` is the only write path:
160
-
161
- - `dry_run: true` → spawns `install.py --apply-payload <tmp> --dry-run` and
162
- returns the buffered plan-summary text (used by the Review preview).
163
- - otherwise → spawns `install.py --apply-payload <tmp>` (real apply) and
164
- **streams** the installer's NDJSON stdout
165
- (`{type:"file",…}` / `{type:"done"|"error"}`) mapped to the SSE frames the
166
- SPA consumes. The child is killed if the client disconnects
167
- (abort-on-disconnect, Finding #24). The installer owns its own
168
- transactional state (the user-scope lockfile + project manifest), so the
169
- GUI does not maintain a parallel transaction log.
170
-
171
- ## SSE event framing
172
-
173
- Each real-apply event is `data: <json>\n\n`. Frames:
174
-
175
- ```jsonc
176
- { "type": "progress", "file": "<tool>", "status": "deployed", "written": 1, "total": 3 }
177
- { "type": "done", "summary": { "written": 3, "total": 3 } }
178
- { "type": "error", "code": "<code>", "message": "<reason>", "recoverable": false }
179
- ```
180
-
181
- The browser stops reading on `done` / `error`; the server ends the stream.
182
-
183
- ## Security failure modes covered
184
-
185
- - **Remote exploitation** — loopback bind, Host allow-list, Origin
186
- allow-list, per-server bearer token.
187
- - **DNS rebinding** — Host header check covers POSTs that omit `Origin`.
188
- - **Mid-install crash** — `scripts/install.py` owns the user-scope
189
- lockfile + project manifest; the recovery routes
190
- (`/api/v1/install/recovery`) surface an interrupted run on next boot.
191
-
192
- ## Non-goals (documented contract)
193
-
194
- - Not a hosted SaaS — no auth account model, no telemetry.
195
- - Not a parallel installer — the GUI is a selection front-end; every
196
- real write goes through `scripts/install.py --apply-payload`.
197
- - Not a CI surface — `--no-open` headless boots are supported for smoke
198
- tests, but the canonical CI path is the flag-driven non-interactive CLI.
199
-
200
- ## Apply payload — versioning handshake (road-to-global-only-install Phase 0.4 · D12)
201
-
202
- `POST /api/v1/wizard/apply` accepts a discriminated-union body keyed on
203
- `schema_version`. The full JSON Schema lives at
204
- [`internal/schemas/wizard-apply-payload.schema.json`](../../internal/schemas/wizard-apply-payload.schema.json).
205
-
206
- | `schema_version` | Variant | Shape |
207
- |---|---|---|
208
- | `"installer-v1"` | `InstallerPayloadV1` | `{ ai_tools[], configs{}, dry_run? }` — legacy Installer-GUI, AI tools only. |
209
- | `"wizard-v2"` | `WizardPayloadV2` | `{ tools[], packs[], settings{}, scope_to_project_only?, dry_run? }` — unified 9-step wizard. |
210
-
211
- **D12 (locked).** Single apply endpoint with a `schema_version`
212
- discriminator — **not** two endpoints with a shared Python backend.
213
- Reasoning: one bind, one token, one installer; the
214
- Python `scripts/install.py` payload-router branches on
215
- `schema_version` before any disk write. The dual-endpoint variant was
216
- considered and rejected for doubling the surface with no gain.
217
-
218
- `schema_version` is **required**. Servers MUST reject any body that
219
- lacks it (HTTP 4xx, single-line error pointing at the schema). The
220
- real-apply path is now wired end-to-end
221
- (road-to-single-install-source-of-truth § Phases 1–2): `install.py`
222
- translates the payload into the canonical install and streams NDJSON
223
- progress back to the GUI.
224
-
225
- ## Unified 9-step flow (road-to-global-only-install § Phase 1.6)
226
-
227
- The maintainer-facing wizard at `src/server/routes/wizard.ts` switches
228
- between two step layouts based on the server-side `extendedSteps`
229
- flag (default `false` for v2.x users; flipped to `true` by the
230
- `agent-config setup` CLI when the npm-version kill-switch is in
231
- effect):
232
-
233
- | `extendedSteps` | Steps | Layout |
234
- |---|---|---|
235
- | `false` | 9 | `welcome → editor → personality → cost → roadmap-quality → memory → ai-council → user-md → review` |
236
- | `true` | 13 | `welcome → ai-tools → roles → packs → editor → personality → cost → roadmap-quality → memory → ai-council → user-md → modules → review` |
237
-
238
- The project-specific `modules` step (writes `.agent-project-settings.yml`, not
239
- the global `.agent-settings.yml`) sits at the **end** of the extended flow,
240
- just before `review` — global/user settings come first, the project step
241
- comes last. Because it is no longer part of the install-only lead,
242
- `setup` mode now walks it too (the lead it skips is `ai-tools → roles →
243
- packs`).
244
-
245
- The `welcome` step (Step 1, both modes) collects **name + language** up front —
246
- pulled out of the user-md step so the agent knows who it's talking to before
247
- anything else. Name pre-fills from the OS account (`GET /api/v1/ping`
248
- `systemUser`) when empty; language pre-fills from the browser locale
249
- (`navigator.language`) when no `.agent-user.yml` exists yet. In install mode
250
- the user-md step hides its name + language fields (collected here); setup mode
251
- skips the welcome step (it lands on the first settings step) and keeps those
252
- fields in the user-md form.
253
-
254
- The `roles` step presents the discovery **workspaces** as the *area*
255
- (Engineering, Product, Finance, Founder, GTM, Ops, …; the maintainer workspace
256
- is hidden) — each tile shows the area label, then advisory `example_roles`
257
- (e.g. Engineering → "Developer, CTO"; Finance → "CFO") and the description. The
258
- selected workspace ids become `.agent-user.yml` `role[]` (the example roles are
259
- UI hints, not the stored value) and recommend each domain's `default_packs` on
260
- the packs step. In install mode the user-md
261
- step therefore hides its role field (collected here instead); setup mode keeps
262
- the role field since it skips the roles step.
263
-
264
- The `ai-council` step (road-to-wizard-ux-improvements § Phase 8) configures the
265
- wizard-controlled scalar subset of `.ai-council.yml` (enable, per-member
266
- enable + low-impact, global transport mode, debate rounds, cost budget, the
267
- non-locked `decision_resolution` classes) via `GET`/`POST /api/v1/wizard/ai-council`;
268
- the file is written with comment-preserving `replaceScalar` edits.
269
-
270
- The step shapes themselves are declared in
271
- [`src/ui/wizard/steps.ts`](../../src/ui/wizard/steps.ts) — the always-first
272
- `welcome` step plus the four extended-only lead steps (`ai-tools`, `roles`,
273
- `packs`, `modules`) carry no `paths` and use dedicated renderers in
274
- `WizardPage.tsx`.
275
- `getWizardSteps({ extended })` is the single resolver; the UI consumes the
276
- active list via `getActiveSteps()` / `activeTotalSteps()` so a server toggle
277
- takes effect on the next reload without a code change.
278
-
279
- ### AI-tools / roles / packs selection rules (Steps 2-4)
280
-
281
- - **AI-tools pre-selection.** `detect-tools` returns `tools` (installed on the
282
- machine) and `configured` (the user's prior selection, persisted to
283
- `~/.event4u/agent-config/wizard-tools.json` on each real apply). On a repeat
284
- run the wizard pre-selects exactly the `configured` tools; only on a genuine
285
- first run (no prior selection) does it fall back to pre-selecting every
286
- installed tool.
287
- - **Roles → packs recommendation.** Each selected role contributes its
288
- workspace `default_packs`; the union pre-selects packs on Step 3 (plus
289
- auto-detected project packs). The recommendation stops clobbering the
290
- selection once the user manually edits a pack. Each pack tile also badges
291
- the workspace(s) it belongs to (from the pack's `workspaces`), highlighting
292
- the badges that match a role the user picked on Step 2.
293
- - **Step 2 framework persistence.** A language tile (`cluster`, e.g. PHP)
294
- gates its framework children in the UI but never destroys their stored
295
- selection. Turning a language off disables — but keeps checked — its
296
- children, so a PHP off→on round-trip restores the exact Laravel-on /
297
- Symfony-off choice. `resolveSelectedPacks()` filters disabled children at
298
- submit time, so a remembered-but-gated framework is not installed.
299
- - **No-autodetect packs.** Some packs are never pre-selected from project
300
- signals (`python` — a non-engineer may have python installed but not need
301
- it). The pack stays available to tick manually.
302
- - **Empty-selection gate.** The AI-tools, roles, and packs steps each block
303
- Next until at least one effective selection exists (≥ 1 tool, ≥ 1 role, and
304
- ≥ 1 installable pack respectively).
305
-
306
- ### `GET /api/v1/wizard/state` payload
307
-
308
- ```jsonc
309
- {
310
- "step": 0,
311
- "totalSteps": 9,
312
- "partial": {},
313
- "startedAt": null,
314
- "extendedSteps": true
315
- }
316
- ```
317
-
318
- `extendedSteps` is **advisory** — older server bundles MAY omit it,
319
- and the UI treats `undefined` as `false`. `totalSteps` reflects the
320
- flow that was active when the partial was written, which the UI uses
321
- for resume continuity; the active step set is otherwise derived from
322
- the current `extendedSteps` flag.
323
-
324
- ### State persistence + recovery
325
-
326
- Per-session state is written to `<writeRoot>/state/wizard-state.json`
327
- (under the global config root, typically
328
- `~/.event4u/agent-config/state/wizard-state.json`). If the file
329
- becomes malformed — partial JSON write, orphaned session from a
330
- previous npm version, manual edit gone wrong — the recovery path is:
331
-
332
- ```
333
- agent-config doctor --repair wizard-state
334
- ```
335
-
336
- The repair unlinks the file (idempotent; absent files are a no-op
337
- success). The next `agent-config setup` boots from step 1 with a
338
- fresh `startedAt`. A matching `wizard-state` health check is part of
339
- the standard `agent-config doctor` run and surfaces malformed JSON or
340
- schema-shape drift before the next setup attempt.
341
-
342
- ### Extended-mode endpoints
343
-
344
- `extendedSteps: true` activates two additional read-only endpoints:
345
-
346
- | Method | Path | Purpose |
347
- |--------|-------------------------------|---------|
348
- | GET | `/api/v1/wizard/auto-detect` | Project-signal evidence (composer / package / pyproject / artisan / next.config) for the `ai-tools` step. 404 when extended-mode is off. |
349
- | GET | `/api/v1/wizard/manifest` | Locked discovery-manifest (ADR-015) so the `packs` step can render supported AI IDs + every pack the manifest exposes. 404 when extended-mode is off. |
350
-
@@ -1,128 +0,0 @@
1
- ---
2
- stability: beta
3
- keep-beta-until: 2026-09-04
4
- ---
5
-
6
- # Harness Expectations — when AI tool behaviour looks like a package bug but isn't
7
-
8
- **Status:** Active (Phase D of `road-to-clean-skill-distribution-channels.md`)
9
- **Owner:** maintainer-team
10
- **Inputs:** Phase D roadmap steps + the 2026-05-25 misdiagnosis chat session that opened this track.
11
-
12
- ## The case for this document
13
-
14
- On 2026-05-25 a Claude Code session surfaced three behaviours that looked like `event4u/agent-config` bugs. Two of the three turned out to be **host-harness behaviour** the package has no control over. The third (cross-scope skill drift) was a real package-side bug fixed in Phases A–C. This document captures the host-side three so the next agent / onboarding session / opened issue does not re-run the misdiagnosis loop.
15
-
16
- ## Class A — Plugin-namespaced peer skills
17
-
18
- ### Symptom
19
-
20
- The session shows skills under namespaces like `codex:`, `cc-gemini-plugin:`, or another `<vendor>:` prefix:
21
-
22
- ```
23
- - codex:setup
24
- - cc-gemini-plugin:gemini-agent
25
- - codex:rescue
26
- ```
27
-
28
- These names do NOT appear in `event4u/agent-config`'s skill catalog, the README, or the contracts.
29
-
30
- ### What's actually happening
31
-
32
- Claude Code (and similar harnesses) supports **sibling plugins** in addition to the primary `event4u/agent-config` install. Each sibling plugin owns its own skills, namespaced by the plugin id. The harness surfaces every loaded plugin's skills in the same `<available_skills>` list during the session.
33
-
34
- - `codex:*` skills come from a sibling plugin that wraps the Codex CLI.
35
- - `cc-gemini-plugin:*` skills come from a sibling plugin that wraps Gemini-CLI integration.
36
-
37
- `event4u/agent-config` does not ship, control, or update these plugins. They are independent installs by independent maintainers.
38
-
39
- ### What the package can do
40
-
41
- Nothing — sibling plugins are out of scope by construction. The user can:
42
-
43
- - Remove the sibling plugin if it is unwanted (via the harness's plugin management — outside this package).
44
- - Ignore the namespaced names; they will not collide with this package's skill IDs because the prefix differs.
45
-
46
- ### Where to look for the true source
47
-
48
- Per Claude Code: `claude plugin list` (or equivalent) shows every loaded plugin. Each `<vendor>:` namespace traces back to a plugin row in that listing. Bug reports for those skills go to the respective plugin maintainer.
49
-
50
- ## Class B — Deferred tools that need ToolSearch
51
-
52
- ### Symptom
53
-
54
- A session sees a `<system-reminder>` block like:
55
-
56
- ```
57
- The following deferred tools are now available via ToolSearch.
58
- Their schemas are NOT loaded — calling them directly will fail with
59
- InputValidationError. Use ToolSearch with query "select:<name>[,<name>...]"
60
- to load tool schemas before calling them:
61
- TaskCreate
62
- WebFetch
63
- Monitor
64
- mcp__claude_ai_Linear__authenticate
65
- ...
66
- ```
67
-
68
- The named tools are real — they show up in the harness's runtime — but the agent cannot call them directly because the tool **schema** isn't loaded yet.
69
-
70
- ### What's actually happening
71
-
72
- Claude Code's tool-loading is **context-budgeted**. The full tool registry (TaskCreate, WebFetch, every MCP tool from every registered server, etc.) can be many kilobytes of JSON-schema. Loading every schema on every turn would blow the context budget for routine reads. The harness solves this by registering tool **names** up-front and deferring schema load until `ToolSearch` is called — that's the on-ramp.
73
-
74
- This is not a package issue, and `event4u/agent-config` cannot pre-load these schemas — the harness owns the budget.
75
-
76
- ### What the package can do
77
-
78
- Nothing — the loading strategy is the harness's contract with the model. Skills that want to use a deferred tool must:
79
-
80
- 1. Run `ToolSearch` with `select:<name>` to load the schema.
81
- 2. Call the tool with the now-known parameters.
82
-
83
- Skills in this package that need deferred tools document the load step explicitly (see `agents-md-thin-root` § Tool loading for the pattern).
84
-
85
- ### Where to look for the true source
86
-
87
- Per Claude Code's documentation on tool surfaces and the `ToolSearch` primitive. The package does not own this behaviour.
88
-
89
- ## Class C — Duplicate skill registration (real package bug, fixed in Phases A–C)
90
-
91
- ### Symptom
92
-
93
- The same skill appears twice in `<available_skills>` with different `description:` strings, or behaves inconsistently across calls.
94
-
95
- ### What's actually happening
96
-
97
- A user-global install (e.g. `~/.claude/skills/`) and a project-local install (`./.claude/skills/`) coexist at **different versions**. The harness loads both. The earlier register wins the description in some calls, the later in others.
98
-
99
- Unlike Classes A and B, this is a real package-side issue.
100
-
101
- ### What the package does
102
-
103
- 1. **Default install is filesystem-only** ([`skill-distribution-channels.md`](skill-distribution-channels.md)).
104
- 2. **Pre-flight scope guard** refuses installs that would create cross-scope drift ([`install-scopes.md`](install-scopes.md)).
105
- 3. **Post-install probe** surfaces any remaining drift after install (`task probe:skills`).
106
- 4. **Cleanup script** for stale other-scope installs (`bash scripts/cleanup_other_scope.sh --confirm`).
107
-
108
- ### Where to look for the true source
109
-
110
- ```bash
111
- task probe:skills
112
- ```
113
-
114
- The probe lists every duplicate / drift finding with the exact source paths so the cause is visible in one read.
115
-
116
- ## When in doubt — diagnostic sequence
117
-
118
- 1. Run `task probe:skills` — rules out Class C.
119
- 2. If the suspicious skill carries a `<vendor>:` prefix you don't recognise → Class A. Check `claude plugin list`.
120
- 3. If the harness logs `deferred tools … available via ToolSearch` → Class B. The skill needs an explicit `ToolSearch` step.
121
- 4. None of the above → file an issue at https://github.com/event4u-app/agent-config with the output of `task probe:skills` attached.
122
-
123
- ## See also
124
-
125
- - [`skill-distribution-channels.md`](skill-distribution-channels.md) — canonical channel per tool.
126
- - [`install-scopes.md`](install-scopes.md) — scope guard contract.
127
- - [`agents/evidence/audits/2026-05-distribution-channels/`](../../agents/evidence/audits/2026-05-distribution-channels/) — the underlying audits.
128
- - [`README.md` § Harness expectations](../../README.md#harness-expectations) — front-of-house pointer to this contract.