@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
@@ -50,7 +50,7 @@ INTENT
50
50
  │ → cite [cli-output-handling](../../rules/cli-output-handling.md)
51
51
  │ (Iron Law: redirect / tail / grep / wrap)
52
52
  │ → cite [rtk-output-filtering](../rtk-output-filtering/SKILL.md)
53
- │ (rtk wrapper, 60-90% savings on tests/linters/git)
53
+ │ (rtk wrapper — upstream reports 60-90% on tests/linters/git)
54
54
  │
55
55
  ├── Large document or paste (PDF, DOCX, HTML, transcript)
56
56
  │ → cite markitdown (upstream: https://github.com/microsoft/markitdown)
@@ -61,7 +61,7 @@ INTENT
61
61
  │ (batch, parallelize, prune; one tool call > many)
62
62
  │
63
63
  ├── Near context limit, work not finished
64
- │ → cite [agent-handoff](../../../.claude/skills/agent-handoff/SKILL.md)
64
+ │ → cite [agent-handoff](../../domains/meta/agent-handoff/command.md)
65
65
  │ (structured handoff envelope; resume in fresh chat)
66
66
  │
67
67
  ├── Cost-aware decision (model pick, budget, stop-criterion)
@@ -82,10 +82,10 @@ INTENT
82
82
  | `cli-output-handling` | `.agent-src.uncondensed/rules/cli-output-handling.md` | `verbose`, `tail`, `grep`, `CLI` | Wrap-tail-grep contract for any verbose command |
83
83
  | `rtk-output-filtering` | `.agent-src.uncondensed/skills/rtk-output-filtering/SKILL.md` | `rtk`, `verbose`, `filter`, `wrap` | Project-local rtk filters; wrapper command |
84
84
  | `token-efficiency` | `.agent-src.uncondensed/rules/token-efficiency.md` | `redirect`, `verbose`, `concise`, `tool` | Batch + parallelize tool calls; brevity floor |
85
- | `agent-handoff` | `.claude/skills/agent-handoff/SKILL.md` | `handoff`, `fresh`, `chat`, `context` | Context envelope for fresh-chat continuation |
85
+ | `agent-handoff` | `src/domains/meta/agent-handoff/command.md` | `handoff`, `fresh`, `chat`, `context` | Context envelope for fresh-chat continuation |
86
86
  | `direct-answers` | `.agent-src.uncondensed/rules/direct-answers.md` | `brevity`, `flattery`, `severity`, `tiered` | Iron-Law brevity floor (kernel) |
87
87
  | `markitdown` | upstream: github.com/microsoft/markitdown | `PDF`, `DOCX`, `HTML`, `convert` | Document → markdown converter (authoritative-link only) |
88
- | `/cost:report` | TBD — an internal roadmap (local-only) | `cost`, `model spend`, `budget` | Per-session cost telemetry (planned) |
88
+ | `/cost:report` | TBD — an internal roadmap (local-only) § P1.2` | `cost`, `model spend`, `budget` | Per-session cost telemetry (planned) |
89
89
  | `api-cost-levers` | `docs/guidelines/agent-infra/api-cost-levers.md` | `cache`, `caching`, `batch`, `tiering`, `effort` | Anthropic billing levers: prompt caching, Batch API, model tiering, effort/output right-sizing |
90
90
 
91
91
  ## Output format
@@ -208,6 +208,6 @@ iter2 fixes A, breaks B, 92% → "PASS" ✗ regression ignored
208
208
  * [`no-runtime-boundary`](../../../docs/contracts/no-runtime-boundary.md) — the
209
209
  runtime-free constraint this loop honors.
210
210
  * Optional impact pre-step (when a code-graph is present, ADR-124): run
211
- `code_graph affected --since <ref>` to scope which symbols a change touches
211
+ `agent-config code-graph affected --since <ref>` to scope which symbols a change touches
212
212
  before choosing verdict sources — cited, not duplicated; the loop itself is
213
213
  unchanged when no graph exists.
@@ -103,11 +103,10 @@ A worktree is **merge-ready** only when ALL hold:
103
103
 
104
104
  Removal gated by the deterministic helper (edge-case-tested: detached
105
105
  HEAD, branch without remote, tag-only reachability, deleted remote
106
- branch, untracked files, paths with spaces —
107
- `tests/scripts/worktree_cleanup_check.test.ts`):
106
+ branch, untracked files, paths with spaces):
108
107
 
109
108
  ```bash
110
- ./scripts-run src/scripts/worktree_cleanup_check check <worktree-path>
109
+ npx tsx node_modules/@event4u/agent-config/src/scripts/worktree_cleanup_check.ts check <worktree-path>
111
110
  ```
112
111
 
113
112
  Exit `0` → removal allowed; exit `1` → refuse, gates in order:
@@ -19,7 +19,7 @@
19
19
  ## Pointers
20
20
 
21
21
  - **Filling out this AGENTS.md** — section templates, capability bullets, multi-agent entry flow, monorepo per-package layout: [`.augment/contexts/contracts/consumer-agents-md-guide.md`](.augment/contexts/contracts/consumer-agents-md-guide.md).
22
- - **Behavior rules (always active)** — Iron Laws and routed rules that fire automatically while you work in this project: [`.augment/rules/`](.augment/rules/).
22
+ - **Behavior rules (always active)** — [`.augment/rules/`](.augment/rules/). Kernel rules are **immutable** — never propose an edit; tighten-only via the override registry.
23
23
  - **Skills (on-demand expertise)** — domain skills surfaced by description; invoked when their trigger fires: [`.augment/skills/`](.augment/skills/).
24
24
  - **Commands (workflows)** — slash-commands the agent runs end-to-end (`/work`, `/implement-ticket`, `/commit`, `/create-pr`, …): [`.augment/commands/`](.augment/commands/).
25
25
  - **Project-specific docs** — your own architecture notes, roadmaps, sessions, contexts: [`agents/`](agents/).
@@ -1,13 +1,32 @@
1
- # Agent memory — append-only JSONL, union-merged.
1
+ # Agent memory — merge-safety attributes for parallel-branch memory writes.
2
2
  # Append this block to the consumer project's root .gitattributes.
3
- # See: agents/roadmaps/road-to-memory-merge-safety.md
3
+ # See: agents/roadmaps/archive/road-to-reachable-code-memory.md (Phase 5)
4
4
 
5
- # Intake layer — agent-written, append-only. Union merge concats both
6
- # sides on conflict instead of failing. Reader deduplicates by id.
5
+ # Intake layer — agent-written, append-only JSONL. Union merge concats both
6
+ # sides on conflict instead of failing. Reader (_iter_intake_entries in
7
+ # memory_lookup.ts) resolves supersede chains keyed by id, so a duplicate
8
+ # line surviving a bad merge collapses harmlessly — same id, later line wins.
7
9
  agents/memory/intake/*.jsonl merge=union eol=lf
8
10
 
9
- # Curated memory — content-addressed drop-ins. One file per entry.
10
- # Normal merge is fine; filename collisions are content-identity.
11
+ # Curated memory — flat layout: one YAML file per type holding an `entries:`
12
+ # list (agents/memory/<type>.yml). Two branches each appending a genuinely
13
+ # NEW entry — the common case — union-merges cleanly (concats both sides).
14
+ # CAVEAT: union merge operates per LINE, not per YAML block. If both branches
15
+ # touch overlapping lines (not pure appends), the result can interleave
16
+ # partial multi-line list items into invalid YAML. The reader
17
+ # (_iter_curated_entries in memory_lookup.ts) does NOT dedup entries by id for
18
+ # this layout, so an exact duplicate block surviving a bad union merge would
19
+ # surface twice. Treat this as a best-effort safety net for the append-only
20
+ # case, not a guarantee — the directory layout below has no such caveat.
21
+ agents/memory/ownership.yml merge=union text eol=lf
22
+ agents/memory/historical-patterns.yml merge=union text eol=lf
23
+ agents/memory/domain-invariants.yml merge=union text eol=lf
24
+ agents/memory/incident-learnings.yml merge=union text eol=lf
25
+ agents/memory/product-rules.yml merge=union text eol=lf
26
+
27
+ # Curated memory — directory layout: one file per entry, content-addressed
28
+ # by hash. Filename collisions are content-identity, so normal (non-union)
29
+ # merge is fine here; only line-ending normalization matters.
11
30
  agents/memory/ownership/*.yml text eol=lf
12
31
  agents/memory/historical-patterns/*.yml text eol=lf
13
32
  agents/memory/domain-invariants/*.yml text eol=lf
@@ -39,7 +39,7 @@ schema_version: 1
39
39
  # CI guard: a release bump of `package.json` must update this value
40
40
  # in lockstep — see scripts/check_template_pin_drift.ts (road-to-
41
41
  # portable-runtime-and-update-check P3.3).
42
- agent_config_version: "9.8.0"
42
+ agent_config_version: "9.9.0"
43
43
 
44
44
  # --- Project identity ---
45
45
  project:
@@ -1,10 +1,10 @@
1
1
  # Command Template
2
2
 
3
- > Template for creating new commands in `.agent-src.uncondensed/commands/{command-name}.md`.
3
+ > Template for creating new commands in `src/agent-src/commands/{command-name}.md`.
4
4
 
5
5
  ## Instructions
6
6
 
7
- 1. Create file: `.agent-src.uncondensed/commands/{command-name}.md`
7
+ 1. Create file: `src/agent-src/commands/{command-name}.md`
8
8
  2. Copy the template below
9
9
  3. Replace all `{placeholders}` with actual content
10
10
  4. Remove all `<!-- comments -->` when done
@@ -97,7 +97,7 @@ Before considering a command complete:
97
97
 
98
98
  - [ ] **Frontmatter**: has `name`, `description`, `disable-model-invocation: true`, `suggestion` block
99
99
  - [ ] **Steps**: numbered sub-headings (`### 1.`, `### 2.`, ...)
100
- - [ ] **Source of truth**: works on `.agent-src.uncondensed/`, not `dist/agent-src/` or `.augment/`
100
+ - [ ] **Source of truth**: works on `src/`, not `dist/agent-src/` or `.augment/`
101
101
  - [ ] **No auto-apply**: presents findings, asks before destructive changes
102
102
  - [ ] **Linter passes**: `./scripts-run src/scripts/skill_linter` reports 0 FAIL
103
103
  - [ ] **English only**: all content in English
@@ -1,14 +1,14 @@
1
1
  # Persona Template
2
2
 
3
3
  > Template for creating a new persona in
4
- > `.agent-src.uncondensed/personas/{persona-id}.md`. Personas declare
4
+ > `src/agent-src/personas/{persona-id}.md`. Personas declare
5
5
  > a *voice* — focus, mindset, unique questions, output expectations.
6
6
  > Skills cite personas in a `personas:` frontmatter key. Users invoke
7
7
  > them via `--personas=<id>`.
8
8
 
9
9
  ## Instructions
10
10
 
11
- 1. Create the file: `.agent-src.uncondensed/personas/{persona-id}.md`.
11
+ 1. Create the file: `src/agent-src/personas/{persona-id}.md`.
12
12
  2. Copy the template below.
13
13
  3. Replace all `{placeholders}` with real content.
14
14
  4. Pass the Unique-Questions heuristic — ≥ 3 questions that no other
@@ -1,13 +1,13 @@
1
1
  # Rule Template
2
2
 
3
- > Template for creating new rules in `.agent-src.uncondensed/rules/{rule-name}.md`.
3
+ > Template for creating new rules in `src/rules/{rule-name}.md`.
4
4
  > Rules ship to `dist/agent-src/rules/` (condensed) and `.augment/rules/` (projected).
5
5
  > Schema: `scripts/schemas/rule.schema.json`.
6
6
 
7
7
  ## Instructions
8
8
 
9
9
  1. Pick a kebab-case `{rule-name}` matching the file stem.
10
- 2. Copy the template below into `.agent-src.uncondensed/rules/{rule-name}.md`.
10
+ 2. Copy the template below into `src/rules/{rule-name}.md`.
11
11
  3. Replace placeholders, drop sections that don't apply.
12
12
  4. Run `task lint-skills` and `./scripts-run src/scripts/lint_load_context`.
13
13
  5. Condense: `bash scripts/condense.sh --changed` then follow the agent flow.
@@ -21,6 +21,10 @@
21
21
  * (same PII-exclusion-by-construction shape as consulted).
22
22
  * "outcomes": ["blocked", "verification_failed", ...] # optional
23
23
  * "tokens_estimate": {"consulted_load": <int>} # optional
24
+ * "cross_source": [{"id": "d1", "type": "text-image", "asked": true}] # optional
25
+ * (road-to-feedback-9.2.0-followups 1.4): per-task ask-rate facet
26
+ * for the cross-source-consistency rule. Structural only — id +
27
+ * a closed type enum + a bool, no free-form fields.
24
28
  * }
