@event4u/agent-config 9.7.0 → 9.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (901) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +314 -190
  3. package/CONTRIBUTING.md +23 -7
  4. package/MIGRATION.md +20 -0
  5. package/README.md +57 -11
  6. package/dist/agent-src/commands/agents/audit.md +1 -1
  7. package/dist/agent-src/commands/agents/optimize.md +2 -2
  8. package/dist/agent-src/commands/agents/user.md +1 -1
  9. package/dist/agent-src/commands/agents.md +1 -1
  10. package/dist/agent-src/commands/check-current-md.md +3 -3
  11. package/dist/agent-src/commands/commit/in-chunks.md +8 -0
  12. package/dist/agent-src/commands/commit.md +17 -0
  13. package/dist/agent-src/commands/fix/portability.md +2 -2
  14. package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
  15. package/dist/agent-src/commands/fix/refs.md +2 -2
  16. package/dist/agent-src/commands/fix/route.md +4 -3
  17. package/dist/agent-src/commands/fix.md +9 -6
  18. package/dist/agent-src/commands/ghostwriter.md +1 -1
  19. package/dist/agent-src/commands/image.md +1 -1
  20. package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
  21. package/dist/agent-src/commands/optimize/skills.md +2 -2
  22. package/dist/agent-src/commands/post-as.md +1 -1
  23. package/dist/agent-src/commands/pr/create.md +4 -0
  24. package/dist/agent-src/commands/research.md +1 -1
  25. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  26. package/dist/agent-src/commands/security-audit-config.md +1 -1
  27. package/dist/agent-src/commands/team/delegate.md +4 -0
  28. package/dist/agent-src/commands/video.md +1 -1
  29. package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
  30. package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
  31. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +48 -2
  32. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -0
  33. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
  34. package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
  35. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
  36. package/dist/agent-src/contexts/override-system.md +75 -5
  37. package/dist/agent-src/rules/code-provenance.md +112 -0
  38. package/dist/agent-src/rules/context-hygiene.md +2 -0
  39. package/dist/agent-src/rules/doc-screenshot-hygiene.md +97 -0
  40. package/dist/agent-src/rules/domain-safety-pii.md +1 -0
  41. package/dist/agent-src/rules/external-code-graph-interop.md +13 -3
  42. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +2 -0
  43. package/dist/agent-src/rules/git-history-discipline.md +2 -0
  44. package/dist/agent-src/rules/history-discipline.md +80 -0
  45. package/dist/agent-src/rules/language-and-tone.md +2 -0
  46. package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -0
  47. package/dist/agent-src/rules/media-governance-routing.md +2 -0
  48. package/dist/agent-src/rules/minimal-safe-diff.md +2 -0
  49. package/dist/agent-src/rules/no-roadmap-references.md +4 -1
  50. package/dist/agent-src/rules/non-destructive-by-default.md +20 -0
  51. package/dist/agent-src/rules/onboarding-gate.md +2 -0
  52. package/dist/agent-src/rules/output-discipline.md +2 -0
  53. package/dist/agent-src/rules/persona-governance.md +2 -0
  54. package/dist/agent-src/rules/php-coding.md +1 -0
  55. package/dist/agent-src/rules/preservation-guard.md +3 -0
  56. package/dist/agent-src/rules/reviewer-awareness.md +1 -0
  57. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
  58. package/dist/agent-src/rules/roadmap-progress-sync.md +9 -0
  59. package/dist/agent-src/rules/scale-discipline.md +92 -0
  60. package/dist/agent-src/rules/secret-vcs-guard.md +106 -0
  61. package/dist/agent-src/rules/security-sensitive-stop.md +11 -1
  62. package/dist/agent-src/rules/session-canary.md +77 -0
  63. package/dist/agent-src/rules/skill-quality.md +2 -0
  64. package/dist/agent-src/rules/source-confidentiality.md +2 -0
  65. package/dist/agent-src/rules/source-of-truth.md +2 -0
  66. package/dist/agent-src/rules/telegraph-speak.md +2 -0
  67. package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -1
  68. package/dist/agent-src/rules/tool-safety.md +4 -1
  69. package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
  70. package/dist/agent-src/rules/verify-before-complete.md +2 -0
  71. package/dist/agent-src/skills/adr-create/SKILL.md +17 -1
  72. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  73. package/dist/agent-src/skills/code-intelligence/SKILL.md +97 -0
  74. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  75. package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
  76. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  77. package/dist/agent-src/skills/design-review/SKILL.md +5 -6
  78. package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
  79. package/dist/agent-src/skills/gated-reach/SKILL.md +185 -0
  80. package/dist/agent-src/skills/gated-reach/evals/triggers.json +72 -0
  81. package/dist/agent-src/skills/history-design/SKILL.md +101 -0
  82. package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
  83. package/dist/agent-src/skills/humanizer/SKILL.md +3 -3
  84. package/dist/agent-src/skills/image-analyser/SKILL.md +14 -12
  85. package/dist/agent-src/skills/image-editing/SKILL.md +2 -1
  86. package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
  87. package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
  88. package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
  89. package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
  90. package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
  91. package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
  92. package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
  93. package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
  94. package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
  95. package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
  96. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  97. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +7 -7
  98. package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
  99. package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
  100. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +2 -2
  101. package/dist/agent-src/skills/readme-writing/SKILL.md +6 -1
  102. package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -0
  103. package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -3
  104. package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -0
  105. package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
  106. package/dist/agent-src/skills/rule-refactor/SKILL.md +3 -3
  107. package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
  108. package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
  109. package/dist/agent-src/skills/screenshot-hygiene/SKILL.md +171 -0
  110. package/dist/agent-src/skills/secrets-management/SKILL.md +43 -1
  111. package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
  112. package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +1 -1
  113. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -3
  114. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  115. package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
  116. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +45 -85
  117. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +5 -4
  118. package/dist/agent-src/skills/subagent-orchestration/prompts/adversarial-verification-council.md +29 -0
  119. package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge-two-stage.md +29 -0
  120. package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge.md +29 -0
  121. package/dist/agent-src/skills/subagent-orchestration/prompts/do-competitively.md +29 -0
  122. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-parallel.md +29 -0
  123. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +29 -0
  124. package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-worktrees.md +29 -0
  125. package/dist/agent-src/skills/subagent-orchestration/prompts/judge-with-debate.md +29 -0
  126. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  127. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -3
  128. package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
  129. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +4 -0
  130. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +2 -3
  131. package/dist/agent-src/templates/AGENTS.md +1 -1
  132. package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
  133. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  134. package/dist/agent-src/templates/command.md +3 -3
  135. package/dist/agent-src/templates/github-workflows/secret-scan.yml +65 -0
  136. package/dist/agent-src/templates/persona.md +2 -2
  137. package/dist/agent-src/templates/rule.md +2 -2
  138. package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  139. package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
  140. package/dist/cli/commands/doctorShell.js +20 -0
  141. package/dist/cli/commands/doctorShell.js.map +1 -1
  142. package/dist/cli/commands/rtkDetect.js +58 -0
  143. package/dist/cli/commands/rtkDetect.js.map +1 -0
  144. package/dist/cli/configRoot.js +112 -0
  145. package/dist/cli/configRoot.js.map +1 -0
  146. package/dist/cli/configRoot.test.js +97 -0
  147. package/dist/cli/configRoot.test.js.map +1 -0
  148. package/dist/cli/firstRunNotice.js +70 -0
  149. package/dist/cli/firstRunNotice.js.map +1 -0
  150. package/dist/cli/help.js +4 -1
  151. package/dist/cli/help.js.map +1 -1
  152. package/dist/cli/main.js +54 -5
  153. package/dist/cli/main.js.map +1 -1
  154. package/dist/cli/registry.js +8 -1
  155. package/dist/cli/registry.js.map +1 -1
  156. package/dist/discovery/deprecation-report.md +1 -1
  157. package/dist/discovery/discovery-manifest.json +502 -101
  158. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  159. package/dist/discovery/discovery-manifest.summary.md +6 -4
  160. package/dist/discovery/orphan-report.md +1 -1
  161. package/dist/discovery/packs.json +95 -8
  162. package/dist/discovery/trust-report.md +11 -11
  163. package/dist/discovery/workspaces.json +36 -7
  164. package/dist/hooks/dispatch.js +19475 -0
  165. package/dist/install/agentSwitchDetection.js +75 -0
  166. package/dist/install/agentSwitchDetection.js.map +1 -0
  167. package/dist/install/agentSwitchProfile.js +117 -0
  168. package/dist/install/agentSwitchProfile.js.map +1 -0
  169. package/dist/install/atomic.js +1 -1
  170. package/dist/install/detect.js +1 -1
  171. package/dist/install/install.mjs +791 -486
  172. package/dist/install/rtkDetection.js +213 -0
  173. package/dist/install/rtkDetection.js.map +1 -0
  174. package/dist/install/rule_scope.js +2 -1
  175. package/dist/install/rule_scope.js.map +1 -1
  176. package/dist/install/types.js +2 -2
  177. package/dist/install/wizard-plan.js +1 -1
  178. package/dist/install/wizardDismissals.js +58 -0
  179. package/dist/install/wizardDismissals.js.map +1 -0
  180. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  181. package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
  182. package/dist/mcp/registry-manifest.json +15 -4
  183. package/dist/mcp/server.json +20 -0
  184. package/dist/mcp/server.mjs +44292 -0
  185. package/dist/router.json +1 -1
  186. package/dist/scripts/condense.js +14 -7
  187. package/dist/scripts/condense.js.map +1 -1
  188. package/dist/server/app.js +12 -0
  189. package/dist/server/app.js.map +1 -1
  190. package/dist/server/io/sharedWriteCheck.js +101 -0
  191. package/dist/server/io/sharedWriteCheck.js.map +1 -0
  192. package/dist/server/routes/ping.js +32 -0
  193. package/dist/server/routes/ping.js.map +1 -1
  194. package/dist/server/routes/settings.js +21 -4
  195. package/dist/server/routes/settings.js.map +1 -1
  196. package/dist/server/routes/userMd.js +21 -4
  197. package/dist/server/routes/userMd.js.map +1 -1
  198. package/dist/server/routes/wizard.js +68 -25
  199. package/dist/server/routes/wizard.js.map +1 -1
  200. package/dist/server/schemas/settings.js +12 -2
  201. package/dist/server/schemas/settings.js.map +1 -1
  202. package/dist/server/serverInfo.js +6 -2
  203. package/dist/server/serverInfo.js.map +1 -1
  204. package/dist/server/token.js +11 -4
  205. package/dist/server/token.js.map +1 -1
  206. package/dist/server/writeRoot.js +15 -1
  207. package/dist/server/writeRoot.js.map +1 -1
  208. package/dist/shared/capabilities.js +33 -0
  209. package/dist/shared/capabilities.js.map +1 -0
  210. package/dist/shared/capabilities.test.js +39 -0
  211. package/dist/shared/capabilities.test.js.map +1 -0
  212. package/dist/ui/assets/index-BpSQt5vm.js +40 -0
  213. package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
  214. package/dist/ui/assets/index-jSfMW8_t.css +1 -0
  215. package/dist/ui/index.html +15 -6
  216. package/docs/MIGRATION.md +16 -0
  217. package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
  218. package/package.json +22 -9
  219. package/src/agent-src/templates/AGENTS.md +1 -1
  220. package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  221. package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
  222. package/src/config/agent-settings.template.yml +94 -13
  223. package/src/config/discovery/packs.yml +22 -0
  224. package/src/config/discovery/workspaces.yml +1 -1
  225. package/src/config/evaluator-budgets.json +47 -0
  226. package/src/config/hook-latency-budget.json +20 -0
  227. package/src/config/reach-channels.yml +217 -0
  228. package/src/config/reach-prescriptions-intake.yml +200 -0
  229. package/src/install/agentSwitchDetection.ts +90 -0
  230. package/src/install/agentSwitchProfile.ts +131 -0
  231. package/src/install/atomic.ts +1 -1
  232. package/src/install/detect.ts +1 -1
  233. package/src/install/rtkDetection.ts +274 -0
  234. package/src/install/rule_scope.ts +9 -2
  235. package/src/install/types.ts +2 -2
  236. package/src/install/wizard-plan.ts +1 -1
  237. package/src/install/wizardDismissals.ts +60 -0
  238. package/src/scripts/_cli/cmd_doctor.ts +62 -1
  239. package/src/scripts/_cli/cmd_memory_get.ts +197 -0
  240. package/src/scripts/_cli/cmd_refresh.ts +30 -0
  241. package/src/scripts/_dispatch.bash +96 -0
  242. package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
  243. package/src/scripts/_lib/auto_dispatch.ts +76 -0
  244. package/src/scripts/_lib/detect_target_license.ts +714 -0
  245. package/src/scripts/_lib/exec_evidence.ts +251 -0
  246. package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +15 -0
  247. package/src/scripts/_lib/fixtures/secret-detector/positives.txt +15 -0
  248. package/src/scripts/_lib/install_drift.ts +194 -0
  249. package/src/scripts/_lib/kernel_rules.ts +46 -0
  250. package/src/scripts/_lib/memory_fts_index.ts +390 -0
  251. package/src/scripts/_lib/orchestration_record.ts +91 -2
  252. package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
  253. package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
  254. package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
  255. package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
  256. package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
  257. package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
  258. package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
  259. package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
  260. package/src/scripts/_lib/persistence/types.ts +109 -0
  261. package/src/scripts/_lib/reddit_thread_parse.ts +598 -0
  262. package/src/scripts/_lib/risk_paths.ts +160 -0
  263. package/src/scripts/_lib/rtk_allowlist.ts +44 -0
  264. package/src/scripts/_lib/secret_detector.test.ts +108 -0
  265. package/src/scripts/_lib/secret_detector.ts +328 -0
  266. package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
  267. package/src/scripts/_lib/spawn_env.ts +7 -0
  268. package/src/scripts/_lib/sqlite_guard.ts +191 -0
  269. package/src/scripts/_lib/subagent_spawn.ts +53 -0
  270. package/src/scripts/_lib/tool_probe.ts +359 -0
  271. package/src/scripts/_lib/worker_budget.ts +107 -0
  272. package/src/scripts/adr/regenerate_index.ts +81 -6
  273. package/src/scripts/ai_council/blind_review.ts +0 -0
  274. package/src/scripts/ai_council/config.ts +12 -6
  275. package/src/scripts/ai_council/orchestrator.ts +73 -3
  276. package/src/scripts/ai_team/review_gate.ts +8 -10
  277. package/src/scripts/ai_team/team_dispatch.ts +48 -0
  278. package/src/scripts/audit_adr_coverage.ts +33 -0
  279. package/src/scripts/audit_initial_context.ts +1 -1
  280. package/src/scripts/bench_cross_source_eval.ts +400 -0
  281. package/src/scripts/bench_honesty_score.ts +1093 -0
  282. package/src/scripts/bench_hook_latency.ts +218 -0
  283. package/src/scripts/build_mcp_catalog.ts +275 -0
  284. package/src/scripts/build_mcp_registry_manifest.ts +46 -0
  285. package/src/scripts/build_proof.ts +207 -0
  286. package/src/scripts/chat_history.ts +8 -5
  287. package/src/scripts/check_adr_frontmatter.ts +195 -0
  288. package/src/scripts/check_artefact_count_messaging.ts +4 -0
  289. package/src/scripts/check_backstop_debt.ts +210 -0
  290. package/src/scripts/check_bundle_path_leakage.ts +343 -0
  291. package/src/scripts/check_claims.ts +188 -8
  292. package/src/scripts/check_comparison.ts +12 -0
  293. package/src/scripts/check_enforcement_coverage.ts +592 -0
  294. package/src/scripts/check_evaluator_budgets.ts +99 -0
  295. package/src/scripts/check_kernel_rule_bundle.ts +16 -12
  296. package/src/scripts/check_knowledge_sharing.ts +12 -1
  297. package/src/scripts/check_no_external_sources.ts +2 -2
  298. package/src/scripts/check_reach_channels.ts +407 -0
  299. package/src/scripts/check_reach_staleness.ts +364 -0
  300. package/src/scripts/check_secret_leak.test.ts +47 -0
  301. package/src/scripts/check_secret_leak.ts +290 -0
  302. package/src/scripts/check_source_pointer_freshness.ts +28 -3
  303. package/src/scripts/code_graph/build.ts +0 -0
  304. package/src/scripts/code_graph/cli.ts +379 -0
  305. package/src/scripts/code_graph/detect.ts +186 -0
  306. package/src/scripts/code_graph/extract.ts +386 -0
  307. package/src/scripts/code_graph/intent.ts +45 -0
  308. package/src/scripts/code_graph/loader.ts +123 -0
  309. package/src/scripts/code_graph/query.ts +290 -0
  310. package/src/scripts/code_graph/sanitize.ts +30 -0
  311. package/src/scripts/code_graph/sqlite_store.ts +174 -0
  312. package/src/scripts/code_graph/types.ts +83 -0
  313. package/src/scripts/code_graph/validate.ts +63 -0
  314. package/src/scripts/condense.ts +14 -6
  315. package/src/scripts/context_hygiene_hook.ts +8 -5
  316. package/src/scripts/council_cli.ts +126 -12
  317. package/src/scripts/detect_target_license.ts +203 -0
  318. package/src/scripts/evaluator_umbrella.sh +145 -0
  319. package/src/scripts/external_sources_denylist.json +8 -4
  320. package/src/scripts/first_run_gate_hook.ts +9 -5
  321. package/src/scripts/generate_subagent_floor.ts +194 -0
  322. package/src/scripts/hermetic-install.sh +3 -3
  323. package/src/scripts/hook_manifest.yaml +65 -16
  324. package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
  325. package/src/scripts/hooks/block_no_verify.ts +9 -9
  326. package/src/scripts/hooks/code_graph_nudge_hook.ts +191 -0
  327. package/src/scripts/hooks/concern_registry.ts +75 -0
  328. package/src/scripts/hooks/design_slop_hook.ts +8 -5
  329. package/src/scripts/hooks/dispatch_entry.ts +37 -0
  330. package/src/scripts/hooks/dispatch_hook.ts +176 -3
  331. package/src/scripts/hooks/hook_stdin.ts +42 -0
  332. package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
  333. package/src/scripts/hot_context_hook.ts +7 -6
  334. package/src/scripts/injection_scan_hook.ts +9 -1
  335. package/src/scripts/install +6 -6
  336. package/src/scripts/install-hooks.sh +4 -4
  337. package/src/scripts/install.sh +5 -4
  338. package/src/scripts/install.ts +264 -23
  339. package/src/scripts/iron_law_sha.ts +3 -12
  340. package/src/scripts/learning_sidecar.ts +0 -0
  341. package/src/scripts/lint_budget_ownership.ts +89 -0
  342. package/src/scripts/lint_command_routing.ts +35 -5
  343. package/src/scripts/lint_command_verbs.ts +42 -9
  344. package/src/scripts/lint_consumer_internal_refs.ts +211 -0
  345. package/src/scripts/lint_discovery_vocabulary.ts +2 -0
  346. package/src/scripts/lint_documented_commands.ts +670 -0
  347. package/src/scripts/lint_framework_leakage.ts +17 -3
  348. package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
  349. package/src/scripts/lint_governed_writes.ts +335 -0
  350. package/src/scripts/lint_hidden_unicode.ts +6 -0
  351. package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
  352. package/src/scripts/lint_memory_tripwire.ts +186 -0
  353. package/src/scripts/lint_override_kernel_guard.ts +267 -0
  354. package/src/scripts/lint_persistence.ts +171 -0
  355. package/src/scripts/lint_pre_migration_refs.ts +106 -0
  356. package/src/scripts/lint_provenance.ts +547 -0
  357. package/src/scripts/lint_provenance_vocabulary.ts +437 -0
  358. package/src/scripts/lint_spawn_payload.ts +283 -0
  359. package/src/scripts/lint_store_boundary.ts +152 -0
  360. package/src/scripts/lint_versioned_cache.ts +7 -1
  361. package/src/scripts/mcp_server/__main__.ts +7 -2
  362. package/src/scripts/mcp_server/catalog.ts +23 -1
  363. package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
  364. package/src/scripts/mcp_server/prompts.ts +6 -0
  365. package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
  366. package/src/scripts/mcp_server/tools.ts +56 -5
  367. package/src/scripts/mcp_telemetry_query.ts +2 -33
  368. package/src/scripts/mcp_telemetry_store.ts +64 -34
  369. package/src/scripts/measure_rule_budget.ts +3 -12
  370. package/src/scripts/memory_learn_hook.ts +126 -0
  371. package/src/scripts/memory_lookup.ts +0 -0
  372. package/src/scripts/memory_replay_24.ts +312 -0
  373. package/src/scripts/memory_report.ts +16 -3
  374. package/src/scripts/memory_signal.ts +48 -0
  375. package/src/scripts/memory_status.ts +6 -0
  376. package/src/scripts/minimal_safe_diff_hook.ts +8 -5
  377. package/src/scripts/onboarding_gate_hook.ts +8 -5
  378. package/src/scripts/orchestration_record.ts +16 -0
  379. package/src/scripts/pr_url_reminder_hook.ts +8 -1
  380. package/src/scripts/prepack-check.mjs +17 -0
  381. package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
  382. package/src/scripts/prepack_lifecycle_check.mjs +82 -0
  383. package/src/scripts/profile_staleness_hook.ts +8 -7
  384. package/src/scripts/reach_doctor.ts +1651 -0
  385. package/src/scripts/release.ts +24 -3
  386. package/src/scripts/report_install_drift.ts +109 -0
  387. package/src/scripts/risk_escalation_shadow.ts +160 -0
  388. package/src/scripts/roadmap_progress_hook.ts +8 -5
  389. package/src/scripts/schemas/agent-settings.schema.json +23 -0
  390. package/src/scripts/schemas/license-policy.schema.json +89 -0
  391. package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
  392. package/src/scripts/schemas/reach-channels.schema.json +134 -0
  393. package/src/scripts/schemas/reach-doctor-payload.schema.json +220 -0
  394. package/src/scripts/schemas/rule.schema.json +20 -0
  395. package/src/scripts/self_review_gate.test.ts +173 -1
  396. package/src/scripts/self_review_gate.ts +155 -15
  397. package/src/scripts/session_canary_hook.ts +182 -0
  398. package/src/scripts/skill_linter.ts +55 -0
  399. package/src/scripts/smoke_quickstart.ts +2 -2
  400. package/src/scripts/surface_probe_hook.ts +8 -7
  401. package/src/scripts/sync_gitattributes.ts +310 -0
  402. package/src/scripts/team_review_gate_hook.ts +13 -16
  403. package/src/scripts/validate_reach_prescriptions.ts +751 -0
  404. package/src/scripts/verify_before_complete_hook.ts +8 -5
  405. package/src/scripts/wrapper_freshness_hook.ts +8 -7
  406. package/src/server/schemas/settings.ts +24 -2
  407. package/src/shared/capabilities.test.ts +43 -0
  408. package/src/shared/capabilities.ts +75 -0
  409. package/src/templates/minimal/agents-overrides-readme.md +20 -0
  410. package/dist/ui/assets/index-BPFMZWUs.css +0 -1
  411. package/dist/ui/assets/index-BiEZiZ31.js +0 -40
  412. package/dist/ui/assets/index-BiEZiZ31.js.map +0 -1
  413. package/docs/CLAIMS.md +0 -261
  414. package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
  415. package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
  416. package/docs/SKILL_CENSUS.md +0 -352
  417. package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
  418. package/docs/adrs/cost/README.md +0 -9
  419. package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
  420. package/docs/adrs/memory/README.md +0 -10
  421. package/docs/adrs/router/0001-three-tier-routing.md +0 -119
  422. package/docs/adrs/router/README.md +0 -9
  423. package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
  424. package/docs/adrs/schema/README.md +0 -9
  425. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
  426. package/docs/adrs/smoke/README.md +0 -9
  427. package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
  428. package/docs/adrs/telegraph/README.md +0 -9
  429. package/docs/announcements/2026-05-non-dev-launch.md +0 -79
  430. package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
  431. package/docs/anti-reskin-gate.md +0 -60
  432. package/docs/architecture/augment-projection.md +0 -70
  433. package/docs/architecture/claude-bundle.md +0 -77
  434. package/docs/architecture/current-onboard-baseline.md +0 -126
  435. package/docs/architecture/current-safety-behavior.md +0 -137
  436. package/docs/architecture/multi-tool-projection.md +0 -125
  437. package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
  438. package/docs/architecture/source-projection.md +0 -85
  439. package/docs/architecture.md +0 -390
  440. package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
  441. package/docs/archive/CHANGELOG-7.0.0.md +0 -419
  442. package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
  443. package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
  444. package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
  445. package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
  446. package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
  447. package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
  448. package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
  449. package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
  450. package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
  451. package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
  452. package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
  453. package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
  454. package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
  455. package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
  456. package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
  457. package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
  458. package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
  459. package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
  460. package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
  461. package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
  462. package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
  463. package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
  464. package/docs/artefact-census.md +0 -71
  465. package/docs/benchmark.md +0 -648
  466. package/docs/benchmark.pinned.yml +0 -31
  467. package/docs/benchmarks.md +0 -85
  468. package/docs/capability-matrix.md +0 -33
  469. package/docs/case-studies/_template.md +0 -60
  470. package/docs/case-studies/frontend-design-positioning.md +0 -86
  471. package/docs/catalog.md +0 -721
  472. package/docs/command-flows.md +0 -272
  473. package/docs/command-naming-audit.md +0 -60
  474. package/docs/comparison.yaml +0 -45
  475. package/docs/contracts/CHANGELOG-conventions.md +0 -149
  476. package/docs/contracts/STABILITY.md +0 -188
  477. package/docs/contracts/adoption-signal-floor.md +0 -127
  478. package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
  479. package/docs/contracts/adr-chat-history-split.md +0 -140
  480. package/docs/contracts/adr-command-suggestion.md +0 -144
  481. package/docs/contracts/adr-forecast-construction-shape.md +0 -90
  482. package/docs/contracts/adr-gtm-context-spine.md +0 -116
  483. package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
  484. package/docs/contracts/adr-install-user-type-axis.md +0 -107
  485. package/docs/contracts/adr-layout.md +0 -107
  486. package/docs/contracts/adr-level-6-productization.md +0 -145
  487. package/docs/contracts/adr-mcp-runtime.md +0 -128
  488. package/docs/contracts/adr-product-ui-track.md +0 -381
  489. package/docs/contracts/adr-prompt-driven-execution.md +0 -186
  490. package/docs/contracts/adr-settings-sync-engine.md +0 -128
  491. package/docs/contracts/adr-user-types-axis.md +0 -127
  492. package/docs/contracts/adr-wing4-context-spine.md +0 -126
  493. package/docs/contracts/agent-user-schema.md +0 -170
  494. package/docs/contracts/agents-layout.md +0 -148
  495. package/docs/contracts/agents-md-tech-stack.md +0 -75
  496. package/docs/contracts/ai-council-config.md +0 -829
  497. package/docs/contracts/ai-team-config.md +0 -224
  498. package/docs/contracts/analysis-memory-loop.md +0 -149
  499. package/docs/contracts/at-rest-encryption.md +0 -191
  500. package/docs/contracts/audit-log-v1.md +0 -150
  501. package/docs/contracts/auto-orchestration-v1.md +0 -70
  502. package/docs/contracts/benchmark-ab-contract.md +0 -106
  503. package/docs/contracts/benchmark-corpus-spec.md +0 -125
  504. package/docs/contracts/benchmark-report-schema.md +0 -113
  505. package/docs/contracts/branch-protection-policy.md +0 -139
  506. package/docs/contracts/brand-token-consumption.md +0 -74
  507. package/docs/contracts/capability-boundary.md +0 -69
  508. package/docs/contracts/capability-packs.md +0 -217
  509. package/docs/contracts/ci-cost-budget.md +0 -111
  510. package/docs/contracts/ci-green-floor.md +0 -141
  511. package/docs/contracts/command-category-governance.md +0 -84
  512. package/docs/contracts/command-clusters.md +0 -399
  513. package/docs/contracts/command-surface-tiers.md +0 -176
  514. package/docs/contracts/command-taxonomy.md +0 -137
  515. package/docs/contracts/condensation-default-kill-criterion.md +0 -116
  516. package/docs/contracts/config-presets.md +0 -144
  517. package/docs/contracts/conformance.md +0 -84
  518. package/docs/contracts/consumer-bridge.md +0 -73
  519. package/docs/contracts/context-paths.md +0 -101
  520. package/docs/contracts/context-spine.md +0 -179
  521. package/docs/contracts/cost-dashboard.md +0 -143
  522. package/docs/contracts/cost-enforcement.md +0 -134
  523. package/docs/contracts/cost-profile-defaults.md +0 -110
  524. package/docs/contracts/cost-summary-schema.md +0 -107
  525. package/docs/contracts/creative-pack-boundary.md +0 -63
  526. package/docs/contracts/cross-repo-retrieval.md +0 -64
  527. package/docs/contracts/cross-wing-handoff.md +0 -134
  528. package/docs/contracts/daily-workspace.md +0 -147
  529. package/docs/contracts/decision-engine-gates.md +0 -120
  530. package/docs/contracts/decision-trace-v1.md +0 -177
  531. package/docs/contracts/design-artifact-lifecycle.md +0 -93
  532. package/docs/contracts/design-artifact-verification.md +0 -153
  533. package/docs/contracts/discovery-manifest.md +0 -209
  534. package/docs/contracts/discovery-manifest.schema.json +0 -254
  535. package/docs/contracts/evidence-based-pruning.md +0 -102
  536. package/docs/contracts/explain-modes.md +0 -187
  537. package/docs/contracts/explain-trace.schema.json +0 -144
  538. package/docs/contracts/file-ownership-matrix.json +0 -13941
  539. package/docs/contracts/file-ownership-matrix.md +0 -135
  540. package/docs/contracts/frontmatter-contract.md +0 -140
  541. package/docs/contracts/ghostwriter-schema.md +0 -337
  542. package/docs/contracts/governance-enforcement-projection.md +0 -159
  543. package/docs/contracts/gui-wizard.md +0 -350
  544. package/docs/contracts/harness-expectations.md +0 -128
  545. package/docs/contracts/hook-architecture-v1.md +0 -325
  546. package/docs/contracts/host-agent-protocol.md +0 -110
  547. package/docs/contracts/implement-ticket-flow.md +0 -625
  548. package/docs/contracts/init-telemetry.md +0 -132
  549. package/docs/contracts/injected-block-authenticity-model.md +0 -66
  550. package/docs/contracts/install-layout.md +0 -249
  551. package/docs/contracts/install-scopes.md +0 -82
  552. package/docs/contracts/installed-tools-lockfile.md +0 -144
  553. package/docs/contracts/installer-agent-mode.md +0 -137
  554. package/docs/contracts/iron-law-overrides.txt +0 -26
  555. package/docs/contracts/kernel-membership.md +0 -339
  556. package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
  557. package/docs/contracts/linear-ai-three-layers.md +0 -130
  558. package/docs/contracts/linter-structural-model.md +0 -181
  559. package/docs/contracts/load-context-budget-model.md +0 -259
  560. package/docs/contracts/load-context-schema.md +0 -220
  561. package/docs/contracts/local-analytics.md +0 -160
  562. package/docs/contracts/local-knowledge-ingestion.md +0 -96
  563. package/docs/contracts/local-server-api.md +0 -134
  564. package/docs/contracts/low-impact-corpus-format.md +0 -95
  565. package/docs/contracts/mcp-beta-criteria.md +0 -130
  566. package/docs/contracts/mcp-cloud-scope.md +0 -355
  567. package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
  568. package/docs/contracts/mcp-phase-1-scope.md +0 -272
  569. package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
  570. package/docs/contracts/mcp-tool-inventory.md +0 -64
  571. package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
  572. package/docs/contracts/measurement-baseline.md +0 -103
  573. package/docs/contracts/memory-visibility-v1.md +0 -160
  574. package/docs/contracts/mental-models.md +0 -336
  575. package/docs/contracts/migrate-command.md +0 -233
  576. package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
  577. package/docs/contracts/namespace.md +0 -125
  578. package/docs/contracts/no-runtime-boundary.md +0 -61
  579. package/docs/contracts/one-off-script-lifecycle.md +0 -110
  580. package/docs/contracts/orchestration-dsl-v1.md +0 -153
  581. package/docs/contracts/package-self-orientation.md +0 -163
  582. package/docs/contracts/pilot/agent-authority.md +0 -24
  583. package/docs/contracts/pilot/direct-answers.md +0 -70
  584. package/docs/contracts/pilot/language-and-tone.md +0 -63
  585. package/docs/contracts/plain-language-surface.md +0 -117
  586. package/docs/contracts/prelaunch-diagnostics.md +0 -151
  587. package/docs/contracts/profile-system.md +0 -167
  588. package/docs/contracts/reasoning-discipline-protocol.md +0 -83
  589. package/docs/contracts/release-pr-gating.md +0 -151
  590. package/docs/contracts/release-sizing.md +0 -107
  591. package/docs/contracts/release-trunk-sync.md +0 -105
  592. package/docs/contracts/review-lens-schema.md +0 -64
  593. package/docs/contracts/roadmap-complexity-standard.md +0 -138
  594. package/docs/contracts/role-experience.md +0 -125
  595. package/docs/contracts/router-blending.md +0 -71
  596. package/docs/contracts/rule-classification.md +0 -171
  597. package/docs/contracts/rule-interactions.md +0 -132
  598. package/docs/contracts/rule-interactions.yml +0 -260
  599. package/docs/contracts/rule-priority-hierarchy.md +0 -88
  600. package/docs/contracts/rule-router.md +0 -287
  601. package/docs/contracts/safety-model.md +0 -129
  602. package/docs/contracts/session-profile-overlay.md +0 -157
  603. package/docs/contracts/settings-api.md +0 -264
  604. package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
  605. package/docs/contracts/settings-sync-yaml-subset.md +0 -139
  606. package/docs/contracts/skill-bundled-assets.md +0 -62
  607. package/docs/contracts/skill-discovery.md +0 -80
  608. package/docs/contracts/skill-distribution-channels.md +0 -66
  609. package/docs/contracts/skill-domains.md +0 -144
  610. package/docs/contracts/skill-dry-run.md +0 -47
  611. package/docs/contracts/skill-family-map.yml +0 -915
  612. package/docs/contracts/smoke-contracts.md +0 -144
  613. package/docs/contracts/subagent-boundary.md +0 -59
  614. package/docs/contracts/surface-agent-contracts.md +0 -153
  615. package/docs/contracts/surface-matrix.md +0 -108
  616. package/docs/contracts/surface-tiers.md +0 -81
  617. package/docs/contracts/telegraph-telemetry.md +0 -83
  618. package/docs/contracts/ticket-bundle-format.md +0 -233
  619. package/docs/contracts/tier-3-contrib-plugin.md +0 -137
  620. package/docs/contracts/trust-and-safety.md +0 -144
  621. package/docs/contracts/ui-stack-extension.md +0 -237
  622. package/docs/contracts/ui-track-flow.md +0 -329
  623. package/docs/contracts/universal-skills.md +0 -91
  624. package/docs/contracts/user-type-schema.md +0 -146
  625. package/docs/contracts/value-dashboard-spec.md +0 -378
  626. package/docs/contracts/value-report-schema.md +0 -168
  627. package/docs/contracts/workflow-packs.md +0 -121
  628. package/docs/contracts/workspace-boundary.md +0 -84
  629. package/docs/contracts/workspace-documents.md +0 -144
  630. package/docs/contracts/write-engine.md +0 -182
  631. package/docs/cookbook.md +0 -152
  632. package/docs/customization.md +0 -685
  633. package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
  634. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
  635. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
  636. package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
  637. package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
  638. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
  639. package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
  640. package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
  641. package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
  642. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
  643. package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
  644. package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
  645. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
  646. package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
  647. package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
  648. package/docs/decisions/ADR-016-installer-architecture.md +0 -189
  649. package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
  650. package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
  651. package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
  652. package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
  653. package/docs/decisions/ADR-021-deployment-shape.md +0 -153
  654. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
  655. package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
  656. package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
  657. package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
  658. package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
  659. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
  660. package/docs/decisions/ADR-028-root-layout.md +0 -147
  661. package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
  662. package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
  663. package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
  664. package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
  665. package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
  666. package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
  667. package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
  668. package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
  669. package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
  670. package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
  671. package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
  672. package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
  673. package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
  674. package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
  675. package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
  676. package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
  677. package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
  678. package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
  679. package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
  680. package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
  681. package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
  682. package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
  683. package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
  684. package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
  685. package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
  686. package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
  687. package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
  688. package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
  689. package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
  690. package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
  691. package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
  692. package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
  693. package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
  694. package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
  695. package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
  696. package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
  697. package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
  698. package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
  699. package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
  700. package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
  701. package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
  702. package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
  703. package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
  704. package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
  705. package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
  706. package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
  707. package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
  708. package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
  709. package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
  710. package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
  711. package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
  712. package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
  713. package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
  714. package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
  715. package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
  716. package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
  717. package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
  718. package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
  719. package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
  720. package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
  721. package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
  722. package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
  723. package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
  724. package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
  725. package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
  726. package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
  727. package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
  728. package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
  729. package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
  730. package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
  731. package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
  732. package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
  733. package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
  734. package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
  735. package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
  736. package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
  737. package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
  738. package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
  739. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
  740. package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
  741. package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -246
  742. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -110
  743. package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
  744. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
  745. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -201
  746. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
  747. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
  748. package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
  749. package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
  750. package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
  751. package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
  752. package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
  753. package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
  754. package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
  755. package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
  756. package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
  757. package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
  758. package/docs/decisions/INDEX.md +0 -136
  759. package/docs/deploy/connector-setup.md +0 -129
  760. package/docs/deploy/env-vars.md +0 -70
  761. package/docs/deploy/policy-cookbook.md +0 -130
  762. package/docs/deploy/quickstart.md +0 -112
  763. package/docs/deploy/small-team-recipe.md +0 -148
  764. package/docs/deploy/team-deployment-posture.md +0 -111
  765. package/docs/design/adversarial-council-eval.md +0 -106
  766. package/docs/design/council-vs-solo-baseline.md +0 -92
  767. package/docs/design/cross-model-parity-eval.md +0 -82
  768. package/docs/design/length-neutral-judge-rerun.md +0 -92
  769. package/docs/design/utilization-window-criteria.md +0 -51
  770. package/docs/development.md +0 -230
  771. package/docs/distribution/awesome-list-submission.md +0 -46
  772. package/docs/distribution/consumer-matrix.md +0 -96
  773. package/docs/distribution/launch-story-draft.md +0 -58
  774. package/docs/distribution/mcp-submission-checklist.md +0 -95
  775. package/docs/distribution/public-install-smoke.md +0 -68
  776. package/docs/distribution/registries.md +0 -117
  777. package/docs/distribution/registry-submissions.md +0 -85
  778. package/docs/distribution/telemetry-privacy.md +0 -128
  779. package/docs/distribution/telemetry-schema.md +0 -174
  780. package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
  781. package/docs/end-to-end-walkthroughs.md +0 -165
  782. package/docs/enforcement-by-host.md +0 -44
  783. package/docs/examples/agent-user.example.md +0 -22
  784. package/docs/experiences/agency.md +0 -49
  785. package/docs/experiences/content_creator.md +0 -49
  786. package/docs/experiences/developer.md +0 -49
  787. package/docs/experiences/finance.md +0 -50
  788. package/docs/experiences/founder.md +0 -49
  789. package/docs/experiences/ops.md +0 -49
  790. package/docs/featured-commands.md +0 -27
  791. package/docs/featured-skills.md +0 -95
  792. package/docs/flows.md +0 -67
  793. package/docs/getting-started-by-role.md +0 -190
  794. package/docs/getting-started-laravel.md +0 -72
  795. package/docs/getting-started-local-stdio.md +0 -77
  796. package/docs/getting-started.md +0 -254
  797. package/docs/github-topics.md +0 -93
  798. package/docs/governance-advantage.md +0 -72
  799. package/docs/governance.md +0 -96
  800. package/docs/guides/cross-repo-linked-projects.md +0 -93
  801. package/docs/guides/cross-repo-retrieval.md +0 -61
  802. package/docs/guides/frontend-design-corpus-refresh.md +0 -83
  803. package/docs/guides/local-analytics.md +0 -125
  804. package/docs/guides/local-knowledge.md +0 -127
  805. package/docs/guides/skill-discovery.md +0 -71
  806. package/docs/guides/skill-preview.md +0 -71
  807. package/docs/hook-payload-capture.md +0 -221
  808. package/docs/install-friction-report.md +0 -66
  809. package/docs/installation.md +0 -959
  810. package/docs/maintainers/branch-protection.md +0 -105
  811. package/docs/maintainers/dev-mode.md +0 -106
  812. package/docs/maintainers/optional-media-deps.md +0 -50
  813. package/docs/maintainers/system-map.md +0 -85
  814. package/docs/mcp-registries.md +0 -94
  815. package/docs/mcp-server.md +0 -175
  816. package/docs/mcp.md +0 -147
  817. package/docs/media/proof-demo.cast +0 -14
  818. package/docs/media/proof-demo.gif +0 -0
  819. package/docs/migration/consumer-template-consumption-model.md +0 -145
  820. package/docs/migration/divergences/README.md +0 -55
  821. package/docs/migration/divergences/_template.md +0 -50
  822. package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
  823. package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
  824. package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
  825. package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
  826. package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
  827. package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
  828. package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
  829. package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
  830. package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
  831. package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
  832. package/docs/migration/node-floor.md +0 -86
  833. package/docs/migration/v1-to-v2.md +0 -156
  834. package/docs/migration/yaml-roundtrip-spike.md +0 -163
  835. package/docs/migrations/commands-1.15.0.md +0 -117
  836. package/docs/parity/bench-external.json +0 -58
  837. package/docs/parity/bench.json +0 -41
  838. package/docs/parity/command-frontmatter.md +0 -60
  839. package/docs/parity/external-runtime.md +0 -46
  840. package/docs/personas.md +0 -178
  841. package/docs/positioning-evidence.md +0 -86
  842. package/docs/profiles.md +0 -108
  843. package/docs/proof.md +0 -176
  844. package/docs/quality.md +0 -98
  845. package/docs/readme-split-plan.md +0 -102
  846. package/docs/recruits/_template.md +0 -81
  847. package/docs/release-runbook.md +0 -141
  848. package/docs/role-experiences.md +0 -19
  849. package/docs/safety.md +0 -30
  850. package/docs/second-brain-scope.md +0 -116
  851. package/docs/self-review-gate.md +0 -65
  852. package/docs/setup/enterprise-and-offline.md +0 -201
  853. package/docs/setup/mcp-client-config.md +0 -358
  854. package/docs/setup/mcp-cloud-endpoints.md +0 -116
  855. package/docs/setup/mcp-cloud-registry-listing.md +0 -99
  856. package/docs/setup/mcp-cloud-setup.md +0 -183
  857. package/docs/setup/mcp-r2-bootstrap.md +0 -82
  858. package/docs/setup/mcp-server-docker.md +0 -101
  859. package/docs/setup/per-ide/aider.md +0 -48
  860. package/docs/setup/per-ide/antigravity.md +0 -68
  861. package/docs/setup/per-ide/augment.md +0 -89
  862. package/docs/setup/per-ide/claude-code.md +0 -97
  863. package/docs/setup/per-ide/claude-desktop.md +0 -207
  864. package/docs/setup/per-ide/cline.md +0 -43
  865. package/docs/setup/per-ide/codebuddy.md +0 -63
  866. package/docs/setup/per-ide/codex.md +0 -46
  867. package/docs/setup/per-ide/continue.md +0 -68
  868. package/docs/setup/per-ide/copilot.md +0 -80
  869. package/docs/setup/per-ide/cursor.md +0 -125
  870. package/docs/setup/per-ide/droid.md +0 -65
  871. package/docs/setup/per-ide/gemini-cli.md +0 -45
  872. package/docs/setup/per-ide/jetbrains.md +0 -76
  873. package/docs/setup/per-ide/kilocode.md +0 -66
  874. package/docs/setup/per-ide/kiro.md +0 -72
  875. package/docs/setup/per-ide/opencode.md +0 -62
  876. package/docs/setup/per-ide/qoder.md +0 -63
  877. package/docs/setup/per-ide/roocode.md +0 -68
  878. package/docs/setup/per-ide/trae.md +0 -63
  879. package/docs/setup/per-ide/warp.md +0 -63
  880. package/docs/setup/per-ide/windsurf.md +0 -109
  881. package/docs/setup/per-ide/zed.md +0 -73
  882. package/docs/showcase.md +0 -209
  883. package/docs/skill-duplication-findings.md +0 -91
  884. package/docs/skills-catalog.md +0 -265
  885. package/docs/skills-taxonomy.md +0 -90
  886. package/docs/spawn-site-policy.md +0 -72
  887. package/docs/succession.md +0 -80
  888. package/docs/threat-model.md +0 -29
  889. package/docs/troubleshooting.md +0 -155
  890. package/docs/ui-track-mental-model.md +0 -121
  891. package/docs/us-vs-the-category.md +0 -38
  892. package/docs/value.md +0 -86
  893. package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
  894. package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
  895. package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
  896. package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
  897. package/docs/walkthroughs/daily-workspace.md +0 -127
  898. package/docs/wedge/production-validator/README.md +0 -81
  899. package/docs/wedge/production-validator/first-run-check.sh +0 -42
  900. package/docs/wedge/production-validator/production-validator.md +0 -83
  901. package/docs/wizard.md +0 -173
