@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
package/docs/benchmark.md DELETED
@@ -1,648 +0,0 @@
1
- # Discipline-Axis Wrapper-Lift Benchmark (v2)
2
-
3
- > **Curated composite of two pinned reports** — the weak-host result and the
4
- > strong-host result side by side. It is deliberately NOT auto-generated from the
5
- > single latest `ab-v2` report: a single-report render would bury one host's
6
- > finding (a strong-host null would erase the weak-host lift, and vice versa).
7
- > Regenerate the pinned sections with `task bench:ab:v2:diff` — each
8
- > `<!-- pinned:<id> -->` region renders from ITS pinned report
9
- > (`docs/benchmark.pinned.yml`); curated prose outside the markers is
10
- > never touched (`-- --check` is the drift gate). Pinned sources:
11
- > weak host = `internal/bench/reports/ab-v2/2026-06-15T03-52-35Z-ab-v2-paired.json`;
12
- > strong host = `internal/bench/reports/ab-v2/2026-07-05T07-00-31Z-ab-v2-paired.json`;
13
- > cost-factor sweep = `internal/bench/reports/ab-v2/2026-07-07T05-35-14Z-ab-v2-paired.json`.
14
-
15
- ## Honesty labels (read first)
16
-
17
- <!-- pinned:honesty -->
18
- > 1. **Wrapper-lift on a fixed host (`claude-haiku-4-5`), NOT model-vs-model.** Measures what the agent-config package does to ONE host model on a neutral fixture — not a capability ranking.
19
- > 2. **Discipline axis, not capability.** The headline is the *discipline* delta (did it stay minimal / verify / ask / not destroy / update downstream), not whether the goal was achievable.
20
- > 3. **PILOT — low statistical power (N=2 tasks × 12 seed(s)).** Directional only.
21
- > 4. **Paired design**, errored runs excluded; McNemar (capability) + Wilcoxon signed-rank (discipline) + effect sizes.
22
- > 5. **Not comparable to SWE-bench / GAIA / Fable scores** — a different question entirely.
23
- <!-- /pinned:honesty -->
24
-
25
- ## Weak host (`claude-haiku-4-5`) — Gate verdict: **PASS**
26
-
27
- <!-- pinned:weak-stats -->
28
- - capability lift significant: `False`
29
- - discipline lift significant: `True`
30
- - status-bucket better (package vs vanilla): `False`
31
-
32
- > **Measurable discipline lift (significant).** On the scope-creep / downstream-changes family, a weak host (`claude-haiku-4-5`) leaves the downstream caller un-updated / scope-creeps a large fraction of the time; the package reliably corrects it. The lift is significant on the discipline axis (Wilcoxon p<0.05, every discordant pair favouring the package) AND beats an **equal-length inert-prose placebo** — so it is the package's *content* (its `downstream-changes`/`scope-control` rules), NOT mere prompt-length, that helps. **Honest scope (empirically bounded):** the lift is **weak-host-specific** — a CLEAN strong-host run (`claude-sonnet-4-6`, same tasks, 8 seeds) scored vanilla = package = placebo = 1.00 (no headroom, package redundant). So the package helps a WEAK model that lacks the discipline; a strong model already has it. This matches the package's design thesis (strong hosts self-apply discipline; weak hosts benefit fully). Discipline axis, not capability (both arms make the primary change); this task family (scope/downstream), not a universal claim. It improves *solution discipline*, not model intelligence.
33
-
34
- ## package lift — `package` vs `vanilla` (n=24 pairs)
35
-
36
- ### Table 1 — capability axis (expected near-flat by design)
37
-
38
- | metric | baseline | treatment | test |
39
- |---|---|---|---|
40
- | pass-rate | 100% | 100% | McNemar p=1.0, h=0.0 |
41
-
42
- ### Table 2 — discipline axis (the lift)
43
-
44
- | metric | baseline | treatment | Δ | test |
45
- |---|---|---|---|---|
46
- | mean discipline | 0.333 | 1.000 | +0.667 | Wilcoxon p=0.0005, rb=1.0 (n≠0=16) |
47
-
48
- ### Table 3 — cost axis (mean tokens/run, non-errored)
49
-
50
- | metric | baseline | treatment | Δ |
51
- |---|---|---|---|
52
- | mean tokens | 90,534 | 992,044 | +901,510 |
53
-
54
- ## attribution (content vs length) — `package` vs `placebo` (n=24 pairs)
55
-
56
- ### Table 1 — capability axis (expected near-flat by design)
57
-
58
- | metric | baseline | treatment | test |
59
- |---|---|---|---|
60
- | pass-rate | 100% | 100% | McNemar p=1.0, h=0.0 |
61
-
62
- ### Table 2 — discipline axis (the lift)
63
-
64
- | metric | baseline | treatment | Δ | test |
65
- |---|---|---|---|---|
66
- | mean discipline | 0.333 | 1.000 | +0.667 | Wilcoxon p=0.0005, rb=1.0 (n≠0=16) |
67
-
68
- ### Table 3 — cost axis (mean tokens/run, non-errored)
69
-
70
- | metric | baseline | treatment | Δ |
71
- |---|---|---|---|
72
- | mean tokens | 97,528 | 992,044 | +894,516 |
73
-
74
- ## Status buckets (trajectory)
75
-
76
- | arm | runs | error-rate | buckets |
77
- |---|---|---|---|
78
- | vanilla | 24 | 0% | completed:24 |
79
- | package | 24 | 0% | completed:24 |
80
- | placebo | 24 | 0% | completed:24 |
81
-
82
- ## Methodology
83
-
84
- - Host model: `claude-haiku-4-5` (pinned across all arms — a validity requirement, not a model comparison).
85
- - Per-run budget cap: $3.5; placebo injected ~6628 chars of inert prose.
86
- - Arms: vanilla (plugin off) · package (real plugin) · package-rdp (plugin + RDP rules) · placebo (plugin off + equal-length inert prose).
87
- - Corpus: `internal/bench/corpora/ab-trackb-v2.yaml` (5 trap archetypes). Scoring: `bench_ab_scoring_v2.py` (deterministic, no LLM judge).
88
- - Roadmap: `agents/roadmaps/road-to-discipline-axis-benchmark.md`.
89
- <!-- /pinned:weak-stats -->
90
-
91
- ## Cost-factor sweep (`claude-haiku-4-5`) — lift per loaded-context cost
92
-
93
- > **Question:** the full package buys its weak-host lift at ~12× vanilla tokens.
94
- > How much of the lift survives in trimmed rule-only configurations at a
95
- > fraction of that cost? Four arms, same paired design (2 tasks × 12 seeds,
96
- > n=24 pairs/arm), same host, same deterministic scorer. The trimmed arms run
97
- > plugin-OFF + ONLY the named rule bodies injected via system prompt
98
- > (`rules_subset_text()` in `bench_ab_v2_run.ts`, tier membership from
99
- > `dist/router.json`).
100
-
101
- <!-- pinned:cost-factor-table -->
102
- | arm | loaded content | injected chars | mean tokens/run | cost factor | mean discipline | lift vs vanilla |
103
- |---|---|---|---|---|---|---|
104
- | `vanilla` | none | 0 | 103,319 | 1.0× | 0.458 | — |
105
- | `rules-balanced` | kernel + tier 1 (shipped `balanced` profile) | 98,825 | 303,186 | **2.9×** | 0.417 | −0.042 (p=0.8127, **NULL**) |
106
- | `rules-kernel-dc` | kernel (9 rules) + `downstream-changes` | 30,698 | 344,483 | **3.3×** | 0.917 | **+0.458 (p=0.0135, significant)** |
107
- | `package` | full plugin | 0 | 1,210,078 | **11.7×** | 1.000 | **+0.542 (p=0.0017, significant)** |
108
-
109
- (generated from the pinned report — curated labels from `docs/benchmark.pinned.yml`)
110
- <!-- /pinned:cost-factor-table -->
111
-
112
- Residual of the full package over `rules-kernel-dc`: Δ=+0.083, Wilcoxon p=0.37
113
- (only 2 discordant pairs) — **not significant**.
114
-
115
- ### `full` discipline-tier disposition (council 2026-07-10)
116
-
117
- The `full` tier (~11.7×) stays **experimental, opt-in only, never surfaced as a
118
- recommendation**. Council (claude-sonnet-4-5 + gpt-4o, 2-round debate,
119
- 2026-07-10) converged on **keep-and-relabel over drop**: round 1 favoured
120
- dropping `full`, but the rebuttal round reversed it — `p=0.37` is *absence of
121
- evidence*, not *evidence of absence* (an underpowered n=24 compounded by an
122
- `essential` ceiling effect), and removing an enum value is an **irreversible
123
- breaking change** for anyone pinning the tier string. An experimental opt-in
124
- does not violate "measured, not asserted"; an unlabeled *recommendation* would.
125
- **Revisit-if (drop only when):** a high-powered Claude sweep (n≥100,
126
- ceiling-adjusted) shows `p>0.20 AND effect <5%` **and** an open-source-host
127
- adapter sweep returns a null — i.e. `full` is shown *actively* useless, not
128
- merely unproven. Until then the experimental label stands everywhere `full` is
129
- documented.
130
-
131
- Three findings:
132
-
133
- 1. **~95% of the lift survives at ~3× cost.** The kernel + `downstream-changes`
134
- configuration keeps a significant discipline lift (0.917 vs the full
135
- package's 1.000; the residual is not significant at this N) at ~28% of the
136
- full package's tokens. The 12× full load is not required for this trap
137
- family's lift.
138
- 2. **Content selection beats size — the shipped `balanced` profile is a null.**
139
- `rules-balanced` injects 3× more chars than `rules-kernel-dc` and costs
140
- almost the same per run, but delivers ZERO lift: it lacks
141
- `downstream-changes` (a tier-2 rule), and `scope-control` alone does not
142
- correct the downstream trap. This is the placebo result again, sharpened:
143
- not only is length inert, even 33 real rules are inert on a trap their
144
- lift-carrying rule doesn't cover. Any low-cost weak-host profile must be
145
- cut by lift-carrying content, not by tier size.
146
- 3. **Cost is behaviour, not just context.** `rules-kernel-dc` injects a third
147
- of `rules-balanced`'s chars but costs slightly MORE — the discipline
148
- behaviour itself (verification turns, downstream edits) spends tokens. The
149
- token factor cannot be dialed by context size alone.
150
-
151
- **Honest scope:** weak host only; the 2-task scope/downstream family (the family
152
- with the proven lift), N=24 pairs/arm — the full package covers 4 more trap
153
- archetypes the trimmed arms were NOT tested on here. Rules-only injection, not a
154
- full plugin projection (no skills/commands/hooks in the trimmed arms). Before
155
- shipping any trimmed default, sweep the full corpus (done below).
156
-
157
- - Report: `internal/bench/reports/ab-v2/2026-07-07T05-35-14Z-ab-v2-paired.json`.
158
- - Arms: `rules-kernel-dc` / `rules-balanced` in `src/scripts/bench_ab_v2_run.ts` (opt-in, not in the default arm list).
159
-
160
- ### Full-corpus P1 gate (`claude-haiku-4-5`, all 30 tasks) — family-scoped PASS
161
-
162
- > **The essential lift is real, replicates, and is family-scoped.** Full corpus
163
- > (all 5 trap archetypes + agentic-debug + the Laravel downstream trap),
164
- > `vanilla` vs `rules-kernel-dc` × 3 seeds = 180 runs (n=90 pairs, 0 errored),
165
- > run from a frozen checkout so mid-run edits could not contaminate the
166
- > per-run rule reads. Corpus-wide the discipline delta is +0.056 (0.872 →
167
- > 0.928, Wilcoxon p=0.084, rb=0.53) — NOT significant, because vanilla Haiku
168
- > is already at/near the discipline ceiling on every family except the
169
- > scope/downstream one. Inside that family the pilot lift replicates exactly:
170
- > trapE (now 5 tasks incl. Laravel + meso variants) 0.533 → 1.000, Δ=+0.467,
171
- > ALL 7 discordant pairs favouring the essential cut (sign test p≈0.016); all
172
- > other families flat at ceiling (largest counter-noise: trapA −0.083 on 2
173
- > discordant pairs). **Corpus-wide cost factor: 1.71x** (132,036 → 225,956
174
- > mean tokens/run) — cheaper than the family-only 3.3x, because the
175
- > discipline behaviour only spends turns where the trap exists.
176
-
177
- | axis | vanilla | rules-kernel-dc | Δ | test |
178
- |---|---|---|---|---|
179
- | capability (pass-rate) | 92% | 92% | 0 | McNemar p=1.0, h=0.0 |
180
- | discipline, full corpus (0–1) | 0.872 | 0.928 | +0.056 | Wilcoxon p=0.084, rb=0.53 (n≠0=14) |
181
- | discipline, scope/downstream family (n=15) | 0.533 | 1.000 | +0.467 | 7/7 discordant favour essential (sign p≈0.016) |
182
- | mean tokens/run | 132,036 | 225,956 | +93,920 (~1.7x) | — |
183
-
184
- **Verdict for the tiering roadmap's P1 gate:** family-scoped PASS. The
185
- `essential` tier's claim stays honest-scoped to the scope/downstream family —
186
- the lift does not extend to families where the host is already at ceiling, and
187
- it costs ~1.7x on a realistic mixed corpus. The Phase-4 default flip remains
188
- additionally gated on the P2 non-Claude replication.
189
-
190
- - Report: `internal/bench/reports/ab-v2/2026-07-07T07-04-39Z-ab-v2-paired.json`.
191
-
192
- ### P2 gate — non-Claude weak host (`gpt-5-mini` via codex) — **REPLICATION FAILED**
193
-
194
- > **The essential lift does NOT replicate on the first non-Claude weak host as
195
- > shipped.** Full corpus, `vanilla` vs `rules-kernel-dc` × 3 seeds on
196
- > `gpt-5-mini` driven by the codex CLI (n=90 pairs, 0 errored, frozen
197
- > checkout). Corpus-wide discipline Δ=+0.024 (p=0.70). Critically, this is NOT
198
- > a ceiling null: on the scope/downstream family the host has headroom
199
- > (vanilla 0.533→ 0.733) yet the rules do not fill it — trapE 0.733 → 0.667
200
- > (Δ=−0.067, 1 discordant pair). Capability trends negative (89% → 82%,
201
- > McNemar p=0.07) — **not significant, so no harm is claimed**; it is a
202
- > cautionary trend, not a validated effect. Cost factor 1.18x.
203
- >
204
- > **Honest scope / confound:** the codex CLI has no system-prompt injection
205
- > surface, so the rules were prepended to the user prompt in a marked block —
206
- > a weaker instruction surface than the claude arms' system prompt. The
207
- > measurement cannot distinguish "discipline rules do not transplant to
208
- > GPT-class hosts" from "user-surface injection is too weak". It DOES
209
- > establish the decision-relevant fact: **as shipped, on this host, there is
210
- > no measured lift.** A system-surface experiment (API-loop harness) is a
211
- > non-gating backlog follow-up.
212
-
213
- | axis | vanilla | rules-kernel-dc | Δ | test |
214
- |---|---|---|---|---|
215
- | capability (pass-rate) | 89% | 82% | −7pp | McNemar p=0.07 (n.s.) |
216
- | discipline, full corpus (0–1) | 0.819 | 0.843 | +0.024 | Wilcoxon p=0.70, rb=0.09 (n≠0=23) |
217
- | discipline, scope/downstream family (n=15) | 0.733 | 0.667 | −0.067 | 1 discordant pair (negative) |
218
- | mean tokens/run | 302,655 | 358,326 | +55,671 (~1.18x) | — |
219
-
220
- **P2-verdict disposition** (council claude-sonnet-4-5 + gpt-4o, 2026-07-07,
221
- 2-round debate — recorded in
222
- `agents/settings/contexts/weak-host-lift-tiering-verdict.md`):
223
- `gpt-5-mini` joins the measured NULL-lift disable-list; `unknown_defaults`
224
- becomes vendor-granular (`anthropic: lift_enabled` — the one family with a
225
- measured lift — `default: lift_disabled`); the `balanced` installer preset
226
- fills `discipline_profile: auto`, so the lift enables only where measured.
227
- The three-host evidence ledger: Claude weak = family-scoped lift · Claude
228
- strong = ceiling null · GPT weak = failed replication (confounded surface).
229
-
230
- - Report: `internal/bench/reports/ab-v2/2026-07-07T10-33-53Z-ab-v2-paired.json`.
231
-
232
- ## Two-host matrix (flow-learnings Phase 3, `claude-haiku-4-5`) — Gate verdict: **HONEST-NULL**
233
-
234
- First live run of the `bench_matrix` two-host composite (`internal/bench/matrix.yaml`):
235
- 2 task families × 2 hosts × arms `vanilla` vs `rules-kernel-dc`, 2 seeds,
236
- n=14 paired runs per host. Result — **zero discipline lift on either host**,
237
- every pair a tie:
238
-
239
- | Host / family | n | discipline (van → rkdc) | capability |
240
- |---|---|---:|---|
241
- | `claude` / over-engineering-bait | 8 | 1.000 → 1.000 | 1.000 |
242
- | `claude` / regression-landmine | 6 | 1.000 → 1.000 | 1.000 |
243
- | `codex` / over-engineering-bait | 8 | 1.000 → 1.000 | **0.000** |
244
- | `codex` / regression-landmine | 6 | 0.667 → 0.667 | **0.000** |
245
-
246
- Two honest reads, neither a lift:
247
-
248
- 1. **`claude` ceilings** on both capability and discipline (1.000 everywhere) —
249
- no headroom, the injected rules are redundant here. This is the same
250
- strong-/ceiling-host null the corpus shows elsewhere; these two families are
251
- not the ones `downstream-changes` carries a lift on (that is the
252
- scope/downstream family), so a null here **confirms** the lift is
253
- family-specific, it does not contradict it.
254
- 2. **`codex` capability_pass = 0.000 on every task, both arms** — the codex host
255
- did not complete these fixtures capably at all, so its discipline column is
256
- **not a meaningful lift signal** (a confounded surface, echoing the P2
257
- `gpt-5-mini` replication failure above — a non-Claude host + these fixtures).
258
- Reported here as a caveat, not a measurement; a bare table without this note
259
- would overclaim.
260
-
261
- Net: the matrix pipeline works end-to-end and the composite is reproducible, but
262
- this cell set carries **no** cross-host discipline lift — `claude` has no
263
- headroom and `codex` is capability-confounded. Not published as a lift claim.
264
-
265
- - Reports (operator-local, untracked): four `internal/bench/reports/ab-v2/2026-07-10T19-2*Z-ab-v2-paired.json` cells (claude×2 families, codex×2 families).
266
-
267
- ## Strong host (`sonnet`, full 30-task corpus) — Gate verdict: **HONEST-NULL**
268
-
269
- - capability lift significant: `False`
270
- - discipline lift significant: `False`
271
- - status-bucket better (package vs vanilla): `False`
272
-
273
- > **Honest null on a strong host, across the full corpus.** A re-run of the SAME
274
- > package on `sonnet` over the entire discipline corpus — all 5 trap archetypes +
275
- > agentic-debug + a Laravel/PHP downstream trap (`trapE-scope-laravel-01`) — with
276
- > `vanilla` vs `package` × 3 seeds (180 runs, n=84 paired). The discipline axis
277
- > does not move (Δ=+0.000, Wilcoxon p=1.0) and capability is flat-to-slightly-lower,
278
- > because a capable host is *already* at the discipline ceiling on these
279
- > deterministic traps — exactly what the weak-host section predicts. The package
280
- > is a redundant no-op here, **at ~5× the tokens.** This is not a failure: it is
281
- > the empirical bound on the weak-host claim, and it holds in PHP as in TS. **No
282
- > strong-host lift is claimed.**
283
-
284
- ### Table — `package` vs `vanilla` (n=84 pairs, host `sonnet`)
285
-
286
- <!-- pinned:strong-table -->
287
- | axis | vanilla | package | Δ | test |
288
- |---|---|---|---|---|
289
- | capability (pass-rate) | 94% | 89% | −5pp | McNemar p=0.125, h=-0.174 |
290
- | discipline (0–1) | 0.929 | 0.929 | +0.000 | Wilcoxon p=1.0, rb=0.0 (n≠0=5) |
291
- | mean tokens/run | 185,584 | 929,716 | +744,132 (~5×) | — |
292
-
293
- (host `sonnet`, n=84 pairs — generated from the pinned report)
294
- <!-- /pinned:strong-table -->
295
-
296
- - Report: `internal/bench/reports/ab-v2/2026-07-05T07-00-31Z-ab-v2-paired.json` (A6 of `road-to-final-state-and-market-readiness.md`).
297
- - Methodology: identical to the weak-host section (pinned host, deterministic scorer, paired design); the only change is the host model and the full-corpus scope.
298
-
299
- ## Recursive self-verification (ADR-106) — HONEST-NULL
300
-
301
- > **Verdict: recursion is redundant with the always-on rules. `verification.recursive`
302
- > stays `off`. No model got "closer to Fable" — exactly what ADR-106's gate was built to
303
- > disconfirm.** The one retraining-free Sakana-Fugu mechanism (a depth-bounded
304
- > `attempt → critic verdict → re-attempt` loop) was built, shipped behind a gate, and
305
- > measured — and adds nothing over the rules.
306
-
307
- Measured the `package-recursive` arm (D₂ = rules + recursion, deterministic scorer-as-critic,
308
- `max_depth=1`) against `package` (D₁ = rules only) on a weak host (`claude-haiku-4-5`),
309
- `capH-debug` archetype × 6 seeds (n=54 paired):
310
-
311
- | axis | D₁ (rules) | D₂ (rules + recursion) | Δ (D₂ − D₁) | test |
312
- |---|---|---|---|---|
313
- | capability (pass-rate) | 87% | 87% | 0 | McNemar p=1.0, h=0.0 |
314
- | discipline (0–1) | 0.852 | 0.861 | +0.009 | Wilcoxon p=0.79, rb=0.33, n≠0=3 |
315
-
316
- **ADR-106 gate: FALSIFIED** — neither a capability lift (p=1.0) nor a *significant* novel
317
- discipline lift (p=0.79; only 3 discordant pairs, below the ≥6 the gate requires).
318
-
319
- **Why, despite a passing human pre-test.** Recursion fired on only **8/29** corpus tasks
320
- (~28%) and produced a differentiated output on **4/29** — with the rules active, the host's
321
- *first* attempt already passes the critic 72% of the time, so recursion is a no-op. A blind
322
- human pre-test on the 4 differentiated pairs preferred the recursion output **4/4**, but those
323
- cases are too rare and the aggregate marginal lift too small (n≠0=3) to register as
324
- significant. The pre-test looked positive on N=4; the paired benchmark falsified it — which is
325
- exactly why ADR-106 required the benchmark, not just the pre-test.
326
-
327
- **Honesty scope.** Weak host, `capH-debug` family, deterministic scorer-as-critic, `max_depth=1`.
328
- A model-based critic (Phase 4) was not pursued — gated on this result passing, which it did not.
329
- Cost axis: each recursion run is up to 2× the host calls of a single pass, for a null lift.
330
-
331
- - Roadmap: `agents/roadmaps/archive/road-to-recursive-verification.md` (closed honest-null).
332
- - Gate logic: `recursiveGateVerdict` / `resolveRecursiveDefault` (`orchestration_gate.ts`); on a
333
- falsified gate `resolveRecursiveDefault` resolves `off` — no shipped-default flip.
334
-
335
- **Follow-up disposition — TERMINAL** (AI council, anthropic/claude-sonnet-4-5 +
336
- openai/gpt-4o, 2026-06-24, deep tier). Both members converged: do **not** pursue a
337
- model-critic / cross-vendor variant. The 72% first-pass rate shows recursion solves the
338
- wrong problem — cost scales with *all* tasks, benefit only on the ~28% tail (best-case
339
- ~4–6% lift, would need n≥200 to detect); a model-critic would mostly fire more often and
340
- produce more null-lift re-attempts at higher cost. The real lever is **refining the rules
341
- on the 28% failure tail** (applies to 100% of tasks at zero marginal cost), not recursion.
342
- Recursion-as-a-class is closed; the model-critic's contextual-quality angle, if ever
343
- wanted, is a *different* (quality-review) product, not a recursion follow-up.
344
-
345
- ## Second-brain recall delta (`claude-haiku-4-5`) — PASS (bounded)
346
-
347
- > **Verdict: a real, placebo-controlled cross-session recall lift — honestly
348
- > scoped to the context-value upper bound, not retrieval precision.** With the
349
- > right prior fact surfaced, the model answers a multi-session recall task it
350
- > otherwise cannot; the lift beats BOTH no-memory and equal-byte noise.
351
-
352
- Three arms on a fixed host (`claude-haiku-4-5`), deterministic recall corpus
353
- (9 tasks) × 3 seeds = 81 calls, scored with no model-in-the-loop grading
354
- (`second_brain_score`). Paired sign test over the 9 tasks:
355
-
356
- | arm | pass | vs memory-on (paired sign test) |
357
- |---|---|---|
358
- | memory-on (substrate surfaces the prior fact) | **27/27** | — |
359
- | memory-off (no memory) | 10/27 | on wins 6, ties 3, loses 0 — p = 0.031 |
360
- | placebo (equal-byte inert context) | 9/27 | on wins 6, ties 3, loses 0 — p = 0.031 |
361
-
362
- memory-on beats BOTH off and placebo at p < 0.05 → **PASS**. The lift
363
- concentrates on the 6 retrieval-accuracy/contradiction tasks where the fact is
364
- available ONLY from memory (on 3/3, baseline 0/3); it **ties** on the 3 tasks
365
- whose k+1 prompt already self-contains the signal (an in-prompt correction or a
366
- named contradiction) — memory-on never loses.
367
-
368
- **Honesty scope.** This is the **context-value upper bound**: the corpus is
369
- one-fact-per-task, so memory-on injects the exact fact (perfect retrieval). It
370
- proves the *value of the right surfaced fact*, isolated from mere extra context
371
- by the placebo — NOT the substrate's retrieval *precision* under a large store,
372
- which is the follow-up corpus. Cost: 6.3k in / 8.7k out tokens for the full run.
373
-
374
- - Report: `internal/bench/reports/second-brain-delta.json`; claim
375
- `second-brain-recall-lift` (`docs/CLAIMS.md`); scope + the declined Obsidian
376
- export in `docs/second-brain-scope.md`.
377
- - Roadmap: `agents/roadmaps/archive/road-to-second-brain-delta-proof.md` (closed PASS).
378
- - Harness: `src/scripts/second_brain_run.ts` (`--dry-run` free / `--run` spend).
379
-
380
- ## Second-brain retrieval precision (`claude-haiku-4-5`) — PASS, ranking-limit named
381
-
382
- > **Verdict: the lift survives REAL retrieval under confuser load — the
383
- > substrate recalls the right decision and the model disambiguates it — but the
384
- > keyword scorer recalls without ranking, which is the FTS5 signal at scale.**
385
-
386
- The follow-up to the recall-delta above removes its perfect-retrieval
387
- assumption. Against a populated decision store (5 needed + 19 distractors, with
388
- distractors that deliberately share query keywords with the needed decision),
389
- the run uses the REAL `memory_lookup` retrieval (not injection). Same host, 9
390
- tasks × 3 seeds = 81 calls.
391
-
392
- | metric | result |
393
- |---|---|
394
- | precision@5 (needed decision in top-5) | **9/9 (100%)** |
395
- | mean tie-set size (entries sharing the top score) | **3.3** — recalls, does not rank; ties break by store order |
396
- | retrieval-on (top-5 injected, confusers included) | **27/27** |
397
- | retrieval-off (no memory) | 5/27 — paired sign test vs on: 8 wins / 1 tie, p = 0.008 |
398
- | placebo (equal-count fixed unrelated entries) | 5/27 — vs on: 8 wins / 1 tie, p = 0.008 |
399
-
400
- **Reading it honestly.** Recall@5 is 100% *at this scale*: with ≤ k
401
- keyword-matching entries per query, the needed decision fits in the top-k and
402
- the model reliably picks it out of the co-injected confusers (retrieval-on
403
- 27/27). The scorer gives 0.8 to any keyword match and breaks ties by store
404
- order, so it **recalls but does not rank** (mean tie-set 3.3) — once more than
405
- k entries share a keyword, recall into the top-k degrades. That degradation is
406
- the discrimination gap the SQLite-FTS5 activation path (ADR-116) exists to
407
- close; this run is its motivating evidence, not a contradiction of it.
408
-
409
- - Report: `internal/bench/reports/second-brain-retrieval.json`; claim
410
- `second-brain-retrieval-precision` (`docs/CLAIMS.md`); scope in
411
- `docs/second-brain-scope.md`.
412
- - Store + corpus: `internal/bench/second-brain/retrieval-store/`.
413
- - Harness: `src/scripts/second_brain_retrieval.ts` (`--dry-run` computes the
414
- free deterministic precision@k / tie-set; `--run` adds the model arms).
415
-
416
- ## Thin-vs-eager quality judge (token-saving Phase 0) — INCONCLUSIVE (judge-limited)
417
-
418
- > **Verdict: the live judge run was executed, and it does NOT trustworthily
419
- > resolve whether the thin rule-projection holds output quality — the signal is
420
- > non-significant, judge-inconsistent, and length-confounded. Recorded as an
421
- > honest null; the quality-regression gate stays inert (by design — its report
422
- > path is gitignored) pending a stronger, length-neutral judge.**
423
-
424
- The thin-vs-eager runner (`src/scripts/bench_quality_run.ts`) generates each
425
- labelled golden task's answer under the THIN rule context (kernel bodies +
426
- non-kernel pointers, ~15k tok) and the EAGER context (all rule bodies, ~87k
427
- tok), then judges the pair in both orders (`evaluatePair` → reject-on-flip).
428
- Live run 2026-07-09, host + judge `claude-haiku-4-5`, 30 labelled tasks
429
- (evidence: `internal/bench/reports/quality-run-2026-07-09-haiku-inconclusive.json`):
430
-
431
- | metric | value | reading |
432
- |---|---|---|
433
- | decisive pairs | 16 / 30 | thin 5 · eager 11 |
434
- | thin win-rate | 31% | below the 0.48 floor — but see the three confounds |
435
- | Wilcoxon p | **0.196** | **not significant** — no reliable thin≠eager difference |
436
- | judge inconsistency | **33%** (10/30 flip on order swap) | the haiku judge is unreliable here |
437
- | length-confound | **69%** of decisive wins went to the LONGER answer | eager (87k ctx) answers longer → verbosity bias, exactly what the harness flags |
438
-
439
- **Why it is not a regression verdict.** The win-rate alone would trip the gate,
440
- but the three diagnostics disqualify it as evidence: the difference is not
441
- significant (p=0.20), a third of pairs are position-unstable, and two-thirds of
442
- decisive wins track answer *length*, not quality. A "thin regresses" claim off
443
- this run would be over-claiming a confounded, non-significant signal — the
444
- opposite of the honest-null discipline.
445
-
446
- **Re-open (fresh-spend follow-up).** A trustworthy verdict needs (a) a stronger
447
- judge (sonnet-class) to cut the 33% inconsistency, and (b) a length-neutralised
448
- comparison (truncate/normalise answer length, or score against the anchors
449
- directly) to remove the 69% verbosity confound. Until then the thin lever is
450
- NOT adopted as default and the gate stays inert. The golden set also still
451
- covers only 14/89 rules (operator hand-labelling), a separate gap.
452
-
453
- - Runner: `src/scripts/bench_quality_run.ts` (`--dry-run` free / live is
454
- API-gated); gate: `src/scripts/check_quality_regression.ts` (inert until a
455
- `quality-run.json` — gitignored — exists locally).
456
- - Roadmap: `agents/roadmaps/later/road-to-token-saving.md` Phase 0.
457
-
458
- ## Length-neutral judge RERUN (2026-07-12) — SECOND INCONCLUSIVE, gate CLOSED-BY-DIAGNOSIS
459
-
460
- **Verdict: `inconclusive-low-kappa` — and per the pre-registered design
461
- (`docs/design/length-neutral-judge-rerun.md`) a second inconclusive means
462
- RECORD WHY AND STOP: no third run without a design change. The thin lever
463
- stays NOT adopted; further paired-judge spend on this question is closed.**
464
-
465
- The rerun fixed all three recorded failure modes *by construction* — ±15%
466
- output-token pair matching with a reported dropped-bucket, two arm-blind
467
- judges from different provider families (claude-opus-4-8 + gpt-4o, both
468
- orders, reject-on-flip) with a κ ≥ 0.60 admissibility floor, a Spearman-ρ
469
- length diagnostic (|ρ| ≥ 0.3 withholds), and a pre-registered n = 90 (the
470
- full council-labelled corpus). Runner: `src/scripts/bench_quality_rerun.ts`;
471
- artifact: `internal/bench/reports/quality-rerun-length-neutral.json`;
472
- actual cost $34.80 (cap $250).
473
-
474
- **Why the gate is now closed rather than pending — the diagnostics carry the
475
- answer:**
476
-
477
- | Diagnostic | Value | Reading |
478
- |---|---|---|
479
- | Pair survival | **25/90** (65 dropped by the ±15% band) | Eager answers are *systematically* longer — the length difference is structural to the arms, not noise a judge can be told to ignore |
480
- | Cross-family judge agreement | **κ = 0.46** (< 0.60 floor) | Even top-tier judges from different vendors disagree on which answer is better — the rubric-visible quality difference is smaller than judge noise |
481
- | Length leakage within the band | **ρ = 0.45** (flagged ≥ 0.3) | Even among length-matched pairs, wins still track length |
482
- | Agreed decisive pairs | **7** (thin 3 / eager 4, p = 1.0) | Nothing separable remains once length and judge noise are controlled |
483
-
484
- **The honest conclusion:** the thin-vs-eager output-quality question is not
485
- resolvable by LLM-paired judging on this corpus — the measurable signal is
486
- dominated by structural length effects and judge disagreement, in BOTH the
487
- naive (2026-07-09/11) and the length-neutral (2026-07-12) designs. This is a
488
- *diagnosis*, not a "pending": the thin projection stays DISABLED on the
489
- existing precedent, the quality-regression gate stays inert, and any future
490
- attempt must use a categorically different method (e.g. deterministic
491
- anchor-scoring against `must_include`/`must_not`, not pairwise LLM judging).
492
-
493
- - Runner: `src/scripts/bench_quality_rerun.ts` (design-pinned constants:
494
- band ±15%, κ floor 0.60, ρ flag 0.3, effect floor 10pp; `--max-usd` guard).
495
- - Roadmap: `agents/roadmaps/archive/road-to-opt-measurement-unblock.md` Phase 1.
496
-
497
- ## Cross-model parity count (2026-07-12) — PASS, `finding_floor` armed
498
-
499
- The most-deferred portfolio item (cross-model parity eval, deferred across 4+
500
- roadmaps) landed in its re-scoped form: council-transport execution instead of
501
- an in-host subagent harness (`docs/design/cross-model-parity-eval.md`). Each
502
- orchestration-corpus task is rendered self-contained (fixture files inlined)
503
- and dispatched identically to two vendors; the output contract forces a
504
- numbered findings list (or `NO FINDINGS`), counted with the **same**
505
- `_count_findings` the `finding_floor` eval gate uses.
506
-
507
- | Task | sonnet median | gpt-4o median | Calibrated floor |
508
- |---|---|---|---|
509
- | orch-01 multi-file analysis | 11 | 5 | 5 |
510
- | orch-02 ordered refactor | 5 | 3 | 3 |
511
- | orch-03 competitive impl | 3 | 0 | 1 (clamp) |
512
- | pv-01 hollow detection | 2 | 2 | 2 |
513
- | pv-02 negative control | 0 | 0 | — (control, excluded) |
514
-
515
- Signal, honestly stated:
516
-
517
- - **Real cross-vendor gap** — sonnet surfaces ~2× gpt-4o's findings on the
518
- multi-file analysis task. A floor calibrated on sonnet alone would
519
- systematically fail gpt-4o; the cross-host lower envelope
520
- (`max(1, min over hosts of median)`) is the correct floor shape.
521
- - **Planted defect is vendor-stable** — both vendors cite the hollow
522
- `charge.ts` (2 findings each, zero variance across repeats).
523
- - **Negative control perfect** — 0 findings from both vendors on clean code
524
- across all repeats; the counting contract does not reward spurious findings.
525
-
526
- Cost: $0.16 actual (30 calls; ceiling $8 authorized). `finding_floor` is now an
527
- **enforcing** gate (comment flipped in `run_skill_evals.ts`); calibration data
528
- in `internal/bench/reports/parity-count.json`.
529
-
530
- - Runner: `src/scripts/bench_parity_count.ts` (pre-registered: 3 repeats,
531
- 2 vendors, envelope floor rule, controls excluded, `--max-usd` abort).
532
- - Roadmap: `agents/roadmaps/archive/road-to-opt-measurement-unblock.md` Phase 3.
533
-
534
- ## Non-Claude lift replication, second vendor host (2026-07-12) — HONEST NULL
535
-
536
- The `discipline_profile: auto` flip gate required a replicated lift on a
537
- non-Claude host. Executed per the parked design (paired vanilla vs
538
- `rules-kernel-dc` = the essential cut, 30 tasks × 3 seeds) on the codex CLI
539
- host with `gpt-5.5` (ChatGPT account).
540
-
541
- - **Capability:** 92% → 89% (McNemar p = 1.0) — no effect.
542
- - **Discipline:** 1.000 → 0.892 (Δ = −0.108, Wilcoxon p = 0.0225 on 7
543
- non-zero pairs) — no lift; directionally **negative** on this host.
544
- - **Verdict:** NO replicated lift. `discipline_profile` keeps its
545
- vendor-granular default (`unknown_defaults`, no `auto` flip) — consistent
546
- with the 2026-07-10 two-host precedent (claude strong-host ceilings) and
547
- the earlier gpt-5-mini replication failure on the same injection surface.
548
-
549
- Limitations, published: the ChatGPT-account usage limit rejected 100 of 180
550
- runs mid-corpus (plus 2 timeouts), leaving n = 37 valid pairs — the
551
- truncation is **balanced across arms** (50/52), so it weakens power but does
552
- not bias the comparison. An earlier same-day fire misfired entirely (model
553
- pin omitted → all runs API-rejected, $0) and is excluded as a harness error,
554
- not evidence. Raw report is local-only by design
555
- (`internal/bench/reports/ab-v2/` is gitignored); this section + the roadmap
556
- notes are the durable record. Re-open path: a full uncapped 180-run
557
- replication on a per-token-billed key.
558
-
559
- - Runner: `src/scripts/bench_ab_v2_run.ts --host codex` (checkpoint-resumable).
560
- - Roadmap: `agents/roadmaps/archive/road-to-opt-measurement-unblock.md` Phase 2.
561
-
562
- ## adversarial-verification-council finding coverage — HONEST NULL (resolved 2026-07-21)
563
-
564
- Pre-registered claim `adversarial-council-finding-coverage` (docs/CLAIMS.md,
565
- ADR-122): on the RESIDUAL defect pool — defects that survive a single strong
566
- cross-model judge — a cross-vendor skeptic panel (subagent-orchestration Mode 9,
567
- `adversarial-verification-council`) finds materially more residual defects than
568
- that judge, at a false-positive rate no worse than baseline on a
569
- controversial-but-correct control.
570
-
571
- - **Design (two-stage residual protocol, corpus-validity bar, dual threshold,
572
- controversial-clean FP control):** [`docs/design/adversarial-council-eval.md`](design/adversarial-council-eval.md).
573
- - **Gate (locked at pre-registration):** relative residual-recall lift >= +25%
574
- **AND** absolute >= +8 pp, **AND** panel FP not worse than baseline within
575
- noise — encoded + tested in
576
- [`src/scripts/_lib/adversarial_council_gate.ts`](../src/scripts/_lib/adversarial_council_gate.ts).
577
- - **Status: HONEST NULL (resolved 2026-07-21).** A curated judge-survivable
578
- corpus was built (`internal/bench/adversarial-council/`: 12 planted-defect
579
- fixtures across 4 subtlety classes + 3 controversial-but-correct clean
580
- controls; subtlety distribution published; passed an independent validity
581
- audit after one fixture was repaired). The registered cross-vendor run
582
- (anthropic `claude-sonnet-4-5` + openai `gpt-4o`, spend-authorized) resolved
583
- the claim NEGATIVE:
584
-
585
- | quantity | value |
586
- |---|--:|
587
- | judge-passed residual pool | 5–7 defects (missed by both neutral passes) |
588
- | single-skeptic residual recall | 0.60 |
589
- | 2-vendor panel residual recall | 0.60 (**zero lift**) |
590
- | single-skeptic FP on clean controls | 1.00 |
591
- | panel FP on clean controls | 1.00 |
592
-
593
- The second vendor's residual catches were a **strict subset** of the first's,
594
- so the panel added no marginal coverage; both recall thresholds (+25% rel,
595
- +8 pp abs) missed → **honest-null**. Under the adversarial-skeptic posture
596
- both the single skeptic and the panel false-flagged **all three**
597
- controversial-but-correct controls (100% FP) — the posture over-flags correct
598
- code. Stable across two runs. Per the locked gate, the Mode 9 surface stays
599
- **default-off permanently** (like recursive-verification). Reproducible
600
- artifact: `internal/bench/adversarial-council/runs/`.
601
- - **Transport lesson.** The first run attempted via `council_cli run` was
602
- REJECTED as a measurement artifact: that transport runs multi-round
603
- peer-review with cross-member visibility and returns prose ("Round 2 …
604
- Reviewer A"), which both violates the independent-skeptic requirement and
605
- defeats JSON scoring. The valid run uses direct, independent per-vendor
606
- client calls (`bench_adversarial_council.ts`) with a strict-JSON system
607
- prompt and a deterministic, pre-validated scorer
608
- (`adversarial_bench_score.ts` + its synthetic red/green test).
609
-
610
-
611
- ## Defect-finding: team vs self-review vs council (2026-07-20) — HONEST NULL (ceiling-limited) {#honest-null-defect}
612
-
613
- Pre-registered 12-fixture corpus (`internal/bench/corpora/defect-finding.yaml`:
614
- 10 seeded-defect diffs across logic / off-by-one / race / missing-empty-state /
615
- security-smell, + 2 controls), three arms, deterministic file-level recall
616
- against ground truth (blind rubric judge deferred — the primary metric is
617
- deterministic). Codex reviewer pinned `gpt-5.5`. Total billable $0.083 (arm b
618
- codex = ChatGPT subscription, $0).
619
-
620
- | arm | recall | correctness | design | false-positives |
621
- |---|--:|--:|--:|--:|
622
- | self-review (single model) | 1.00 | 1.00 | 1.00 | 1 |
623
- | team (cross-model, codex) | 1.00 | 1.00 | 1.00 | 0 |
624
- | council (neutral breadth) | 1.00 | 1.00 | 1.00 | 0 |
625
-
626
- **Verdict: HONEST NULL.** H1 (cross-model team > single-model self-review on
627
- correctness recall, Δ ≥ +0.20) is **not met** — Δ = 0: all three arms recalled
628
- every planted defect. H2 (council ≈ team on design, within 0.10) is met (Δ = 0).
629
- H3 (≤ 1 false positive/arm) is met.
630
-
631
- **Corpus-validity caveat (the honest bound):** recall 1.00 across every arm is a
632
- **ceiling effect** — these seeded defects are catchable by any strong model, so
633
- the corpus cannot discriminate the arms on recall. This is the same limitation
634
- the adversarial-verification-council section names: a corpus of obvious,
635
- model-differentiating defects measures parity, not the judge-survivable
636
- subtleties where a cross-model lens might actually differ. The one non-null
637
- signal is precision, not recall: single-model self-review produced 1 false
638
- positive on the controversial-but-correct control (`df-ctl-01`, a
639
- behaviour-preserving `clamp` refactor) where team and council produced 0 — a
640
- hint of a multi-arm precision edge, within the pre-registered H3 bound, too
641
- small to claim.
642
-
643
- **Disposition (Phase 5 Step 5): evidence-closed as NULL.** No cross-model
644
- defect-finding *quality/lift* claim binds; team mode stays documented as
645
- **workflow value only**. Re-open conditions: (a) a curated
646
- judge-survivable-subtlety corpus that breaks the recall ceiling, or (b) a new
647
- model generation. The worker-via-bundle delegate (roadmap Phase 3 Step 4) stays
648
- deferred — it re-opened only on a measured review lift, which did not occur.