25
29
  */
26
30
  import * as fs from 'node:fs';
@@ -55,6 +59,18 @@ export const ALLOWED_OUTCOMES = [
55
59
  ] as const;
56
60
  export const MAX_OUTCOMES_PER_EVENT = ALLOWED_OUTCOMES.length;
57
61
 
62
+ // cross_source facet (road-to-feedback-9.2.0-followups 1.4) — the
63
+ // cross-source-consistency rule's discrepancy taxonomy (a)-(d) from
64
+ // src/rules/cross-source-consistency.md.
65
+ export const ALLOWED_CROSS_SOURCE_TYPES = [
66
+ 'text-image',
67
+ 'silent-needed',
68
+ 'spec-code',
69
+ 'intra-ticket',
70
+ ] as const;
71
+ export const MAX_CROSS_SOURCE_PER_EVENT = 32;
72
+ const _CROSS_SOURCE_KEYS = ['asked', 'id', 'type'] as const;
73
+
58
74
  // Phase 5 redaction validator — keep id fields from leaking paths,
59
75
  // free-text, or filenames.
60
76
  const _FORBIDDEN_ID_CHARS = ['/', '\\', '\n', '\r', '\t'] as const;
@@ -125,6 +141,13 @@ export function check_id_redaction(label: string, value: unknown): void {
125
141
  }