@@ -0,0 +1,92 @@
1
+ ---
2
+ model_tier: medium
3
+ name: schema-review
4
+ description: "Use when reviewing a migration diff or schema change for scale hazards — indexes, unsafe migrations, unbounded growth, N+1. Triggers on 'review this migration', 'will this scale'."
5
+ domain: engineering
6
+ workspaces:
7
+ - engineering
8
+ packs:
9
+ - scale-discipline
10
+ trust:
11
+ level: professional
12
+ install:
13
+ default: false
14
+ removable: true
15
+ ---
16
+
17
+ # schema-review
18
+
19
+ ## When to use
20
+
21
+ - A migration diff, new migration file, or schema change is under review
22
+ and the question is scale-shaped: indexes, reversibility, growth,
23
+ query patterns against the new columns.
24
+ - The user asks "will this scale", "review this migration", "check the
25
+ schema", or a PR touches `migrations/`, `schema.prisma`, or raw `.sql`
26
+ migration files.
27
+ - NOT for runtime performance analysis of live traffic (no APM here —
28
+ route to `performance-analysis`) and NOT for authoring a new migration
29
+ from scratch (route to `laravel-migration` or the stack-native tool,
30
+ then come back with the diff).
31
+
32
+ ## Procedure
33
+
34
+ 1. **Detect the stack surface** in the diff: Laravel migrations
35
+ (`database/migrations/*.php`), Prisma (`schema.prisma` +
36
+ `prisma/migrations/**/migration.sql`), raw SQL (`*.sql`). One diff can
37
+ carry several.
38
+ 2. **Run the deterministic linter** on the touched files plus the query
39
+ surface that references the changed tables:
40
+
41
+ ```bash
42
+ npx tsx node_modules/@event4u/agent-config/src/scripts/lint_persistence.ts -- --dir <path> [--stack eloquent|prisma|raw-sql] --format json
43
+ ```
44
+
45
+ The linter emits `gate` findings (pattern-detected: F1 N+1, F2
46
+ index-parity, F3 unbounded reads, F6 migration-safety, F7
47
+ growth-budget, F8 audit-coverage, F9 sync-in-handler, F11 non-durable
48
+ async) and `advice` findings (heuristics — never treat as blockers).
49
+ 3. **Walk the gap table** — for every `gate` finding decide: fix, or
50
+ waiver with a reason (`// no-index: <reason>`, `// sync-required:
51
+ <reason>`, `-- no-retention: <reason>`, …). An empty waiver reason is
52
+ itself a finding.
53
+ 4. **Check the R-A6/R-A7 invariants by hand** where the linter is blind:
54
+ reversibility of data transformations, retention policy for any new
55
+ append-only table (the `-- retention: <policy>` line), backfill plan
56
+ for new NOT NULL columns on large tables.
57
+ 5. **Report waiver density neutrally** — count waivers per rule; state
58
+ both readings (informed exceptions vs rule misfit) and let the human
59
+ decide. Density alone is never a verdict.
60
+
61
+ ## Output
62
+
63
+ The review MUST contain:
64
+
65
+ 1. **Gap table** — one row per finding: `rule · file:line · finding ·
66
+ proposed action (fix | waiver | accepted)`, gate findings first,
67
+ advice findings clearly marked as advice.
68
+ 2. **Waiver-density line** — `N waivers across M findings` with the
69
+ two-reading note (informed exceptions vs rule misfit).
70
+ 3. A one-line verdict: ready / needs fixes / needs human schema decision
71
+ — never a bare "looks good" without the table.
72
+
73
+ ## Gotcha
74
+
75
+ - The linter proves **pattern presence**, not instance-level correctness
76
+ — a flagged `Http::` call in a controller may be legitimately sync
77
+ (then it gets a `// sync-required:` waiver with a reason), and a clean
78
+ run does not prove the schema scales. Say what was checked, not more.
79
+ - Prisma's `@relation` fields are indexed implicitly on some connectors
80
+ and not on others — when the linter reports a missing FK index on a
81
+ Prisma model, verify the connector before calling it a defect.
82
+
83
+ ## Do NOT
84
+
85
+ - Do NOT gate a review on `advice`-tier findings (F4 denormalization,
86
+ F10 event-decoupling heuristics) — they are review inputs, not
87
+ blockers.
88
+ - Do NOT strip or rewrite existing waivers — surface stale-looking ones
89
+ and ask.
90
+ - Do NOT invent index recommendations for columns the query surface
91
+ never filters or orders by — index parity cuts both ways; unused
92
+ indexes cost write throughput.
@@ -0,0 +1,17 @@
1
+ {
2
+ "skill": "schema-review",
3
+ "last_eval": "2026-07-27",
4
+ "description": "5 should-trigger + 5 should-not-trigger. Should-trigger covers DE+EN phrasings for reviewing a migration/schema diff for scale hazards. Should-not-trigger covers near-miss neighbours: authoring a migration (laravel-migration), live-traffic performance (performance-analysis), audit-tier selection (history-design), generic code review.",
5
+ "queries": [
6
+ { "q": "review this migration for missing indexes before I merge", "trigger": true },
7
+ { "q": "will this schema change scale to 100k rows?", "trigger": true },
8
+ { "q": "prüfe meine Migration auf Skalierungsprobleme", "trigger": true },
9
+ { "q": "check the new schema.prisma diff for unsafe changes", "trigger": true },
10
+ { "q": "does this ALTER TABLE need CONCURRENTLY and a default?", "trigger": true },
11
+ { "q": "create a migration that adds a status column to orders", "trigger": false },
12
+ { "q": "the dashboard endpoint is slow in production, profile it", "trigger": false },
13
+ { "q": "which audit log mechanism should we use for tenants?", "trigger": false },
14
+ { "q": "review my pull request for code quality", "trigger": false },
15
+ { "q": "wie lege ich einen Index in MySQL an?", "trigger": false }
16
+ ]
17
+ }
@@ -0,0 +1,171 @@
1
+ ---
2
+ model_tier: high
3
+ name: screenshot-hygiene
4
+ description: "Use when creating and embedding a documentation screenshot — detect and redact sensitive data, human-gate data-bearing shots before ship. Triggers 'screenshot for docs', 'screenshot admin panel'."
5
+ domain: process
6
+ workspaces:
7
+ - agent-config-maintainer
8
+ packs:
9
+ - meta
10
+ ---
11
+
12
+ # screenshot-hygiene
13
+
14
+ The executable workflow behind [`doc-screenshot-hygiene`](../../rules/doc-screenshot-hygiene.md).
15
+ A screenshot embedded into shipped docs is an **irreversible published egress** —
16
+ once committed and hosted, any PII, secret, or revealing local path on it is out.
17
+ This skill makes agents create doc screenshots that are as neutral as possible,
18
+ with a conservative, err-on-the-side-of-redaction posture.
19
+
20
+ ## When to use
21
+
22
+ - Generating or updating documentation (a docs site, feature docs, a README)
23
+ where a screenshot genuinely helps and you are about to capture + embed one.
24
+ - A screenshot is about to land under `docs/media/` (or a docs image folder).
25
+
26
+ Do NOT use for:
27
+ - Image **generation** (route to `image-generation` / `image-editing` /
28
+ `media-governance-routing` for likeness/rights).
29
+ - A user-supplied screenshot used only as a **design spec** to compare against
30
+ (route to `design-fidelity` / `cross-source-consistency`).
31
+ - Terminal / CLI / IDE output — that is **forbidden** as a screenshot (see the
32
+ workflow). Use a text code block with text redaction instead.
33
+
34
+ ## Procedure
35
+
36
+ ### 1. Decide — screenshot, or a safer alternative?
37
+
38
+ Classify the risk tier first (symmetric friction):
39
+
40
+ | Tier | Examples | Path |
41
+ |---|---|---|
42
+ | Illustrative / no data | architecture diagram, logo, icon, wireframe, placeholder-only UI | Embed with a one-line justification. |
43
+ | Data-bearing | dashboard, admin panel, form/list with content, any real-looking data | Full workflow + **human gate** before embed. |
44
+ | Terminal / CLI / IDE | shell output, editor, path bars | **Forbidden.** Use a text code block; redact the text. |
45
+
46
+ Prefer a diagram or a placeholder-data screenshot over a real-data one whenever
47
+ it conveys the same thing. Terminal output → copy the text into a fenced block
48
+ and redact the text (cheaper and safer than a pixel screenshot). Respect
49
+ `screenshots.forbid_terminal_capture` (default `true`).
50
+
51
+ ### 2. Capture — via the host, never a bundled engine
52
+
53
+ Use the host's capability (`claude-in-chrome` for web UI, Playwright's
54
+ `page.screenshot` inside a test harness). Record which tool captured it. The
55
+ package ships no capture engine (no-runtime-floor). Capture into a working file
56
+ under the scratchpad or `docs/media/` — do not embed yet.
57
+
58
+ ### 3. Detect — flag candidate sensitive regions (a helper, not a clearance)
59
+
60
+ OCR the image (host OCR, or the `image-analyser` skill's text read) and scan the
61
+ extracted text against the taxonomy below and `screenshots.identity_allowlist`.
62
+ Produce a **flagged-regions report**: for each hit, the text, the bounding box,
63
+ and the reason. Detection **reduces** the human's work — it never certifies the
64
+ screenshot as safe (it cannot see semantic leaks: aggregate counts that reveal
65
+ real users, real-vs-fake data tells, re-identification via name structure).
66
+
67
+ **Anonymization taxonomy** — always redact / refuse:
68
+ - Real person's name, postal address, birthdate, phone number.
69
+ - Passwords, API tokens, secrets, session cookies, bearer tokens, private keys.
70
+ - Real email addresses (anything not `@example.{com,org,net}` / a fake-data domain).
71
+ - Absolute local paths revealing a real identity (`/Users/<realname>/…`,
72
+ `/home/<realname>/…`).
73
+ - Client / customer / project identifiers; internal hostnames (`*.internal`).
74
+ - Anything GDPR-sensitive; aggregate counts / data tells that reveal real users.
75
+
76
+ Allowed (no redaction): well-known fake data (Max Mustermann, Musterstraße,
77
+ `@example.com`); the maintainer's OWN public handle shown as a username, and a
78
+ path rooted at that handle (`/Users/<handle>/…`). The maintainer's **real name
79
+ is never allowed**, even co-located with the handle. The safe set lives in
80
+ `screenshots.identity_allowlist` (default empty → every identity is human-decided).
81
+
82
+ ### 4. Redact — deterministic opaque cover, never lossy inpaint
83
+
84
+ Draw an **opaque box (or heavy blur/pixelation)** over each flagged region.
85
+ Deterministic, visible, and non-reversible — never AI inpaint (lossy;
86
+ reconstructs, may hallucinate; docs need visual accuracy). Redaction is
87
+ tool-agnostic — use whatever image tool is present in the environment:
88
+
89
+ - **ImageMagick** (if `magick`/`convert` present): draw a filled rectangle over
90
+ each region, e.g.
91
+ `magick in.png -fill black -draw "rectangle X1,Y1 X2,Y2" out.png` (repeat
92
+ `-draw` per region), or `-region … -blur 0x18` for a blur.
93
+ - **sharp** (if a project already depends on it, e.g. the `/site` workspace):
94
+ `composite` an opaque rectangle over each region.
95
+
96
+ If **no image tool is available** → `missing-tool-handling`: STOP, surface the
97
+ flagged regions, and hand off to the maintainer to redact manually. **Never ship
98
+ an unredacted screenshot because a tool was missing.** Never silently downgrade
99
+ the guarantee.
100
+
101
+ ### 5. Pre-embed audit — the human gate (data-bearing tier)
102
+
103
+ For a data-bearing screenshot, embedding is a published egress → **this-turn
104
+ human confirmation** per [`non-destructive-by-default`](../../rules/non-destructive-by-default.md).
105
+ Present the redacted candidate + the checklist; wait for the answer.
106
+
107
+ **Pre-embed audit checklist:**
108
+ - [ ] No real names, addresses, birthdates, phone numbers.
109
+ - [ ] No passwords, API tokens, secrets, cookies, bearer tokens, private keys.
110
+ - [ ] No real email addresses (fake-data / `@example.com` only).
111
+ - [ ] No identity-revealing absolute paths (only a public-handle-rooted path).
112
+ - [ ] No client / customer / project identifiers; no internal hostnames.
113
+ - [ ] No terminal / CLI / IDE output.
114
+ - [ ] No aggregate-count / data tell revealing real users (semantic leak).
115
+ - [ ] Any realistic-looking data is justified as safe (known-fake / allowlist).
116
+
117
+ Unresolved / uncertain on any line → **redact or refuse**, never ship-and-hope.
118
+ An illustrative / no-data screenshot skips the confirmation but still passes the
119
+ checklist and carries a one-line "no sensitive data" justification.
120
+
121
+ ### 6. Embed — into the docs surface
122
+
123
+ Place the reviewed, redacted file under `docs/media/` (or the docs image folder)
124
+ and reference it from a canonical `docs/*.md`. For the Starlight site,
125
+ `site/sync-docs.mjs` auto-copies `docs/media/*` into `site/public/media/` and
126
+ rewrites `](media/…)` links — so the embed flows to the site on build. Add
127
+ descriptive alt text. Generalize the same discipline to a README or any other
128
+ docs surface.
129
+
130
+ ## Output
131
+
132
+ - **A redacted screenshot file** under the docs image folder with every
133
+ taxonomy item covered by an opaque box/blur (or an explicit
134
+ no-sensitive-data justification for the illustrative tier).
135
+ - **A one-line provenance + review note** stating: capture tool, risk tier,
136
+ what was redacted (or "none — illustrative"), and — for data-bearing shots —
137
+ that human confirmation was obtained this turn.
138
+
139
+ ## Gotcha
140
+
141
+ - **Detection "passing" is not safety.** OCR + patterns miss semantic leaks
142
+ (aggregate counts, real-vs-fake tells, name-structure re-identification) and
143
+ misread garbled text. Never treat a clean automated scan as clearance — the
144
+ human gate stands for data-bearing shots.
145
+ - **A public handle does not whitelist a co-located real name.** `matze4u` is
146
+ fine; "Matthias Müller" next to it is still redacted.
147
+ - **Missing tool ≠ ship anyway.** No image tool → hand off, never embed
148
+ unredacted.
149
+ - **Terminal screenshots feel harmless and are the worst.** A single shell line
150
+ can leak an absolute path with a real name plus a live token. Use text.
151
+
152
+ ## Do NOT
153
+
154
+ - Do NOT ship a screenshot with unredacted sensitive data — that is an
155
+ irreversible published egress.
156
+ - Do NOT treat a clean automated scan as clearance; the gate for a data-bearing
157
+ shot is human confirmation.
158
+ - Do NOT embed unredacted "because no image tool was available" — hand off instead.
159
+ - Do NOT screenshot terminal / CLI / IDE output — use a text code block with text
160
+ redaction.
161
+ - Do NOT use lossy AI inpaint to redact — use a deterministic opaque box/blur.
162
+ - Do NOT assume a public handle whitelists a co-located real name — redact the name.
163
+
164
+ ## See also
165
+
166
+ - [`doc-screenshot-hygiene`](../../rules/doc-screenshot-hygiene.md) — the rule that routes here (Iron Law + taxonomy + risk tiers).
167
+ - [`non-destructive-by-default`](../../rules/non-destructive-by-default.md) — the published-egress gate the data-bearing embed routes into.
168
+ - [`domain-safety-pii`](../../rules/domain-safety-pii.md) — the text-surface sibling (drafts / logs / exports).
169
+ - [`image-analyser`](../image-analyser/SKILL.md) — OCR-reads text in an image (the detection helper).
170
+ - [`image-editing`](../image-editing/SKILL.md) — region editing (only for deterministic redaction, never lossy inpaint here).
171
+ - [`readme-writing`](../readme-writing/SKILL.md) — flags unrequested data-bearing screenshots.
@@ -99,6 +99,48 @@ Error responses → never echo the secret back, even on failure.
99
99
  Telemetry / APM → strip from request/response captures; allowlist headers.
100
100
  ```
101
101
 
102
+ ### Step 6 — Runtime guard: block before the secret lands
103
+
104
+ The scanning gates (Step 4) are the CI/pre-commit nets. The **earliest** gate is
105
+ the agent itself: before it writes a credential into a tracked file or stages a
106
+ commit, the [`secret-vcs-guard`](../../rules/secret-vcs-guard.md) rule runs the
107
+ `secret_detector` library and, on a hit,
108
+ STOPS → shows the match (`file:line` · kind · masked · why) → asks via numbered
109
+ options → offers the tiered alternative below. It never silently commits and
110
+ never silently strips. VCS-agnostic: the same detector runs against the diff for
111
+ git, SVN, and Mercurial (SVN/hg native hooks are server-side, a stronger but
112
+ later net). The deterministic CI backstop is `check_secret_leak` — the agent
113
+ gate is one layer, not the whole defense.
114
+
115
+ **False positives — audited allowlist, never a global mute.** Suppress a
116
+ confirmed non-secret with an inline `# secret-allow` marker on the line, or a
117
+ narrow entry (`path` or `path:line`) in a repo-root `.secret-allow` file. Each
118
+ `.secret-allow` entry SHOULD carry a one-line justification comment (`# …`) so it
119
+ is reviewable in the diff; the entry is line-scoped, so it cannot mute a *new*
120
+ secret elsewhere in the same file.
121
+
122
+ **Tiered alternative to suggest when a secret is caught** (refines Step 1 for the
123
+ in-the-moment fix; cite OWASP Secrets Management Cheat Sheet + CWE-798 + 12-factor):
124
+
125
+ ```
126
+ Solo / local, dev-only → gitignored .env + committed .env.example (keys, no values).
127
+ Team / production app → cloud secret manager (AWS/GCP/Azure) or Vault / Doppler.
128
+ Kubernetes / GitOps → SOPS (encrypt values in the committed file) or Sealed Secrets.
129
+ CI / deploy → OIDC federation to the cloud — no long-lived stored credential.
130
+ ```
131
+
132
+ ## Remediation — a secret already reached VCS
133
+
134
+ Order matters; a history rewrite does **not** un-leak an already-pushed secret:
135
+
136
+ 1. **Rotate / revoke the credential now.** Immediate, and the only step that
137
+ actually stops the damage — assume it is compromised the moment it was pushed.
138
+ 2. **`git rm` / a deletion commit is insufficient** — the secret stays in history
139
+ (`git log`, blame, prior commits, clones, forks, CI logs).
140
+ 3. **Purge history** with `git filter-repo` (preferred) or BFG Repo-Cleaner.
141
+ 4. **Force-push + coordinate** re-clones; forks and existing clones still hold the
142
+ old objects — which is why step 1 is the real fix.
143
+
102
144
  ## Procedure: Apply to a new secret
103
145
 
104
146
  1. **Inspect** the existing secret inventory and IaC for store conventions; run Step 1 and lock the store decision in code/IaC.
@@ -142,7 +184,7 @@ Telemetry / APM → strip from request/response captures; allowlist headers.
142
184
 
143
185
  ## Provenance
144
186
 
145
- - Adopted from: an external reference (MIT, © 2025 an external reference) — **Sunset Policy applied**: 346-line provider cookbook reduced to a ~140-line decision framework; per-provider deep-dives externalized to upstream docs below.
187
+ - Adopted from: an external reference (internal provenance, redacted) — **Sunset Policy applied**: a large provider cookbook reduced to a ~140-line decision framework; per-provider deep-dives externalized to upstream docs below.
146
188
  - Externalized provider docs:
147
189
  - HashiCorp Vault: https://developer.hashicorp.com/vault/docs · https://developer.hashicorp.com/vault/docs/secrets/databases
148
190
  - AWS Secrets Manager: https://docs.aws.amazon.com/secretsmanager/ · rotation: https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html
@@ -148,7 +148,7 @@ After findings, add **Rejected candidates** section: one line per look-dangerous
148
148
  ## Gotcha
149
149
 
150
150
  - Don't report theoretical vulnerabilities without a concrete attack vector — false positives erode trust.
151
- - The model tends to flag framework-handled security as issues (e.g., Laravel's CSRF is already handled).
151
+ - The model tends to flag framework-handled security as issues (e.g., Laravel's CSRF or Rails' `protect_from_forgery` is already handled).
152
152
  - Always check if a finding is already mitigated by middleware or configuration before reporting it.
153
153
 
154
154
  ## Do NOT
@@ -55,7 +55,7 @@ Do NOT use when:
55
55
 
56
56
  1. **Scope** — name the module/paths under assessment; list entry points (routes, jobs, commands, webhooks). Scorecard without stated scope is not reproducible.
57
57
  2. **Assess each category** — inspect the code the category names. Every rating cites evidence:
58
- - Positive evidence: `file:line` of the control (`app/Http/Requests/…:12`).
58
+ - Positive evidence: `file:line` of the control (`app/Http/Requests/…:12`, `src/guards/auth.guard.ts:12`).
59
59
  - Absence evidence: the searches run that came back empty (name the grep patterns) — "not found" beats "probably missing".
60
60
  - Multi-tenant N/A: single-tenant systems rate category 8 `N/A`; drops out of the roll-up.
61
61
  3. **Roll up deterministically** — overall rating is computed, not vibed:
@@ -115,8 +115,8 @@ Decide what to create:
115
115
  > the exact wording is recoverable, and verify against it rather than trusting
116
116
  > the summary.
117
117
 
118
- - **New rule** → create in `.agent-src.uncondensed/rules/`, follow rule conventions
119
- - **New skill** → use `skill-writing` skill, create in `.agent-src.uncondensed/skills/`
118
+ - **New rule** → create in `src/rules/`, follow rule conventions
119
+ - **New skill** → use `skill-writing` skill, create in `src/skills/`
120
120
  - **Update existing** → use `skill-management` skill
121
121
 
122
122
  After creation:
@@ -175,7 +175,7 @@ Ask the user:
175
175
  - Do NOT skip the promotion gate — it prevents skill/rule bloat
176
176
  - Do NOT create both a rule AND a skill for the same learning
177
177
  - Do NOT auto-push without user permission
178
- - Do NOT create project-specific content in `.agent-src.uncondensed/`
178
+ - Do NOT create project-specific content in `src/`
179
179
  - Do NOT run this pipeline for trivial learnings
180
180
 
181
181
  ## References
@@ -189,7 +189,7 @@ approval-gated propose / pick loop with at most two rounds.
189
189
  ### 1c. Propose a trigger-eval stub (new skills only)
190
190
 
191
191
  When creating a new skill, propose a stub
192
- `.agent-src.uncondensed/skills/{name}/evals/triggers.json` before writing
192
+ `src/skills/{name}/evals/triggers.json` before writing
193
193
  the body. Draw the queries from Phase A of the drafting protocol (the
194
194
  user's "should trigger" and "must not trigger" answers).
195
195
 
@@ -531,7 +531,7 @@ content).
531
531
 
532
532
  ## Do NOT
533
533
 
534
- * Write documentation-style, pointer-only, or too-broad skills ("Laravel skill")
534
+ * Write documentation-style, pointer-only, or too-broad skills ("Laravel skill", "Django skill")
535
535
  * Skip Procedure or use vague validation
536
536
  * Exceed size limits (see `docs/guidelines/agent-infra/size-and-scope.md`)
537
537
  * Duplicate rules
@@ -38,9 +38,9 @@ discover the real source → Evidence Report (Verified / Assumed / Gaps) →
38
38
  Scaffold the report cheaply so it never gets skipped:
39
39
 
40
40
  ```bash
41
- ./scripts-run src/scripts/evidence_report git-state # fail-fast: abort if a rebase/merge/cherry-pick is in progress
42
- ./scripts-run src/scripts/evidence_report init --task "<task>" # writes the gitignored session report
43
- ./scripts-run src/scripts/evidence_report add --bucket verified --claim "users.email is unique" --source "db/schema/users.sql:23"
41
+ npx tsx node_modules/@event4u/agent-config/src/scripts/evidence_report.ts git-state # fail-fast: abort if a rebase/merge/cherry-pick is in progress
42
+ npx tsx node_modules/@event4u/agent-config/src/scripts/evidence_report.ts init --task "<task>" # writes the gitignored session report
43
+ npx tsx node_modules/@event4u/agent-config/src/scripts/evidence_report.ts add --bucket verified --claim "users.email is unique" --source "db/schema/users.sql:23"
44
44
  ```
45
45
 
46
46
  **Provenance on every item** (`observed_at` / `source` / `version`). Within a
@@ -175,10 +175,10 @@ the per-session Evidence Report above. Append to the knowledge intake —
175
175
  never write a tracked page mid-task:
176
176
 
177
177
  ```bash
178
- ./scripts-run src/scripts/emit_knowledge_event --type api_shape_learned \
178
+ npx tsx node_modules/@event4u/agent-config/src/scripts/emit_knowledge_event.ts --type api_shape_learned \
179
179
  --endpoint "<path>" --method "<verb>" --request-schema '<json>' --response-schema '<json>'
180
180
 
181
- ./scripts-run src/scripts/emit_knowledge_event --type convention_detected \
181
+ npx tsx node_modules/@event4u/agent-config/src/scripts/emit_knowledge_event.ts --type convention_detected \
182
182
  --pattern "<pattern>" --evidence "file:line" --sample-size <N> --scope project
183
183
  ```
184
184
 
@@ -111,6 +111,15 @@ Rules:
111
111
  or `none`) so the gate's value is measurable inside the ADR-117
112
112
  prove-or-drop window.
113
113
 
114
+ ## Severity-conditioned team composition — conditions pattern
115
+
116
+ Incident-style severity tiers (Critical / High / Medium / Low) refine
117
+ composition and activation **within** the form the static gate already
118
+ picked — severity never overrides the form gate, the Iron Law, or any
119
+ safety floor. Guidance, not a new object class (persona-catalog
120
+ disposition). Severity→composition table + escalation rule →
121
+ [`subagent-modes-detail` § Severity-conditioned team composition](../../agent-src/contexts/execution/subagent-modes-detail.md).
122
+
114
123
  ## The nine modes
115
124
 
116
125
  Each mode has a decision row: when to use, when not, and the expected
@@ -124,42 +133,23 @@ glossary) lives in
124
133
  [`subagent-topologies`](../../agent-src/contexts/execution/subagent-topologies.md) —
