@event4u/agent-config 9.7.0 → 9.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +314 -190
- package/CONTRIBUTING.md +23 -7
- package/MIGRATION.md +20 -0
- package/README.md +57 -11
- package/dist/agent-src/commands/agents/audit.md +1 -1
- package/dist/agent-src/commands/agents/optimize.md +2 -2
- package/dist/agent-src/commands/agents/user.md +1 -1
- package/dist/agent-src/commands/agents.md +1 -1
- package/dist/agent-src/commands/check-current-md.md +3 -3
- package/dist/agent-src/commands/commit/in-chunks.md +8 -0
- package/dist/agent-src/commands/commit.md +17 -0
- package/dist/agent-src/commands/fix/portability.md +2 -2
- package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
- package/dist/agent-src/commands/fix/refs.md +2 -2
- package/dist/agent-src/commands/fix/route.md +4 -3
- package/dist/agent-src/commands/fix.md +9 -6
- package/dist/agent-src/commands/ghostwriter.md +1 -1
- package/dist/agent-src/commands/image.md +1 -1
- package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
- package/dist/agent-src/commands/optimize/skills.md +2 -2
- package/dist/agent-src/commands/post-as.md +1 -1
- package/dist/agent-src/commands/pr/create.md +4 -0
- package/dist/agent-src/commands/research.md +1 -1
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/team/delegate.md +4 -0
- package/dist/agent-src/commands/video.md +1 -1
- package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
- package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +48 -2
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -0
- package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
- package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
- package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
- package/dist/agent-src/contexts/override-system.md +75 -5
- package/dist/agent-src/rules/code-provenance.md +112 -0
- package/dist/agent-src/rules/context-hygiene.md +2 -0
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +97 -0
- package/dist/agent-src/rules/domain-safety-pii.md +1 -0
- package/dist/agent-src/rules/external-code-graph-interop.md +13 -3
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +2 -0
- package/dist/agent-src/rules/git-history-discipline.md +2 -0
- package/dist/agent-src/rules/history-discipline.md +80 -0
- package/dist/agent-src/rules/language-and-tone.md +2 -0
- package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -0
- package/dist/agent-src/rules/media-governance-routing.md +2 -0
- package/dist/agent-src/rules/minimal-safe-diff.md +2 -0
- package/dist/agent-src/rules/no-roadmap-references.md +4 -1
- package/dist/agent-src/rules/non-destructive-by-default.md +20 -0
- package/dist/agent-src/rules/onboarding-gate.md +2 -0
- package/dist/agent-src/rules/output-discipline.md +2 -0
- package/dist/agent-src/rules/persona-governance.md +2 -0
- package/dist/agent-src/rules/php-coding.md +1 -0
- package/dist/agent-src/rules/preservation-guard.md +3 -0
- package/dist/agent-src/rules/reviewer-awareness.md +1 -0
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
- package/dist/agent-src/rules/roadmap-progress-sync.md +9 -0
- package/dist/agent-src/rules/scale-discipline.md +92 -0
- package/dist/agent-src/rules/secret-vcs-guard.md +106 -0
- package/dist/agent-src/rules/security-sensitive-stop.md +11 -1
- package/dist/agent-src/rules/session-canary.md +77 -0
- package/dist/agent-src/rules/skill-quality.md +2 -0
- package/dist/agent-src/rules/source-confidentiality.md +2 -0
- package/dist/agent-src/rules/source-of-truth.md +2 -0
- package/dist/agent-src/rules/telegraph-speak.md +2 -0
- package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -1
- package/dist/agent-src/rules/tool-safety.md +4 -1
- package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
- package/dist/agent-src/rules/verify-before-complete.md +2 -0
- package/dist/agent-src/skills/adr-create/SKILL.md +17 -1
- package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
- package/dist/agent-src/skills/code-intelligence/SKILL.md +97 -0
- package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
- package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
- package/dist/agent-src/skills/design-review/SKILL.md +5 -6
- package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
- package/dist/agent-src/skills/gated-reach/SKILL.md +185 -0
- package/dist/agent-src/skills/gated-reach/evals/triggers.json +72 -0
- package/dist/agent-src/skills/history-design/SKILL.md +101 -0
- package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
- package/dist/agent-src/skills/humanizer/SKILL.md +3 -3
- package/dist/agent-src/skills/image-analyser/SKILL.md +14 -12
- package/dist/agent-src/skills/image-editing/SKILL.md +2 -1
- package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
- package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
- package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
- package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
- package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
- package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
- package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
- package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
- package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
- package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
- package/dist/agent-src/skills/override-management/SKILL.md +1 -1
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +7 -7
- package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
- package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +2 -2
- package/dist/agent-src/skills/readme-writing/SKILL.md +6 -1
- package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -0
- package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -3
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -0
- package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
- package/dist/agent-src/skills/rule-refactor/SKILL.md +3 -3
- package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
- package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
- package/dist/agent-src/skills/screenshot-hygiene/SKILL.md +171 -0
- package/dist/agent-src/skills/secrets-management/SKILL.md +43 -1
- package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
- package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +1 -1
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -3
- package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +45 -85
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +5 -4
- package/dist/agent-src/skills/subagent-orchestration/prompts/adversarial-verification-council.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge-two-stage.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-competitively.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-parallel.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-worktrees.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/judge-with-debate.md +29 -0
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -3
- package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +4 -0
- package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +2 -3
- package/dist/agent-src/templates/AGENTS.md +1 -1
- package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/command.md +3 -3
- package/dist/agent-src/templates/github-workflows/secret-scan.yml +65 -0
- package/dist/agent-src/templates/persona.md +2 -2
- package/dist/agent-src/templates/rule.md +2 -2
- package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
- package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
- package/dist/cli/commands/doctorShell.js +20 -0
- package/dist/cli/commands/doctorShell.js.map +1 -1
- package/dist/cli/commands/rtkDetect.js +58 -0
- package/dist/cli/commands/rtkDetect.js.map +1 -0
- package/dist/cli/configRoot.js +112 -0
- package/dist/cli/configRoot.js.map +1 -0
- package/dist/cli/configRoot.test.js +97 -0
- package/dist/cli/configRoot.test.js.map +1 -0
- package/dist/cli/firstRunNotice.js +70 -0
- package/dist/cli/firstRunNotice.js.map +1 -0
- package/dist/cli/help.js +4 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +54 -5
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/registry.js +8 -1
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +502 -101
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +6 -4
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +95 -8
- package/dist/discovery/trust-report.md +11 -11
- package/dist/discovery/workspaces.json +36 -7
- package/dist/hooks/dispatch.js +19475 -0
- package/dist/install/agentSwitchDetection.js +75 -0
- package/dist/install/agentSwitchDetection.js.map +1 -0
- package/dist/install/agentSwitchProfile.js +117 -0
- package/dist/install/agentSwitchProfile.js.map +1 -0
- package/dist/install/atomic.js +1 -1
- package/dist/install/detect.js +1 -1
- package/dist/install/install.mjs +791 -486
- package/dist/install/rtkDetection.js +213 -0
- package/dist/install/rtkDetection.js.map +1 -0
- package/dist/install/rule_scope.js +2 -1
- package/dist/install/rule_scope.js.map +1 -1
- package/dist/install/types.js +2 -2
- package/dist/install/wizard-plan.js +1 -1
- package/dist/install/wizardDismissals.js +58 -0
- package/dist/install/wizardDismissals.js.map +1 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
- package/dist/mcp/registry-manifest.json +15 -4
- package/dist/mcp/server.json +20 -0
- package/dist/mcp/server.mjs +44292 -0
- package/dist/router.json +1 -1
- package/dist/scripts/condense.js +14 -7
- package/dist/scripts/condense.js.map +1 -1
- package/dist/server/app.js +12 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/io/sharedWriteCheck.js +101 -0
- package/dist/server/io/sharedWriteCheck.js.map +1 -0
- package/dist/server/routes/ping.js +32 -0
- package/dist/server/routes/ping.js.map +1 -1
- package/dist/server/routes/settings.js +21 -4
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/routes/userMd.js +21 -4
- package/dist/server/routes/userMd.js.map +1 -1
- package/dist/server/routes/wizard.js +68 -25
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/server/schemas/settings.js +12 -2
- package/dist/server/schemas/settings.js.map +1 -1
- package/dist/server/serverInfo.js +6 -2
- package/dist/server/serverInfo.js.map +1 -1
- package/dist/server/token.js +11 -4
- package/dist/server/token.js.map +1 -1
- package/dist/server/writeRoot.js +15 -1
- package/dist/server/writeRoot.js.map +1 -1
- package/dist/shared/capabilities.js +33 -0
- package/dist/shared/capabilities.js.map +1 -0
- package/dist/shared/capabilities.test.js +39 -0
- package/dist/shared/capabilities.test.js.map +1 -0
- package/dist/ui/assets/index-BpSQt5vm.js +40 -0
- package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
- package/dist/ui/assets/index-jSfMW8_t.css +1 -0
- package/dist/ui/index.html +15 -6
- package/docs/MIGRATION.md +16 -0
- package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
- package/package.json +22 -9
- package/src/agent-src/templates/AGENTS.md +1 -1
- package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
- package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
- package/src/config/agent-settings.template.yml +94 -13
- package/src/config/discovery/packs.yml +22 -0
- package/src/config/discovery/workspaces.yml +1 -1
- package/src/config/evaluator-budgets.json +47 -0
- package/src/config/hook-latency-budget.json +20 -0
- package/src/config/reach-channels.yml +217 -0
- package/src/config/reach-prescriptions-intake.yml +200 -0
- package/src/install/agentSwitchDetection.ts +90 -0
- package/src/install/agentSwitchProfile.ts +131 -0
- package/src/install/atomic.ts +1 -1
- package/src/install/detect.ts +1 -1
- package/src/install/rtkDetection.ts +274 -0
- package/src/install/rule_scope.ts +9 -2
- package/src/install/types.ts +2 -2
- package/src/install/wizard-plan.ts +1 -1
- package/src/install/wizardDismissals.ts +60 -0
- package/src/scripts/_cli/cmd_doctor.ts +62 -1
- package/src/scripts/_cli/cmd_memory_get.ts +197 -0
- package/src/scripts/_cli/cmd_refresh.ts +30 -0
- package/src/scripts/_dispatch.bash +96 -0
- package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
- package/src/scripts/_lib/auto_dispatch.ts +76 -0
- package/src/scripts/_lib/detect_target_license.ts +714 -0
- package/src/scripts/_lib/exec_evidence.ts +251 -0
- package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +15 -0
- package/src/scripts/_lib/fixtures/secret-detector/positives.txt +15 -0
- package/src/scripts/_lib/install_drift.ts +194 -0
- package/src/scripts/_lib/kernel_rules.ts +46 -0
- package/src/scripts/_lib/memory_fts_index.ts +390 -0
- package/src/scripts/_lib/orchestration_record.ts +91 -2
- package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
- package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
- package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
- package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
- package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
- package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
- package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
- package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
- package/src/scripts/_lib/persistence/types.ts +109 -0
- package/src/scripts/_lib/reddit_thread_parse.ts +598 -0
- package/src/scripts/_lib/risk_paths.ts +160 -0
- package/src/scripts/_lib/rtk_allowlist.ts +44 -0
- package/src/scripts/_lib/secret_detector.test.ts +108 -0
- package/src/scripts/_lib/secret_detector.ts +328 -0
- package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
- package/src/scripts/_lib/spawn_env.ts +7 -0
- package/src/scripts/_lib/sqlite_guard.ts +191 -0
- package/src/scripts/_lib/subagent_spawn.ts +53 -0
- package/src/scripts/_lib/tool_probe.ts +359 -0
- package/src/scripts/_lib/worker_budget.ts +107 -0
- package/src/scripts/adr/regenerate_index.ts +81 -6
- package/src/scripts/ai_council/blind_review.ts +0 -0
- package/src/scripts/ai_council/config.ts +12 -6
- package/src/scripts/ai_council/orchestrator.ts +73 -3
- package/src/scripts/ai_team/review_gate.ts +8 -10
- package/src/scripts/ai_team/team_dispatch.ts +48 -0
- package/src/scripts/audit_adr_coverage.ts +33 -0
- package/src/scripts/audit_initial_context.ts +1 -1
- package/src/scripts/bench_cross_source_eval.ts +400 -0
- package/src/scripts/bench_honesty_score.ts +1093 -0
- package/src/scripts/bench_hook_latency.ts +218 -0
- package/src/scripts/build_mcp_catalog.ts +275 -0
- package/src/scripts/build_mcp_registry_manifest.ts +46 -0
- package/src/scripts/build_proof.ts +207 -0
- package/src/scripts/chat_history.ts +8 -5
- package/src/scripts/check_adr_frontmatter.ts +195 -0
- package/src/scripts/check_artefact_count_messaging.ts +4 -0
- package/src/scripts/check_backstop_debt.ts +210 -0
- package/src/scripts/check_bundle_path_leakage.ts +343 -0
- package/src/scripts/check_claims.ts +188 -8
- package/src/scripts/check_comparison.ts +12 -0
- package/src/scripts/check_enforcement_coverage.ts +592 -0
- package/src/scripts/check_evaluator_budgets.ts +99 -0
- package/src/scripts/check_kernel_rule_bundle.ts +16 -12
- package/src/scripts/check_knowledge_sharing.ts +12 -1
- package/src/scripts/check_no_external_sources.ts +2 -2
- package/src/scripts/check_reach_channels.ts +407 -0
- package/src/scripts/check_reach_staleness.ts +364 -0
- package/src/scripts/check_secret_leak.test.ts +47 -0
- package/src/scripts/check_secret_leak.ts +290 -0
- package/src/scripts/check_source_pointer_freshness.ts +28 -3
- package/src/scripts/code_graph/build.ts +0 -0
- package/src/scripts/code_graph/cli.ts +379 -0
- package/src/scripts/code_graph/detect.ts +186 -0
- package/src/scripts/code_graph/extract.ts +386 -0
- package/src/scripts/code_graph/intent.ts +45 -0
- package/src/scripts/code_graph/loader.ts +123 -0
- package/src/scripts/code_graph/query.ts +290 -0
- package/src/scripts/code_graph/sanitize.ts +30 -0
- package/src/scripts/code_graph/sqlite_store.ts +174 -0
- package/src/scripts/code_graph/types.ts +83 -0
- package/src/scripts/code_graph/validate.ts +63 -0
- package/src/scripts/condense.ts +14 -6
- package/src/scripts/context_hygiene_hook.ts +8 -5
- package/src/scripts/council_cli.ts +126 -12
- package/src/scripts/detect_target_license.ts +203 -0
- package/src/scripts/evaluator_umbrella.sh +145 -0
- package/src/scripts/external_sources_denylist.json +8 -4
- package/src/scripts/first_run_gate_hook.ts +9 -5
- package/src/scripts/generate_subagent_floor.ts +194 -0
- package/src/scripts/hermetic-install.sh +3 -3
- package/src/scripts/hook_manifest.yaml +65 -16
- package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
- package/src/scripts/hooks/block_no_verify.ts +9 -9
- package/src/scripts/hooks/code_graph_nudge_hook.ts +191 -0
- package/src/scripts/hooks/concern_registry.ts +75 -0
- package/src/scripts/hooks/design_slop_hook.ts +8 -5
- package/src/scripts/hooks/dispatch_entry.ts +37 -0
- package/src/scripts/hooks/dispatch_hook.ts +176 -3
- package/src/scripts/hooks/hook_stdin.ts +42 -0
- package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
- package/src/scripts/hot_context_hook.ts +7 -6
- package/src/scripts/injection_scan_hook.ts +9 -1
- package/src/scripts/install +6 -6
- package/src/scripts/install-hooks.sh +4 -4
- package/src/scripts/install.sh +5 -4
- package/src/scripts/install.ts +264 -23
- package/src/scripts/iron_law_sha.ts +3 -12
- package/src/scripts/learning_sidecar.ts +0 -0
- package/src/scripts/lint_budget_ownership.ts +89 -0
- package/src/scripts/lint_command_routing.ts +35 -5
- package/src/scripts/lint_command_verbs.ts +42 -9
- package/src/scripts/lint_consumer_internal_refs.ts +211 -0
- package/src/scripts/lint_discovery_vocabulary.ts +2 -0
- package/src/scripts/lint_documented_commands.ts +670 -0
- package/src/scripts/lint_framework_leakage.ts +17 -3
- package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
- package/src/scripts/lint_governed_writes.ts +335 -0
- package/src/scripts/lint_hidden_unicode.ts +6 -0
- package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
- package/src/scripts/lint_memory_tripwire.ts +186 -0
- package/src/scripts/lint_override_kernel_guard.ts +267 -0
- package/src/scripts/lint_persistence.ts +171 -0
- package/src/scripts/lint_pre_migration_refs.ts +106 -0
- package/src/scripts/lint_provenance.ts +547 -0
- package/src/scripts/lint_provenance_vocabulary.ts +437 -0
- package/src/scripts/lint_spawn_payload.ts +283 -0
- package/src/scripts/lint_store_boundary.ts +152 -0
- package/src/scripts/lint_versioned_cache.ts +7 -1
- package/src/scripts/mcp_server/__main__.ts +7 -2
- package/src/scripts/mcp_server/catalog.ts +23 -1
- package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
- package/src/scripts/mcp_server/prompts.ts +6 -0
- package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
- package/src/scripts/mcp_server/tools.ts +56 -5
- package/src/scripts/mcp_telemetry_query.ts +2 -33
- package/src/scripts/mcp_telemetry_store.ts +64 -34
- package/src/scripts/measure_rule_budget.ts +3 -12
- package/src/scripts/memory_learn_hook.ts +126 -0
- package/src/scripts/memory_lookup.ts +0 -0
- package/src/scripts/memory_replay_24.ts +312 -0
- package/src/scripts/memory_report.ts +16 -3
- package/src/scripts/memory_signal.ts +48 -0
- package/src/scripts/memory_status.ts +6 -0
- package/src/scripts/minimal_safe_diff_hook.ts +8 -5
- package/src/scripts/onboarding_gate_hook.ts +8 -5
- package/src/scripts/orchestration_record.ts +16 -0
- package/src/scripts/pr_url_reminder_hook.ts +8 -1
- package/src/scripts/prepack-check.mjs +17 -0
- package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
- package/src/scripts/prepack_lifecycle_check.mjs +82 -0
- package/src/scripts/profile_staleness_hook.ts +8 -7
- package/src/scripts/reach_doctor.ts +1651 -0
- package/src/scripts/release.ts +24 -3
- package/src/scripts/report_install_drift.ts +109 -0
- package/src/scripts/risk_escalation_shadow.ts +160 -0
- package/src/scripts/roadmap_progress_hook.ts +8 -5
- package/src/scripts/schemas/agent-settings.schema.json +23 -0
- package/src/scripts/schemas/license-policy.schema.json +89 -0
- package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
- package/src/scripts/schemas/reach-channels.schema.json +134 -0
- package/src/scripts/schemas/reach-doctor-payload.schema.json +220 -0
- package/src/scripts/schemas/rule.schema.json +20 -0
- package/src/scripts/self_review_gate.test.ts +173 -1
- package/src/scripts/self_review_gate.ts +155 -15
- package/src/scripts/session_canary_hook.ts +182 -0
- package/src/scripts/skill_linter.ts +55 -0
- package/src/scripts/smoke_quickstart.ts +2 -2
- package/src/scripts/surface_probe_hook.ts +8 -7
- package/src/scripts/sync_gitattributes.ts +310 -0
- package/src/scripts/team_review_gate_hook.ts +13 -16
- package/src/scripts/validate_reach_prescriptions.ts +751 -0
- package/src/scripts/verify_before_complete_hook.ts +8 -5
- package/src/scripts/wrapper_freshness_hook.ts +8 -7
- package/src/server/schemas/settings.ts +24 -2
- package/src/shared/capabilities.test.ts +43 -0
- package/src/shared/capabilities.ts +75 -0
- package/src/templates/minimal/agents-overrides-readme.md +20 -0
- package/dist/ui/assets/index-BPFMZWUs.css +0 -1
- package/dist/ui/assets/index-BiEZiZ31.js +0 -40
- package/dist/ui/assets/index-BiEZiZ31.js.map +0 -1
- package/docs/CLAIMS.md +0 -261
- package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
- package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
- package/docs/SKILL_CENSUS.md +0 -352
- package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
- package/docs/adrs/cost/README.md +0 -9
- package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
- package/docs/adrs/memory/README.md +0 -10
- package/docs/adrs/router/0001-three-tier-routing.md +0 -119
- package/docs/adrs/router/README.md +0 -9
- package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
- package/docs/adrs/schema/README.md +0 -9
- package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
- package/docs/adrs/smoke/README.md +0 -9
- package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
- package/docs/adrs/telegraph/README.md +0 -9
- package/docs/announcements/2026-05-non-dev-launch.md +0 -79
- package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
- package/docs/anti-reskin-gate.md +0 -60
- package/docs/architecture/augment-projection.md +0 -70
- package/docs/architecture/claude-bundle.md +0 -77
- package/docs/architecture/current-onboard-baseline.md +0 -126
- package/docs/architecture/current-safety-behavior.md +0 -137
- package/docs/architecture/multi-tool-projection.md +0 -125
- package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
- package/docs/architecture/source-projection.md +0 -85
- package/docs/architecture.md +0 -390
- package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
- package/docs/archive/CHANGELOG-7.0.0.md +0 -419
- package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
- package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
- package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
- package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
- package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
- package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
- package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
- package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
- package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
- package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
- package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
- package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
- package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
- package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
- package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
- package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
- package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
- package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
- package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
- package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
- package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
- package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
- package/docs/artefact-census.md +0 -71
- package/docs/benchmark.md +0 -648
- package/docs/benchmark.pinned.yml +0 -31
- package/docs/benchmarks.md +0 -85
- package/docs/capability-matrix.md +0 -33
- package/docs/case-studies/_template.md +0 -60
- package/docs/case-studies/frontend-design-positioning.md +0 -86
- package/docs/catalog.md +0 -721
- package/docs/command-flows.md +0 -272
- package/docs/command-naming-audit.md +0 -60
- package/docs/comparison.yaml +0 -45
- package/docs/contracts/CHANGELOG-conventions.md +0 -149
- package/docs/contracts/STABILITY.md +0 -188
- package/docs/contracts/adoption-signal-floor.md +0 -127
- package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
- package/docs/contracts/adr-chat-history-split.md +0 -140
- package/docs/contracts/adr-command-suggestion.md +0 -144
- package/docs/contracts/adr-forecast-construction-shape.md +0 -90
- package/docs/contracts/adr-gtm-context-spine.md +0 -116
- package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
- package/docs/contracts/adr-install-user-type-axis.md +0 -107
- package/docs/contracts/adr-layout.md +0 -107
- package/docs/contracts/adr-level-6-productization.md +0 -145
- package/docs/contracts/adr-mcp-runtime.md +0 -128
- package/docs/contracts/adr-product-ui-track.md +0 -381
- package/docs/contracts/adr-prompt-driven-execution.md +0 -186
- package/docs/contracts/adr-settings-sync-engine.md +0 -128
- package/docs/contracts/adr-user-types-axis.md +0 -127
- package/docs/contracts/adr-wing4-context-spine.md +0 -126
- package/docs/contracts/agent-user-schema.md +0 -170
- package/docs/contracts/agents-layout.md +0 -148
- package/docs/contracts/agents-md-tech-stack.md +0 -75
- package/docs/contracts/ai-council-config.md +0 -829
- package/docs/contracts/ai-team-config.md +0 -224
- package/docs/contracts/analysis-memory-loop.md +0 -149
- package/docs/contracts/at-rest-encryption.md +0 -191
- package/docs/contracts/audit-log-v1.md +0 -150
- package/docs/contracts/auto-orchestration-v1.md +0 -70
- package/docs/contracts/benchmark-ab-contract.md +0 -106
- package/docs/contracts/benchmark-corpus-spec.md +0 -125
- package/docs/contracts/benchmark-report-schema.md +0 -113
- package/docs/contracts/branch-protection-policy.md +0 -139
- package/docs/contracts/brand-token-consumption.md +0 -74
- package/docs/contracts/capability-boundary.md +0 -69
- package/docs/contracts/capability-packs.md +0 -217
- package/docs/contracts/ci-cost-budget.md +0 -111
- package/docs/contracts/ci-green-floor.md +0 -141
- package/docs/contracts/command-category-governance.md +0 -84
- package/docs/contracts/command-clusters.md +0 -399
- package/docs/contracts/command-surface-tiers.md +0 -176
- package/docs/contracts/command-taxonomy.md +0 -137
- package/docs/contracts/condensation-default-kill-criterion.md +0 -116
- package/docs/contracts/config-presets.md +0 -144
- package/docs/contracts/conformance.md +0 -84
- package/docs/contracts/consumer-bridge.md +0 -73
- package/docs/contracts/context-paths.md +0 -101
- package/docs/contracts/context-spine.md +0 -179
- package/docs/contracts/cost-dashboard.md +0 -143
- package/docs/contracts/cost-enforcement.md +0 -134
- package/docs/contracts/cost-profile-defaults.md +0 -110
- package/docs/contracts/cost-summary-schema.md +0 -107
- package/docs/contracts/creative-pack-boundary.md +0 -63
- package/docs/contracts/cross-repo-retrieval.md +0 -64
- package/docs/contracts/cross-wing-handoff.md +0 -134
- package/docs/contracts/daily-workspace.md +0 -147
- package/docs/contracts/decision-engine-gates.md +0 -120
- package/docs/contracts/decision-trace-v1.md +0 -177
- package/docs/contracts/design-artifact-lifecycle.md +0 -93
- package/docs/contracts/design-artifact-verification.md +0 -153
- package/docs/contracts/discovery-manifest.md +0 -209
- package/docs/contracts/discovery-manifest.schema.json +0 -254
- package/docs/contracts/evidence-based-pruning.md +0 -102
- package/docs/contracts/explain-modes.md +0 -187
- package/docs/contracts/explain-trace.schema.json +0 -144
- package/docs/contracts/file-ownership-matrix.json +0 -13941
- package/docs/contracts/file-ownership-matrix.md +0 -135
- package/docs/contracts/frontmatter-contract.md +0 -140
- package/docs/contracts/ghostwriter-schema.md +0 -337
- package/docs/contracts/governance-enforcement-projection.md +0 -159
- package/docs/contracts/gui-wizard.md +0 -350
- package/docs/contracts/harness-expectations.md +0 -128
- package/docs/contracts/hook-architecture-v1.md +0 -325
- package/docs/contracts/host-agent-protocol.md +0 -110
- package/docs/contracts/implement-ticket-flow.md +0 -625
- package/docs/contracts/init-telemetry.md +0 -132
- package/docs/contracts/injected-block-authenticity-model.md +0 -66
- package/docs/contracts/install-layout.md +0 -249
- package/docs/contracts/install-scopes.md +0 -82
- package/docs/contracts/installed-tools-lockfile.md +0 -144
- package/docs/contracts/installer-agent-mode.md +0 -137
- package/docs/contracts/iron-law-overrides.txt +0 -26
- package/docs/contracts/kernel-membership.md +0 -339
- package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
- package/docs/contracts/linear-ai-three-layers.md +0 -130
- package/docs/contracts/linter-structural-model.md +0 -181
- package/docs/contracts/load-context-budget-model.md +0 -259
- package/docs/contracts/load-context-schema.md +0 -220
- package/docs/contracts/local-analytics.md +0 -160
- package/docs/contracts/local-knowledge-ingestion.md +0 -96
- package/docs/contracts/local-server-api.md +0 -134
- package/docs/contracts/low-impact-corpus-format.md +0 -95
- package/docs/contracts/mcp-beta-criteria.md +0 -130
- package/docs/contracts/mcp-cloud-scope.md +0 -355
- package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
- package/docs/contracts/mcp-phase-1-scope.md +0 -272
- package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
- package/docs/contracts/mcp-tool-inventory.md +0 -64
- package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
- package/docs/contracts/measurement-baseline.md +0 -103
- package/docs/contracts/memory-visibility-v1.md +0 -160
- package/docs/contracts/mental-models.md +0 -336
- package/docs/contracts/migrate-command.md +0 -233
- package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
- package/docs/contracts/namespace.md +0 -125
- package/docs/contracts/no-runtime-boundary.md +0 -61
- package/docs/contracts/one-off-script-lifecycle.md +0 -110
- package/docs/contracts/orchestration-dsl-v1.md +0 -153
- package/docs/contracts/package-self-orientation.md +0 -163
- package/docs/contracts/pilot/agent-authority.md +0 -24
- package/docs/contracts/pilot/direct-answers.md +0 -70
- package/docs/contracts/pilot/language-and-tone.md +0 -63
- package/docs/contracts/plain-language-surface.md +0 -117
- package/docs/contracts/prelaunch-diagnostics.md +0 -151
- package/docs/contracts/profile-system.md +0 -167
- package/docs/contracts/reasoning-discipline-protocol.md +0 -83
- package/docs/contracts/release-pr-gating.md +0 -151
- package/docs/contracts/release-sizing.md +0 -107
- package/docs/contracts/release-trunk-sync.md +0 -105
- package/docs/contracts/review-lens-schema.md +0 -64
- package/docs/contracts/roadmap-complexity-standard.md +0 -138
- package/docs/contracts/role-experience.md +0 -125
- package/docs/contracts/router-blending.md +0 -71
- package/docs/contracts/rule-classification.md +0 -171
- package/docs/contracts/rule-interactions.md +0 -132
- package/docs/contracts/rule-interactions.yml +0 -260
- package/docs/contracts/rule-priority-hierarchy.md +0 -88
- package/docs/contracts/rule-router.md +0 -287
- package/docs/contracts/safety-model.md +0 -129
- package/docs/contracts/session-profile-overlay.md +0 -157
- package/docs/contracts/settings-api.md +0 -264
- package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
- package/docs/contracts/settings-sync-yaml-subset.md +0 -139
- package/docs/contracts/skill-bundled-assets.md +0 -62
- package/docs/contracts/skill-discovery.md +0 -80
- package/docs/contracts/skill-distribution-channels.md +0 -66
- package/docs/contracts/skill-domains.md +0 -144
- package/docs/contracts/skill-dry-run.md +0 -47
- package/docs/contracts/skill-family-map.yml +0 -915
- package/docs/contracts/smoke-contracts.md +0 -144
- package/docs/contracts/subagent-boundary.md +0 -59
- package/docs/contracts/surface-agent-contracts.md +0 -153
- package/docs/contracts/surface-matrix.md +0 -108
- package/docs/contracts/surface-tiers.md +0 -81
- package/docs/contracts/telegraph-telemetry.md +0 -83
- package/docs/contracts/ticket-bundle-format.md +0 -233
- package/docs/contracts/tier-3-contrib-plugin.md +0 -137
- package/docs/contracts/trust-and-safety.md +0 -144
- package/docs/contracts/ui-stack-extension.md +0 -237
- package/docs/contracts/ui-track-flow.md +0 -329
- package/docs/contracts/universal-skills.md +0 -91
- package/docs/contracts/user-type-schema.md +0 -146
- package/docs/contracts/value-dashboard-spec.md +0 -378
- package/docs/contracts/value-report-schema.md +0 -168
- package/docs/contracts/workflow-packs.md +0 -121
- package/docs/contracts/workspace-boundary.md +0 -84
- package/docs/contracts/workspace-documents.md +0 -144
- package/docs/contracts/write-engine.md +0 -182
- package/docs/cookbook.md +0 -152
- package/docs/customization.md +0 -685
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
- package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
- package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
- package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
- package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
- package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
- package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
- package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
- package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
- package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
- package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
- package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
- package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
- package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
- package/docs/decisions/ADR-016-installer-architecture.md +0 -189
- package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
- package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
- package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
- package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
- package/docs/decisions/ADR-021-deployment-shape.md +0 -153
- package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
- package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
- package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
- package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
- package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
- package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
- package/docs/decisions/ADR-028-root-layout.md +0 -147
- package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
- package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
- package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
- package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
- package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
- package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
- package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
- package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
- package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
- package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
- package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
- package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
- package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
- package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
- package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
- package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
- package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
- package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
- package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
- package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
- package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
- package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
- package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
- package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
- package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
- package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
- package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
- package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
- package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
- package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
- package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
- package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
- package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
- package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
- package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
- package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
- package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
- package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
- package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
- package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
- package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
- package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
- package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
- package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
- package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
- package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
- package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
- package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
- package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
- package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
- package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
- package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
- package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
- package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
- package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
- package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
- package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
- package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
- package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
- package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
- package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
- package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
- package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
- package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
- package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
- package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
- package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
- package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
- package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
- package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
- package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
- package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
- package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
- package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
- package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
- package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
- package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
- package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
- package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
- package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
- package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -246
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -110
- package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
- package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
- package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -201
- package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
- package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
- package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
- package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
- package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
- package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
- package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
- package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
- package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
- package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
- package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
- package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
- package/docs/decisions/INDEX.md +0 -136
- package/docs/deploy/connector-setup.md +0 -129
- package/docs/deploy/env-vars.md +0 -70
- package/docs/deploy/policy-cookbook.md +0 -130
- package/docs/deploy/quickstart.md +0 -112
- package/docs/deploy/small-team-recipe.md +0 -148
- package/docs/deploy/team-deployment-posture.md +0 -111
- package/docs/design/adversarial-council-eval.md +0 -106
- package/docs/design/council-vs-solo-baseline.md +0 -92
- package/docs/design/cross-model-parity-eval.md +0 -82
- package/docs/design/length-neutral-judge-rerun.md +0 -92
- package/docs/design/utilization-window-criteria.md +0 -51
- package/docs/development.md +0 -230
- package/docs/distribution/awesome-list-submission.md +0 -46
- package/docs/distribution/consumer-matrix.md +0 -96
- package/docs/distribution/launch-story-draft.md +0 -58
- package/docs/distribution/mcp-submission-checklist.md +0 -95
- package/docs/distribution/public-install-smoke.md +0 -68
- package/docs/distribution/registries.md +0 -117
- package/docs/distribution/registry-submissions.md +0 -85
- package/docs/distribution/telemetry-privacy.md +0 -128
- package/docs/distribution/telemetry-schema.md +0 -174
- package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
- package/docs/end-to-end-walkthroughs.md +0 -165
- package/docs/enforcement-by-host.md +0 -44
- package/docs/examples/agent-user.example.md +0 -22
- package/docs/experiences/agency.md +0 -49
- package/docs/experiences/content_creator.md +0 -49
- package/docs/experiences/developer.md +0 -49
- package/docs/experiences/finance.md +0 -50
- package/docs/experiences/founder.md +0 -49
- package/docs/experiences/ops.md +0 -49
- package/docs/featured-commands.md +0 -27
- package/docs/featured-skills.md +0 -95
- package/docs/flows.md +0 -67
- package/docs/getting-started-by-role.md +0 -190
- package/docs/getting-started-laravel.md +0 -72
- package/docs/getting-started-local-stdio.md +0 -77
- package/docs/getting-started.md +0 -254
- package/docs/github-topics.md +0 -93
- package/docs/governance-advantage.md +0 -72
- package/docs/governance.md +0 -96
- package/docs/guides/cross-repo-linked-projects.md +0 -93
- package/docs/guides/cross-repo-retrieval.md +0 -61
- package/docs/guides/frontend-design-corpus-refresh.md +0 -83
- package/docs/guides/local-analytics.md +0 -125
- package/docs/guides/local-knowledge.md +0 -127
- package/docs/guides/skill-discovery.md +0 -71
- package/docs/guides/skill-preview.md +0 -71
- package/docs/hook-payload-capture.md +0 -221
- package/docs/install-friction-report.md +0 -66
- package/docs/installation.md +0 -959
- package/docs/maintainers/branch-protection.md +0 -105
- package/docs/maintainers/dev-mode.md +0 -106
- package/docs/maintainers/optional-media-deps.md +0 -50
- package/docs/maintainers/system-map.md +0 -85
- package/docs/mcp-registries.md +0 -94
- package/docs/mcp-server.md +0 -175
- package/docs/mcp.md +0 -147
- package/docs/media/proof-demo.cast +0 -14
- package/docs/media/proof-demo.gif +0 -0
- package/docs/migration/consumer-template-consumption-model.md +0 -145
- package/docs/migration/divergences/README.md +0 -55
- package/docs/migration/divergences/_template.md +0 -50
- package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
- package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
- package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
- package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
- package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
- package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
- package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
- package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
- package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
- package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
- package/docs/migration/node-floor.md +0 -86
- package/docs/migration/v1-to-v2.md +0 -156
- package/docs/migration/yaml-roundtrip-spike.md +0 -163
- package/docs/migrations/commands-1.15.0.md +0 -117
- package/docs/parity/bench-external.json +0 -58
- package/docs/parity/bench.json +0 -41
- package/docs/parity/command-frontmatter.md +0 -60
- package/docs/parity/external-runtime.md +0 -46
- package/docs/personas.md +0 -178
- package/docs/positioning-evidence.md +0 -86
- package/docs/profiles.md +0 -108
- package/docs/proof.md +0 -176
- package/docs/quality.md +0 -98
- package/docs/readme-split-plan.md +0 -102
- package/docs/recruits/_template.md +0 -81
- package/docs/release-runbook.md +0 -141
- package/docs/role-experiences.md +0 -19
- package/docs/safety.md +0 -30
- package/docs/second-brain-scope.md +0 -116
- package/docs/self-review-gate.md +0 -65
- package/docs/setup/enterprise-and-offline.md +0 -201
- package/docs/setup/mcp-client-config.md +0 -358
- package/docs/setup/mcp-cloud-endpoints.md +0 -116
- package/docs/setup/mcp-cloud-registry-listing.md +0 -99
- package/docs/setup/mcp-cloud-setup.md +0 -183
- package/docs/setup/mcp-r2-bootstrap.md +0 -82
- package/docs/setup/mcp-server-docker.md +0 -101
- package/docs/setup/per-ide/aider.md +0 -48
- package/docs/setup/per-ide/antigravity.md +0 -68
- package/docs/setup/per-ide/augment.md +0 -89
- package/docs/setup/per-ide/claude-code.md +0 -97
- package/docs/setup/per-ide/claude-desktop.md +0 -207
- package/docs/setup/per-ide/cline.md +0 -43
- package/docs/setup/per-ide/codebuddy.md +0 -63
- package/docs/setup/per-ide/codex.md +0 -46
- package/docs/setup/per-ide/continue.md +0 -68
- package/docs/setup/per-ide/copilot.md +0 -80
- package/docs/setup/per-ide/cursor.md +0 -125
- package/docs/setup/per-ide/droid.md +0 -65
- package/docs/setup/per-ide/gemini-cli.md +0 -45
- package/docs/setup/per-ide/jetbrains.md +0 -76
- package/docs/setup/per-ide/kilocode.md +0 -66
- package/docs/setup/per-ide/kiro.md +0 -72
- package/docs/setup/per-ide/opencode.md +0 -62
- package/docs/setup/per-ide/qoder.md +0 -63
- package/docs/setup/per-ide/roocode.md +0 -68
- package/docs/setup/per-ide/trae.md +0 -63
- package/docs/setup/per-ide/warp.md +0 -63
- package/docs/setup/per-ide/windsurf.md +0 -109
- package/docs/setup/per-ide/zed.md +0 -73
- package/docs/showcase.md +0 -209
- package/docs/skill-duplication-findings.md +0 -91
- package/docs/skills-catalog.md +0 -265
- package/docs/skills-taxonomy.md +0 -90
- package/docs/spawn-site-policy.md +0 -72
- package/docs/succession.md +0 -80
- package/docs/threat-model.md +0 -29
- package/docs/troubleshooting.md +0 -155
- package/docs/ui-track-mental-model.md +0 -121
- package/docs/us-vs-the-category.md +0 -38
- package/docs/value.md +0 -86
- package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
- package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
- package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
- package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
- package/docs/walkthroughs/daily-workspace.md +0 -127
- package/docs/wedge/production-validator/README.md +0 -81
- package/docs/wedge/production-validator/first-run-check.sh +0 -42
- package/docs/wedge/production-validator/production-validator.md +0 -83
- package/docs/wizard.md +0 -173
package/docs/benchmark.md
DELETED
|
@@ -1,648 +0,0 @@
|
|
|
1
|
-
# Discipline-Axis Wrapper-Lift Benchmark (v2)
|
|
2
|
-
|
|
3
|
-
> **Curated composite of two pinned reports** — the weak-host result and the
|
|
4
|
-
> strong-host result side by side. It is deliberately NOT auto-generated from the
|
|
5
|
-
> single latest `ab-v2` report: a single-report render would bury one host's
|
|
6
|
-
> finding (a strong-host null would erase the weak-host lift, and vice versa).
|
|
7
|
-
> Regenerate the pinned sections with `task bench:ab:v2:diff` — each
|
|
8
|
-
> `<!-- pinned:<id> -->` region renders from ITS pinned report
|
|
9
|
-
> (`docs/benchmark.pinned.yml`); curated prose outside the markers is
|
|
10
|
-
> never touched (`-- --check` is the drift gate). Pinned sources:
|
|
11
|
-
> weak host = `internal/bench/reports/ab-v2/2026-06-15T03-52-35Z-ab-v2-paired.json`;
|
|
12
|
-
> strong host = `internal/bench/reports/ab-v2/2026-07-05T07-00-31Z-ab-v2-paired.json`;
|
|
13
|
-
> cost-factor sweep = `internal/bench/reports/ab-v2/2026-07-07T05-35-14Z-ab-v2-paired.json`.
|
|
14
|
-
|
|
15
|
-
## Honesty labels (read first)
|
|
16
|
-
|
|
17
|
-
<!-- pinned:honesty -->
|
|
18
|
-
> 1. **Wrapper-lift on a fixed host (`claude-haiku-4-5`), NOT model-vs-model.** Measures what the agent-config package does to ONE host model on a neutral fixture — not a capability ranking.
|
|
19
|
-
> 2. **Discipline axis, not capability.** The headline is the *discipline* delta (did it stay minimal / verify / ask / not destroy / update downstream), not whether the goal was achievable.
|
|
20
|
-
> 3. **PILOT — low statistical power (N=2 tasks × 12 seed(s)).** Directional only.
|
|
21
|
-
> 4. **Paired design**, errored runs excluded; McNemar (capability) + Wilcoxon signed-rank (discipline) + effect sizes.
|
|
22
|
-
> 5. **Not comparable to SWE-bench / GAIA / Fable scores** — a different question entirely.
|
|
23
|
-
<!-- /pinned:honesty -->
|
|
24
|
-
|
|
25
|
-
## Weak host (`claude-haiku-4-5`) — Gate verdict: **PASS**
|
|
26
|
-
|
|
27
|
-
<!-- pinned:weak-stats -->
|
|
28
|
-
- capability lift significant: `False`
|
|
29
|
-
- discipline lift significant: `True`
|
|
30
|
-
- status-bucket better (package vs vanilla): `False`
|
|
31
|
-
|
|
32
|
-
> **Measurable discipline lift (significant).** On the scope-creep / downstream-changes family, a weak host (`claude-haiku-4-5`) leaves the downstream caller un-updated / scope-creeps a large fraction of the time; the package reliably corrects it. The lift is significant on the discipline axis (Wilcoxon p<0.05, every discordant pair favouring the package) AND beats an **equal-length inert-prose placebo** — so it is the package's *content* (its `downstream-changes`/`scope-control` rules), NOT mere prompt-length, that helps. **Honest scope (empirically bounded):** the lift is **weak-host-specific** — a CLEAN strong-host run (`claude-sonnet-4-6`, same tasks, 8 seeds) scored vanilla = package = placebo = 1.00 (no headroom, package redundant). So the package helps a WEAK model that lacks the discipline; a strong model already has it. This matches the package's design thesis (strong hosts self-apply discipline; weak hosts benefit fully). Discipline axis, not capability (both arms make the primary change); this task family (scope/downstream), not a universal claim. It improves *solution discipline*, not model intelligence.
|
|
33
|
-
|
|
34
|
-
## package lift — `package` vs `vanilla` (n=24 pairs)
|
|
35
|
-
|
|
36
|
-
### Table 1 — capability axis (expected near-flat by design)
|
|
37
|
-
|
|
38
|
-
| metric | baseline | treatment | test |
|
|
39
|
-
|---|---|---|---|
|
|
40
|
-
| pass-rate | 100% | 100% | McNemar p=1.0, h=0.0 |
|
|
41
|
-
|
|
42
|
-
### Table 2 — discipline axis (the lift)
|
|
43
|
-
|
|
44
|
-
| metric | baseline | treatment | Δ | test |
|
|
45
|
-
|---|---|---|---|---|
|
|
46
|
-
| mean discipline | 0.333 | 1.000 | +0.667 | Wilcoxon p=0.0005, rb=1.0 (n≠0=16) |
|
|
47
|
-
|
|
48
|
-
### Table 3 — cost axis (mean tokens/run, non-errored)
|
|
49
|
-
|
|
50
|
-
| metric | baseline | treatment | Δ |
|
|
51
|
-
|---|---|---|---|
|
|
52
|
-
| mean tokens | 90,534 | 992,044 | +901,510 |
|
|
53
|
-
|
|
54
|
-
## attribution (content vs length) — `package` vs `placebo` (n=24 pairs)
|
|
55
|
-
|
|
56
|
-
### Table 1 — capability axis (expected near-flat by design)
|
|
57
|
-
|
|
58
|
-
| metric | baseline | treatment | test |
|
|
59
|
-
|---|---|---|---|
|
|
60
|
-
| pass-rate | 100% | 100% | McNemar p=1.0, h=0.0 |
|
|
61
|
-
|
|
62
|
-
### Table 2 — discipline axis (the lift)
|
|
63
|
-
|
|
64
|
-
| metric | baseline | treatment | Δ | test |
|
|
65
|
-
|---|---|---|---|---|
|
|
66
|
-
| mean discipline | 0.333 | 1.000 | +0.667 | Wilcoxon p=0.0005, rb=1.0 (n≠0=16) |
|
|
67
|
-
|
|
68
|
-
### Table 3 — cost axis (mean tokens/run, non-errored)
|
|
69
|
-
|
|
70
|
-
| metric | baseline | treatment | Δ |
|
|
71
|
-
|---|---|---|---|
|
|
72
|
-
| mean tokens | 97,528 | 992,044 | +894,516 |
|
|
73
|
-
|
|
74
|
-
## Status buckets (trajectory)
|
|
75
|
-
|
|
76
|
-
| arm | runs | error-rate | buckets |
|
|
77
|
-
|---|---|---|---|
|
|
78
|
-
| vanilla | 24 | 0% | completed:24 |
|
|
79
|
-
| package | 24 | 0% | completed:24 |
|
|
80
|
-
| placebo | 24 | 0% | completed:24 |
|
|
81
|
-
|
|
82
|
-
## Methodology
|
|
83
|
-
|
|
84
|
-
- Host model: `claude-haiku-4-5` (pinned across all arms — a validity requirement, not a model comparison).
|
|
85
|
-
- Per-run budget cap: $3.5; placebo injected ~6628 chars of inert prose.
|
|
86
|
-
- Arms: vanilla (plugin off) · package (real plugin) · package-rdp (plugin + RDP rules) · placebo (plugin off + equal-length inert prose).
|
|
87
|
-
- Corpus: `internal/bench/corpora/ab-trackb-v2.yaml` (5 trap archetypes). Scoring: `bench_ab_scoring_v2.py` (deterministic, no LLM judge).
|
|
88
|
-
- Roadmap: `agents/roadmaps/road-to-discipline-axis-benchmark.md`.
|
|
89
|
-
<!-- /pinned:weak-stats -->
|
|
90
|
-
|
|
91
|
-
## Cost-factor sweep (`claude-haiku-4-5`) — lift per loaded-context cost
|
|
92
|
-
|
|
93
|
-
> **Question:** the full package buys its weak-host lift at ~12× vanilla tokens.
|
|
94
|
-
> How much of the lift survives in trimmed rule-only configurations at a
|
|
95
|
-
> fraction of that cost? Four arms, same paired design (2 tasks × 12 seeds,
|
|
96
|
-
> n=24 pairs/arm), same host, same deterministic scorer. The trimmed arms run
|
|
97
|
-
> plugin-OFF + ONLY the named rule bodies injected via system prompt
|
|
98
|
-
> (`rules_subset_text()` in `bench_ab_v2_run.ts`, tier membership from
|
|
99
|
-
> `dist/router.json`).
|
|
100
|
-
|
|
101
|
-
<!-- pinned:cost-factor-table -->
|
|
102
|
-
| arm | loaded content | injected chars | mean tokens/run | cost factor | mean discipline | lift vs vanilla |
|
|
103
|
-
|---|---|---|---|---|---|---|
|
|
104
|
-
| `vanilla` | none | 0 | 103,319 | 1.0× | 0.458 | — |
|
|
105
|
-
| `rules-balanced` | kernel + tier 1 (shipped `balanced` profile) | 98,825 | 303,186 | **2.9×** | 0.417 | −0.042 (p=0.8127, **NULL**) |
|
|
106
|
-
| `rules-kernel-dc` | kernel (9 rules) + `downstream-changes` | 30,698 | 344,483 | **3.3×** | 0.917 | **+0.458 (p=0.0135, significant)** |
|
|
107
|
-
| `package` | full plugin | 0 | 1,210,078 | **11.7×** | 1.000 | **+0.542 (p=0.0017, significant)** |
|
|
108
|
-
|
|
109
|
-
(generated from the pinned report — curated labels from `docs/benchmark.pinned.yml`)
|
|
110
|
-
<!-- /pinned:cost-factor-table -->
|
|
111
|
-
|
|
112
|
-
Residual of the full package over `rules-kernel-dc`: Δ=+0.083, Wilcoxon p=0.37
|
|
113
|
-
(only 2 discordant pairs) — **not significant**.
|
|
114
|
-
|
|
115
|
-
### `full` discipline-tier disposition (council 2026-07-10)
|
|
116
|
-
|
|
117
|
-
The `full` tier (~11.7×) stays **experimental, opt-in only, never surfaced as a
|
|
118
|
-
recommendation**. Council (claude-sonnet-4-5 + gpt-4o, 2-round debate,
|
|
119
|
-
2026-07-10) converged on **keep-and-relabel over drop**: round 1 favoured
|
|
120
|
-
dropping `full`, but the rebuttal round reversed it — `p=0.37` is *absence of
|
|
121
|
-
evidence*, not *evidence of absence* (an underpowered n=24 compounded by an
|
|
122
|
-
`essential` ceiling effect), and removing an enum value is an **irreversible
|
|
123
|
-
breaking change** for anyone pinning the tier string. An experimental opt-in
|
|
124
|
-
does not violate "measured, not asserted"; an unlabeled *recommendation* would.
|
|
125
|
-
**Revisit-if (drop only when):** a high-powered Claude sweep (n≥100,
|
|
126
|
-
ceiling-adjusted) shows `p>0.20 AND effect <5%` **and** an open-source-host
|
|
127
|
-
adapter sweep returns a null — i.e. `full` is shown *actively* useless, not
|
|
128
|
-
merely unproven. Until then the experimental label stands everywhere `full` is
|
|
129
|
-
documented.
|
|
130
|
-
|
|
131
|
-
Three findings:
|
|
132
|
-
|
|
133
|
-
1. **~95% of the lift survives at ~3× cost.** The kernel + `downstream-changes`
|
|
134
|
-
configuration keeps a significant discipline lift (0.917 vs the full
|
|
135
|
-
package's 1.000; the residual is not significant at this N) at ~28% of the
|
|
136
|
-
full package's tokens. The 12× full load is not required for this trap
|
|
137
|
-
family's lift.
|
|
138
|
-
2. **Content selection beats size — the shipped `balanced` profile is a null.**
|
|
139
|
-
`rules-balanced` injects 3× more chars than `rules-kernel-dc` and costs
|
|
140
|
-
almost the same per run, but delivers ZERO lift: it lacks
|
|
141
|
-
`downstream-changes` (a tier-2 rule), and `scope-control` alone does not
|
|
142
|
-
correct the downstream trap. This is the placebo result again, sharpened:
|
|
143
|
-
not only is length inert, even 33 real rules are inert on a trap their
|
|
144
|
-
lift-carrying rule doesn't cover. Any low-cost weak-host profile must be
|
|
145
|
-
cut by lift-carrying content, not by tier size.
|
|
146
|
-
3. **Cost is behaviour, not just context.** `rules-kernel-dc` injects a third
|
|
147
|
-
of `rules-balanced`'s chars but costs slightly MORE — the discipline
|
|
148
|
-
behaviour itself (verification turns, downstream edits) spends tokens. The
|
|
149
|
-
token factor cannot be dialed by context size alone.
|
|
150
|
-
|
|
151
|
-
**Honest scope:** weak host only; the 2-task scope/downstream family (the family
|
|
152
|
-
with the proven lift), N=24 pairs/arm — the full package covers 4 more trap
|
|
153
|
-
archetypes the trimmed arms were NOT tested on here. Rules-only injection, not a
|
|
154
|
-
full plugin projection (no skills/commands/hooks in the trimmed arms). Before
|
|
155
|
-
shipping any trimmed default, sweep the full corpus (done below).
|
|
156
|
-
|
|
157
|
-
- Report: `internal/bench/reports/ab-v2/2026-07-07T05-35-14Z-ab-v2-paired.json`.
|
|
158
|
-
- Arms: `rules-kernel-dc` / `rules-balanced` in `src/scripts/bench_ab_v2_run.ts` (opt-in, not in the default arm list).
|
|
159
|
-
|
|
160
|
-
### Full-corpus P1 gate (`claude-haiku-4-5`, all 30 tasks) — family-scoped PASS
|
|
161
|
-
|
|
162
|
-
> **The essential lift is real, replicates, and is family-scoped.** Full corpus
|
|
163
|
-
> (all 5 trap archetypes + agentic-debug + the Laravel downstream trap),
|
|
164
|
-
> `vanilla` vs `rules-kernel-dc` × 3 seeds = 180 runs (n=90 pairs, 0 errored),
|
|
165
|
-
> run from a frozen checkout so mid-run edits could not contaminate the
|
|
166
|
-
> per-run rule reads. Corpus-wide the discipline delta is +0.056 (0.872 →
|
|
167
|
-
> 0.928, Wilcoxon p=0.084, rb=0.53) — NOT significant, because vanilla Haiku
|
|
168
|
-
> is already at/near the discipline ceiling on every family except the
|
|
169
|
-
> scope/downstream one. Inside that family the pilot lift replicates exactly:
|
|
170
|
-
> trapE (now 5 tasks incl. Laravel + meso variants) 0.533 → 1.000, Δ=+0.467,
|
|
171
|
-
> ALL 7 discordant pairs favouring the essential cut (sign test p≈0.016); all
|
|
172
|
-
> other families flat at ceiling (largest counter-noise: trapA −0.083 on 2
|
|
173
|
-
> discordant pairs). **Corpus-wide cost factor: 1.71x** (132,036 → 225,956
|
|
174
|
-
> mean tokens/run) — cheaper than the family-only 3.3x, because the
|
|
175
|
-
> discipline behaviour only spends turns where the trap exists.
|
|
176
|
-
|
|
177
|
-
| axis | vanilla | rules-kernel-dc | Δ | test |
|
|
178
|
-
|---|---|---|---|---|
|
|
179
|
-
| capability (pass-rate) | 92% | 92% | 0 | McNemar p=1.0, h=0.0 |
|
|
180
|
-
| discipline, full corpus (0–1) | 0.872 | 0.928 | +0.056 | Wilcoxon p=0.084, rb=0.53 (n≠0=14) |
|
|
181
|
-
| discipline, scope/downstream family (n=15) | 0.533 | 1.000 | +0.467 | 7/7 discordant favour essential (sign p≈0.016) |
|
|
182
|
-
| mean tokens/run | 132,036 | 225,956 | +93,920 (~1.7x) | — |
|
|
183
|
-
|
|
184
|
-
**Verdict for the tiering roadmap's P1 gate:** family-scoped PASS. The
|
|
185
|
-
`essential` tier's claim stays honest-scoped to the scope/downstream family —
|
|
186
|
-
the lift does not extend to families where the host is already at ceiling, and
|
|
187
|
-
it costs ~1.7x on a realistic mixed corpus. The Phase-4 default flip remains
|
|
188
|
-
additionally gated on the P2 non-Claude replication.
|
|
189
|
-
|
|
190
|
-
- Report: `internal/bench/reports/ab-v2/2026-07-07T07-04-39Z-ab-v2-paired.json`.
|
|
191
|
-
|
|
192
|
-
### P2 gate — non-Claude weak host (`gpt-5-mini` via codex) — **REPLICATION FAILED**
|
|
193
|
-
|
|
194
|
-
> **The essential lift does NOT replicate on the first non-Claude weak host as
|
|
195
|
-
> shipped.** Full corpus, `vanilla` vs `rules-kernel-dc` × 3 seeds on
|
|
196
|
-
> `gpt-5-mini` driven by the codex CLI (n=90 pairs, 0 errored, frozen
|
|
197
|
-
> checkout). Corpus-wide discipline Δ=+0.024 (p=0.70). Critically, this is NOT
|
|
198
|
-
> a ceiling null: on the scope/downstream family the host has headroom
|
|
199
|
-
> (vanilla 0.533→ 0.733) yet the rules do not fill it — trapE 0.733 → 0.667
|
|
200
|
-
> (Δ=−0.067, 1 discordant pair). Capability trends negative (89% → 82%,
|
|
201
|
-
> McNemar p=0.07) — **not significant, so no harm is claimed**; it is a
|
|
202
|
-
> cautionary trend, not a validated effect. Cost factor 1.18x.
|
|
203
|
-
>
|
|
204
|
-
> **Honest scope / confound:** the codex CLI has no system-prompt injection
|
|
205
|
-
> surface, so the rules were prepended to the user prompt in a marked block —
|
|
206
|
-
> a weaker instruction surface than the claude arms' system prompt. The
|
|
207
|
-
> measurement cannot distinguish "discipline rules do not transplant to
|
|
208
|
-
> GPT-class hosts" from "user-surface injection is too weak". It DOES
|
|
209
|
-
> establish the decision-relevant fact: **as shipped, on this host, there is
|
|
210
|
-
> no measured lift.** A system-surface experiment (API-loop harness) is a
|
|
211
|
-
> non-gating backlog follow-up.
|
|
212
|
-
|
|
213
|
-
| axis | vanilla | rules-kernel-dc | Δ | test |
|
|
214
|
-
|---|---|---|---|---|
|
|
215
|
-
| capability (pass-rate) | 89% | 82% | −7pp | McNemar p=0.07 (n.s.) |
|
|
216
|
-
| discipline, full corpus (0–1) | 0.819 | 0.843 | +0.024 | Wilcoxon p=0.70, rb=0.09 (n≠0=23) |
|
|
217
|
-
| discipline, scope/downstream family (n=15) | 0.733 | 0.667 | −0.067 | 1 discordant pair (negative) |
|
|
218
|
-
| mean tokens/run | 302,655 | 358,326 | +55,671 (~1.18x) | — |
|
|
219
|
-
|
|
220
|
-
**P2-verdict disposition** (council claude-sonnet-4-5 + gpt-4o, 2026-07-07,
|
|
221
|
-
2-round debate — recorded in
|
|
222
|
-
`agents/settings/contexts/weak-host-lift-tiering-verdict.md`):
|
|
223
|
-
`gpt-5-mini` joins the measured NULL-lift disable-list; `unknown_defaults`
|
|
224
|
-
becomes vendor-granular (`anthropic: lift_enabled` — the one family with a
|
|
225
|
-
measured lift — `default: lift_disabled`); the `balanced` installer preset
|
|
226
|
-
fills `discipline_profile: auto`, so the lift enables only where measured.
|
|
227
|
-
The three-host evidence ledger: Claude weak = family-scoped lift · Claude
|
|
228
|
-
strong = ceiling null · GPT weak = failed replication (confounded surface).
|
|
229
|
-
|
|
230
|
-
- Report: `internal/bench/reports/ab-v2/2026-07-07T10-33-53Z-ab-v2-paired.json`.
|
|
231
|
-
|
|
232
|
-
## Two-host matrix (flow-learnings Phase 3, `claude-haiku-4-5`) — Gate verdict: **HONEST-NULL**
|
|
233
|
-
|
|
234
|
-
First live run of the `bench_matrix` two-host composite (`internal/bench/matrix.yaml`):
|
|
235
|
-
2 task families × 2 hosts × arms `vanilla` vs `rules-kernel-dc`, 2 seeds,
|
|
236
|
-
n=14 paired runs per host. Result — **zero discipline lift on either host**,
|
|
237
|
-
every pair a tie:
|
|
238
|
-
|
|
239
|
-
| Host / family | n | discipline (van → rkdc) | capability |
|
|
240
|
-
|---|---|---:|---|
|
|
241
|
-
| `claude` / over-engineering-bait | 8 | 1.000 → 1.000 | 1.000 |
|
|
242
|
-
| `claude` / regression-landmine | 6 | 1.000 → 1.000 | 1.000 |
|
|
243
|
-
| `codex` / over-engineering-bait | 8 | 1.000 → 1.000 | **0.000** |
|
|
244
|
-
| `codex` / regression-landmine | 6 | 0.667 → 0.667 | **0.000** |
|
|
245
|
-
|
|
246
|
-
Two honest reads, neither a lift:
|
|
247
|
-
|
|
248
|
-
1. **`claude` ceilings** on both capability and discipline (1.000 everywhere) —
|
|
249
|
-
no headroom, the injected rules are redundant here. This is the same
|
|
250
|
-
strong-/ceiling-host null the corpus shows elsewhere; these two families are
|
|
251
|
-
not the ones `downstream-changes` carries a lift on (that is the
|
|
252
|
-
scope/downstream family), so a null here **confirms** the lift is
|
|
253
|
-
family-specific, it does not contradict it.
|
|
254
|
-
2. **`codex` capability_pass = 0.000 on every task, both arms** — the codex host
|
|
255
|
-
did not complete these fixtures capably at all, so its discipline column is
|
|
256
|
-
**not a meaningful lift signal** (a confounded surface, echoing the P2
|
|
257
|
-
`gpt-5-mini` replication failure above — a non-Claude host + these fixtures).
|
|
258
|
-
Reported here as a caveat, not a measurement; a bare table without this note
|
|
259
|
-
would overclaim.
|
|
260
|
-
|
|
261
|
-
Net: the matrix pipeline works end-to-end and the composite is reproducible, but
|
|
262
|
-
this cell set carries **no** cross-host discipline lift — `claude` has no
|
|
263
|
-
headroom and `codex` is capability-confounded. Not published as a lift claim.
|
|
264
|
-
|
|
265
|
-
- Reports (operator-local, untracked): four `internal/bench/reports/ab-v2/2026-07-10T19-2*Z-ab-v2-paired.json` cells (claude×2 families, codex×2 families).
|
|
266
|
-
|
|
267
|
-
## Strong host (`sonnet`, full 30-task corpus) — Gate verdict: **HONEST-NULL**
|
|
268
|
-
|
|
269
|
-
- capability lift significant: `False`
|
|
270
|
-
- discipline lift significant: `False`
|
|
271
|
-
- status-bucket better (package vs vanilla): `False`
|
|
272
|
-
|
|
273
|
-
> **Honest null on a strong host, across the full corpus.** A re-run of the SAME
|
|
274
|
-
> package on `sonnet` over the entire discipline corpus — all 5 trap archetypes +
|
|
275
|
-
> agentic-debug + a Laravel/PHP downstream trap (`trapE-scope-laravel-01`) — with
|
|
276
|
-
> `vanilla` vs `package` × 3 seeds (180 runs, n=84 paired). The discipline axis
|
|
277
|
-
> does not move (Δ=+0.000, Wilcoxon p=1.0) and capability is flat-to-slightly-lower,
|
|
278
|
-
> because a capable host is *already* at the discipline ceiling on these
|
|
279
|
-
> deterministic traps — exactly what the weak-host section predicts. The package
|
|
280
|
-
> is a redundant no-op here, **at ~5× the tokens.** This is not a failure: it is
|
|
281
|
-
> the empirical bound on the weak-host claim, and it holds in PHP as in TS. **No
|
|
282
|
-
> strong-host lift is claimed.**
|
|
283
|
-
|
|
284
|
-
### Table — `package` vs `vanilla` (n=84 pairs, host `sonnet`)
|
|
285
|
-
|
|
286
|
-
<!-- pinned:strong-table -->
|
|
287
|
-
| axis | vanilla | package | Δ | test |
|
|
288
|
-
|---|---|---|---|---|
|
|
289
|
-
| capability (pass-rate) | 94% | 89% | −5pp | McNemar p=0.125, h=-0.174 |
|
|
290
|
-
| discipline (0–1) | 0.929 | 0.929 | +0.000 | Wilcoxon p=1.0, rb=0.0 (n≠0=5) |
|
|
291
|
-
| mean tokens/run | 185,584 | 929,716 | +744,132 (~5×) | — |
|
|
292
|
-
|
|
293
|
-
(host `sonnet`, n=84 pairs — generated from the pinned report)
|
|
294
|
-
<!-- /pinned:strong-table -->
|
|
295
|
-
|
|
296
|
-
- Report: `internal/bench/reports/ab-v2/2026-07-05T07-00-31Z-ab-v2-paired.json` (A6 of `road-to-final-state-and-market-readiness.md`).
|
|
297
|
-
- Methodology: identical to the weak-host section (pinned host, deterministic scorer, paired design); the only change is the host model and the full-corpus scope.
|
|
298
|
-
|
|
299
|
-
## Recursive self-verification (ADR-106) — HONEST-NULL
|
|
300
|
-
|
|
301
|
-
> **Verdict: recursion is redundant with the always-on rules. `verification.recursive`
|
|
302
|
-
> stays `off`. No model got "closer to Fable" — exactly what ADR-106's gate was built to
|
|
303
|
-
> disconfirm.** The one retraining-free Sakana-Fugu mechanism (a depth-bounded
|
|
304
|
-
> `attempt → critic verdict → re-attempt` loop) was built, shipped behind a gate, and
|
|
305
|
-
> measured — and adds nothing over the rules.
|
|
306
|
-
|
|
307
|
-
Measured the `package-recursive` arm (D₂ = rules + recursion, deterministic scorer-as-critic,
|
|
308
|
-
`max_depth=1`) against `package` (D₁ = rules only) on a weak host (`claude-haiku-4-5`),
|
|
309
|
-
`capH-debug` archetype × 6 seeds (n=54 paired):
|
|
310
|
-
|
|
311
|
-
| axis | D₁ (rules) | D₂ (rules + recursion) | Δ (D₂ − D₁) | test |
|
|
312
|
-
|---|---|---|---|---|
|
|
313
|
-
| capability (pass-rate) | 87% | 87% | 0 | McNemar p=1.0, h=0.0 |
|
|
314
|
-
| discipline (0–1) | 0.852 | 0.861 | +0.009 | Wilcoxon p=0.79, rb=0.33, n≠0=3 |
|
|
315
|
-
|
|
316
|
-
**ADR-106 gate: FALSIFIED** — neither a capability lift (p=1.0) nor a *significant* novel
|
|
317
|
-
discipline lift (p=0.79; only 3 discordant pairs, below the ≥6 the gate requires).
|
|
318
|
-
|
|
319
|
-
**Why, despite a passing human pre-test.** Recursion fired on only **8/29** corpus tasks
|
|
320
|
-
(~28%) and produced a differentiated output on **4/29** — with the rules active, the host's
|
|
321
|
-
*first* attempt already passes the critic 72% of the time, so recursion is a no-op. A blind
|
|
322
|
-
human pre-test on the 4 differentiated pairs preferred the recursion output **4/4**, but those
|
|
323
|
-
cases are too rare and the aggregate marginal lift too small (n≠0=3) to register as
|
|
324
|
-
significant. The pre-test looked positive on N=4; the paired benchmark falsified it — which is
|
|
325
|
-
exactly why ADR-106 required the benchmark, not just the pre-test.
|
|
326
|
-
|
|
327
|
-
**Honesty scope.** Weak host, `capH-debug` family, deterministic scorer-as-critic, `max_depth=1`.
|
|
328
|
-
A model-based critic (Phase 4) was not pursued — gated on this result passing, which it did not.
|
|
329
|
-
Cost axis: each recursion run is up to 2× the host calls of a single pass, for a null lift.
|
|
330
|
-
|
|
331
|
-
- Roadmap: `agents/roadmaps/archive/road-to-recursive-verification.md` (closed honest-null).
|
|
332
|
-
- Gate logic: `recursiveGateVerdict` / `resolveRecursiveDefault` (`orchestration_gate.ts`); on a
|
|
333
|
-
falsified gate `resolveRecursiveDefault` resolves `off` — no shipped-default flip.
|
|
334
|
-
|
|
335
|
-
**Follow-up disposition — TERMINAL** (AI council, anthropic/claude-sonnet-4-5 +
|
|
336
|
-
openai/gpt-4o, 2026-06-24, deep tier). Both members converged: do **not** pursue a
|
|
337
|
-
model-critic / cross-vendor variant. The 72% first-pass rate shows recursion solves the
|
|
338
|
-
wrong problem — cost scales with *all* tasks, benefit only on the ~28% tail (best-case
|
|
339
|
-
~4–6% lift, would need n≥200 to detect); a model-critic would mostly fire more often and
|
|
340
|
-
produce more null-lift re-attempts at higher cost. The real lever is **refining the rules
|
|
341
|
-
on the 28% failure tail** (applies to 100% of tasks at zero marginal cost), not recursion.
|
|
342
|
-
Recursion-as-a-class is closed; the model-critic's contextual-quality angle, if ever
|
|
343
|
-
wanted, is a *different* (quality-review) product, not a recursion follow-up.
|
|
344
|
-
|
|
345
|
-
## Second-brain recall delta (`claude-haiku-4-5`) — PASS (bounded)
|
|
346
|
-
|
|
347
|
-
> **Verdict: a real, placebo-controlled cross-session recall lift — honestly
|
|
348
|
-
> scoped to the context-value upper bound, not retrieval precision.** With the
|
|
349
|
-
> right prior fact surfaced, the model answers a multi-session recall task it
|
|
350
|
-
> otherwise cannot; the lift beats BOTH no-memory and equal-byte noise.
|
|
351
|
-
|
|
352
|
-
Three arms on a fixed host (`claude-haiku-4-5`), deterministic recall corpus
|
|
353
|
-
(9 tasks) × 3 seeds = 81 calls, scored with no model-in-the-loop grading
|
|
354
|
-
(`second_brain_score`). Paired sign test over the 9 tasks:
|
|
355
|
-
|
|
356
|
-
| arm | pass | vs memory-on (paired sign test) |
|
|
357
|
-
|---|---|---|
|
|
358
|
-
| memory-on (substrate surfaces the prior fact) | **27/27** | — |
|
|
359
|
-
| memory-off (no memory) | 10/27 | on wins 6, ties 3, loses 0 — p = 0.031 |
|
|
360
|
-
| placebo (equal-byte inert context) | 9/27 | on wins 6, ties 3, loses 0 — p = 0.031 |
|
|
361
|
-
|
|
362
|
-
memory-on beats BOTH off and placebo at p < 0.05 → **PASS**. The lift
|
|
363
|
-
concentrates on the 6 retrieval-accuracy/contradiction tasks where the fact is
|
|
364
|
-
available ONLY from memory (on 3/3, baseline 0/3); it **ties** on the 3 tasks
|
|
365
|
-
whose k+1 prompt already self-contains the signal (an in-prompt correction or a
|
|
366
|
-
named contradiction) — memory-on never loses.
|
|
367
|
-
|
|
368
|
-
**Honesty scope.** This is the **context-value upper bound**: the corpus is
|
|
369
|
-
one-fact-per-task, so memory-on injects the exact fact (perfect retrieval). It
|
|
370
|
-
proves the *value of the right surfaced fact*, isolated from mere extra context
|
|
371
|
-
by the placebo — NOT the substrate's retrieval *precision* under a large store,
|
|
372
|
-
which is the follow-up corpus. Cost: 6.3k in / 8.7k out tokens for the full run.
|
|
373
|
-
|
|
374
|
-
- Report: `internal/bench/reports/second-brain-delta.json`; claim
|
|
375
|
-
`second-brain-recall-lift` (`docs/CLAIMS.md`); scope + the declined Obsidian
|
|
376
|
-
export in `docs/second-brain-scope.md`.
|
|
377
|
-
- Roadmap: `agents/roadmaps/archive/road-to-second-brain-delta-proof.md` (closed PASS).
|
|
378
|
-
- Harness: `src/scripts/second_brain_run.ts` (`--dry-run` free / `--run` spend).
|
|
379
|
-
|
|
380
|
-
## Second-brain retrieval precision (`claude-haiku-4-5`) — PASS, ranking-limit named
|
|
381
|
-
|
|
382
|
-
> **Verdict: the lift survives REAL retrieval under confuser load — the
|
|
383
|
-
> substrate recalls the right decision and the model disambiguates it — but the
|
|
384
|
-
> keyword scorer recalls without ranking, which is the FTS5 signal at scale.**
|
|
385
|
-
|
|
386
|
-
The follow-up to the recall-delta above removes its perfect-retrieval
|
|
387
|
-
assumption. Against a populated decision store (5 needed + 19 distractors, with
|
|
388
|
-
distractors that deliberately share query keywords with the needed decision),
|
|
389
|
-
the run uses the REAL `memory_lookup` retrieval (not injection). Same host, 9
|
|
390
|
-
tasks × 3 seeds = 81 calls.
|
|
391
|
-
|
|
392
|
-
| metric | result |
|
|
393
|
-
|---|---|
|
|
394
|
-
| precision@5 (needed decision in top-5) | **9/9 (100%)** |
|
|
395
|
-
| mean tie-set size (entries sharing the top score) | **3.3** — recalls, does not rank; ties break by store order |
|
|
396
|
-
| retrieval-on (top-5 injected, confusers included) | **27/27** |
|
|
397
|
-
| retrieval-off (no memory) | 5/27 — paired sign test vs on: 8 wins / 1 tie, p = 0.008 |
|
|
398
|
-
| placebo (equal-count fixed unrelated entries) | 5/27 — vs on: 8 wins / 1 tie, p = 0.008 |
|
|
399
|
-
|
|
400
|
-
**Reading it honestly.** Recall@5 is 100% *at this scale*: with ≤ k
|
|
401
|
-
keyword-matching entries per query, the needed decision fits in the top-k and
|
|
402
|
-
the model reliably picks it out of the co-injected confusers (retrieval-on
|
|
403
|
-
27/27). The scorer gives 0.8 to any keyword match and breaks ties by store
|
|
404
|
-
order, so it **recalls but does not rank** (mean tie-set 3.3) — once more than
|
|
405
|
-
k entries share a keyword, recall into the top-k degrades. That degradation is
|
|
406
|
-
the discrimination gap the SQLite-FTS5 activation path (ADR-116) exists to
|
|
407
|
-
close; this run is its motivating evidence, not a contradiction of it.
|
|
408
|
-
|
|
409
|
-
- Report: `internal/bench/reports/second-brain-retrieval.json`; claim
|
|
410
|
-
`second-brain-retrieval-precision` (`docs/CLAIMS.md`); scope in
|
|
411
|
-
`docs/second-brain-scope.md`.
|
|
412
|
-
- Store + corpus: `internal/bench/second-brain/retrieval-store/`.
|
|
413
|
-
- Harness: `src/scripts/second_brain_retrieval.ts` (`--dry-run` computes the
|
|
414
|
-
free deterministic precision@k / tie-set; `--run` adds the model arms).
|
|
415
|
-
|
|
416
|
-
## Thin-vs-eager quality judge (token-saving Phase 0) — INCONCLUSIVE (judge-limited)
|
|
417
|
-
|
|
418
|
-
> **Verdict: the live judge run was executed, and it does NOT trustworthily
|
|
419
|
-
> resolve whether the thin rule-projection holds output quality — the signal is
|
|
420
|
-
> non-significant, judge-inconsistent, and length-confounded. Recorded as an
|
|
421
|
-
> honest null; the quality-regression gate stays inert (by design — its report
|
|
422
|
-
> path is gitignored) pending a stronger, length-neutral judge.**
|
|
423
|
-
|
|
424
|
-
The thin-vs-eager runner (`src/scripts/bench_quality_run.ts`) generates each
|
|
425
|
-
labelled golden task's answer under the THIN rule context (kernel bodies +
|
|
426
|
-
non-kernel pointers, ~15k tok) and the EAGER context (all rule bodies, ~87k
|
|
427
|
-
tok), then judges the pair in both orders (`evaluatePair` → reject-on-flip).
|
|
428
|
-
Live run 2026-07-09, host + judge `claude-haiku-4-5`, 30 labelled tasks
|
|
429
|
-
(evidence: `internal/bench/reports/quality-run-2026-07-09-haiku-inconclusive.json`):
|
|
430
|
-
|
|
431
|
-
| metric | value | reading |
|
|
432
|
-
|---|---|---|
|
|
433
|
-
| decisive pairs | 16 / 30 | thin 5 · eager 11 |
|
|
434
|
-
| thin win-rate | 31% | below the 0.48 floor — but see the three confounds |
|
|
435
|
-
| Wilcoxon p | **0.196** | **not significant** — no reliable thin≠eager difference |
|
|
436
|
-
| judge inconsistency | **33%** (10/30 flip on order swap) | the haiku judge is unreliable here |
|
|
437
|
-
| length-confound | **69%** of decisive wins went to the LONGER answer | eager (87k ctx) answers longer → verbosity bias, exactly what the harness flags |
|
|
438
|
-
|
|
439
|
-
**Why it is not a regression verdict.** The win-rate alone would trip the gate,
|
|
440
|
-
but the three diagnostics disqualify it as evidence: the difference is not
|
|
441
|
-
significant (p=0.20), a third of pairs are position-unstable, and two-thirds of
|
|
442
|
-
decisive wins track answer *length*, not quality. A "thin regresses" claim off
|
|
443
|
-
this run would be over-claiming a confounded, non-significant signal — the
|
|
444
|
-
opposite of the honest-null discipline.
|
|
445
|
-
|
|
446
|
-
**Re-open (fresh-spend follow-up).** A trustworthy verdict needs (a) a stronger
|
|
447
|
-
judge (sonnet-class) to cut the 33% inconsistency, and (b) a length-neutralised
|
|
448
|
-
comparison (truncate/normalise answer length, or score against the anchors
|
|
449
|
-
directly) to remove the 69% verbosity confound. Until then the thin lever is
|
|
450
|
-
NOT adopted as default and the gate stays inert. The golden set also still
|
|
451
|
-
covers only 14/89 rules (operator hand-labelling), a separate gap.
|
|
452
|
-
|
|
453
|
-
- Runner: `src/scripts/bench_quality_run.ts` (`--dry-run` free / live is
|
|
454
|
-
API-gated); gate: `src/scripts/check_quality_regression.ts` (inert until a
|
|
455
|
-
`quality-run.json` — gitignored — exists locally).
|
|
456
|
-
- Roadmap: `agents/roadmaps/later/road-to-token-saving.md` Phase 0.
|
|
457
|
-
|
|
458
|
-
## Length-neutral judge RERUN (2026-07-12) — SECOND INCONCLUSIVE, gate CLOSED-BY-DIAGNOSIS
|
|
459
|
-
|
|
460
|
-
**Verdict: `inconclusive-low-kappa` — and per the pre-registered design
|
|
461
|
-
(`docs/design/length-neutral-judge-rerun.md`) a second inconclusive means
|
|
462
|
-
RECORD WHY AND STOP: no third run without a design change. The thin lever
|
|
463
|
-
stays NOT adopted; further paired-judge spend on this question is closed.**
|
|
464
|
-
|
|
465
|
-
The rerun fixed all three recorded failure modes *by construction* — ±15%
|
|
466
|
-
output-token pair matching with a reported dropped-bucket, two arm-blind
|
|
467
|
-
judges from different provider families (claude-opus-4-8 + gpt-4o, both
|
|
468
|
-
orders, reject-on-flip) with a κ ≥ 0.60 admissibility floor, a Spearman-ρ
|
|
469
|
-
length diagnostic (|ρ| ≥ 0.3 withholds), and a pre-registered n = 90 (the
|
|
470
|
-
full council-labelled corpus). Runner: `src/scripts/bench_quality_rerun.ts`;
|
|
471
|
-
artifact: `internal/bench/reports/quality-rerun-length-neutral.json`;
|
|
472
|
-
actual cost $34.80 (cap $250).
|
|
473
|
-
|
|
474
|
-
**Why the gate is now closed rather than pending — the diagnostics carry the
|
|
475
|
-
answer:**
|
|
476
|
-
|
|
477
|
-
| Diagnostic | Value | Reading |
|
|
478
|
-
|---|---|---|
|
|
479
|
-
| Pair survival | **25/90** (65 dropped by the ±15% band) | Eager answers are *systematically* longer — the length difference is structural to the arms, not noise a judge can be told to ignore |
|
|
480
|
-
| Cross-family judge agreement | **κ = 0.46** (< 0.60 floor) | Even top-tier judges from different vendors disagree on which answer is better — the rubric-visible quality difference is smaller than judge noise |
|
|
481
|
-
| Length leakage within the band | **ρ = 0.45** (flagged ≥ 0.3) | Even among length-matched pairs, wins still track length |
|
|
482
|
-
| Agreed decisive pairs | **7** (thin 3 / eager 4, p = 1.0) | Nothing separable remains once length and judge noise are controlled |
|
|
483
|
-
|
|
484
|
-
**The honest conclusion:** the thin-vs-eager output-quality question is not
|
|
485
|
-
resolvable by LLM-paired judging on this corpus — the measurable signal is
|
|
486
|
-
dominated by structural length effects and judge disagreement, in BOTH the
|
|
487
|
-
naive (2026-07-09/11) and the length-neutral (2026-07-12) designs. This is a
|
|
488
|
-
*diagnosis*, not a "pending": the thin projection stays DISABLED on the
|
|
489
|
-
existing precedent, the quality-regression gate stays inert, and any future
|
|
490
|
-
attempt must use a categorically different method (e.g. deterministic
|
|
491
|
-
anchor-scoring against `must_include`/`must_not`, not pairwise LLM judging).
|
|
492
|
-
|
|
493
|
-
- Runner: `src/scripts/bench_quality_rerun.ts` (design-pinned constants:
|
|
494
|
-
band ±15%, κ floor 0.60, ρ flag 0.3, effect floor 10pp; `--max-usd` guard).
|
|
495
|
-
- Roadmap: `agents/roadmaps/archive/road-to-opt-measurement-unblock.md` Phase 1.
|
|
496
|
-
|
|
497
|
-
## Cross-model parity count (2026-07-12) — PASS, `finding_floor` armed
|
|
498
|
-
|
|
499
|
-
The most-deferred portfolio item (cross-model parity eval, deferred across 4+
|
|
500
|
-
roadmaps) landed in its re-scoped form: council-transport execution instead of
|
|
501
|
-
an in-host subagent harness (`docs/design/cross-model-parity-eval.md`). Each
|
|
502
|
-
orchestration-corpus task is rendered self-contained (fixture files inlined)
|
|
503
|
-
and dispatched identically to two vendors; the output contract forces a
|
|
504
|
-
numbered findings list (or `NO FINDINGS`), counted with the **same**
|
|
505
|
-
`_count_findings` the `finding_floor` eval gate uses.
|
|
506
|
-
|
|
507
|
-
| Task | sonnet median | gpt-4o median | Calibrated floor |
|
|
508
|
-
|---|---|---|---|
|
|
509
|
-
| orch-01 multi-file analysis | 11 | 5 | 5 |
|
|
510
|
-
| orch-02 ordered refactor | 5 | 3 | 3 |
|
|
511
|
-
| orch-03 competitive impl | 3 | 0 | 1 (clamp) |
|
|
512
|
-
| pv-01 hollow detection | 2 | 2 | 2 |
|
|
513
|
-
| pv-02 negative control | 0 | 0 | — (control, excluded) |
|
|
514
|
-
|
|
515
|
-
Signal, honestly stated:
|
|
516
|
-
|
|
517
|
-
- **Real cross-vendor gap** — sonnet surfaces ~2× gpt-4o's findings on the
|
|
518
|
-
multi-file analysis task. A floor calibrated on sonnet alone would
|
|
519
|
-
systematically fail gpt-4o; the cross-host lower envelope
|
|
520
|
-
(`max(1, min over hosts of median)`) is the correct floor shape.
|
|
521
|
-
- **Planted defect is vendor-stable** — both vendors cite the hollow
|
|
522
|
-
`charge.ts` (2 findings each, zero variance across repeats).
|
|
523
|
-
- **Negative control perfect** — 0 findings from both vendors on clean code
|
|
524
|
-
across all repeats; the counting contract does not reward spurious findings.
|
|
525
|
-
|
|
526
|
-
Cost: $0.16 actual (30 calls; ceiling $8 authorized). `finding_floor` is now an
|
|
527
|
-
**enforcing** gate (comment flipped in `run_skill_evals.ts`); calibration data
|
|
528
|
-
in `internal/bench/reports/parity-count.json`.
|
|
529
|
-
|
|
530
|
-
- Runner: `src/scripts/bench_parity_count.ts` (pre-registered: 3 repeats,
|
|
531
|
-
2 vendors, envelope floor rule, controls excluded, `--max-usd` abort).
|
|
532
|
-
- Roadmap: `agents/roadmaps/archive/road-to-opt-measurement-unblock.md` Phase 3.
|
|
533
|
-
|
|
534
|
-
## Non-Claude lift replication, second vendor host (2026-07-12) — HONEST NULL
|
|
535
|
-
|
|
536
|
-
The `discipline_profile: auto` flip gate required a replicated lift on a
|
|
537
|
-
non-Claude host. Executed per the parked design (paired vanilla vs
|
|
538
|
-
`rules-kernel-dc` = the essential cut, 30 tasks × 3 seeds) on the codex CLI
|
|
539
|
-
host with `gpt-5.5` (ChatGPT account).
|
|
540
|
-
|
|
541
|
-
- **Capability:** 92% → 89% (McNemar p = 1.0) — no effect.
|
|
542
|
-
- **Discipline:** 1.000 → 0.892 (Δ = −0.108, Wilcoxon p = 0.0225 on 7
|
|
543
|
-
non-zero pairs) — no lift; directionally **negative** on this host.
|
|
544
|
-
- **Verdict:** NO replicated lift. `discipline_profile` keeps its
|
|
545
|
-
vendor-granular default (`unknown_defaults`, no `auto` flip) — consistent
|
|
546
|
-
with the 2026-07-10 two-host precedent (claude strong-host ceilings) and
|
|
547
|
-
the earlier gpt-5-mini replication failure on the same injection surface.
|
|
548
|
-
|
|
549
|
-
Limitations, published: the ChatGPT-account usage limit rejected 100 of 180
|
|
550
|
-
runs mid-corpus (plus 2 timeouts), leaving n = 37 valid pairs — the
|
|
551
|
-
truncation is **balanced across arms** (50/52), so it weakens power but does
|
|
552
|
-
not bias the comparison. An earlier same-day fire misfired entirely (model
|
|
553
|
-
pin omitted → all runs API-rejected, $0) and is excluded as a harness error,
|
|
554
|
-
not evidence. Raw report is local-only by design
|
|
555
|
-
(`internal/bench/reports/ab-v2/` is gitignored); this section + the roadmap
|
|
556
|
-
notes are the durable record. Re-open path: a full uncapped 180-run
|
|
557
|
-
replication on a per-token-billed key.
|
|
558
|
-
|
|
559
|
-
- Runner: `src/scripts/bench_ab_v2_run.ts --host codex` (checkpoint-resumable).
|
|
560
|
-
- Roadmap: `agents/roadmaps/archive/road-to-opt-measurement-unblock.md` Phase 2.
|
|
561
|
-
|
|
562
|
-
## adversarial-verification-council finding coverage — HONEST NULL (resolved 2026-07-21)
|
|
563
|
-
|
|
564
|
-
Pre-registered claim `adversarial-council-finding-coverage` (docs/CLAIMS.md,
|
|
565
|
-
ADR-122): on the RESIDUAL defect pool — defects that survive a single strong
|
|
566
|
-
cross-model judge — a cross-vendor skeptic panel (subagent-orchestration Mode 9,
|
|
567
|
-
`adversarial-verification-council`) finds materially more residual defects than
|
|
568
|
-
that judge, at a false-positive rate no worse than baseline on a
|
|
569
|
-
controversial-but-correct control.
|
|
570
|
-
|
|
571
|
-
- **Design (two-stage residual protocol, corpus-validity bar, dual threshold,
|
|
572
|
-
controversial-clean FP control):** [`docs/design/adversarial-council-eval.md`](design/adversarial-council-eval.md).
|
|
573
|
-
- **Gate (locked at pre-registration):** relative residual-recall lift >= +25%
|
|
574
|
-
**AND** absolute >= +8 pp, **AND** panel FP not worse than baseline within
|
|
575
|
-
noise — encoded + tested in
|
|
576
|
-
[`src/scripts/_lib/adversarial_council_gate.ts`](../src/scripts/_lib/adversarial_council_gate.ts).
|
|
577
|
-
- **Status: HONEST NULL (resolved 2026-07-21).** A curated judge-survivable
|
|
578
|
-
corpus was built (`internal/bench/adversarial-council/`: 12 planted-defect
|
|
579
|
-
fixtures across 4 subtlety classes + 3 controversial-but-correct clean
|
|
580
|
-
controls; subtlety distribution published; passed an independent validity
|
|
581
|
-
audit after one fixture was repaired). The registered cross-vendor run
|
|
582
|
-
(anthropic `claude-sonnet-4-5` + openai `gpt-4o`, spend-authorized) resolved
|
|
583
|
-
the claim NEGATIVE:
|
|
584
|
-
|
|
585
|
-
| quantity | value |
|
|
586
|
-
|---|--:|
|
|
587
|
-
| judge-passed residual pool | 5–7 defects (missed by both neutral passes) |
|
|
588
|
-
| single-skeptic residual recall | 0.60 |
|
|
589
|
-
| 2-vendor panel residual recall | 0.60 (**zero lift**) |
|
|
590
|
-
| single-skeptic FP on clean controls | 1.00 |
|
|
591
|
-
| panel FP on clean controls | 1.00 |
|
|
592
|
-
|
|
593
|
-
The second vendor's residual catches were a **strict subset** of the first's,
|
|
594
|
-
so the panel added no marginal coverage; both recall thresholds (+25% rel,
|
|
595
|
-
+8 pp abs) missed → **honest-null**. Under the adversarial-skeptic posture
|
|
596
|
-
both the single skeptic and the panel false-flagged **all three**
|
|
597
|
-
controversial-but-correct controls (100% FP) — the posture over-flags correct
|
|
598
|
-
code. Stable across two runs. Per the locked gate, the Mode 9 surface stays
|
|
599
|
-
**default-off permanently** (like recursive-verification). Reproducible
|
|
600
|
-
artifact: `internal/bench/adversarial-council/runs/`.
|
|
601
|
-
- **Transport lesson.** The first run attempted via `council_cli run` was
|
|
602
|
-
REJECTED as a measurement artifact: that transport runs multi-round
|
|
603
|
-
peer-review with cross-member visibility and returns prose ("Round 2 …
|
|
604
|
-
Reviewer A"), which both violates the independent-skeptic requirement and
|
|
605
|
-
defeats JSON scoring. The valid run uses direct, independent per-vendor
|
|
606
|
-
client calls (`bench_adversarial_council.ts`) with a strict-JSON system
|
|
607
|
-
prompt and a deterministic, pre-validated scorer
|
|
608
|
-
(`adversarial_bench_score.ts` + its synthetic red/green test).
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
## Defect-finding: team vs self-review vs council (2026-07-20) — HONEST NULL (ceiling-limited) {#honest-null-defect}
|
|
612
|
-
|
|
613
|
-
Pre-registered 12-fixture corpus (`internal/bench/corpora/defect-finding.yaml`:
|
|
614
|
-
10 seeded-defect diffs across logic / off-by-one / race / missing-empty-state /
|
|
615
|
-
security-smell, + 2 controls), three arms, deterministic file-level recall
|
|
616
|
-
against ground truth (blind rubric judge deferred — the primary metric is
|
|
617
|
-
deterministic). Codex reviewer pinned `gpt-5.5`. Total billable $0.083 (arm b
|
|
618
|
-
codex = ChatGPT subscription, $0).
|
|
619
|
-
|
|
620
|
-
| arm | recall | correctness | design | false-positives |
|
|
621
|
-
|---|--:|--:|--:|--:|
|
|
622
|
-
| self-review (single model) | 1.00 | 1.00 | 1.00 | 1 |
|
|
623
|
-
| team (cross-model, codex) | 1.00 | 1.00 | 1.00 | 0 |
|
|
624
|
-
| council (neutral breadth) | 1.00 | 1.00 | 1.00 | 0 |
|
|
625
|
-
|
|
626
|
-
**Verdict: HONEST NULL.** H1 (cross-model team > single-model self-review on
|
|
627
|
-
correctness recall, Δ ≥ +0.20) is **not met** — Δ = 0: all three arms recalled
|
|
628
|
-
every planted defect. H2 (council ≈ team on design, within 0.10) is met (Δ = 0).
|
|
629
|
-
H3 (≤ 1 false positive/arm) is met.
|
|
630
|
-
|
|
631
|
-
**Corpus-validity caveat (the honest bound):** recall 1.00 across every arm is a
|
|
632
|
-
**ceiling effect** — these seeded defects are catchable by any strong model, so
|
|
633
|
-
the corpus cannot discriminate the arms on recall. This is the same limitation
|
|
634
|
-
the adversarial-verification-council section names: a corpus of obvious,
|
|
635
|
-
model-differentiating defects measures parity, not the judge-survivable
|
|
636
|
-
subtleties where a cross-model lens might actually differ. The one non-null
|
|
637
|
-
signal is precision, not recall: single-model self-review produced 1 false
|
|
638
|
-
positive on the controversial-but-correct control (`df-ctl-01`, a
|
|
639
|
-
behaviour-preserving `clamp` refactor) where team and council produced 0 — a
|
|
640
|
-
hint of a multi-arm precision edge, within the pre-registered H3 bound, too
|
|
641
|
-
small to claim.
|
|
642
|
-
|
|
643
|
-
**Disposition (Phase 5 Step 5): evidence-closed as NULL.** No cross-model
|
|
644
|
-
defect-finding *quality/lift* claim binds; team mode stays documented as
|
|
645
|
-
**workflow value only**. Re-open conditions: (a) a curated
|
|
646
|
-
judge-survivable-subtlety corpus that breaks the recall ceiling, or (b) a new
|
|
647
|
-
model generation. The worker-via-bundle delegate (roadmap Phase 3 Step 4) stays
|
|
648
|
-
deferred — it re-opened only on a measured review lift, which did not occur.
|