@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,230 +0,0 @@
1
- ---
2
- adr: 061
3
- status: accepted
4
- date: 2026-06-07
5
- decision: corpus-grounding-layer
6
- supersedes: —
7
- superseded_by: —
8
- phase: frontend design intelligence (road-to-frontend-design-intelligence, Phase 0)
9
- type: structural
10
- ---
11
-
12
- # ADR-061 — Reusable corpus-grounding layer; frontend is its first instance
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-07. Records the AI-council convergence
17
- (anthropic/claude-sonnet-4-5 + anthropic/claude-opus-4-5 + openai/gpt-4o,
18
- deep 3-round debate, 2026-06-03 — no split, no tie-break) plus the four
19
- implementation forks resolved 2026-06-07 (anthropic/claude-sonnet-4-5 +
20
- openai/gpt-4o, converged).
21
-
22
- ## Context
23
-
24
- The package's UI directive set (`audit → design → apply → review → polish`)
25
- produces design briefs from agent judgment plus the `fe-design` heuristics —
26
- there is no queryable design-knowledge corpus. The MIT-licensed
27
- `nextlevelbuilder/ui-ux-pro-max-skill` repository ships exactly that: ~15
28
- tabular CSVs (161-row `ui-reasoning` with JSON decision rules, WCAG-adjusted
29
- color token sets, typography pairings, chart-selection knowledge, 16
30
- per-framework best-practice files) plus a dependency-free pure-stdlib BM25
31
- engine. The owner's escalated goal — *"real knowledge + real orchestration in
32
- every domain, as flexible and good as possible"* — reshaped the adoption from
33
- "copy a frontend corpus" into "build a reusable grounding layer; frontend is
34
- its first instance."
35
-
36
- ## Decision
37
-
38
- ### 1. Four-operation routing — never one corpus for everything
39
-
40
- Each domain's knowledge is split across four mechanisms; conflating them is a
41
- named failure mode ("grounding theater"):
42
-
43
- | Operation | When | Mechanism |
44
- |---|---|---|
45
- | **Grounding** | *before* action — constrains the option space | curated corpus + decision rules |
46
- | **Reference** | *during* action — factual lookup | on-demand `references/` / RAG, not the corpus |
47
- | **Validation** | *after* action — constraint check | rules / linters |
48
- | **Method** | the procedure itself | framework skill |
49
-
50
- A corpus **grounds** (pre-action). Mid-action lookup is reference; post-action
51
- checking is a rule; the procedure stays a skill.
52
-
53
- ### 2. One shared engine, invoked not inherited
54
-
55
- A generic engine lives at `src/skills/_lib/corpus-grounding/`
56
- (`bm25_search.py`, `decision_engine.py`, `schema_validator.py`) with a
57
- **versioned interface-stability contract** documented in its README before any
58
- domain adopts it. Domains plug in via a manifest; the engine is grep-able,
59
- never a hidden god-dependency. Retrieval: BM25 default with a structured
60
- `filters` pre-filter from day one; retriever selected by name
61
- (`bm25`/`structured`/`hybrid`); embeddings only on measured recall failure,
62
- never network-by-default.
63
-
64
- ### 3. Schema-agnostic plug-in contract — explicitly NOT uniform
65
-
66
- Each domain declares its own axes via a manifest (corpus files, search
67
- columns, output columns, reasoning-map location) and an output tier:
68
- **lookup-only → conditional-grounding (decision rules) → constraint-emission**.
69
- Forcing the frontend schema onto other domains is a named failure mode. Every
70
- corpus output carries a **confidence score + an evidence-gap line** by
71
- contract (prevents false precision / authority inflation).
72
-
73
- ### 4. Grounding default = lightweight consultation
74
-
75
- Default integration: a skill consults the corpus → proposes grounded options
76
- with confidence + evidence-gap → human confirms. Directive-engine integration
77
- is reserved for mature, naturally-sequential domains (frontend keeps its
78
- directive engine — Tier 2); "directive engines everywhere" is rejected as
79
- orchestration envy. `directives/ui/design.py` never imports the engine — the
80
- corpus call lives in the skill layer (`ui-design-brief` /
81
- `design-intelligence`), keeping the engine an optional dependency.
82
-
83
- ### 5. Qualification by decision-rule utility, NOT row count
84
-
85
- A domain qualifies when (i) its selection/constraint decision is
86
- externalizable as auditable rules that beat the agent's priors, and (ii)
87
- grounding happens before action. Verdicts:
88
-
89
- - **Strong**: security/threat-modeling (MITRE-derived), accessibility
90
- (WCAG/ARIA patterns), API design, DB-query tuning.
91
- - **Conditional (evidence-gated)**: finance *method selection*,
92
- architecture-pattern selection — thin pre-action selection corpora only;
93
- land only if a corpus measurably beats the existing framework skill over
94
- ≥10 real sessions (the council's change-my-mind anchor).
95
- - **Reject as corpus**: anything that is really reference (→ RAG), really
96
- validation (→ rule), volatile/culturally-specific (people/org fads), or a
97
- thin corpus that doesn't beat priors. Test: *if it fits in 5 lines of an
98
- always-on rule, it's a rule, not a corpus.*
99
-
100
- ### 6. Provenance / freshness — the upstream-source line is part of DoD
101
-
102
- Every adopted asset carries an inline upstream-source line: upstream repo +
103
- commit SHA + last-checked date. Per-corpus header additionally names a
104
- maintainer + refresh cadence + last-validated date (domain-adoption Gate 2).
105
- CI link-checks; volatile content is tiered by rot velocity or marked
106
- reference-only. **Definition of done for every adoption phase includes this
107
- line** (refresh stays mechanical, not archaeological).
108
-
109
- ### 7. Licensing
110
-
111
- Root corpus + scripts: MIT (Next Level Builder, 2024) → retain notice.
112
- `ui-styling`-derived material: **Apache-2.0** (vendored "claudekit"; the
113
- dedicated `LICENSE.txt` wins over the MIT frontmatter claim) → retain notice,
114
- mark modified files (§4b), ship the license copy alongside derived assets.
115
- Recorded in `src/skills/design-intelligence/ATTRIBUTION.md`.
116
-
117
- ### 8. Implementation forks (council-resolved 2026-06-07)
118
-
119
- | Fork | Resolution |
120
- |---|---|
121
- | Pack placement | **New `frontend-design` pack** (ADR-013 amendment, same PR). `requires: [engineering-base]`, `suggests: [react, nextjs]` — corpus is stack-agnostic data, React never required. Keeps ~1 MB of design data out of `engineering-base`. |
122
- | `google-fonts.csv` (745 KB, 1923 rows) | **Skip.** Redundant with the public Google Fonts API; `font-pairings-reference.csv` (73 curated pairings) carries the pairing decision. Document the API fallback for fonts outside the curated set. |
123
- | Stack-corpus surfacing | **`--stack <name>` search domain** on the one grounding engine — single mechanism, no 16-way prose-staleness vector. |
124
- | Brand→token pipeline | **Defer** with a watch note pinning the upstream commit SHA; adopt on first consumer demand. |
125
-
126
- ### 9. Out of scope (explicit)
127
-
128
- - The upstream slide/presentation engine (out of frontend scope).
129
- - The Gemini generative brand-asset suite (logo/CIP/icon/banner/social) —
130
- gated by `domain-adoption-policy`; see the domain-watch note. If gates
131
- pass later, it adapts into `pack-ai-video` (no second image-gen stack).
132
- - Business-pack corpora (people/org, GTM, founder-strategy verdicts) —
133
- rejected per the qualification rubric; reference belongs to RAG,
134
- validation to rules.
135
-
136
- ## Consequences
137
-
138
- - A new domain ships a manifest + data + a named owner — not a forked engine.
139
- - `engineering-base` stays lean; design intelligence is opt-in via the
140
- `frontend-design` pack.
141
- - The skill-bundled `scripts/` + `data/` delivery path becomes a sanctioned,
142
- tested pattern (delivery-mechanism gate, Phase 1) — load-bearing for every
143
- later domain corpus.
144
- - Corpus maintenance is a standing cost: named owner + cadence per corpus, or
145
- the corpus is not merged.
146
-
147
- ## Alternatives considered
148
-
149
- - **One corpus for everything (CSV per domain)** — rejected; conflates the
150
- four operations, produces grounding theater + maintenance bloat.
151
- - **Fold the corpus into `fe-design`** — rejected 2-of-3; size discipline.
152
- `fe-design` stays heuristics and *invokes* `design-intelligence`.
153
- - **Directive engines for every domain** — rejected; consultation default.
154
- - **Keep `.cjs` token generators on Node** — rejected unanimously; ported to
155
- Python (no Node runtime dependency for core flows).
156
- - **Adopt `google-fonts.csv`** — rejected; public-API-redundant bloat.
157
-
158
- ## References
159
-
160
- - `agents/roadmaps/archive/road-to-frontend-design-intelligence.md` —
161
- implementing roadmap, archived 2026-06-07 (full source analysis + phase
162
- plan + per-step evidence notes).
163
- - [ADR-013 — Discovery frontmatter contract](ADR-013-discovery-frontmatter-contract.md)
164
- — `frontend-design` pack amendment (2026-06-07).
165
- - `src/skills/design-intelligence/ATTRIBUTION.md` — upstream provenance +
166
- license obligations.
167
- - `agents/settings/contexts/domain-watch/generative-brand-assets.md` — gated
168
- Gemini-suite watch note.
169
- - Upstream: `nextlevelbuilder/ui-ux-pro-max-skill` @
170
- `b7e3af80f6e331f6fb456667b82b12cade7c9d35` (last checked 2026-06-07).
171
-
172
- ## Amendment — 2026-06-16 (§8/§9 superseded in part)
173
-
174
- The image/brand/typography work re-examined the gated and deferred items of
175
- §8/§9 on the merits for the product vision. A two-round merits council
176
- (anthropic/claude-sonnet-4-5 + openai/gpt-4o, 2026-06-13, design lens,
177
- web-research-grounded) overturned three of them. The four-operation routing
178
- (§1) and the no-forked-engine principle (§2) are unchanged — the brand corpus
179
- is a second instance of the same grounding engine.
180
-
181
- - **§8 brand→token defer — resolved, no longer deferred.** This work was the
182
- "first consumer demand" §8 named. `brand-to-tokens` ships: brand decisions →
183
- a DTCG `.tokens.json` source of truth → `design-tokens/scripts/tokens.py`
184
- (no Node). The same `.tokens.json` is the export pack-ai-image's brand-asset
185
- generation and the greenfield-scaffold seed consume.
186
- - **§8 font fork — superseded.** "Skip `google-fonts.csv`, rely on the live
187
- Google Fonts API" is replaced by **adopt-lite pinned metadata**: pin the MIT
188
- `google-font-metadata` mirror (or a slim top-N slice) as a deterministic
189
- offline **Reference**; the live API needs a key, is nondeterministic, and
190
- carries no pairing metadata. `font-pairings-reference.csv` stays the curated
191
- pairing Reference with a freshness contract.
192
- - **§9 brand-asset generation — superseded, ADOPTED.** The Gemini generative
193
- brand-asset suite (logo/CIP/banner/social) was gated as a possible second
194
- image-gen stack. The merits pass established it never was one: generation is
195
- structured prompting + brand-token injection + provider routing on the
196
- **existing** adapters (now the neutral `scripts/media/` substrate), with a
197
- `recraft`/LLM-SVG vector path for marks raster models can't emit. Generation
198
- lives in **pack-ai-image**; brand governance/tokens stay in **pack-brand**,
199
- which exports tokens pack-ai-image consumes (dependency B → A, never
200
- inverted). The `domain-watch/generative-brand-assets.md` gate is cleared.
201
- - **§9 slide/presentation engine — confirmed out of scope, but reasoned.**
202
- Document assembly ≠ brand UX; owning a render engine (reveal.js / Presenton /
203
- Gamma) is scope creep. pack-brand instead **exports validated brand
204
- templates** (Marp/reveal YAML with locked brand variables) for the user's own
205
- deck tools — enforcement via the template, not engine ownership. Re-open only
206
- on evidenced demand.
207
-
208
- The brand corpus deviates from the §8-implied "adopt the SHA-pinned claudekit
209
- brand sub-skills" framing: it is **original-authored** from public brand
210
- frameworks (Jung / Mark-Pearson archetypes, public messaging frameworks),
211
- `upstream: null` — honest provenance, no third-party SHA to pin, no §4b file
212
- marking. The shared grounding engine is still attributed via
213
- `design-intelligence/ATTRIBUTION.md`.
214
-
215
- Implementing roadmap: `road-to-image-brand-typography` (Phase A–D),
216
- archived 2026-06-16; live-validation + command-surface follow-on tracked in
217
- its sibling follow-up roadmap.
218
-
219
- ## Resolution note — retrieval ranking at scale (2026-07-09)
220
-
221
- The "no engine fork / no minisearch-class dependency" decision is honoured at
222
- memory/knowledge retrieval scale by a **hand-rolled BM25 + trigram index**
223
- (`src/scripts/_lib/lexical_index.ts`, pure Node stdlib) rather than SQLite-FTS5
224
- or any embedded search engine. It activates at the `lint_knowledge_scale`
225
- tripwire (>200/type or >500 total files) and replaces the coarse `_score`
226
- bucket scorer's ranking; measured lift on the retrieval-precision corpus is a
227
- mean top tie-set of 3.333 → 1.0 with precision@1/@5 unchanged
228
- (`internal/bench/reports/lexical-ranking.json`). This closes the ADR-061 ↔
229
- FTS5 open question flagged in `road-to-retrieval-substrate-hardening` (B2): the
230
- BM25 core ADR-061 sanctioned is realised without an engine dependency.
@@ -1,121 +0,0 @@
1
- ---
2
- adr: 062
3
- status: accepted
4
- date: 2026-06-08
5
- decision: encrypt-at-rest-store-architecture
6
- supersedes: —
7
- superseded_by: —
8
- phase: employee-product Phase 8 (road-to-employee-product-and-external-proof, Step 3)
9
- type: structural
10
- ---
11
-
12
- # ADR-062 — Encrypt-at-rest store architecture: AES-256-GCM + Python-authoritative store access
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-08. Design converged via two-round AI-council debate
17
- (anthropic/claude-sonnet-4-5 + openai/gpt-4o, design mode, 2026-06-08). Both
18
- members independently converged in round 2. This ADR records the architecture;
19
- the **implementation is a dedicated follow-up PR** (scope + must-haves below) —
20
- it is deliberately **not** bundled into a reconciliation diff.
21
-
22
- ## Context
23
-
24
- Phase 8 of the employee-product workstream adds at-rest encryption for the
25
- three workspace stores under `~/.event4u/agent-config/workspace/`
26
- (sessions `*.jsonl`, documents `*.md` + `*.history.jsonl`, analytics
27
- `events.jsonl`). The crypto layer `workspace_crypto.py` is shipped behind the
28
- `workspace.encrypt_at_rest` flag (default **OFF** — no field data is encrypted
29
- yet). A prior council (2026-06-07) deferred the *store wiring* to its own PR
30
- because the Node-side crypto/key approach was undecided.
31
-
32
- Two problems had to be resolved before any wiring:
33
-
34
- 1. **Cipher drift.** `docs/contracts/at-rest-encryption.md` specifies
35
- **AES-256-GCM** (envelope `AC1\0` + version + 12-byte nonce + 16-byte tag +
36
- ciphertext) and lists `keytar` (Node) alongside `keyring` (Python). The
37
- shipped `workspace_crypto.py` actually uses **Fernet** (AES-128-CBC +
38
- HMAC-SHA256, magic `E4U-WSv1`). Fernet is not natively reproducible in
39
- Node's `node:crypto`; AES-256-GCM is.
40
- 2. **The Node GUI server reads/writes the stores directly** (`src/server/routes/workspace.ts`
41
- via `fs` — readdir/readFile/writeFile/appendFile, filtering by `.jsonl` /
42
- `.md`). If Python writes `.enc`, those direct reads break.
43
-
44
- ## Decision
45
-
46
- ### A — Cipher: align the code to the contract's **AES-256-GCM**
47
-
48
- The code is wrong, not the contract. Re-cipher `workspace_crypto.py` from
49
- Fernet to AES-256-GCM with the documented `AC1\0` + version-byte envelope,
50
- keeping the public API (`encrypt_bytes` / `decrypt_bytes` / `encrypt_file` /
51
- `decrypt_file`) and the plaintext-pass-through-on-read back-compat. Reject
52
- unknown envelope versions explicitly. Safe to do because the flag is default-OFF
53
- and **no Fernet-encrypted field data exists** to migrate. AES-256-GCM is native
54
- in both `cryptography` (Python `AESGCM`) and `node:crypto`, so the same envelope
55
- is byte-reproducible across runtimes.
56
-
57
- ### B — Store access: **Option 4, Python-authoritative end-to-end**
58
-
59
- The Node GUI server stops reading/writing the encrypted store files directly.
60
- All store access routes through the Python CLI modules (the canonical writers),
61
- which own encryption. Rejected alternatives:
62
-
63
- - **keytar in Node** — `keytar` is deprecated (Dec 2022, superseded by
64
- Electron `safeStorage`); cross-library keychain interop between Python
65
- `keyring` and `keytar` is unproven. Both council members rejected it.
66
- - **Reimplement Fernet in Node** — moot once A picks AES-256-GCM, and still a
67
- new format-fiddly surface.
68
- - **Dual native crypto** — duplicates the security-critical path in two
69
- runtimes; the council called line-count "narrowness" that leaves a dual-write
70
- footgun a false economy.
71
-
72
- To avoid Python interpreter cold-start cost (the dissent's concern, sharp on
73
- Windows ~200–500 ms), store reads use **batched** CLI calls (e.g.
74
- `workspace_sessions.py list --decrypt` returns all decrypted records in one
75
- subprocess), not one subprocess per file.
76
-
77
- ## Consequences
78
-
79
- - The follow-up PR is a **real refactor of the GUI data path**, not a wiring
80
- one-liner. The council was explicit: *"ship the right architecture now, or
81
- don't ship encryption at all"* — Option 1 (shell-out as a temporary
82
- intermediate) was rejected as process theatre.
83
- - The flag stays **default OFF** through this work; the `true` flip waits for
84
- external (recruit-session) validation per `agents/roles/EVIDENCE_BASIS.md`'s
85
- sibling reasoning.
86
-
87
- ### Must-haves before the implementation PR is greenlit (council checklist)
88
-
89
- 1. **`cryptography` exercised in CI.** Today the round-trip tests in
90
- `tests/test_workspace_crypto.py` **skip** when `cryptography` is absent —
91
- and it is absent in CI, so the cipher has never actually round-tripped under
92
- test. The implementation PR MUST add `cryptography` to the test job so the
93
- AES-256-GCM round-trip genuinely runs (otherwise the cipher ships unverified
94
- — a `verify-before-complete` violation on a security primitive).
95
- 2. **Migration with concurrency safety.** Detect plaintext → encrypt-in-place
96
- atomically (temp + fsync + rename + delete), roll back on any error; refuse
97
- to migrate while the GUI server is running (or make it non-destructive).
98
- 3. **Key rotation path.** Wrong-key today = permanent data loss; ship
99
- `workspace_crypto.py rekey` + a documented recovery/export flow.
100
- 4. **Kill-switch / rollback criteria.** `AGENT_CONFIG_NO_ENCRYPTION` already
101
- forces-disable reads; add an emergency bulk-decrypt and a documented
102
- error-rate auto-disable.
103
- 5. **Envelope version semantics.** Version byte defined; unknown versions
104
- rejected with a clear error, not a crash.
105
- 6. **Cross-runtime integration test.** Python encrypts → Node reads back the
106
- decrypted record through the Python-authoritative path (Option 4).
107
-
108
- ## Alternatives
109
-
110
- See § Decision B rejected alternatives (keytar / Fernet-in-Node / dual native)
111
- and the cipher A alternative (keep Fernet + reconcile the contract to document
112
- it — rejected because it forecloses native Node interop and the contract's
113
- AES-256-GCM was the deliberate original design).
114
-
115
- ## References
116
-
117
- - Contract: [`docs/contracts/at-rest-encryption.md`](../contracts/at-rest-encryption.md).
118
- - Crypto layer: `src/cli/python/workspace_crypto.py`.
119
- - GUI store IO: `src/server/routes/workspace.ts`.
120
- - Prior deferral: AI-council 2026-06-07 (recorded in the roadmap Phase 8 Step 3 deferral note).
121
- - Roadmap: `agents/roadmaps/archive/road-to-employee-product-and-external-proof.md` Phase 8.
@@ -1,83 +0,0 @@
1
- ---
2
- adr: 063
3
- status: accepted
4
- date: 2026-06-08
5
- decision: append-jsonl-encryption-deferred
6
- supersedes: —
7
- superseded_by: —
8
- phase: employee-product Phase 8 (road-to-employee-product-and-external-proof, Step 3)
9
- type: structural
10
- ---
11
-
12
- # ADR-063 — Append-JSONL store encryption deferred (nonce-management gate)
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-08. AI-council (claude-sonnet-4-5 + gpt-4o, design mode,
17
- 2026-06-08). Records why encrypt-at-rest Part B ships **documents-only** and
18
- what must be solved before the append-heavy JSONL stores are encrypted.
19
-
20
- ## Context
21
-
22
- ADR-062 chose AES-256-GCM + Option-4 Python-authoritative store access. The
23
- three workspace stores have different write shapes:
24
-
25
- - **documents** — whole-file `<slug>.md`. Whole-file `.md.enc` is a natural
26
- fit; encrypted in Part B.
27
- - **sessions** — `sessions/<day>/<id>.jsonl`, **append-heavy** (one record per
28
- host turn).
29
- - **analytics** — `analytics/events.jsonl`, **append-heavy** on a hot UI path.
30
- - **document revision logs** — `<slug>.history.jsonl`, append-once-per-save.
31
-
32
- AES-256-GCM encrypts a whole blob — you cannot append a line to an encrypted
33
- blob. Two strategies were weighed:
34
-
35
- - **Whole-file read-decrypt-append-encrypt-rewrite** per append: O(file) per
36
- event under a lock — unacceptable for the analytics hot path.
37
- - **Per-record encryption** (one envelope per line, append stays append):
38
- attractive, but the council flagged it as **cryptographically unsafe as
39
- sketched** — AES-GCM security collapses on (key, nonce) reuse, and the
40
- design had no nonce-derivation scheme, no crash/concurrency reuse proof, no
41
- nonce-exhaustion handling.
42
-
43
- ## Decision
44
-
45
- **Defer encryption of all append-JSONL stores** — `sessions/*.jsonl`,
46
- `analytics/events.jsonl`, and document `*.history.jsonl` — to a dedicated
47
- follow-up. Part B encrypts document `.md` bodies only (the highest-sensitivity
48
- content: offer / mail / memo / brief bodies). The append-JSONL set stays
49
- plaintext until a per-record encryption protocol is designed and ADR'd.
50
-
51
- ## Consequences
52
-
53
- - Document bodies are encrypted end-to-end (write + Python-authoritative read);
54
- edit metadata in `.history.jsonl` and session/analytics records remain
55
- plaintext for now. The at-rest-encryption contract scope table is updated to
56
- mark this split explicitly so no one assumes the JSONL stores are protected.
57
- - The flag stays default-OFF; nothing about today's behaviour changes.
58
-
59
- ### Must-solve before append-JSONL encryption (the follow-up ADR's gate)
60
-
61
- 1. **Nonce-derivation scheme** that provably never reuses (key, nonce):
62
- deterministic from (key, file-id, monotonic-record-index) or a
63
- crash-persistent counter — not bare random per line.
64
- 2. **Concurrent-append serialization** (file lock + atomic record-index
65
- allocation) so two writers cannot mint the same nonce.
66
- 3. **Crash safety** — partial/truncated final record detected and skipped, not
67
- fatal; counter state survives process restart.
68
- 4. **Nonce-exhaustion / rotation** before the GCM 2^32-per-key limit.
69
- 5. **Hot-path cost** — analytics `emit()` must stay non-blocking; per-record
70
- encryption must not reintroduce whole-file rewrite.
71
-
72
- ## Alternatives
73
-
74
- Whole-file-rewrite-per-append (rejected: O(file) on the hot path) and
75
- ship-all-three-now with random per-line nonces (rejected: nonce-reuse
76
- vulnerability). See ADR-062 for the cipher + Option-4 architecture this builds
77
- on.
78
-
79
- ## References
80
-
81
- - ADR-062 — encrypt-at-rest store architecture (cipher + Option 4).
82
- - Contract: [`docs/contracts/at-rest-encryption.md`](../contracts/at-rest-encryption.md).
83
- - Stores: `src/cli/python/workspace_sessions.py`, `workspace_analytics.py`, `workspace_documents.py`.
@@ -1,113 +0,0 @@
1
- ---
2
- adr: 064
3
- status: accepted
4
- date: 2026-06-08
5
- decision: append-jsonl-per-record-encryption
6
- supersedes: —
7
- superseded_by: —
8
- phase: employee-product Phase 8 (road-to-employee-product-and-external-proof, Step 3)
9
- type: structural
10
- ---
11
-
12
- # ADR-064 — Append-JSONL per-record encryption protocol
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-08. Resolves the nonce-management gate ADR-063 set.
17
- Design converged via AI-council (claude-sonnet-4-5 + gpt-4o, design mode,
18
- 2026-06-08) — a cautious round that raised six refinements (nonce-count
19
- awareness, single-writer enforcement, per-store corruption policy, envelope
20
- versioning, OS preconditions, scope sequencing); the protocol below folds them
21
- in. First store shipped under this protocol: **analytics**.
22
-
23
- ## Context
24
-
25
- ADR-063 deferred encrypting the append-heavy JSONL stores because AES-GCM
26
- cannot append to a blob and the per-record scheme needed a nonce-management
27
- design. This ADR fixes the protocol.
28
-
29
- ## Decision
30
-
31
- ### Protocol — per-record self-contained envelope
32
-
33
- Each JSONL record is encrypted independently into its own `AC1\0` AES-256-GCM
34
- envelope (the Part-A cipher, with its version byte), base64-encoded as **one
35
- line**. Append = `encrypt_line(json)` → a single atomic `O_APPEND` write. No
36
- whole-file rewrite, no shared counter. Helpers live in `workspace_crypto`
37
- (`encrypt_line` / `decrypt_line`); `decrypt_line` passes a plaintext JSON line
38
- (`{`/`[`-prefixed) through unchanged, so a file with mixed plaintext+encrypted
39
- records (flag flipped mid-life) reads correctly.
40
-
41
- - **Nonce (N1):** a fresh **random 96-bit nonce per record**. NIST SP 800-38D
42
- permits random-construction nonces up to 2^32 invocations per key; a session
43
- or analytics file is many orders below that, and `rekey` resets the per-key
44
- count. Random nonces carry **no crash-fragile counter state** — the prior
45
- round's "catastrophic reuse" concern was about counters resetting on crash,
46
- which this scheme does not use.
47
- - **Concurrency (N2):** correctness rests on **single-writer-per-file**, not
48
- locks. Each record line is independent (own nonce, own envelope), so one
49
- atomic append per line suffices. The single-writer guarantee is
50
- **architectural**: the Python store module is the sole writer. For sessions
51
- (Node reads+writes today) this means routing through the Python CLI
52
- (ADR-062 Option 4) so there is still exactly one writer — the protocol is
53
- single-writer-based, **not** Python-only-based, so it extends to sessions
54
- unchanged.
55
- - **Corruption (N3) — per store:** *analytics* is best-effort telemetry →
56
- skip-and-continue on a torn/undecryptable line. *Document history* (when it
57
- lands) is state-critical → fail-closed. The reader policy is the store's
58
- call, not the protocol's.
59
- - **Versioning (N4):** the envelope version byte (Part A) lets a future
60
- scheme coexist; unknown versions already reject.
61
-
62
- ### Operations parity
63
-
64
- Each encrypted append-JSONL store ships `migrate` (plaintext → per-record
65
- `.enc` lines, idempotent), `decrypt-all` (kill-switch → plaintext, works
66
- flag-off), and `rekey` (rotate key + re-encrypt every record). `prune` (and any
67
- age/query reader) is decrypt-aware but keeps the original encrypted line at
68
- rest.
69
-
70
- ### Rollout order
71
-
72
- 1. **analytics** — Python-only, single-writer already true. **Shipped.**
73
- 2. **document `.history.jsonl`** — Python-only, inside `workspace_documents.py`;
74
- its whole-file `.md` migrate/rekey/decrypt-all gained a parallel per-line
75
- history pass. **Shipped.**
76
- 3. **sessions** — Node reads+writes; the Option-4 Node-session refactor routed
77
- all 5 endpoints (list / read / launch / append) through the Python CLI
78
- (`--root` validated, `--host` / `--data-json` for record fidelity).
79
- **Shipped.** All three append-JSONL stores now encrypt at rest.
80
-
81
- > **Routing choice (sessions):** the refactor went **uniform** Python-routing
82
- > (reads + writes always through the CLI, like documents), not the
83
- > conditional flag-gated routing this ADR's design round leaned toward. Uniform
84
- > removes the need for Node to read the flag (Python owns the flag decision —
85
- > true single source of truth), is consistent with the documents precedent, and
86
- > is fully CI-testable (plaintext path needs no `cryptography`). The design
87
- > round's perf concern targeted *machine-hot* appends; session appends are
88
- > human-turn-paced, so the per-op subprocess cost is imperceptible.
89
-
90
- ## Consequences
91
-
92
- - Analytics records are encrypted at rest when the flag is on; the flag stays
93
- **default-OFF**, so nothing changes for today's users.
94
- - `emit()` stays non-blocking and never raises: a crypto error DROPS the event
95
- (consistent with the existing scrub-fail-drop), never persists it
96
- unencrypted.
97
- - The shared `encrypt_line`/`decrypt_line` protocol is now the contract the
98
- history + session follow-ups reuse verbatim.
99
-
100
- ## Alternatives
101
-
102
- Counter-based nonces (rejected: crash-fragile state, concurrent-index
103
- allocation) and whole-file read-modify-rewrite per append (rejected by ADR-063:
104
- O(file) on the analytics hot path). See ADR-062 (cipher + Option 4) and ADR-063
105
- (the deferral gate this resolves).
106
-
107
- ## References
108
-
109
- - ADR-062 — cipher + Python-authoritative architecture.
110
- - ADR-063 — the deferral + nonce gate this resolves.
111
- - `src/cli/python/workspace_crypto.py` (`encrypt_line`/`decrypt_line`),
112
- `workspace_analytics.py` (emit/read/prune/migrate/decrypt-all/rekey).
113
- - Contract: [`docs/contracts/at-rest-encryption.md`](../contracts/at-rest-encryption.md).
@@ -1,86 +0,0 @@
1
- ---
2
- adr: 065
3
- status: accepted
4
- date: 2026-06-08
5
- decision: tier3-inbox-handoff-v0
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-065 — Tier-3 host hand-off inbox: plaintext, ephemeral v0 (encryption declined)
13
-
14
- ## Status
15
-
16
- **Accepted** · 2026-06-08. Design converged via AI-council (claude-sonnet-4-5 +
17
- gpt-4o, design mode, 2026-06-08). The encrypt-at-rest arc (ADR-062/063/064)
18
- listed the inbox as the one deferred store; the council round that scoped it
19
- found the inbox did not exist yet **and** that encrypting it would be security
20
- theater. This ADR records the honest v0: build the hand-off, ship it plaintext.
21
-
22
- ## Context
23
-
24
- ADR-023 specifies a **Tier-3 host hand-off**: for hosts the workspace cannot
25
- drive (Augment, Cursor, Cline, Windsurf, JetBrains), the workspace writes the
26
- rendered prompt into `~/.event4u/agent-config/workspace/inbox/<id>.md` and
27
- surfaces a copy-to-clipboard banner; the user opens the host themselves. No
28
- code wrote or read that file — the feature was specified, never built.
29
-
30
- ## Decision
31
-
32
- Build the Tier-3 inbox as a **plaintext, ephemeral, content-minimal** store.
33
-
34
- - **Plaintext — encryption declined.** The inbox holds a prompt the user
35
- *reads to copy-paste*; the adversary an at-rest cipher defends against is a
36
- filesystem attacker. That same prompt content already lives in the
37
- **encrypted sessions store**. Encrypting the inbox therefore stops **no
38
- incremental threat** — it would add migrate/rekey/decrypt-all/Python-routing
39
- complexity for zero marginal security. Revisit only if a distinct threat
40
- model emerges (e.g. the inbox starts holding content not in sessions).
41
- - **Ephemeral.** `prune` drops hand-off files older than 24h; the store is a
42
- transient hand-off surface, not durable storage.
43
- - **Content-minimal (v0).** The file is a small frontmatter header
44
- (id / role / task / session / created_at) + the **rendered prompt body**
45
- supplied by the caller. Skill-body pre-rendering **shipped** as a follow-up
46
- ([`ADR-066`](ADR-066-skill-body-prerendering.md) — `--skill-hint` resolves the
47
- skill body into the hand-off). Still **deferred:** host-tier **auto-detection**
48
- (v0 takes the hand-off intent explicitly from the caller).
49
- - **Python-authoritative, ships dark.** `workspace_inbox.py`
50
- (write / read / list / forget / prune, `--root` validated to
51
- `…/workspace/inbox`) is the store; the Node `POST /api/v1/workspace/inbox`
52
- + `GET /api/v1/workspace/inbox/:id` endpoints route through it and are
53
- **gated behind `AGENT_CONFIG_TIER3_INBOX` (default off)** until the hand-off
54
- UX is validated. The write endpoint returns `{id, path, banner}`; the banner
55
- text only — clipboard / UI wiring is the Preact shell's job, deferred.
56
- - A pasted credential in the prompt is **scrubbed** on write (disposable
57
- hand-off posture, same as the session/analytics telemetry stores).
58
-
59
- ## Consequences
60
-
61
- - The Tier-3 hand-off has a real, tested writer/reader for the first time;
62
- the encrypt-at-rest arc is closed (the inbox is intentionally plaintext, not
63
- an outstanding encryption gap).
64
- - The feature ships dark — zero behaviour change until an operator sets the
65
- flag.
66
- - If the inbox later carries content NOT mirrored in sessions, encryption
67
- must be revisited (reuse the documents whole-file `.md.enc` pattern); the
68
- contract scope table records this trigger.
69
-
70
- ## Alternatives
71
-
72
- - **Encrypt the inbox** (the arc's original intent) — rejected as security
73
- theater per the threat-model analysis above.
74
- - **Fold into `launch`** (write the inbox when a Tier-3 launch happens) —
75
- rejected for v0: requires host-tier auto-detection, which is deferred; a
76
- standalone endpoint is more testable and modular.
77
- - **Skill-body pre-rendering in v0** — rejected: a new skill-resolution trust
78
- boundary; its own ADR.
79
-
80
- ## References
81
-
82
- - ADR-023 — host-agent protocol (Tier-3 hand-off spec).
83
- - ADR-024 — workspace v0 floor (the inbox is a post-floor addition).
84
- - ADR-062/063/064 — the encrypt-at-rest arc this closes.
85
- - `src/cli/python/workspace_inbox.py`, `src/server/routes/workspace.ts`.
86
- - Contract: [`docs/contracts/at-rest-encryption.md`](../contracts/at-rest-encryption.md).