125
134
  pull it for capacity planning; it is metadata, not runtime-enforced.
126
135
 
136
+ Per-mode decision rows (when to use / when not / model pairing) and the
137
+ mode-2 stage-routing contract live in
138
+ [`subagent-modes-detail` § Modes 1–6](../../agent-src/contexts/execution/subagent-modes-detail.md) —
139
+ pull them at dispatch time.
140
+
127
141
  ### 1. do-and-judge
128
142
 
129
143
  Implementer produces a diff; judge reviews; loop applies, revises, or
130
144
  hands off. Hard ceiling: **two revision cycles**, then stop and hand
131
145
  back to the user.
132
146
 
133
- | When to use | When not | Model pairing |
134
- |---|---|---|
135
- | Single-change task with non-trivial risk | Tiny fix, or spike/exploration | implementer = session; judge = one tier up |
136
-
137
147
  ### 2. do-and-judge-two-stage
138
148
 
139
- Implementer produces a diff; **two judges run sequentially** — first a
140
- spec-compliance reviewer (does the diff satisfy the stated spec /
141
- acceptance criteria?), then a code-quality reviewer (is the diff well-
142
- written for the codebase it lands in?). The orchestrator only proceeds
143
- to stage two if stage one returns `DONE` or `DONE_WITH_CONCERNS`. A
144
- stage-one `BLOCKED` shortcuts the loop — there is no point quality-
145
- reviewing a diff that does not satisfy the spec.
146
-
147
- | When to use | When not | Model pairing |
148
- |---|---|---|
149
- | Spec is contested or AC are detailed; diff size makes one judge prone to missing one axis (correctness vs craft) | Spec is one sentence, or the diff is one line (collapse to mode 1) | implementer = session; spec-judge = one tier up; quality-judge = same tier as spec-judge, fresh context |
150
-
151
- **Why two stages, not one judge with both rubrics:** combining the
152
- rubrics in one prompt reliably regresses one of them — the judge "spends
153
- attention" on whichever rubric appears last. Splitting the prompts
154
- forces each judge to commit fully to its rubric.
155
-
156
- **Stage-routing rule:**
157
- - Stage-1 returns `DONE` → run stage-2.
158
- - Stage-1 returns `DONE_WITH_CONCERNS` → run stage-2; concerns carry
159
- forward to the final envelope.
160
- - Stage-1 returns `NEEDS_CONTEXT` → pause; stage-2 does not run.
161
- - Stage-1 returns `BLOCKED` → final verdict is `BLOCKED`; stage-2
162
- does not run (saves cost).
149
+ Implementer produces a diff; **two judges run sequentially** — spec
150
+ compliance first, code quality second. Stage-one `BLOCKED` shortcuts the
151
+ loop (no point quality-reviewing a diff that misses the spec). Stage
152
+ routing + why-two-stages rationale → modes-detail § Mode 2.
163
153
 