126
142
  }
127
143
 
144
+ /** One surfaced cross-source discrepancy — structural only, no free text. */
145
+ export interface CrossSourceEntry {
146
+ id: string;
147
+ type: string;
148
+ asked: boolean;
149
+ }
150
+
128
151
  export interface EngagementEventInit {
129
152
  ts: string;
130
153
  task_id: string;
@@ -134,6 +157,7 @@ export interface EngagementEventInit {
134
157
  loaded?: Record<string, string[]> | null;
135
158
  outcomes?: string[] | null;
136
159
  tokens_estimate?: Record<string, number> | null;
160
+ cross_source?: CrossSourceEntry[] | null;
137
161
  schema_version?: number;
138
162
  }
139
163
 
@@ -146,6 +170,7 @@ export class EngagementEvent {
146
170
  loaded: Record<string, string[]> | null;
147
171
  outcomes: string[] | null;
148
172
  tokens_estimate: Record<string, number> | null;
173
+ cross_source: CrossSourceEntry[] | null;
149
174
  schema_version: number;
150
175
 
151
176
  constructor(init: EngagementEventInit) {
@@ -157,6 +182,7 @@ export class EngagementEvent {
157
182
  this.loaded = init.loaded ?? null;
158
183
  this.outcomes = init.outcomes ?? null;
159
184
  this.tokens_estimate = init.tokens_estimate ?? null;
185
+ this.cross_source = init.cross_source ?? null;
160
186
  this.schema_version = init.schema_version ?? SCHEMA_VERSION;
161
187
  }
162
188
 
@@ -195,6 +221,9 @@ export class EngagementEvent {
195
221
  if (this.outcomes !== null) {
196
222
  _validate_outcomes(this.outcomes);
197
223
  }
224
+ if (this.cross_source !== null) {
225
+ _validate_cross_source(this.cross_source);
226
+ }
198
227
  if (this.tokens_estimate !== null) {
199
228
  if (!_isPlainObject(this.tokens_estimate)) {
200
229
  throw new EngagementSchemaError(
@@ -236,6 +265,13 @@ export class EngagementEvent {
236
265
  if (this.outcomes && this.outcomes.length > 0) {
237
266
  out['outcomes'] = [...this.outcomes];
238
267
  }
268
+ if (this.cross_source && this.cross_source.length > 0) {
269
+ out['cross_source'] = this.cross_source.map((e) => ({
270
+ id: e.id,
271
+ type: e.type,
272
+ asked: e.asked,
273
+ }));
274
+ }
239
275
  if (this.tokens_estimate && Object.keys(this.tokens_estimate).length > 0) {
240
276
  out['tokens_estimate'] = { ...this.tokens_estimate };
241
277
  }
@@ -317,6 +353,46 @@ function _validate_outcomes(payload: unknown): void {
317
353
  }
318
354
  }
319
355
 
356
+ function _validate_cross_source(payload: unknown): void {
357
+ if (!Array.isArray(payload)) {
358
+ throw new EngagementSchemaError('cross_source must be a list of dict or None');
359
+ }
360
+ if (payload.length > MAX_CROSS_SOURCE_PER_EVENT) {
361
+ throw new EngagementSchemaError(
362
+ `cross_source exceeds ${MAX_CROSS_SOURCE_PER_EVENT} entries`,
363
+ );
364
+ }
365
+ for (const entry of payload) {
366
+ if (!_isPlainObject(entry)) {
367
+ throw new EngagementSchemaError('cross_source entries must be dict[str, ...]');
368
+ }
369
+ const keys = Object.keys(entry);
370
+ const extra = keys.filter((k) => !(_CROSS_SOURCE_KEYS as readonly string[]).includes(k));
371
+ if (extra.length > 0) {
372
+ throw new EngagementSchemaError(
373
+ `cross_source entry has unexpected key(s): ${extra.sort().join(', ')}; `
374
+ + `allowed keys: ${_CROSS_SOURCE_KEYS.join(', ')}`,
375
+ );
376
+ }
377
+ for (const required of _CROSS_SOURCE_KEYS) {
378
+ if (!(required in entry)) {
379
+ throw new EngagementSchemaError(`cross_source entry missing required key '${required}'`);
380
+ }
381
+ }
382
+ check_id_redaction('cross_source.id', entry['id']);
383
+ const type_val = entry['type'];
384
+ if (typeof type_val !== 'string' || !(ALLOWED_CROSS_SOURCE_TYPES as readonly string[]).includes(type_val)) {
385
+ throw new EngagementSchemaError(
386
+ `cross_source.type must be one of ${_reprTuple(ALLOWED_CROSS_SOURCE_TYPES)}, `
387
+ + `got ${_reprScalar(type_val)}`,
388
+ );
389
+ }
390
+ if (typeof entry['asked'] !== 'boolean') {
391
+ throw new EngagementSchemaError('cross_source.asked must be a bool');
392
+ }
393
+ }
394
+ }
395
+
320
396
  export function parse_event(line: string): EngagementEvent {
321
397
  if (typeof line !== 'string' || !line.trim()) {
322
398
  throw new EngagementSchemaError('line must be a non-empty JSONL record');
@@ -342,6 +418,7 @@ export function parse_event(line: string): EngagementEvent {
342
418
  : _orEmptyDict(r['loaded']),
343
419
  outcomes: (r['outcomes'] as string[] | null | undefined) ?? null,
344
420
  tokens_estimate: (r['tokens_estimate'] as Record<string, number> | null | undefined) ?? null,
421
+ cross_source: (r['cross_source'] as CrossSourceEntry[] | null | undefined) ?? null,
345
422
  schema_version: r['schema_version'] === undefined
346
423
  ? SCHEMA_VERSION
347
424
  : (r['schema_version'] as number),
@@ -21,6 +21,7 @@ import * as path from 'node:path';
21
21
  import { record_event } from './telemetry/boundary.js';
22
22
  import {
23
23
  ALLOWED_OUTCOMES,
24
+ type CrossSourceEntry,
24
25
  EngagementEvent,
25
26
  EngagementSchemaError,
26
27
  now_utc_iso,
@@ -58,6 +59,30 @@ function _reprStr(s: string): string {
58
59
  return `'${s}'`;
59
60
  }
60
61
 
62
+ /** Turn `["d1:text-image:ask", ...]` into cross_source entries. Unknown
63
+ * `type` values are left to schema validation (consistent with how
64
+ * `_parse_kv_list` leaves unknown artefact kinds to the schema); only
65
+ * the CLI-only `id:type:ask|warn` shape is checked here. */
66
+ function _parse_cross_source_list(values: string[]): CrossSourceEntry[] {
67
+ const out: CrossSourceEntry[] = [];
68
+ for (const raw of values) {
69
+ const parts = raw.split(':');
70
+ if (parts.length !== 3 || !parts[0] || !parts[1] || !parts[2]) {
71
+ throw new SystemExitError(
72
+ `❌ --cross-source must be 'id:type:ask|warn', got ${_reprStr(raw)}`,
73
+ );
74
+ }
75
+ const [id, type, verdict] = parts as [string, string, string];
76
+ if (verdict !== 'ask' && verdict !== 'warn') {
77
+ throw new SystemExitError(
78
+ `❌ --cross-source verdict must be 'ask' or 'warn', got ${_reprStr(verdict)}`,
79
+ );
80
+ }
81
+ out.push({ id, type, asked: verdict === 'ask' });
82
+ }
83
+ return out;
84
+ }
85
+
61
86
  interface RecordArgs {
62
87
  task_id: string;
63
88
  boundary: string;
@@ -65,6 +90,7 @@ interface RecordArgs {
65
90
  applied: string[] | null;
66
91
  loaded: string[] | null;
67
92
  outcome: string[] | null;
93
+ cross_source: string[] | null;
68
94
  ts: string;
69
95
  payload_file: string | null;
70
96
  stdin: boolean;
@@ -81,6 +107,9 @@ function _build_event_from_args(args: RecordArgs): EngagementEvent {
81
107
  applied: _parse_kv_list(args.applied ?? []),
82
108
  loaded: args.loaded && args.loaded.length > 0 ? _parse_kv_list(args.loaded) : null,
83
109
  outcomes: args.outcome && args.outcome.length > 0 ? [...args.outcome] : null,
110
+ cross_source: args.cross_source && args.cross_source.length > 0
111
+ ? _parse_cross_source_list(args.cross_source)
112
+ : null,
84
113
  });
85
114
  }
86
115
 
@@ -106,6 +135,7 @@ function _build_event_from_payload(raw: string): EngagementEvent {
106
135
  loaded: d['loaded'] === undefined || d['loaded'] === null ? null : _orEmpty(d['loaded']),
107
136
  outcomes: (d['outcomes'] as string[] | null | undefined) ?? null,
108
137
  tokens_estimate: (d['tokens_estimate'] as Record<string, number> | null | undefined) ?? null,
138
+ cross_source: (d['cross_source'] as CrossSourceEntry[] | null | undefined) ?? null,
109
139
  });
110
140
  }
111
141
 
@@ -126,6 +156,7 @@ function _parseArgs(argv: string[]): RecordArgs {
126
156
  applied: null,
127
157
  loaded: null,
128
158
  outcome: null,
159
+ cross_source: null,
129
160
  ts: '',
130
161
  payload_file: null,
131
162
  stdin: false,
@@ -170,7 +201,8 @@ function _parseArgs(argv: string[]): RecordArgs {
170
201
  );
171
202
  }
172
203
  (a.outcome ??= []).push(v);
173
- } else if (tok === '--ts') a.ts = next();
204
+ } else if (tok === '--cross-source') (a.cross_source ??= []).push(next());
205
+ else if (tok === '--ts') a.ts = next();
174
206
  else if (tok === '--payload-file') a.payload_file = next();
175
207
  else if (tok === '--stdin') a.stdin = true;
176
208
  else if (tok === '--settings') a.settings = next();
@@ -9,6 +9,7 @@
9
9
  import { existsSync } from 'node:fs';
10
10
  import { BASH_ENTRY, BASH_SHIM, CONSUMER_ROOT, PACKAGE_ROOT } from '../paths.js';
11
11
  import { logger } from '../log/logger.js';
12
+ import { detectRtk } from '../../install/rtkDetection.js';
12
13
  function checkNode() {
13
14
  const required = 20;
14
15
  const version = process.versions.node;
@@ -45,12 +46,31 @@ function checkBashShim() {
45
46
  detail: ok ? BASH_SHIM : `${BASH_SHIM} (not found)`,
46
47
  };
47
48
  }
49
+ /**
50
+ * rtk is an OPTIONAL third-party tool — its absence never fails the doctor
51
+ * (ok stays true for every state); the row is an informational readout of
52
+ * the two-stage identity probe (docs/contracts/rtk-detection.md).
53
+ */
54
+ function checkRtk() {
55
+ const d = detectRtk();
56
+ if (!d.present)
57
+ return { name: 'rtk', ok: true, detail: 'not installed (optional; see `agent-config rtk:detect`)' };
58
+ switch (d.identity) {
59
+ case 'token-killer':
60
+ return { name: 'rtk', ok: true, detail: `Rust Token Killer${d.version !== undefined ? ` v${d.version}` : ''} (${d.binPath ?? 'on PATH'})` };
61
+ case 'unknown-rtk':
62
+ return { name: 'rtk', ok: true, detail: 'DIFFERENT TOOL on PATH (name collision, not Rust Token Killer) — see `agent-config rtk:detect`' };
63
+ default:
64
+ return { name: 'rtk', ok: true, detail: 'present but unverified — run `rtk gain` manually' };
65
+ }
66
+ }
48
67
  export function runDoctorShell() {
49
68
  const checks = [
50
69
  checkNode(),
51
70
  checkPackageRoot(),
52
71
  checkBashEntry(),
53
72
  checkBashShim(),
73
+ checkRtk(),
54
74
  ];
55
75
  logger.info(`consumer_root: ${CONSUMER_ROOT}`);
56
76
  logger.info(`package_root: ${PACKAGE_ROOT}`);
@@ -1 +1 @@
1
- {"version":3,"file":"doctorShell.js","sourceRoot":"","sources":["../../../src/cli/commands/doctorShell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctorShell.js","sourceRoot":"","sources":["../../../src/cli/commands/doctorShell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * `rtk:detect` — native TS implementation.
3
+ *
4
+ * Stable rtk (Rust Token Killer) detection readout: the same two-stage
5
+ * probe (PATH presence + `rtk gain` output-signature identity) the wizard
6
+ * uses, exposed to the CLI so other tools (agent-switch's Tooling section,
7
+ * scripts, doctors) can consume one primary implementation instead of
8
+ * re-probing with their own drift-prone logic.
9
+ *
10
+ * Contract: docs/contracts/rtk-detection.md (versioned — bump `contract`
11
+ * on any breaking shape change).
12
+ */
13
+ import { detectRtk, rtkInstallCommands, RTK_UPSTREAM_REPO } from '../../install/rtkDetection.js';
14
+ import { logger } from '../log/logger.js';
15
+ export const RTK_DETECT_CONTRACT_VERSION = 1;
16
+ export function runRtkDetect(opts) {
17
+ const detection = detectRtk();
18
+ const installed = detection.present && detection.identity === 'token-killer';
19
+ if (opts.json === true) {
20
+ const payload = {
21
+ contract: RTK_DETECT_CONTRACT_VERSION,
22
+ installed,
23
+ present: detection.present,
24
+ identity: detection.identity ?? null,
25
+ version: detection.version ?? null,
26
+ binPath: detection.binPath ?? null,
27
+ platform: process.platform,
28
+ repo: RTK_UPSTREAM_REPO,
29
+ installCommands: detection.present ? null : rtkInstallCommands(process.platform),
30
+ };
31
+ process.stdout.write(`${JSON.stringify(payload, null, 2)}\n`);
32
+ return 0;
33
+ }
34
+ if (!detection.present) {
35
+ const commands = rtkInstallCommands(process.platform);
36
+ logger.info('rtk: not installed');
37
+ logger.info(` install (${commands.recommendedLabel}): ${commands.recommended}`);
38
+ if (commands.manual !== undefined) {
39
+ logger.info(` manual (${commands.manualLabel ?? 'manual'}): ${commands.manual}`);
40
+ }
41
+ if (commands.note !== undefined)
42
+ logger.info(` note: ${commands.note}`);
43
+ logger.info(` upstream: ${RTK_UPSTREAM_REPO} (third-party, Apache-2.0)`);
44
+ return 0;
45
+ }
46
+ switch (detection.identity) {
47
+ case 'token-killer':
48
+ logger.info(`rtk: installed — Rust Token Killer${detection.version !== undefined ? ` v${detection.version}` : ''} (${detection.binPath ?? 'on PATH'})`);
49
+ return 0;
50
+ case 'unknown-rtk':
51
+ logger.info(`rtk: DIFFERENT TOOL — a binary named rtk is on PATH (${detection.binPath ?? ''}) but it is not Rust Token Killer (name collision with Rust Type Kit). See ${RTK_UPSTREAM_REPO}/blob/master/INSTALL.md`);
52
+ return 0;
53
+ default:
54
+ logger.info(`rtk: present but UNVERIFIED — the identity check failed; verify manually with \`rtk gain\` (Rust Token Killer renders a token-savings dashboard).`);
55
+ return 0;
56
+ }
57
+ }
58
+ //# sourceMappingURL=rtkDetect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtkDetect.js","sourceRoot":"","sources":["../../../src/cli/commands/rtkDetect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,MAAM,UAAU,YAAY,CAAC,IAAwB;IACjD,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,QAAQ,KAAK,cAAc,CAAC;IAE7E,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG;YACZ,QAAQ,EAAE,2BAA2B;YACrC,SAAS;YACT,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI;YACpC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,IAAI;YAClC,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,IAAI;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,iBAAiB;YACvB,eAAe,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC;SACnF,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,gBAAgB,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,WAAW,IAAI,QAAQ,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,WAAW,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC,eAAe,iBAAiB,4BAA4B,CAAC,CAAC;QAC1E,OAAO,CAAC,CAAC;IACb,CAAC;IACD,QAAQ,SAAS,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,cAAc;YACf,MAAM,CAAC,IAAI,CAAC,qCAAqC,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,OAAO,IAAI,SAAS,GAAG,CAAC,CAAC;YACxJ,OAAO,CAAC,CAAC;QACb,KAAK,aAAa;YACd,MAAM,CAAC,IAAI,CAAC,wDAAwD,SAAS,CAAC,OAAO,IAAI,EAAE,8EAA8E,iBAAiB,yBAAyB,CAAC,CAAC;YACrN,OAAO,CAAC,CAAC;QACb;YACI,MAAM,CAAC,IAAI,CAAC,mJAAmJ,CAAC,CAAC;YACjK,OAAO,CAAC,CAAC;IACjB,CAAC;AACL,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * One-time GUI notice on the first interactive CLI invocation
3
+ * (road-to-feedback-9.8.0-followups § Phase 0, install-time side-effect
4
+ * honesty).
5
+ *
6
+ * The package deliberately has NO install-time side effect (no postinstall,
7
+ * no GUI auto-launch — removal owned by road-to-credible-install Phase 0).
8
+ * The discoverability that a postinstall banner would have provided moves
9
+ * here instead: the FIRST interactive invocation prints one stderr line
10
+ * pointing at the browser GUI and naming the suppress variable, then never
11
+ * again (marker file under the user-global root).
12
+ *
13
+ * Silent by construction for every machine surface: requires a stderr TTY,
14
+ * no `CI`, no `AGENT_CONFIG_NO_UI` — hooks, MCP serving, pipes, and CI runs
15
+ * never see it. Failures (unwritable root, races) degrade to silence; the
16
+ * notice is informational, never load-bearing.
17
+ */
18
+ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
19
+ import { join } from 'node:path';
20
+ import { event4u_root } from '../scripts/_lib/user_global_paths.js';
21
+ const MARKER_BASENAME = 'first-run-notice-shown';
22
+ export const FIRST_RUN_NOTICE = 'agent-config has a browser GUI — run `agent-config setup` to open it. ' +
23
+ '(Set AGENT_CONFIG_NO_UI=1 to suppress GUI launches; this notice prints once.)\n';
24
+ /** Commands that already ARE the GUI — mark as seen without printing. */
25
+ const GUI_COMMANDS = new Set([
26
+ 'setup', 'install', 'init', 'config', 'settings', 'ui:serve',
27
+ ]);
28
+ /**
29
+ * Print the one-time GUI notice when appropriate. Returns true when the
30
+ * notice was printed this call (test seam); marker is written on both the
31
+ * printed and the GUI-command path so the notice fires at most once ever.
32
+ */
33
+ export function maybePrintFirstRunNotice(head, io = {}) {
34
+ const env = io.env ?? process.env;
35
+ const ci = (env['CI'] ?? '').trim();
36
+ if (ci && ci !== '0')
37
+ return false;
38
+ const noUi = (env['AGENT_CONFIG_NO_UI'] ?? '').trim();
39
+ if (noUi && noUi !== '0')
40
+ return false;
41
+ const tty = io.isStderrTty ?? process.stderr.isTTY === true;
42
+ if (!tty)
43
+ return false;
44
+ let root;
45
+ try {
46
+ root = io.root ?? event4u_root(env);
47
+ }
48
+ catch {
49
+ return false;
50
+ }
51
+ const marker = join(root, MARKER_BASENAME);
52
+ try {
53
+ if (existsSync(marker))
54
+ return false;
55
+ mkdirSync(root, { recursive: true });
56
+ writeFileSync(marker, `${new Date().toISOString()}\n`, { flag: 'wx' });
57
+ }
58
+ catch {
59
+ // Race (another invocation won `wx`) or unwritable root → stay silent.
60
+ return false;
61
+ }
62
+ if (head !== undefined && GUI_COMMANDS.has(head)) {
63
+ // The user is already opening the GUI — notice would be noise.
64
+ return false;
65
+ }
66
+ const write = io.write ?? ((text) => process.stderr.write(text));
67
+ write(FIRST_RUN_NOTICE);
68
+ return true;
69
+ }
70
+ //# sourceMappingURL=firstRunNotice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firstRunNotice.js","sourceRoot":"","sources":["../../src/cli/firstRunNotice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GACzB,wEAAwE;IACxE,iFAAiF,CAAC;AAEtF,yEAAyE;AACzE,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;CAC/D,CAAC,CAAC;AASH;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACpC,IAAwB,EACxB,KAAuB,EAAE;IAEzB,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;IAC5D,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IAEvB,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACD,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC3C,IAAI,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QACrC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,aAAa,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACL,uEAAuE;QACvE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,+DAA+D;QAC/D,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AAChB,CAAC"}