@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,224 +0,0 @@
1
- ---
2
- stability: beta
3
- keep-beta-until: 2026-10-10
4
- ---
5
-
6
- # AI-Team Config (`ai_team` block)
7
-
8
- **Purpose.** Lock the schema, validation, and quota rules for the `/team`
9
- cross-model review family — one strong external model (via the codex CLI,
10
- subscription-authed) reviewing inside the repo. Team mode is the **depth**
11
- complement to the council's **breadth**; this contract is the boundary that
12
- prevents drift across the settings template, the loader, the `/team`
13
- wrappers, and the quota counter.
14
-
15
- **Audience.** Authors of `src/scripts/ai_team/config.ts`, the `/team`
16
- command family, the doctor `team` section, and the setup wizard. Also
17
- reviewers checking that new team features keep the schema intact.
18
-
19
- **Status.** Internal-locked. Changes require a contract version bump and a
20
- revision entry in the consuming roadmap.
21
-
22
- ## File location
23
-
24
- Unlike the council (ALWAYS user-global `.ai-council.yml` — see
25
- [ai-council-config.md](ai-council-config.md)), the `ai_team` block lives in
26
- the **project settings cascade**:
27
-
28
- ```
29
- <project>/.agent-settings.yml → ai_team: { … }
30
- ```
31
-
32
- read via `load_agent_settings` (`src/scripts/_lib/agent_settings.ts`) and
33
- validated by `src/scripts/ai_team/config.ts:load_ai_team_config`. Team mode
34
- is a per-project posture (default-off), not a per-developer credential
35
- store — the codex CLI carries the subscription auth itself, so there is
36
- nothing secret to centralize. The shipped defaults live in
37
- `src/config/agent-settings.template.yml` and are mirrored by the wizard
38
- schema (`src/server/schemas/settings.ts`, enforced by the schema↔template
39
- parity test).
40
-
41
- ## Schema
42
-
43
- ```yaml
44
- ai_team:
45
- enabled: <bool> # master switch, default false
46
- model: <string> # default 'auto'
47
- allow_delegate: <bool> # second opt-in for the write path, default false
48
- max_calls_per_day: <int >= 0> # default 50; counts into the shared openai bucket
49
- suppress_setup_hint: <bool> # default false; cosmetic wizard-hint suppression
50
- review_gate: # managed governance of the plugin's Stop-hook Review Gate
51
- managed: <bool> # default false = byte-identical pre-Phase-4 behavior
52
- max_consecutive_blocks: <int >= 1> # default 3; circuit-breaker loop bound
53
- ```
54
-
55
- | Key | Type | Default | Semantics |
56
- |---|---|---|---|
57
- | `enabled` | bool | `false` | Master switch. `false` = `/team` commands are never suggested and every invocation refuses with an enable pointer — byte-identical to pre-feature behavior. `true` = the family is live; per-command gates below still apply. |
58
- | `model` | string | `'auto'` | Model handed to the codex CLI. `'auto'` = pass **no** `--model` flag; the codex CLI's own default applies. Any other value passes through **verbatim** as `--model <value>`. |
59
- | `allow_delegate` | bool | `false` | Second opt-in for the **only** wrapper that delegates write access (`/team:delegate`). Refuses with an enable pointer until BOTH `enabled` and `allow_delegate` are `true`. |
60
- | `max_calls_per_day` | int ≥ 0 | `50` | Per-day ceiling on team calls, read against the **shared** `cli_call_budget` openai bucket (see § Quota). `0` blocks all team calls. |
61
- | `suppress_setup_hint` | bool | `false` | Suppress the one-line wizard/init recommendation to install the codex plugin on Claude-Code hosts. Cosmetic only. |
62
- | `review_gate.managed` | bool | `false` | Managed governance of the codex plugin's Stop-hook Review Gate (Phase 4). `false` = no counting, no circuit breaker — the Stop path is byte-identical to pre-Phase-4 dispatch. `true` = consecutive BLOCK verdicts are counted per session (first-line `ALLOW:`/`BLOCK:` contract of the gate transcript; anything else is honestly `UNKNOWN` and never counted) and the circuit breaker trips at the bound. |
63
- | `review_gate.max_consecutive_blocks` | int ≥ 1 | `3` | Circuit-breaker bound. At this many CONSECUTIVE BLOCKs in one session a visible notice is injected **exactly once** and the managed layer stops re-blocking — the user decides, never an infinite Claude↔Codex loop. An ALLOW verdict resets the counter. Unknown keys inside `review_gate` are rejected fail-closed, same as the parent block. |
64
-
65
- ### Why `model: 'auto'` instead of a pinned ID
66
-
67
- A hardcoded model ID rots silently (the council's own CLI default is a
68
- deliberate, documented *pin* — `DEFAULT_OPENAI_CLI_MODEL` in
69
- `src/scripts/ai_council/clients.ts`, see
70
- [ai-council-config.md](ai-council-config.md)). Team mode inverts that:
71
- under a subscription the *strongest* available model is the rational
72
- default, and only the codex CLI knows what that currently is. `'auto'`
73
- therefore delegates the choice to the CLI; a set value is a user pin and
74
- passes through verbatim — the loader never rewrites or "corrects" it.
75
-
76
- **`review_gate` (Phase 4, shipped):** the loop-bound governance block is
77
- live — module `src/scripts/ai_team/review_gate.ts` (counter state under
78
- `agents/runtime/state/team-review-gate.json`, ledger under
79
- `agents/runtime/team/events.log`, one `team.gate: BLOCK 2/3` /
80
- `ALLOW reset` line per gate verdict). The gate itself stays upstream's;
81
- upstream's own warning applies while it is enabled unmanaged: "The
82
- review gate can create a long-running Claude/Codex loop and may drain
83
- usage limits quickly." Any other key stays rejected fail-closed.
84
-
85
- ## Role semantics — the council-verdict design constraint
86
-
87
- Verbatim from the consuming roadmap's council verdict, binding on every
88
- team-mode phase:
89
-
90
- > **Council verdict on team-mode frontmatter (claude-sonnet-4-5 + gpt-4o,
91
- > 2026-07-12, unanimous REJECT):** skills/commands get NO `team_mode` /
92
- > role frontmatter. Role semantics belong in the `ai_team` config block +
93
- > prompt library (reusing subagent-orchestration's implementer/judge frame
94
- > and status envelope), not smeared across 271 skill files while the
95
- > feature's role model does not operationally exist. Revisit-if: Phase 2
96
- > execution turns out to be blocked SPECIFICALLY on artefact-level role
97
- > metadata — then re-open via decision-revisit-gate, not by silently
98
- > adding the key.
99
-
100
- Operationally: ALL role semantics (builder/reviewer/verifier selection,
101
- eligibility) live HERE — in this `ai_team` block — plus the prompt
102
- library, reusing `subagent-orchestration`'s implementer/judge frame and
103
- its `subagent-status.json` envelope. **No `team_mode`/role frontmatter key
104
- is added to skill/command/rule schemas.**
105
-
106
- ## Quota — one subscription, one counter
107
-
108
- ```
109
- TEAM CALLS COUNT INTO THE EXISTING cli_call_budget OPENAI BUCKET.
110
- ONE SUBSCRIPTION, ONE COUNTER. NEVER A PARALLEL COUNTER.
111
- ```
112
-
113
- The daily CLI-call counter is already **generic per-provider** — no
114
- team-specific counting system exists or may be built:
115
-
116
- - **State file:** `~/.event4u/agent-config/cli-calls.json`
117
- (`CLI_CALLS_FILENAME`, `src/scripts/ai_council/clients.ts:716`), shape
118
- `{ date: "YYYY-MM-DD", counts: { <provider>: <int> } }`, resets on UTC
119
- date rollover.
120
- - **Read:** `load_cli_call_counts(path?)` —
121
- `src/scripts/ai_council/clients.ts:738`. Returns today's per-provider
122
- counts; empty on rollover.
123
- - **Increment:** `record_cli_call(provider, path?)` —
124
- `src/scripts/ai_council/clients.ts:774`. Returns the new total.
125
- - **Gate + increment on the transport itself:** `CliClient.ask()` checks
126
- the counter *before* spawning (`clients.ts` § quota gate, returns
127
- `error: 'cli_quota_exhausted'` + a `block_quota` events-log line when
128
- exhausted) and records the call *after* — even failed calls count, so a
129
- broken CLI cannot burn the budget in a tight loop.
130
- - **The openai bucket:** `OpenAICliClient` (`clients.ts:1275`) has
131
- `name = 'openai'`; council CLI calls and team calls land on the **same**
132
- `counts.openai` entry.
133
-
134
- A `/team` invocation therefore reuses the existing seams, in preference
135
- order:
136
-
137
- 1. **Through the transport** — construct `OpenAICliClient` with
138
- `max_calls_per_day: <ai_team.max_calls_per_day>`; the gate, the
139
- exhausted-error, the events-log line, and the increment all come for
140
- free.
141
- 2. **Direct** (for `/team:status` rendering or a pre-flight check) —
142
- `load_cli_call_counts()['openai'] ?? 0` to read,
143
- `record_cli_call('openai')` to count. No new helper exists because
144
- none is needed; adding a team-side duplicate of this counter is a
145
- contract violation.
146
-
147
- `ai_team.max_calls_per_day` and the council's
148
- `cli_call_budget.max_calls_per_day.openai` are two *ceilings* over the
149
- same *counter*: whichever path a call takes, it increments the one shared
150
- bucket, and each surface enforces its own configured cap against that
151
- shared count.
152
-
153
- **Worked example — two ceilings, one counter.** Council ceiling
154
- `cli_call_budget.max_calls_per_day.openai: 100`, team ceiling
155
- `ai_team.max_calls_per_day: 50`, shared counter at 45 openai calls today:
156
- both paths are open. Five team calls later the counter reads 50 — team
157
- calls are now blocked (50 >= 50) while council CLI calls continue until
158
- the counter reaches 100. Whichever path fires a call, the same counter
159
- moves; each surface only decides where *its* ceiling sits on that shared
160
- count. `/team status` renders exactly this state: the live counter, both
161
- ceilings, and which path (if any) is currently blocked.
162
-
163
- ### Team-review envelope
164
-
165
- Every `/team:review` return — plugin path and multi-host fallback alike — is emitted in the
166
- team-review status envelope (`src/skills/subagent-orchestration/schemas/team-review-status.json`),
167
- which extends the `subagent-status.json` frame: `status` (`DONE | DONE_WITH_CONCERNS |
168
- NEEDS_CONTEXT | BLOCKED`), `findings[]` (`severity`/`evidence`/`suggested_fix`/`location?`),
169
- `reviewed_ref` (HEAD sha of the bundle), `model` (`'auto'` = codex CLI default), and
170
- `quota` (`{used, ceiling}` on the shared `cli_call_budget` openai bucket); unparseable model
171
- output is preserved verbatim in `raw` with status `DONE_WITH_CONCERNS` — never silently dropped.
172
- Plugin text is summarized INTO the envelope and preserved verbatim beneath — never rewritten.
173
- <!-- PLACEHOLDER: the team-review-envelope subsection (review-gate ledger
174
- line format `team.gate: BLOCK n/N` read by /team status) is inserted
175
- here by the orchestrator in a later step. Do not remove this marker. -->
176
-
177
- ## Validation rules (fail-closed)
178
-
179
- `load_ai_team_config` / `build_ai_team_config`
180
- (`src/scripts/ai_team/config.ts`) raise `TeamConfigError` when:
181
-
182
- 1. `ai_team` is present but not a mapping,
183
- 2. any **unknown key** appears under `ai_team` (a typo must never
184
- silently disable a gate),
185
- 3. `enabled` / `allow_delegate` / `suppress_setup_hint` is not a boolean,
186
- 4. `model` is not a non-empty string,
187
- 5. `max_calls_per_day` is not a non-negative integer (booleans rejected).
188
-
189
- An **absent** `ai_team` block is not an error — it yields the defaults
190
- (`AI_TEAM_DEFAULTS`) and the feature stays off.
191
-
192
- ## Default-off posture
193
-
194
- Every team-mode capability is default-off. With the block absent or
195
- `enabled: false`, all paths are byte-identical to pre-feature behavior:
196
- no command suggestions, no wrapper execution, no quota consumption, no
197
- wizard nagging beyond the single suppressible setup hint.
198
- `/team:delegate` is doubly gated (`enabled` AND `allow_delegate`).
199
-
200
- ## No-claims constraint
201
-
202
- No public claim about cross-model review quality ("a second model finds
203
- errors the first never sees", "two strongest models catch each other's
204
- errors", or any review-lift assertion) may exist anywhere in the tree
205
- until the pre-registered three-arm defect-finding benchmark has produced
206
- a verdict bound in CLAIMS.md. Workflow-value prose is allowed; lift
207
- claims are not. An honest null keeps the feature documented as workflow
208
- value only.
209
-
210
- ## Boundary vs. the council
211
-
212
- Team mode and the council are complements, not variants — the council's
213
- neutrality contract is untouched by team mode:
214
-
215
- | Axis | Council ([ai-council-config.md](ai-council-config.md)) | Team (`ai_team`) |
216
- |---|---|---|
217
- | Shape | N members, breadth | One strong reviewer, depth |
218
- | Repo access | NEVER (artefact text + neutral preamble only) | Full (reviewer runs inside the working tree) |
219
- | Config location | User-global `.ai-council.yml` (ADR-104) | Project `.agent-settings.yml` cascade |
220
- | Default models | Mid-tier, cost-conscious | Subscription's strongest (`model: 'auto'`) |
221
- | Quota | `cli_call_budget` per provider | Same counter — shared openai bucket |
222
-
223
- This link is deliberately one-directional (team → council); the council
224
- contract does not reference team mode.
@@ -1,149 +0,0 @@
1
- ---
2
- stability: draft
3
- keep-draft-until: first-skill-ships
4
- owner: road-to-analysis-workbench
5
- ---
6
-
7
- # Analysis Memory Loop — produce → propose → promote → retrieve
8
-
9
- > **Status:** draft · **Owner:** road-to-analysis-workbench
10
- > · **Governed by:** `src/rules/non-destructive-by-default.md`,
11
- > `src/rules/domain-safety-disclaimer.md`
12
-
13
- Contract for the closed learning loop in the `analysis-workbench` pack.
14
- Binds all analysis skills: `blameless-post-mortem`, `root-cause-frameworks`,
15
- `premortem`, `decision-review`.
16
-
17
- ---
18
-
19
- ## § 1 — Produce: what analysis flows draft
20
-
21
- Post-mortem, RCA, decision-review, and near-miss flows MUST draft
22
- `incident-learnings` and `historical-patterns` **candidates** into the
23
- `/memory propose` provisional JSONL intake stream.
24
-
25
- Candidates are produced; they are **never auto-promoted** to curated memory.
26
- The human drives promotion. An analysis skill that skips the draft step or
27
- claims self-promotion violates this contract.
28
-
29
- ### Candidate schema (minimum)
30
-
31
- ```jsonc
32
- {
33
- "type": "incident-learnings" | "historical-patterns",
34
- "summary": "one-line human-readable pattern",
35
- "evidence_paths": ["path/to/file", "path/to/other"],
36
- "decision_surface": ["area1", "area2"],
37
- "last_validated": "YYYY-MM-DD",
38
- "review_after_days": 90,
39
- "applicable_scope": "project" | "domain" | "global"
40
- }
41
- ```
42
-
43
- `last_validated` defaults to today. `review_after_days` defaults to 90.
44
- `applicable_scope` defaults to `"project"`.
45
-
46
- ---
47
-
48
- ## § 2 — Propose: intake and dedup pre-check
49
-
50
- Before drafting a **new** candidate, each skill calls `retrieve()` over the
51
- same key-space (incident type, affected paths, decision area).
52
-
53
- - **Match found** — propose a `frequency`/`supersedes` **update** to the
54
- existing entry, not a new entry. The proposal notes which existing entry is
55
- being reinforced or superseded.
56
- - **No match** — draft a new candidate as described in § 1.
57
-
58
- This dedup check is not optional. A skill that skips it and produces a
59
- duplicate candidate fails the loop contract.
60
-
61
- ---
62
-
63
- ## § 3 — Promote: the admission gate
64
-
65
- `/memory promote` runs `scripts/check_memory_proposal.py`.
66
-
67
- **Admission criteria** (unchanged from the existing gate):
68
-
69
- - `≥ 2 distinct file paths` referenced in `evidence_paths`, OR
70
- - `≥ 3 future decisions` the pattern would change (listed in
71
- `decision_surface`).
72
-
73
- Failing either criterion → proposal stays provisional; skill surfaces the
74
- gap to the user and suggests either deferring or strengthening evidence.
75
-
76
- The agent NEVER overrides or bypasses this gate. Redaction is enforced by
77
- `check_memory.py` (no customer names, secrets, internal IPs, project-rooted
78
- paths) before any entry is promoted.
79
-
80
- ---
81
-
82
- ## § 4 — Retrieve: staleness is explicit
83
-
84
- `retrieve()` returns:
85
-
86
- ```jsonc
87
- {
88
- "results": [...],
89
- "skipped": [
90
- {
91
- "id": "...",
92
- "reason": "stale",
93
- "details": "last_validated=YYYY-MM-DD, review_after_days=90"
94
- }
95
- ]
96
- }
97
- ```
98
-
99
- Stale entries (age > `review_after_days`) appear in `skipped`, NOT in
100
- `results`. A skill that silently uses stale entries (ignores `skipped`)
101
- violates this contract. Stale matches MUST be surfaced to the user.
102
-
103
- ---
104
-
105
- ## § 5 — Handoff: incident-commander → blameless-post-mortem
106
-
107
- `incident-commander` produces a handoff skeleton. That skeleton **may carry
108
- an empty or TBD root cause** — incomplete evidence at incident close is
109
- normal.
110
-
111
- `blameless-post-mortem`:
112
-
113
- 1. **Accepts** any incoming skeleton, complete or not.
114
- 2. Invokes `root-cause-frameworks` to fill gaps; `root-cause-frameworks`
115
- returns ranked candidates with confidence levels, not a forced verdict.
116
- 3. Marks the post-mortem `status: draft` if root cause remains unresolved
117
- after the analysis pass.
118
- 4. NEVER rejects or stalls on an incomplete skeleton.
119
-
120
- A post-mortem marked `draft` can still produce `incident-learnings`
121
- candidates (`summary` must note the open question).
122
-
123
- ---
124
-
125
- ## § 6 — Framework-neutrality scope
126
-
127
- The `framework-neutrality-in-generic-skills` rule governs **tech-stack names**
128
- (Laravel, React, Django). It does **not** govern analysis method names.
129
-
130
- 5-whys, fishbone, fault-tree, STAMP/STPA, and similar are method names used
131
- generically across analysis skills. Using them in a skill named
132
- `root-cause-frameworks` is not a framework-neutrality violation.
133
-
134
- ---
135
-
136
- ## § 7 — What this contract does NOT cover
137
-
138
- - The schema of curated memory entries (governed by `low-impact-corpus-format.md`).
139
- - The internal mechanics of `check_memory_proposal.py` (lives in `src/scripts/`).
140
- - AI-specific RCA (deferred; gated on `road-to-security-hardening`).
141
-
142
- ---
143
-
144
- ## See also
145
-
146
- - [`low-impact-corpus-format.md`](low-impact-corpus-format.md) — curated memory schema.
147
- - [`ADR-096`](../decisions/ADR-096-analysis-workbench.md) — council decisions behind this contract.
148
- - `src/skills/blameless-post-mortem/SKILL.md` — primary consumer (Phase 2).
149
- - `src/skills/root-cause-frameworks/SKILL.md` — RCA engine (Phase 2).
@@ -1,191 +0,0 @@
1
- ---
2
- stability: experimental
3
- ---
4
-
5
- # At-Rest Encryption Contract
6
-
7
- > **Status** · v0 / design · 2026-05-24. Phase 8 of the
8
- > employee-product workstream.
9
- > Single-user, single-machine encryption for the three workspace
10
- > stores added in Phases 4 / 5 / 7. Does **not** touch the existing
11
- > `agents/memory/` store — that gets a separate decision.
12
- >
13
- > **Architecture locked 2026-06-08 → [`ADR-062`](../decisions/ADR-062-encrypt-at-rest-store-architecture.md).**
14
- > Two decisions the store-wiring PR implements: (A) the shipped
15
- > `workspace_crypto.py` currently uses **Fernet**, not the AES-256-GCM
16
- > `AC1\0` envelope this contract specifies — the code is re-ciphered to
17
- > match the contract (safe: flag default-OFF, no field data to migrate);
18
- > (B) store access is **Python-authoritative end-to-end** — the Node GUI
19
- > server stops touching the encrypted files directly and routes through
20
- > the Python CLI (no `keytar`, no dual-runtime crypto). The wiring is a
21
- > deliberate dedicated PR with a must-have checklist (CI-exercised
22
- > cipher, concurrency-safe migration, key rotation, kill-switch, envelope
23
- > versioning, cross-runtime test) — see ADR-062.
24
-
25
- ## Threat model
26
-
27
- The stores written under `~/.event4u/agent-config/workspace/` will
28
- hold actual customer data once recruit-session participants adopt
29
- the workspace: offer drafts naming customer X, mail drafts with
30
- contact email + phone, memos referencing internal pricing. Three
31
- threats this contract addresses:
32
-
33
- | Threat | Surface | Defence |
34
- |---|---|---|
35
- | **Lost / stolen laptop** | FDE may not be enabled or may be unlocked | Per-user key wrapped by OS keyring; cipher blob useless without the keyring entry. |
36
- | **Shared workstation** | Another OS user reads `~/.event4u/...` | POSIX 0600 + keyring entry scoped to the user account. |
37
- | **Accidental `git add ~/.event4u/...`** | User commits the store from a misconfigured shell | Encrypted blob is opaque; secrets do not leak as plaintext into the diff. Pre-commit hook detects the path; encryption is defence-in-depth. |
38
-
39
- Explicit non-goals:
40
-
41
- - **Not** protection against a compromised OS user account.
42
- - **Not** protection against a malicious admin / root.
43
- - **Not** protection against memory dumps while the workspace is
44
- running.
45
- - **Not** a substitute for full-disk encryption — the contract
46
- explicitly recommends FDE in `docs/guides/at-rest-encryption.md`.
47
-
48
- ## Cipher choice
49
-
50
- **AES-256-GCM** for the data blob. Single per-user master key,
51
- 32 random bytes, generated on first workspace launch.
52
-
53
- The master key is stored in the OS keyring:
54
-
55
- | OS | Library | Backend |
56
- |---|---|---|
57
- | macOS | `keyring` (Python) / `keytar` (Node) | Keychain |
58
- | Linux | `keyring` / `keytar` | Secret Service / libsecret (gnome-keyring, KWallet) |
59
- | Windows | `keyring` / `keytar` | Credential Manager |
60
-
61
- Service name: `event4u-agent-config-workspace`. Account name:
62
- `<os-user>`. The keyring entry is the **only** persistent copy of
63
- the master key on the machine — never written to disk in plaintext,
64
- never logged.
65
-
66
- ## Scope
67
-
68
- **Shipped — encrypted at rest:**
69
-
70
- | Path | Form | ADR | Sensitivity |
71
- |---|---|---|---|
72
- | `workspace/documents/**/*.md` | whole-file `.md.enc`, Python-authoritative read | 062 | offer / mail / memo / brief bodies |
73
- | `workspace/documents/**/*.history.jsonl` | per-record (one base64 `AC1\0` line per revision) | 064 | edit metadata + SHAs |
74
- | `workspace/analytics/events.jsonl` | per-record (one base64 `AC1\0` line per event) | 064 | event counters; lower sensitivity |
75
- | `workspace/sessions/**/*.jsonl` | per-record (Python-authoritative; Node routes all 5 session endpoints through the CLI) | 064 | host replies may contain customer data |
76
-
77
- **Intentionally plaintext (encryption declined — [`ADR-065`](../decisions/ADR-065-tier3-inbox-handoff-v0.md)):**
78
-
79
- | Path | Form | Why not encrypted |
80
- |---|---|---|
81
- | `workspace/inbox/**/*.md` | plaintext, ephemeral (24h prune), Python-authoritative, ships dark behind `AGENT_CONFIG_TIER3_INBOX` | the Tier-3 hand-off holds a rendered prompt the user **reads to copy-paste**; that same content already lives in the **encrypted sessions store**, so encrypting it defends against no incremental threat (security theater). **Trigger to revisit:** if the inbox ever carries content NOT mirrored in sessions, encrypt it via the documents whole-file `.md.enc` pattern. |
82
-
83
- Does **not** encrypt (v0):
84
-
85
- - `agents/memory/` — under the maintainer's repo, separate decision.
86
- - `.agent-settings.yml` — config, no customer data.
87
- - `package.json` / lockfiles / source — public surface.
88
-
89
- ## Storage layout (encrypted)
90
-
91
- Each plaintext file is replaced by a sibling cipher file:
92
-
93
- ```
94
- workspace/documents/offer/kundeX-angebot-2026-05-24.md
95
- → workspace/documents/offer/kundeX-angebot-2026-05-24.md.enc
96
- ```
97
-
98
- `.enc` envelope:
99
-
100
- ```
101
- | 4 bytes | magic: "AC1\0"
102
- | 1 byte | version: 0x01
103
- | 12 bytes | GCM nonce
104
- | 16 bytes | GCM auth tag
105
- | N bytes | ciphertext
106
- ```
107
-
108
- Filename itself is **not** encrypted in v0 (filename leakage is an
109
- accepted trade-off — slugs are kebab-case derived from titles and
110
- may contain customer names; mitigation: title slug allowlist
111
- documented in `workspace-documents.md`).
112
-
113
- ## Part B operations (documents) — shipped
114
-
115
- `workspace_documents.py` owns document encryption (Python-authoritative,
116
- ADR-062 Option 4):
117
-
118
- - **Write** (`create` / `save`): when the flag is on, the `.md` body is
119
- written as `<slug>.md.enc` via atomic temp+fsync+rename; the opposite form
120
- is removed so a slug never has both.
121
- - **Read** (`read` / `list` / `export`): auto-detects `.md` vs `.md.enc` on
122
- disk and decrypts the `.enc` — **independent of the flag** (decryption needs
123
- only the key), so a read is correct after the flag flips either way.
124
- - **Node read path**: the GUI server's recent-documents rail calls
125
- `workspace_documents.py list --json --root <writeRoot>/workspace/documents`
126
- rather than reading files directly — so it never has to decrypt `.enc` in
127
- Node. The script is resolved from the server source tree.
128
- - **`migrate`**: non-destructive plaintext → `.enc` (encrypt, verify-decrypt,
129
- then delete plaintext; idempotent; rolls back a file on verify failure).
130
- - **`decrypt-all`**: kill-switch — every `.md.enc` back to plaintext `.md`
131
- (works after the flag is off; `AGENT_CONFIG_NO_ENCRYPTION` also forces
132
- plaintext writes).
133
- - **`rekey`**: rotate the master key and re-encrypt every document under the
134
- new key (coherent only when the key lives in keyring/keyfile, not pinned via
135
- `AGENT_CONFIG_WORKSPACE_KEY`).
136
-
137
- ## Feature flag + migration
138
-
139
- Single setting in `.agent-settings.yml`:
140
-
141
- ```yaml
142
- workspace:
143
- encrypt_at_rest: true # default from v1.0
144
- ```
145
-
146
- Migration on first launch after upgrade:
147
-
148
- 1. Detect any plaintext files under the encrypted scope.
149
- 2. Show one-time modal: "Encrypt your local workspace store?"
150
- with options [Encrypt now] / [Keep plaintext (not recommended)].
151
- 3. On "Encrypt now": iterate, encrypt-in-place atomically (write
152
- `.enc.tmp`, fsync, rename, delete plaintext). Roll back on any
153
- error.
154
- 4. On "Keep plaintext": flip `encrypt_at_rest: false`. Next
155
- workspace launch re-asks unless the user sets
156
- `workspace.encrypt_at_rest_dismissed: true`.
157
-
158
- ## Recovery path
159
-
160
- The master key lives in the OS keyring. Recovery scenarios:
161
-
162
- - **Re-install OS / move to a new machine**: workspace prompts on
163
- first launch to either restore an exported key file (`.event4u-recovery.key`)
164
- or treat the encrypted store as inaccessible.
165
- - **Lost master key, no export**: workspace surfaces a destructive
166
- banner: "encrypted store is unrecoverable; delete and start
167
- fresh?" — explicit user click required.
168
- - **Key export**: `npx @event4u/agent-config workspace:export-key`
169
- prompts the user to pick a target file. The export is the raw
170
- 32-byte key in a labelled wrapper; the user is responsible for
171
- storing it safely (password manager, hardware token, paper
172
- backup).
173
-
174
- ## Coverage (Phase 8 Step 4)
175
-
176
- - Round-trip: encrypt → decrypt produces identical bytes for ≥ 5
177
- fixture documents.
178
- - Wrong key → GCM auth failure → renderer surfaces a clear "wrong
179
- key" error, not a generic crash.
180
- - Keyring-missing-entry path (mocked) → migration modal appears.
181
- - Concurrent writers → second writer waits on the file lock, no
182
- truncation.
183
- - Threat-model checklist verified against `threat-modeling` skill.
184
-
185
- ## Cross-references
186
-
187
- - Phase 4 stores: [`daily-workspace`](daily-workspace.md).
188
- - Phase 5 stores: [`workspace-documents`](workspace-documents.md).
189
- - Phase 7 store: [`local-analytics`](local-analytics.md).
190
- - Guide (deferred to Phase 8 Step 5): `docs/guides/at-rest-encryption.md`.
191
- - Memory-store decision (deferred): out of scope for v0.