164
154
  ### 3. do-in-steps
165
155
 
@@ -167,40 +157,24 @@ Plan is split into N steps; judge runs **between** steps. A step that
167
157
  fails judgment is revised before the next step starts. Used for
168
158
  multi-file changes where a mid-plan mistake would cascade.
169
159
 
170
- | When to use | When not | Model pairing |
171
- |---|---|---|
172
- | Multi-step plan with ordered dependencies | Single-step change, or when steps are independent (use `do-in-parallel`) | implementer = session; judge = one tier up |
173
-
174
160
  ### 4. do-in-parallel
175
161
 
176
162
  Independent slices run concurrently. No judge per slice — judge runs
177
163
  once on the aggregated result. Parallelism capped by
178
164
  `subagents.max_parallel` in `.agent-settings.yml`.
179
165
 
180
- | When to use | When not | Model pairing |
181
- |---|---|---|
182
- | Independent slices (different files, non-overlapping) | Any slice touches shared state | implementer = session; judge = one tier up, run once |
183
-
184
166
  ### 5. do-competitively
185
167
 
186
168
  Multiple implementers produce candidate diffs for the **same** slice.
187
169
  Judge picks the winner and rejects the losers. Expensive — use only
188
170
  when the solution space is genuinely broad.
189
171
 
