@event4u/agent-config 9.8.0 → 9.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (817) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +278 -298
  3. package/CONTRIBUTING.md +23 -7
  4. package/MIGRATION.md +20 -0
  5. package/README.md +55 -9
  6. package/dist/agent-src/commands/agents/audit.md +1 -1
  7. package/dist/agent-src/commands/agents/optimize.md +2 -2
  8. package/dist/agent-src/commands/agents/user.md +1 -1
  9. package/dist/agent-src/commands/agents.md +1 -1
  10. package/dist/agent-src/commands/check-current-md.md +3 -3
  11. package/dist/agent-src/commands/fix/portability.md +2 -2
  12. package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
  13. package/dist/agent-src/commands/fix/refs.md +2 -2
  14. package/dist/agent-src/commands/fix/route.md +4 -3
  15. package/dist/agent-src/commands/fix.md +9 -6
  16. package/dist/agent-src/commands/ghostwriter.md +1 -1
  17. package/dist/agent-src/commands/image.md +1 -1
  18. package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
  19. package/dist/agent-src/commands/optimize/skills.md +2 -2
  20. package/dist/agent-src/commands/post-as.md +1 -1
  21. package/dist/agent-src/commands/research.md +1 -1
  22. package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
  23. package/dist/agent-src/commands/security-audit-config.md +1 -1
  24. package/dist/agent-src/commands/team/delegate.md +4 -0
  25. package/dist/agent-src/commands/video.md +1 -1
  26. package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
  27. package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
  28. package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +48 -2
  29. package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -0
  30. package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
  31. package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
  32. package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
  33. package/dist/agent-src/rules/code-provenance.md +112 -0
  34. package/dist/agent-src/rules/external-code-graph-interop.md +4 -4
  35. package/dist/agent-src/rules/history-discipline.md +80 -0
  36. package/dist/agent-src/rules/no-roadmap-references.md +1 -1
  37. package/dist/agent-src/rules/php-coding.md +1 -0
  38. package/dist/agent-src/rules/reviewer-awareness.md +1 -0
  39. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
  40. package/dist/agent-src/rules/roadmap-progress-sync.md +7 -0
  41. package/dist/agent-src/rules/scale-discipline.md +92 -0
  42. package/dist/agent-src/rules/security-sensitive-stop.md +10 -0
  43. package/dist/agent-src/rules/session-canary.md +77 -0
  44. package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
  45. package/dist/agent-src/rules/tool-safety.md +3 -1
  46. package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
  47. package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
  48. package/dist/agent-src/skills/code-intelligence/SKILL.md +17 -14
  49. package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
  50. package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
  51. package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
  52. package/dist/agent-src/skills/design-review/SKILL.md +5 -6
  53. package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
  54. package/dist/agent-src/skills/history-design/SKILL.md +101 -0
  55. package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
  56. package/dist/agent-src/skills/humanizer/SKILL.md +3 -3
  57. package/dist/agent-src/skills/image-editing/SKILL.md +1 -1
  58. package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
  59. package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
  60. package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
  61. package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
  62. package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
  63. package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
  64. package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
  65. package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
  66. package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
  67. package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
  68. package/dist/agent-src/skills/override-management/SKILL.md +1 -1
  69. package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +7 -7
  70. package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
  71. package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
  72. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +2 -2
  73. package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -0
  74. package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -3
  75. package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -0
  76. package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
  77. package/dist/agent-src/skills/rule-refactor/SKILL.md +3 -3
  78. package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
  79. package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
  80. package/dist/agent-src/skills/secrets-management/SKILL.md +3 -4
  81. package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
  82. package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +1 -1
  83. package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -3
  84. package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
  85. package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
  86. package/dist/agent-src/skills/subagent-orchestration/SKILL.md +45 -85
  87. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +5 -4
  88. package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
  89. package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -3
  90. package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
  91. package/dist/agent-src/skills/verify-repair-loop/SKILL.md +1 -1
  92. package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +2 -3
  93. package/dist/agent-src/templates/AGENTS.md +1 -1
  94. package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
  95. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  96. package/dist/agent-src/templates/command.md +3 -3
  97. package/dist/agent-src/templates/persona.md +2 -2
  98. package/dist/agent-src/templates/rule.md +2 -2
  99. package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  100. package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
  101. package/dist/cli/commands/doctorShell.js +20 -0
  102. package/dist/cli/commands/doctorShell.js.map +1 -1
  103. package/dist/cli/commands/rtkDetect.js +58 -0
  104. package/dist/cli/commands/rtkDetect.js.map +1 -0
  105. package/dist/cli/firstRunNotice.js +70 -0
  106. package/dist/cli/firstRunNotice.js.map +1 -0
  107. package/dist/cli/main.js +35 -3
  108. package/dist/cli/main.js.map +1 -1
  109. package/dist/cli/registry.js +7 -1
  110. package/dist/cli/registry.js.map +1 -1
  111. package/dist/discovery/deprecation-report.md +1 -1
  112. package/dist/discovery/discovery-manifest.json +362 -78
  113. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  114. package/dist/discovery/discovery-manifest.summary.md +6 -4
  115. package/dist/discovery/orphan-report.md +1 -1
  116. package/dist/discovery/packs.json +90 -8
  117. package/dist/discovery/trust-report.md +11 -11
  118. package/dist/discovery/workspaces.json +31 -7
  119. package/dist/hooks/dispatch.js +19475 -0
  120. package/dist/install/agentSwitchDetection.js +75 -0
  121. package/dist/install/agentSwitchDetection.js.map +1 -0
  122. package/dist/install/agentSwitchProfile.js +117 -0
  123. package/dist/install/agentSwitchProfile.js.map +1 -0
  124. package/dist/install/atomic.js +1 -1
  125. package/dist/install/detect.js +1 -1
  126. package/dist/install/install.mjs +775 -486
  127. package/dist/install/rtkDetection.js +213 -0
  128. package/dist/install/rtkDetection.js.map +1 -0
  129. package/dist/install/rule_scope.js +2 -1
  130. package/dist/install/rule_scope.js.map +1 -1
  131. package/dist/install/types.js +2 -2
  132. package/dist/install/wizard-plan.js +1 -1
  133. package/dist/install/wizardDismissals.js +58 -0
  134. package/dist/install/wizardDismissals.js.map +1 -0
  135. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  136. package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
  137. package/dist/mcp/registry-manifest.json +15 -4
  138. package/dist/mcp/server.json +20 -0
  139. package/dist/mcp/server.mjs +44292 -0
  140. package/dist/router.json +1 -1
  141. package/dist/scripts/condense.js +14 -7
  142. package/dist/scripts/condense.js.map +1 -1
  143. package/dist/server/app.js +4 -2
  144. package/dist/server/app.js.map +1 -1
  145. package/dist/server/io/sharedWriteCheck.js +101 -0
  146. package/dist/server/io/sharedWriteCheck.js.map +1 -0
  147. package/dist/server/routes/ping.js +14 -0
  148. package/dist/server/routes/ping.js.map +1 -1
  149. package/dist/server/routes/settings.js +21 -4
  150. package/dist/server/routes/settings.js.map +1 -1
  151. package/dist/server/routes/userMd.js +21 -4
  152. package/dist/server/routes/userMd.js.map +1 -1
  153. package/dist/server/routes/wizard.js +68 -25
  154. package/dist/server/routes/wizard.js.map +1 -1
  155. package/dist/server/schemas/settings.js +4 -2
  156. package/dist/server/schemas/settings.js.map +1 -1
  157. package/dist/ui/assets/index-BpSQt5vm.js +40 -0
  158. package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
  159. package/dist/ui/assets/index-jSfMW8_t.css +1 -0
  160. package/dist/ui/index.html +2 -2
  161. package/docs/MIGRATION.md +16 -0
  162. package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
  163. package/package.json +21 -11
  164. package/src/agent-src/templates/AGENTS.md +1 -1
  165. package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
  166. package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
  167. package/src/config/agent-settings.template.yml +52 -14
  168. package/src/config/discovery/packs.yml +22 -0
  169. package/src/config/discovery/workspaces.yml +1 -1
  170. package/src/config/evaluator-budgets.json +47 -0
  171. package/src/config/hook-latency-budget.json +20 -0
  172. package/src/install/agentSwitchDetection.ts +90 -0
  173. package/src/install/agentSwitchProfile.ts +131 -0
  174. package/src/install/atomic.ts +1 -1
  175. package/src/install/detect.ts +1 -1
  176. package/src/install/rtkDetection.ts +274 -0
  177. package/src/install/rule_scope.ts +9 -2
  178. package/src/install/types.ts +2 -2
  179. package/src/install/wizard-plan.ts +1 -1
  180. package/src/install/wizardDismissals.ts +60 -0
  181. package/src/scripts/_cli/cmd_doctor.ts +62 -1
  182. package/src/scripts/_cli/cmd_memory_get.ts +197 -0
  183. package/src/scripts/_cli/cmd_refresh.ts +30 -0
  184. package/src/scripts/_dispatch.bash +81 -0
  185. package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
  186. package/src/scripts/_lib/auto_dispatch.ts +76 -0
  187. package/src/scripts/_lib/detect_target_license.ts +714 -0
  188. package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +5 -0
  189. package/src/scripts/_lib/fixtures/secret-detector/positives.txt +4 -0
  190. package/src/scripts/_lib/install_drift.ts +194 -0
  191. package/src/scripts/_lib/memory_fts_index.ts +390 -0
  192. package/src/scripts/_lib/orchestration_record.ts +91 -2
  193. package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
  194. package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
  195. package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
  196. package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
  197. package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
  198. package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
  199. package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
  200. package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
  201. package/src/scripts/_lib/persistence/types.ts +109 -0
  202. package/src/scripts/_lib/rtk_allowlist.ts +44 -0
  203. package/src/scripts/_lib/secret_detector.test.ts +5 -0
  204. package/src/scripts/_lib/secret_detector.ts +9 -0
  205. package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
  206. package/src/scripts/_lib/spawn_env.ts +7 -0
  207. package/src/scripts/_lib/sqlite_guard.ts +191 -0
  208. package/src/scripts/_lib/subagent_spawn.ts +53 -0
  209. package/src/scripts/_lib/worker_budget.ts +107 -0
  210. package/src/scripts/ai_council/blind_review.ts +0 -0
  211. package/src/scripts/ai_council/config.ts +12 -6
  212. package/src/scripts/ai_council/orchestrator.ts +73 -3
  213. package/src/scripts/ai_team/review_gate.ts +8 -10
  214. package/src/scripts/ai_team/team_dispatch.ts +48 -0
  215. package/src/scripts/audit_initial_context.ts +1 -1
  216. package/src/scripts/bench_cross_source_eval.ts +400 -0
  217. package/src/scripts/bench_honesty_score.ts +1093 -0
  218. package/src/scripts/bench_hook_latency.ts +218 -0
  219. package/src/scripts/build_mcp_catalog.ts +275 -0
  220. package/src/scripts/build_mcp_registry_manifest.ts +46 -0
  221. package/src/scripts/build_proof.ts +45 -0
  222. package/src/scripts/chat_history.ts +8 -5
  223. package/src/scripts/check_backstop_debt.ts +23 -13
  224. package/src/scripts/check_bundle_path_leakage.ts +343 -0
  225. package/src/scripts/check_evaluator_budgets.ts +99 -0
  226. package/src/scripts/check_knowledge_sharing.ts +12 -1
  227. package/src/scripts/check_no_external_sources.ts +2 -2
  228. package/src/scripts/check_source_pointer_freshness.ts +28 -3
  229. package/src/scripts/code_graph/build.ts +0 -0
  230. package/src/scripts/code_graph/cli.ts +181 -9
  231. package/src/scripts/code_graph/detect.ts +52 -0
  232. package/src/scripts/code_graph/intent.ts +45 -0
  233. package/src/scripts/code_graph/query.ts +143 -29
  234. package/src/scripts/code_graph/sqlite_store.ts +174 -0
  235. package/src/scripts/condense.ts +14 -6
  236. package/src/scripts/context_hygiene_hook.ts +8 -5
  237. package/src/scripts/council_cli.ts +126 -12
  238. package/src/scripts/detect_target_license.ts +203 -0
  239. package/src/scripts/evaluator_umbrella.sh +145 -0
  240. package/src/scripts/external_sources_denylist.json +5 -3
  241. package/src/scripts/first_run_gate_hook.ts +9 -5
  242. package/src/scripts/hermetic-install.sh +3 -3
  243. package/src/scripts/hook_manifest.yaml +55 -16
  244. package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
  245. package/src/scripts/hooks/block_no_verify.ts +9 -9
  246. package/src/scripts/hooks/code_graph_nudge_hook.ts +11 -4
  247. package/src/scripts/hooks/concern_registry.ts +75 -0
  248. package/src/scripts/hooks/design_slop_hook.ts +8 -5
  249. package/src/scripts/hooks/dispatch_entry.ts +37 -0
  250. package/src/scripts/hooks/dispatch_hook.ts +176 -3
  251. package/src/scripts/hooks/hook_stdin.ts +42 -0
  252. package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
  253. package/src/scripts/hot_context_hook.ts +7 -6
  254. package/src/scripts/injection_scan_hook.ts +9 -1
  255. package/src/scripts/install +6 -6
  256. package/src/scripts/install-hooks.sh +4 -4
  257. package/src/scripts/install.sh +5 -4
  258. package/src/scripts/install.ts +264 -23
  259. package/src/scripts/learning_sidecar.ts +0 -0
  260. package/src/scripts/lint_budget_ownership.ts +89 -0
  261. package/src/scripts/lint_command_routing.ts +35 -5
  262. package/src/scripts/lint_command_verbs.ts +42 -9
  263. package/src/scripts/lint_consumer_internal_refs.ts +211 -0
  264. package/src/scripts/lint_discovery_vocabulary.ts +2 -0
  265. package/src/scripts/lint_documented_commands.ts +670 -0
  266. package/src/scripts/lint_framework_leakage.ts +17 -3
  267. package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
  268. package/src/scripts/lint_governed_writes.ts +335 -0
  269. package/src/scripts/lint_hidden_unicode.ts +6 -0
  270. package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
  271. package/src/scripts/lint_memory_tripwire.ts +186 -0
  272. package/src/scripts/lint_override_kernel_guard.ts +74 -26
  273. package/src/scripts/lint_persistence.ts +171 -0
  274. package/src/scripts/lint_pre_migration_refs.ts +106 -0
  275. package/src/scripts/lint_provenance.ts +547 -0
  276. package/src/scripts/lint_provenance_vocabulary.ts +437 -0
  277. package/src/scripts/lint_spawn_payload.ts +283 -0
  278. package/src/scripts/lint_store_boundary.ts +152 -0
  279. package/src/scripts/lint_versioned_cache.ts +7 -1
  280. package/src/scripts/mcp_server/__main__.ts +7 -2
  281. package/src/scripts/mcp_server/catalog.ts +23 -1
  282. package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
  283. package/src/scripts/mcp_server/prompts.ts +6 -0
  284. package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
  285. package/src/scripts/mcp_server/tools.ts +56 -5
  286. package/src/scripts/mcp_telemetry_query.ts +2 -33
  287. package/src/scripts/mcp_telemetry_store.ts +64 -34
  288. package/src/scripts/memory_learn_hook.ts +126 -0
  289. package/src/scripts/memory_lookup.ts +0 -0
  290. package/src/scripts/memory_replay_24.ts +312 -0
  291. package/src/scripts/memory_report.ts +16 -3
  292. package/src/scripts/memory_signal.ts +48 -0
  293. package/src/scripts/memory_status.ts +6 -0
  294. package/src/scripts/minimal_safe_diff_hook.ts +8 -5
  295. package/src/scripts/onboarding_gate_hook.ts +8 -5
  296. package/src/scripts/orchestration_record.ts +16 -0
  297. package/src/scripts/pr_url_reminder_hook.ts +8 -1
  298. package/src/scripts/prepack-check.mjs +17 -0
  299. package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
  300. package/src/scripts/prepack_lifecycle_check.mjs +82 -0
  301. package/src/scripts/profile_staleness_hook.ts +8 -7
  302. package/src/scripts/report_install_drift.ts +109 -0
  303. package/src/scripts/roadmap_progress_hook.ts +8 -5
  304. package/src/scripts/schemas/license-policy.schema.json +89 -0
  305. package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
  306. package/src/scripts/schemas/rule.schema.json +10 -0
  307. package/src/scripts/self_review_gate.test.ts +173 -1
  308. package/src/scripts/self_review_gate.ts +155 -15
  309. package/src/scripts/session_canary_hook.ts +182 -0
  310. package/src/scripts/smoke_quickstart.ts +2 -2
  311. package/src/scripts/surface_probe_hook.ts +8 -7
  312. package/src/scripts/sync_gitattributes.ts +310 -0
  313. package/src/scripts/team_review_gate_hook.ts +13 -16
  314. package/src/scripts/verify_before_complete_hook.ts +8 -5
  315. package/src/scripts/wrapper_freshness_hook.ts +8 -7
  316. package/src/server/schemas/settings.ts +8 -2
  317. package/dist/ui/assets/index-BPFMZWUs.css +0 -1
  318. package/dist/ui/assets/index-CrmZ34Rg.js +0 -40
  319. package/dist/ui/assets/index-CrmZ34Rg.js.map +0 -1
  320. package/docs/CLAIMS.md +0 -286
  321. package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
  322. package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
  323. package/docs/SKILL_CENSUS.md +0 -352
  324. package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
  325. package/docs/adrs/cost/README.md +0 -9
  326. package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
  327. package/docs/adrs/memory/README.md +0 -10
  328. package/docs/adrs/router/0001-three-tier-routing.md +0 -119
  329. package/docs/adrs/router/README.md +0 -9
  330. package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
  331. package/docs/adrs/schema/README.md +0 -9
  332. package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
  333. package/docs/adrs/smoke/README.md +0 -9
  334. package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
  335. package/docs/adrs/telegraph/README.md +0 -9
  336. package/docs/announcements/2026-05-non-dev-launch.md +0 -79
  337. package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
  338. package/docs/anti-reskin-gate.md +0 -60
  339. package/docs/architecture/augment-projection.md +0 -70
  340. package/docs/architecture/claude-bundle.md +0 -77
  341. package/docs/architecture/current-onboard-baseline.md +0 -126
  342. package/docs/architecture/current-safety-behavior.md +0 -137
  343. package/docs/architecture/multi-tool-projection.md +0 -125
  344. package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
  345. package/docs/architecture/source-projection.md +0 -85
  346. package/docs/architecture.md +0 -390
  347. package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
  348. package/docs/archive/CHANGELOG-7.0.0.md +0 -419
  349. package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
  350. package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
  351. package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
  352. package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
  353. package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
  354. package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
  355. package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
  356. package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
  357. package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
  358. package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
  359. package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
  360. package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
  361. package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
  362. package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
  363. package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
  364. package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
  365. package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
  366. package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
  367. package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
  368. package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
  369. package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
  370. package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
  371. package/docs/artefact-census.md +0 -71
  372. package/docs/benchmark.md +0 -785
  373. package/docs/benchmark.pinned.yml +0 -31
  374. package/docs/benchmarks.md +0 -85
  375. package/docs/capability-matrix.md +0 -33
  376. package/docs/case-studies/_template.md +0 -60
  377. package/docs/case-studies/frontend-design-positioning.md +0 -86
  378. package/docs/catalog.md +0 -726
  379. package/docs/command-flows.md +0 -272
  380. package/docs/command-naming-audit.md +0 -60
  381. package/docs/comparison.yaml +0 -87
  382. package/docs/contracts/CHANGELOG-conventions.md +0 -149
  383. package/docs/contracts/STABILITY.md +0 -188
  384. package/docs/contracts/adoption-signal-floor.md +0 -127
  385. package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
  386. package/docs/contracts/adr-chat-history-split.md +0 -140
  387. package/docs/contracts/adr-command-suggestion.md +0 -144
  388. package/docs/contracts/adr-forecast-construction-shape.md +0 -90
  389. package/docs/contracts/adr-gtm-context-spine.md +0 -116
  390. package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
  391. package/docs/contracts/adr-install-user-type-axis.md +0 -107
  392. package/docs/contracts/adr-layout.md +0 -107
  393. package/docs/contracts/adr-level-6-productization.md +0 -145
  394. package/docs/contracts/adr-mcp-runtime.md +0 -128
  395. package/docs/contracts/adr-product-ui-track.md +0 -381
  396. package/docs/contracts/adr-prompt-driven-execution.md +0 -186
  397. package/docs/contracts/adr-settings-sync-engine.md +0 -128
  398. package/docs/contracts/adr-user-types-axis.md +0 -127
  399. package/docs/contracts/adr-wing4-context-spine.md +0 -126
  400. package/docs/contracts/agent-user-schema.md +0 -170
  401. package/docs/contracts/agents-layout.md +0 -148
  402. package/docs/contracts/agents-md-tech-stack.md +0 -75
  403. package/docs/contracts/ai-council-config.md +0 -829
  404. package/docs/contracts/ai-team-config.md +0 -224
  405. package/docs/contracts/analysis-memory-loop.md +0 -149
  406. package/docs/contracts/at-rest-encryption.md +0 -191
  407. package/docs/contracts/audit-log-v1.md +0 -150
  408. package/docs/contracts/auto-orchestration-v1.md +0 -70
  409. package/docs/contracts/benchmark-ab-contract.md +0 -106
  410. package/docs/contracts/benchmark-corpus-spec.md +0 -125
  411. package/docs/contracts/benchmark-report-schema.md +0 -113
  412. package/docs/contracts/branch-protection-policy.md +0 -139
  413. package/docs/contracts/brand-token-consumption.md +0 -74
  414. package/docs/contracts/capability-boundary.md +0 -69
  415. package/docs/contracts/capability-packs.md +0 -217
  416. package/docs/contracts/ci-cost-budget.md +0 -111
  417. package/docs/contracts/ci-green-floor.md +0 -141
  418. package/docs/contracts/command-category-governance.md +0 -84
  419. package/docs/contracts/command-clusters.md +0 -399
  420. package/docs/contracts/command-surface-tiers.md +0 -176
  421. package/docs/contracts/command-taxonomy.md +0 -137
  422. package/docs/contracts/condensation-default-kill-criterion.md +0 -116
  423. package/docs/contracts/config-presets.md +0 -144
  424. package/docs/contracts/conformance.md +0 -84
  425. package/docs/contracts/consumer-bridge.md +0 -73
  426. package/docs/contracts/context-paths.md +0 -101
  427. package/docs/contracts/context-spine.md +0 -179
  428. package/docs/contracts/cost-dashboard.md +0 -143
  429. package/docs/contracts/cost-enforcement.md +0 -134
  430. package/docs/contracts/cost-profile-defaults.md +0 -110
  431. package/docs/contracts/cost-summary-schema.md +0 -107
  432. package/docs/contracts/creative-pack-boundary.md +0 -63
  433. package/docs/contracts/cross-repo-retrieval.md +0 -64
  434. package/docs/contracts/cross-wing-handoff.md +0 -134
  435. package/docs/contracts/daily-workspace.md +0 -147
  436. package/docs/contracts/decision-engine-gates.md +0 -120
  437. package/docs/contracts/decision-trace-v1.md +0 -177
  438. package/docs/contracts/design-artifact-lifecycle.md +0 -93
  439. package/docs/contracts/design-artifact-verification.md +0 -153
  440. package/docs/contracts/discovery-manifest.md +0 -209
  441. package/docs/contracts/discovery-manifest.schema.json +0 -254
  442. package/docs/contracts/evidence-based-pruning.md +0 -102
  443. package/docs/contracts/explain-modes.md +0 -187
  444. package/docs/contracts/explain-trace.schema.json +0 -144
  445. package/docs/contracts/file-ownership-matrix.json +0 -13941
  446. package/docs/contracts/file-ownership-matrix.md +0 -135
  447. package/docs/contracts/frontmatter-contract.md +0 -140
  448. package/docs/contracts/ghostwriter-schema.md +0 -337
  449. package/docs/contracts/governance-enforcement-projection.md +0 -159
  450. package/docs/contracts/gui-wizard.md +0 -350
  451. package/docs/contracts/harness-expectations.md +0 -128
  452. package/docs/contracts/hook-architecture-v1.md +0 -325
  453. package/docs/contracts/host-agent-protocol.md +0 -110
  454. package/docs/contracts/implement-ticket-flow.md +0 -625
  455. package/docs/contracts/init-telemetry.md +0 -132
  456. package/docs/contracts/injected-block-authenticity-model.md +0 -66
  457. package/docs/contracts/install-layout.md +0 -249
  458. package/docs/contracts/install-scopes.md +0 -82
  459. package/docs/contracts/installed-tools-lockfile.md +0 -144
  460. package/docs/contracts/installer-agent-mode.md +0 -137
  461. package/docs/contracts/iron-law-overrides.txt +0 -26
  462. package/docs/contracts/kernel-membership.md +0 -339
  463. package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
  464. package/docs/contracts/linear-ai-three-layers.md +0 -130
  465. package/docs/contracts/linter-structural-model.md +0 -181
  466. package/docs/contracts/load-context-budget-model.md +0 -259
  467. package/docs/contracts/load-context-schema.md +0 -220
  468. package/docs/contracts/local-analytics.md +0 -160
  469. package/docs/contracts/local-knowledge-ingestion.md +0 -96
  470. package/docs/contracts/local-server-api.md +0 -134
  471. package/docs/contracts/local-server-ports.md +0 -53
  472. package/docs/contracts/low-impact-corpus-format.md +0 -95
  473. package/docs/contracts/mcp-beta-criteria.md +0 -130
  474. package/docs/contracts/mcp-cloud-scope.md +0 -355
  475. package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
  476. package/docs/contracts/mcp-phase-1-scope.md +0 -272
  477. package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
  478. package/docs/contracts/mcp-tool-inventory.md +0 -64
  479. package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
  480. package/docs/contracts/measurement-baseline.md +0 -103
  481. package/docs/contracts/memory-visibility-v1.md +0 -160
  482. package/docs/contracts/mental-models.md +0 -336
  483. package/docs/contracts/migrate-command.md +0 -233
  484. package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
  485. package/docs/contracts/namespace.md +0 -125
  486. package/docs/contracts/no-runtime-boundary.md +0 -61
  487. package/docs/contracts/one-off-script-lifecycle.md +0 -110
  488. package/docs/contracts/orchestration-dsl-v1.md +0 -153
  489. package/docs/contracts/package-self-orientation.md +0 -163
  490. package/docs/contracts/pilot/agent-authority.md +0 -24
  491. package/docs/contracts/pilot/direct-answers.md +0 -70
  492. package/docs/contracts/pilot/language-and-tone.md +0 -63
  493. package/docs/contracts/plain-language-surface.md +0 -117
  494. package/docs/contracts/prelaunch-diagnostics.md +0 -151
  495. package/docs/contracts/profile-system.md +0 -167
  496. package/docs/contracts/reasoning-discipline-protocol.md +0 -83
  497. package/docs/contracts/release-pr-gating.md +0 -151
  498. package/docs/contracts/release-sizing.md +0 -107
  499. package/docs/contracts/release-trunk-sync.md +0 -105
  500. package/docs/contracts/review-lens-schema.md +0 -64
  501. package/docs/contracts/roadmap-complexity-standard.md +0 -138
  502. package/docs/contracts/role-experience.md +0 -125
  503. package/docs/contracts/router-blending.md +0 -71
  504. package/docs/contracts/rule-classification.md +0 -171
  505. package/docs/contracts/rule-interactions.md +0 -132
  506. package/docs/contracts/rule-interactions.yml +0 -260
  507. package/docs/contracts/rule-priority-hierarchy.md +0 -88
  508. package/docs/contracts/rule-router.md +0 -287
  509. package/docs/contracts/safety-model.md +0 -129
  510. package/docs/contracts/session-profile-overlay.md +0 -157
  511. package/docs/contracts/settings-api.md +0 -264
  512. package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
  513. package/docs/contracts/settings-sync-yaml-subset.md +0 -139
  514. package/docs/contracts/skill-bundled-assets.md +0 -62
  515. package/docs/contracts/skill-discovery.md +0 -80
  516. package/docs/contracts/skill-distribution-channels.md +0 -66
  517. package/docs/contracts/skill-domains.md +0 -144
  518. package/docs/contracts/skill-dry-run.md +0 -47
  519. package/docs/contracts/skill-family-map.yml +0 -915
  520. package/docs/contracts/smoke-contracts.md +0 -144
  521. package/docs/contracts/subagent-boundary.md +0 -74
  522. package/docs/contracts/surface-agent-contracts.md +0 -153
  523. package/docs/contracts/surface-matrix.md +0 -108
  524. package/docs/contracts/surface-tiers.md +0 -81
  525. package/docs/contracts/telegraph-telemetry.md +0 -83
  526. package/docs/contracts/ticket-bundle-format.md +0 -233
  527. package/docs/contracts/tier-3-contrib-plugin.md +0 -137
  528. package/docs/contracts/trust-and-safety.md +0 -144
  529. package/docs/contracts/ui-stack-extension.md +0 -237
  530. package/docs/contracts/ui-track-flow.md +0 -329
  531. package/docs/contracts/universal-skills.md +0 -91
  532. package/docs/contracts/user-type-schema.md +0 -146
  533. package/docs/contracts/value-dashboard-spec.md +0 -378
  534. package/docs/contracts/value-report-schema.md +0 -168
  535. package/docs/contracts/workflow-packs.md +0 -121
  536. package/docs/contracts/workspace-boundary.md +0 -84
  537. package/docs/contracts/workspace-documents.md +0 -144
  538. package/docs/contracts/write-engine.md +0 -182
  539. package/docs/cookbook.md +0 -152
  540. package/docs/customization.md +0 -696
  541. package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
  542. package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
  543. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
  544. package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
  545. package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
  546. package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
  547. package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
  548. package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
  549. package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
  550. package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
  551. package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
  552. package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
  553. package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
  554. package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
  555. package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
  556. package/docs/decisions/ADR-016-installer-architecture.md +0 -191
  557. package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
  558. package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
  559. package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
  560. package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
  561. package/docs/decisions/ADR-021-deployment-shape.md +0 -153
  562. package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
  563. package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
  564. package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
  565. package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
  566. package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
  567. package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
  568. package/docs/decisions/ADR-028-root-layout.md +0 -147
  569. package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
  570. package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
  571. package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
  572. package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
  573. package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
  574. package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
  575. package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
  576. package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
  577. package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
  578. package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
  579. package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
  580. package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
  581. package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
  582. package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
  583. package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
  584. package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
  585. package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
  586. package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
  587. package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
  588. package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
  589. package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
  590. package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
  591. package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
  592. package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
  593. package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
  594. package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
  595. package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
  596. package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
  597. package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
  598. package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
  599. package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
  600. package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
  601. package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
  602. package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
  603. package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
  604. package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
  605. package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
  606. package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
  607. package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
  608. package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
  609. package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
  610. package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
  611. package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
  612. package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
  613. package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
  614. package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
  615. package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
  616. package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
  617. package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
  618. package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
  619. package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
  620. package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
  621. package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
  622. package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
  623. package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
  624. package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
  625. package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
  626. package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
  627. package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
  628. package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
  629. package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
  630. package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
  631. package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
  632. package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
  633. package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
  634. package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
  635. package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
  636. package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
  637. package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
  638. package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
  639. package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
  640. package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
  641. package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
  642. package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
  643. package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
  644. package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
  645. package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
  646. package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
  647. package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
  648. package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
  649. package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -248
  650. package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -112
  651. package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
  652. package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
  653. package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -209
  654. package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
  655. package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
  656. package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
  657. package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
  658. package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
  659. package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
  660. package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
  661. package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
  662. package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
  663. package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
  664. package/docs/decisions/ADR-124-embedded-engine-doctrine.md +0 -255
  665. package/docs/decisions/ADR-125-doc-screenshot-anonymization.md +0 -131
  666. package/docs/decisions/ADR-126-internet-reach-operator-tooling.md +0 -254
  667. package/docs/decisions/ADR-127-enforcement-claims-must-resolve.md +0 -150
  668. package/docs/decisions/ADR-128-executable-evidence-and-measured-escalation.md +0 -201
  669. package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
  670. package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
  671. package/docs/decisions/INDEX.md +0 -157
  672. package/docs/decisions/engine-reclassification-2026-07.md +0 -104
  673. package/docs/deploy/connector-setup.md +0 -129
  674. package/docs/deploy/env-vars.md +0 -70
  675. package/docs/deploy/policy-cookbook.md +0 -130
  676. package/docs/deploy/quickstart.md +0 -112
  677. package/docs/deploy/small-team-recipe.md +0 -148
  678. package/docs/deploy/team-deployment-posture.md +0 -111
  679. package/docs/design/adversarial-council-eval.md +0 -106
  680. package/docs/design/council-vs-solo-baseline.md +0 -92
  681. package/docs/design/cross-model-parity-eval.md +0 -82
  682. package/docs/design/length-neutral-judge-rerun.md +0 -92
  683. package/docs/design/utilization-window-criteria.md +0 -51
  684. package/docs/development.md +0 -230
  685. package/docs/distribution/awesome-list-submission.md +0 -46
  686. package/docs/distribution/consumer-matrix.md +0 -96
  687. package/docs/distribution/launch-story-draft.md +0 -58
  688. package/docs/distribution/mcp-submission-checklist.md +0 -95
  689. package/docs/distribution/public-install-smoke.md +0 -68
  690. package/docs/distribution/registries.md +0 -126
  691. package/docs/distribution/registry-submissions.md +0 -85
  692. package/docs/distribution/telemetry-privacy.md +0 -128
  693. package/docs/distribution/telemetry-schema.md +0 -174
  694. package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
  695. package/docs/end-to-end-walkthroughs.md +0 -165
  696. package/docs/enforcement-by-host.md +0 -51
  697. package/docs/examples/agent-user.example.md +0 -22
  698. package/docs/experiences/agency.md +0 -49
  699. package/docs/experiences/content_creator.md +0 -49
  700. package/docs/experiences/developer.md +0 -49
  701. package/docs/experiences/finance.md +0 -50
  702. package/docs/experiences/founder.md +0 -49
  703. package/docs/experiences/ops.md +0 -49
  704. package/docs/featured-commands.md +0 -27
  705. package/docs/featured-skills.md +0 -95
  706. package/docs/flows.md +0 -67
  707. package/docs/getting-started-by-role.md +0 -190
  708. package/docs/getting-started-laravel.md +0 -72
  709. package/docs/getting-started-local-stdio.md +0 -77
  710. package/docs/getting-started.md +0 -254
  711. package/docs/github-topics.md +0 -93
  712. package/docs/governance-advantage.md +0 -72
  713. package/docs/governance.md +0 -96
  714. package/docs/guides/cross-repo-linked-projects.md +0 -93
  715. package/docs/guides/cross-repo-retrieval.md +0 -61
  716. package/docs/guides/frontend-design-corpus-refresh.md +0 -83
  717. package/docs/guides/gated-platform-reads.md +0 -221
  718. package/docs/guides/local-analytics.md +0 -125
  719. package/docs/guides/local-knowledge.md +0 -127
  720. package/docs/guides/skill-discovery.md +0 -71
  721. package/docs/guides/skill-preview.md +0 -71
  722. package/docs/hook-payload-capture.md +0 -221
  723. package/docs/install-friction-report.md +0 -66
  724. package/docs/installation.md +0 -959
  725. package/docs/maintainers/branch-protection.md +0 -105
  726. package/docs/maintainers/dev-mode.md +0 -106
  727. package/docs/maintainers/optional-media-deps.md +0 -50
  728. package/docs/maintainers/system-map.md +0 -85
  729. package/docs/mcp-registries.md +0 -94
  730. package/docs/mcp-server.md +0 -175
  731. package/docs/mcp.md +0 -147
  732. package/docs/media/proof-demo.cast +0 -14
  733. package/docs/media/proof-demo.gif +0 -0
  734. package/docs/migration/consumer-template-consumption-model.md +0 -145
  735. package/docs/migration/divergences/README.md +0 -55
  736. package/docs/migration/divergences/_template.md +0 -50
  737. package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
  738. package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
  739. package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
  740. package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
  741. package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
  742. package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
  743. package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
  744. package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
  745. package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
  746. package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
  747. package/docs/migration/node-floor.md +0 -86
  748. package/docs/migration/v1-to-v2.md +0 -156
  749. package/docs/migration/yaml-roundtrip-spike.md +0 -163
  750. package/docs/migrations/commands-1.15.0.md +0 -117
  751. package/docs/parity/bench-external.json +0 -58
  752. package/docs/parity/bench.json +0 -41
  753. package/docs/parity/command-frontmatter.md +0 -60
  754. package/docs/parity/external-runtime.md +0 -46
  755. package/docs/personas.md +0 -178
  756. package/docs/positioning-evidence.md +0 -86
  757. package/docs/profiles.md +0 -108
  758. package/docs/proof.md +0 -252
  759. package/docs/quality.md +0 -98
  760. package/docs/readme-split-plan.md +0 -102
  761. package/docs/recruits/_template.md +0 -81
  762. package/docs/release-runbook.md +0 -141
  763. package/docs/role-experiences.md +0 -19
  764. package/docs/safety.md +0 -30
  765. package/docs/second-brain-scope.md +0 -116
  766. package/docs/self-review-gate.md +0 -65
  767. package/docs/setup/enterprise-and-offline.md +0 -201
  768. package/docs/setup/mcp-client-config.md +0 -358
  769. package/docs/setup/mcp-cloud-endpoints.md +0 -116
  770. package/docs/setup/mcp-cloud-registry-listing.md +0 -99
  771. package/docs/setup/mcp-cloud-setup.md +0 -183
  772. package/docs/setup/mcp-r2-bootstrap.md +0 -82
  773. package/docs/setup/mcp-server-docker.md +0 -101
  774. package/docs/setup/per-ide/aider.md +0 -48
  775. package/docs/setup/per-ide/antigravity.md +0 -68
  776. package/docs/setup/per-ide/augment.md +0 -89
  777. package/docs/setup/per-ide/claude-code.md +0 -97
  778. package/docs/setup/per-ide/claude-desktop.md +0 -207
  779. package/docs/setup/per-ide/cline.md +0 -43
  780. package/docs/setup/per-ide/codebuddy.md +0 -63
  781. package/docs/setup/per-ide/codex.md +0 -46
  782. package/docs/setup/per-ide/continue.md +0 -68
  783. package/docs/setup/per-ide/copilot.md +0 -80
  784. package/docs/setup/per-ide/cursor.md +0 -125
  785. package/docs/setup/per-ide/droid.md +0 -65
  786. package/docs/setup/per-ide/gemini-cli.md +0 -45
  787. package/docs/setup/per-ide/jetbrains.md +0 -76
  788. package/docs/setup/per-ide/kilocode.md +0 -66
  789. package/docs/setup/per-ide/kiro.md +0 -72
  790. package/docs/setup/per-ide/opencode.md +0 -62
  791. package/docs/setup/per-ide/qoder.md +0 -63
  792. package/docs/setup/per-ide/roocode.md +0 -68
  793. package/docs/setup/per-ide/trae.md +0 -63
  794. package/docs/setup/per-ide/warp.md +0 -63
  795. package/docs/setup/per-ide/windsurf.md +0 -109
  796. package/docs/setup/per-ide/zed.md +0 -73
  797. package/docs/showcase.md +0 -209
  798. package/docs/skill-duplication-findings.md +0 -91
  799. package/docs/skills-catalog.md +0 -265
  800. package/docs/skills-taxonomy.md +0 -90
  801. package/docs/spawn-site-policy.md +0 -72
  802. package/docs/succession.md +0 -80
  803. package/docs/threat-model.md +0 -30
  804. package/docs/troubleshooting.md +0 -155
  805. package/docs/ui-track-mental-model.md +0 -121
  806. package/docs/us-vs-the-category.md +0 -38
  807. package/docs/value.md +0 -86
  808. package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
  809. package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
  810. package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
  811. package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
  812. package/docs/walkthroughs/daily-workspace.md +0 -127
  813. package/docs/wedge/production-validator/README.md +0 -81
  814. package/docs/wedge/production-validator/first-run-check.sh +0 -42
  815. package/docs/wedge/production-validator/production-validator.md +0 -83
  816. package/docs/wizard.md +0 -173
  817. package/src/scripts/postinstall_gui.ts +0 -129