190
- | When to use | When not | Model pairing |
191
- |---|---|---|
192
- | Broad solution space (algorithm choice, API shape) | Well-defined problem with one good answer | implementers = same tier (≥2 instances); judge = one tier up |
193
-
194
172
  ### 6. judge-with-debate
195
173
 
196
174
  Two judges each produce a verdict; a meta-judge reconciles
197
175
  disagreements. Used for high-stakes changes (security, data
198
176
  migration, public API) where a single judge is too easy to fool.
199
177
 
200
- | When to use | When not | Model pairing |
201
- |---|---|---|
202
- | Security, data integrity, public API change | Routine internal refactor | judges = same tier (2x); meta-judge = one tier up |
203
-
204
178
  Mode 6 = **go/no-go** (strict-er verdict wins); for defect-FINDING coverage (the
205
179
  *union* of what diverse models catch) use Mode 9.
206
180
 
@@ -238,34 +212,25 @@ opt-in high-risk changes only; registered claim + high-risk tier need
238
212
  cross-*vendor* skeptics. Invariants, skeptic prompt, reconciliation, prove-or-drop
239
213
  gate → [`subagent-modes-detail`](../../agent-src/contexts/execution/subagent-modes-detail.md) § Mode 9
240
214
  + [`prompts/adversarial-verification-council.md`](prompts/adversarial-verification-council.md)
215
+
216
+ > **Disposition (2026-07-28, honest null).** Adversarial-council
217
+ > finding-coverage benchmark resolved as published null (`docs/benchmark.md`)
218
+ > — mode NOT sold as defect-detection capability. Stays default-off bound to
219
+ > that null; removal at next major unless external evidence (consumer-filed
220
+ > case where the panel surfaced a real defect the single verifier missed)
221
+ > appears first. Remaining honest value: perspective diversity + decision
222
+ > documentation, nothing more.
241
223
  (ADR-122).
242
224
 
243
225
  ## Status taxonomy — every subagent return uses one envelope
244
226
 
245
227
  Every implementer or judge return must conform to
246
- [`schemas/subagent-status.json`](schemas/subagent-status.json). Four
247
- statuses, no free-form alternatives:
248
-
249
- | Status | Meaning | Required keys (beyond `status`, `summary`) |
250
- |---|---|---|
251
- | `DONE` | Work shipped, all gates green. | `evidence[]` |
252
- | `DONE_WITH_CONCERNS` | Work shipped but caller must act on concerns. | `evidence[]`, `concerns[]` |
253
- | `NEEDS_CONTEXT` | Paused; caller can unblock by answering. | `blocking_question` |
254
- | `BLOCKED` | No path forward exists. | `blocking_reason` |
255
-
256
- **Why a fixed taxonomy:** orchestrators (`/do-and-judge`, `/do-in-steps`)
257
- route on status. Free-form "kind of done" returns force the orchestrator
258
- to interpret prose, which silently regresses the two-revision ceiling and
259
- the judge-rejected-do-not-apply rule. The schema makes routing mechanical.
260
-
261
- **Tests:** `tests/test_subagent_status_schema.py` exercises all four
262
- statuses plus rejection cases (missing required keys, unknown status,
263
- extra fields, conditional-key violations).
264
-
265
- **Distinguishing `NEEDS_CONTEXT` from `BLOCKED`:** `NEEDS_CONTEXT` means
266
- *"you, the caller, can fix this by telling me X"*. `BLOCKED` means
267
- *"no input from you unblocks this — escalate or rescope"*. If a subagent
268
- is unsure, it picks `BLOCKED` and the caller can downgrade.
228
+ [`schemas/subagent-status.json`](schemas/subagent-status.json). Exactly
229
+ four statuses — `DONE` · `DONE_WITH_CONCERNS` · `NEEDS_CONTEXT` ·
230
+ `BLOCKED` — no free-form alternatives; orchestrators route on status
231
+ mechanically. Meaning/required-keys table, why-fixed rationale, and the
232
+ `NEEDS_CONTEXT`-vs-`BLOCKED` distinction →
233
+ [`subagent-modes-detail` § Status taxonomy](../../agent-src/contexts/execution/subagent-modes-detail.md).
269
234
 