package/docs/benchmark.md DELETED
@@ -1,785 +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.
649
-
650
- ## Internet-reach prescriptions vs host-native web tools (2026-07-24) — HONEST NULL (capability), cost signal unregistered {#honest-null-reach}
651
-
652
- **Question (pre-registered before the run):** does a reach-prescription layer —
653
- `gh api` for repository metadata, a local feed parser, a keyless discussion-search
654
- API, `curl` + local HTML→text — beat the host's own web-search / web-fetch tools
655
- on credential-free dev-research tasks, and at what token cost? The layer was
656
- prototyped in gitignored scratch first, so both arms were real at scoring time.
657
-
658
- **Design.** 12 tasks × 2 arms (`native` = host web tools only; `reach` = the
659
- prototype prescriptions), 4 parallel subagents, arms judged independently on
660
- pre-declared acceptance evidence — no arm-vs-arm comparison at scoring time.
661
- Thresholds, verdict bands and the run protocol were committed **before** the run
662
- (`internal/bench/reach-vs-native/README.md`); the report is
663
- `internal/bench/reach-vs-native/VERDICT.md`, raw rows in `results.csv`.
664
-
665
- **Result — capability: NULL.** The native arm passed **12/12**. Under the
666
- pre-registered rule (reach wins only where native fails; **ties are native
667
- wins**) the reach arm scored **0 outright wins of 12** → band **`stop`**. Two
668
- reach failures were prescription defects (a 400-char excerpt cap; a `jq`
669
- projection dropping the release body), and repairing them **cannot** move the
670
- band: the native arm passed those tasks too, so a repaired reach arm scores a
671
- tie. Zero native failures ⇒ zero possible reach wins.
672
-
673
- **Consequence: no router skill shipped.** The `internet-reach` router was
674
- cancelled pre-authoring by its own Phase-0 gate. What did ship is the
675
- verdict-independent operator tooling — a schema-validated channel registry, a
676
- five-state probe engine with stale-shim detection, a read-only `reach:doctor`,
677
- and a CI gate that fails on any unpinned install prescription.
678
-
679
- **Honest bound.** The credential-free constraint (needed for reproducibility)
680
- structurally excluded the two cases where a reach advantage was hypothesized:
681
- video subtitles (backend absent → `untested`) and authenticated / rate-limited
682
- platform access (impossible in a keyless set). The null therefore reads narrowly:
683
- *on public, credential-free dev-research tasks, a reach prescription layer buys
684
- no capability the host does not already have.* It says nothing about gated-platform
685
- access. Testing that needs a credentialed task set with its own pre-registration.
686
-
687
- **Unregistered observation — cost, not capability.** On all 8 tasks both arms
688
- solved, the reach arm was cheaper: **3,070 vs 6,730 tokens (0.46×)**, largest
689
- gaps on repository metadata (0.26×) and discussion search (0.31×). The native
690
- arm's overhead was *discovery*: it repeatedly had to find the machine-readable
691
- endpoint the prescription already knows. This is recorded **outside** the
692
- decision — S0b was authored as a ≤1.5× guardrail, never a win condition, and
693
- promoting it to one after seeing the data would be the post-hoc rigging the bands
694
- exist to prevent. Acting on it requires a separate, cost-primary pre-registration
695
- (equal-evidence tasks, token cost as the primary metric, a stated minimum saving
696
- worth the maintenance burden).
697
-
698
- ## Gated-platform reads (2026-07-25) — SHIP (3 channels), with a narrowed gap on one {#ship-gated-reach}
699
-
700
- **Question (pre-registered before the run):** on platforms the host's own web tools
701
- cannot reach at all, are credential-free prescriptions **reliable** enough to justify
702
- their maintenance weight — measured **per channel**, never aggregated?
703
-
704
- This is deliberately not the question the parent bench asked. The
705
- [internet-reach null](#honest-null-reach) measured whether a prescription layer beats
706
- native tools on credential-free dev research, answered **no** (0/12, band `stop`), and
707
- named its own bound: *"It says nothing about gated-platform access. Testing that needs
708
- a credentialed task set with its own pre-registration."* This run is that test —
709
- except it turned out **no credentials are needed**, which is itself the finding that
710
- made it worth running.
711
-
712
- **The capability gap is established, not assumed.** Measured the same session, first
713
- hand: `reddit.com` is refused at the domain level by the host's own tool (a
714
- client-side refusal, not a 403 from Reddit); `x.com/<user>/status/<id>` answers **HTTP
715
- 402**; a YouTube watch page answers 200 with metadata and no transcript.
716
-
717
- **Design.** 6 tasks per channel with pre-declared acceptance evidence, each with a
718
- **native-arm control**, thresholds frozen before the run (≥5/6 ship · 3–4/6 park ·
719
- ≤2/6 drop), one documented repair per task allowed, verdicts never aggregated.
720
- Pre-registration: `internal/bench/gated-reach/README.md`; rows and evidence:
721
- `internal/bench/gated-reach/results.md`.
722
-
723
- | Channel | reach | native | Verdict |
724
- |---|---|---|---|
725
- | `reddit` tier 1 — Atom text | **6/6** | 0/6 | **ship** |
726
- | `reddit` tier 2 — ranking + thread structure | **6/6** | 0/6 | **ship** — time-bounded |
727
- | `twitter-oembed` — single tweet | **6/6** | 2/6 | **ship** — narrowed gap, below |
728
- | `youtube-transcripts` | not run | — | **park** — unexercised (backend absent by design) |
729
-
730
- **Reddit is a real, unambiguous capability.** Post text, comment text with authors
731
- (147 feed entries on the test thread, 135 author-bearing), and — via server-rendered
732
- HTML — **comment scores and reply nesting** (134 comments across 7 depth levels,
733
- scores cross-checked against the rendered page). Native scores 0/6 by construction:
734
- there is no native path to a domain the host refuses. The rate limiting that makes
735
- this fragile is solved with **no new code** — `curl --retry 8 --retry-max-time 110`
736
- measured 5/5 against 2/6 without it, because curl treats 429 as retryable and backs
737
- off exponentially when `--retry-delay` is omitted.
738
-
739
- **Tier 2 ships with an expiry, not a promise.** Reddit announced a login requirement
740
- for the server-rendered interface on 2026-06-30 and withdrew its earlier commitment to
741
- keep it available. Logged-out access still worked on 2026-07-25. It therefore ships
742
- with a kill-switch keyed on an **observed** login wall — never on the announcement —
743
- and with tier 1 as the permanent fallback. Degradation is a documented output
744
- (`login_wall: true`, "ranking unavailable"), because presenting unranked text as
745
- ranked is the one failure mode here that produces wrong conclusions rather than a
746
- missing answer.
747
-
748
- **The control rule fired, and the Twitter story is narrower than its 6/6.** The first
749
- task set used the most-quoted tweets in existence; native scored **5/6** on them — not
750
- by reading `x.com`, but because a canonical tweet's text is reproduced everywhere.
751
- Those five tasks were **removed and replaced** per the pre-registered control rule.
752
- On five genuinely obscure tweets native dropped to **2/6**, and one of its two
753
- "passes" came from the author's Threads and Mastodon cross-posts rather than Twitter.
754
- Where it failed it failed usefully badly: on one tweet it produced a paraphrase and a
755
- **confidently wrong month**, and it cannot distinguish a deleted tweet from a live one
756
- (both answer 402). So the honest reading of Twitter's 6/6 is: *the channel is reliable,
757
- and the gap it closes is narrow* — for any tweet discussed anywhere, native search
758
- already recovers the content; the channel earns its place on the case where a specific
759
- URL is in hand and nothing mirrors it.
760
-
761
- **A bench limitation, published rather than engineered away.** The control rule says a
762
- native pass means the task was mis-scoped, so the two native-passed Twitter tasks
763
- should have been replaced again. They were not, and the reason is structural: every
764
- tweet-sourcing channel available to a host that cannot read Twitter — HN links, Reddit
765
- links, search — selects for tweets that *were* discussed publicly, which is exactly the
766
- population native search recovers. Sourcing an undiscussed tweet requires the access
767
- this bench exists because we lack. The 6/6 stands on the frozen threshold; the caveat
768
- is recorded here so nobody later reads it as "six things only this channel can do".
769
-
770
- **YouTube is parked, not scored.** `yt-dlp` is absent and the package never
771
- auto-installs. Per the pre-registered unexercised rule, a channel that cannot be
772
- exercised cannot reach ship and is not counted as a drop — an uninstalled tool is a
773
- fact about this machine, not about the channel. What did ship for it is the readiness
774
- check that closes the blind spot the parent bench left open: a passing `yt-dlp
775
- --version` does **not** imply extraction works, because full YouTube support needs an
776
- external JS runtime, so the doctor inspects the yt-dlp config semantically and reports
777
- a distinct `not-ready` state with an idempotent fix command.
778
-
779
- **Three prescription defects were found by executing the prescriptions verbatim** —
780
- none would have been caught by review: a single HTML-entity decode pass leaves
781
- `&mdash;` in tweet text; a missing `-f` makes a deleted tweet answer **exit 0 with
782
- 3,663 bytes of error HTML** that a caller reads as success; and a dropped `-L` makes
783
- the oEmbed endpoint answer 301 with an empty body, which looks like a dead service.
784
- All three are fixed and documented as load-bearing in
785
- [`docs/guides/gated-platform-reads.md`](guides/gated-platform-reads.md).