270
235
  ## Dispatch prompts — externalized
271
236
 
@@ -273,9 +238,12 @@ Each mode's literal dispatch template lives under
273
238
  [`prompts/{mode}.md`](prompts/README.md). The orchestrator loads the
274
239
  matching prompt at dispatch time and substitutes `{{placeholders}}`.
275
240
  Edits to a prompt do not bloat this skill against the 400-line sunset
276
- trigger; `tests/test_subagent_prompt_loading.py` confirms each of the
277
- nine modes resolves to a loadable prompt that cites all four taxonomy
278
- statuses.
241
+ trigger. Eight prompt files cover modes 1–7 and 9 (the standalone judge
242
+ reuses [`prompts/do-and-judge.md`](prompts/do-and-judge.md); mode 8's
243
+ live-app rubric lives in
244
+ [`subagent-modes-detail` § Mode 8](../../agent-src/contexts/execution/subagent-modes-detail.md));
245
+ each prompt cites all four taxonomy statuses — see
246
+ [`prompts/README.md`](prompts/README.md).
279
247
 
280
248
  ## Procedure
281
249
 
@@ -339,21 +307,13 @@ the judge verdict.
339
307
 
340
308
  ### 6. Emit telemetry
341
309
 
342
- After every auto-dispatched run, write one telemetry line to
343
- `agents/runtime/state/audit/YYYY-MM.jsonl` (current UTC month — use
344
- `new Date().toISOString().slice(0, 7)` to compute the filename).
345
- The line is a standard audit-log-v1 object with `input_kind:
346
- "orchestration"` and an `orchestration` sub-object per
347
- [`orchestration-telemetry.md`](../../agent-src/contexts/execution/orchestration-telemetry.md).
348
-
349
- Minimal emit (fill what is observable; `token_delta_provenance: "estimated"` if
350
- host usage metadata is unavailable):
351
-
352
- ```json
353
- {"schema_version":1,"id":"<ulid>","ts":"<iso>","work_id":"<work_id>","phase":"implement","outcome":"success","confidence_band":"high","risk_class":"low","input_kind":"orchestration","type":"phase","orchestration":{"task_size_estimate":<int>,"spawn_count":<int>,"tiers":[...],"token_delta":<int>,"token_delta_provenance":"estimated","wall_clock_ms":<int>,"outcome":"DONE","verify_mode":"deterministic"}}
354
- ```
355
-
356
- Skip emit when `subagents.enabled: false` or `spawn_count == 0` (in-session run).
310
+ After every auto-dispatched run, write one audit-log-v1 line
311
+ (`input_kind: "orchestration"`) via the `orchestration_record` recorder —
312
+ never hand-author the JSON. Line shape, field semantics, recorder
313
+ invocation, and `token_delta` sourcing priority →
314
+ [`orchestration-telemetry` § Emit procedure](../../agent-src/contexts/execution/orchestration-telemetry.md).
315
+ Skip emit when `subagents.enabled: false` or `spawn_count == 0`
316
+ (in-session run).
357
317
 
358
318
  ## Gotcha
359
319
 
@@ -21,7 +21,7 @@ skill above the 400-line sunset trigger.
21
21
  Every prompt cites the status taxonomy in
22
22
  [`../schemas/subagent-status.json`](../schemas/subagent-status.json) and
23
23
  ends with the **return-envelope** instruction so the subagent's reply
24
- validates against `tests/test_subagent_status_schema.py`.
24
+ validates against that schema.
25
25
 
26
26
  ## Prompt-cache discipline
27
27
 
@@ -47,6 +47,7 @@ dispatch. Verify a cohort is actually reading, not re-writing, by checking
47
47
 
48
48
  ## Loading
49
49
 
50
- `tests/test_subagent_prompt_loading.py` asserts that every mode named
51
- in `SKILL.md` § *The nine modes* has a loadable prompt file under this
52
- directory and that each prompt mentions all four status enum values.
50
+ Every dispatchable mode named in `SKILL.md` § *The nine modes* maps to a
51
+ prompt file in the table above (mode 8 is gated/experimental — its
52
+ live-app rubric lives in the `subagent-modes-detail` context, not here);
53
+ each prompt mentions all four status enum values.