@event4u/agent-config 9.8.0 → 9.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +278 -298
- package/CONTRIBUTING.md +23 -7
- package/MIGRATION.md +20 -0
- package/README.md +55 -9
- 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/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/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/rules/code-provenance.md +112 -0
- package/dist/agent-src/rules/external-code-graph-interop.md +4 -4
- package/dist/agent-src/rules/history-discipline.md +80 -0
- package/dist/agent-src/rules/no-roadmap-references.md +1 -1
- package/dist/agent-src/rules/php-coding.md +1 -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 +7 -0
- package/dist/agent-src/rules/scale-discipline.md +92 -0
- package/dist/agent-src/rules/security-sensitive-stop.md +10 -0
- package/dist/agent-src/rules/session-canary.md +77 -0
- package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
- package/dist/agent-src/rules/tool-safety.md +3 -1
- package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
- package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
- package/dist/agent-src/skills/code-intelligence/SKILL.md +17 -14
- 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/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-editing/SKILL.md +1 -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/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/secrets-management/SKILL.md +3 -4
- 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/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 +1 -1
- 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/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/firstRunNotice.js +70 -0
- package/dist/cli/firstRunNotice.js.map +1 -0
- package/dist/cli/main.js +35 -3
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/registry.js +7 -1
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +362 -78
- 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 +90 -8
- package/dist/discovery/trust-report.md +11 -11
- package/dist/discovery/workspaces.json +31 -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 +775 -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 +4 -2
- 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 +14 -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 +4 -2
- package/dist/server/schemas/settings.js.map +1 -1
- 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 +2 -2
- package/docs/MIGRATION.md +16 -0
- package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
- package/package.json +21 -11
- 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 +52 -14
- 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/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 +81 -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/fixtures/secret-detector/negatives.txt +5 -0
- package/src/scripts/_lib/fixtures/secret-detector/positives.txt +4 -0
- package/src/scripts/_lib/install_drift.ts +194 -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/rtk_allowlist.ts +44 -0
- package/src/scripts/_lib/secret_detector.test.ts +5 -0
- package/src/scripts/_lib/secret_detector.ts +9 -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/worker_budget.ts +107 -0
- 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_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 +45 -0
- package/src/scripts/chat_history.ts +8 -5
- package/src/scripts/check_backstop_debt.ts +23 -13
- package/src/scripts/check_bundle_path_leakage.ts +343 -0
- package/src/scripts/check_evaluator_budgets.ts +99 -0
- package/src/scripts/check_knowledge_sharing.ts +12 -1
- package/src/scripts/check_no_external_sources.ts +2 -2
- 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 +181 -9
- package/src/scripts/code_graph/detect.ts +52 -0
- package/src/scripts/code_graph/intent.ts +45 -0
- package/src/scripts/code_graph/query.ts +143 -29
- package/src/scripts/code_graph/sqlite_store.ts +174 -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 +5 -3
- package/src/scripts/first_run_gate_hook.ts +9 -5
- package/src/scripts/hermetic-install.sh +3 -3
- package/src/scripts/hook_manifest.yaml +55 -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 +11 -4
- 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/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 +74 -26
- 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/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/report_install_drift.ts +109 -0
- package/src/scripts/roadmap_progress_hook.ts +8 -5
- package/src/scripts/schemas/license-policy.schema.json +89 -0
- package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
- package/src/scripts/schemas/rule.schema.json +10 -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/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/verify_before_complete_hook.ts +8 -5
- package/src/scripts/wrapper_freshness_hook.ts +8 -7
- package/src/server/schemas/settings.ts +8 -2
- package/dist/ui/assets/index-BPFMZWUs.css +0 -1
- package/dist/ui/assets/index-CrmZ34Rg.js +0 -40
- package/dist/ui/assets/index-CrmZ34Rg.js.map +0 -1
- package/docs/CLAIMS.md +0 -286
- 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 -785
- 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 -726
- package/docs/command-flows.md +0 -272
- package/docs/command-naming-audit.md +0 -60
- package/docs/comparison.yaml +0 -87
- 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/local-server-ports.md +0 -53
- 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 -74
- 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 -696
- 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 -191
- 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 -248
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -112
- 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 -209
- 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-124-embedded-engine-doctrine.md +0 -255
- package/docs/decisions/ADR-125-doc-screenshot-anonymization.md +0 -131
- package/docs/decisions/ADR-126-internet-reach-operator-tooling.md +0 -254
- package/docs/decisions/ADR-127-enforcement-claims-must-resolve.md +0 -150
- package/docs/decisions/ADR-128-executable-evidence-and-measured-escalation.md +0 -201
- 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 -157
- package/docs/decisions/engine-reclassification-2026-07.md +0 -104
- 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 -126
- 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 -51
- 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/gated-platform-reads.md +0 -221
- 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 -252
- 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 -30
- 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/src/scripts/postinstall_gui.ts +0 -129
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: experimental
|
|
3
|
-
mcp_scope: full
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# MCP Server — Phase 1–6 Scope (A0 Hard Contract)
|
|
7
|
-
|
|
8
|
-
> **Status:** Active · covers Phase 1 (A1–A7) + Phase 2 (B1–B5) +
|
|
9
|
-
> Phase 3 (C1–C4) + Phase 4 (D1–D4) + Phase 6 F1/F3 of
|
|
10
|
-
> `road-to-mcp-server.md`. Phase 6 F2 (SSE transport) is owned by
|
|
11
|
-
> [`mcp-cloud-scope.md`](mcp-cloud-scope.md) — the hosted Cloudflare
|
|
12
|
-
> Worker bridge — and remains out of scope here. This contract retains
|
|
13
|
-
> exclusive ownership of `scripts/mcp_server/` (local stdio).
|
|
14
|
-
> **Stability:** experimental — not linked from README, AGENTS.md, or
|
|
15
|
-
> `docs/architecture.md`. Internal index reference only per `STABILITY.md`.
|
|
16
|
-
|
|
17
|
-
## Purpose
|
|
18
|
-
|
|
19
|
-
Locks the **execution-safety boundary** for the MCP server through
|
|
20
|
-
Phase 2. Any code under `scripts/mcp_server/` must satisfy this
|
|
21
|
-
contract verbatim. Deviation → not Phase 1/2; promote to a follow-up
|
|
22
|
-
phase with its own design-call gate.
|
|
23
|
-
|
|
24
|
-
## In-scope (Phase 1 + Phase 2)
|
|
25
|
-
|
|
26
|
-
- Transport: **stdio**. No SSE, no HTTP, no WebSocket.
|
|
27
|
-
- MCP primitives: **`prompts/list`** + **`prompts/get`** — read-only.
|
|
28
|
-
- Source data: **`dist/agent-src/skills/<name>/SKILL.md`** and
|
|
29
|
-
**`dist/agent-src/commands/**/*.md`** (condensed projections, never the
|
|
30
|
-
uncondensed source-of-truth tree).
|
|
31
|
-
- Loaded set (Phase 2): every well-formed skill + command under
|
|
32
|
-
`dist/agent-src/` (Phase 1 hand-picked set retained as a smoke fixture
|
|
33
|
-
in `prompts.py::PHASE_1_SKILLS`).
|
|
34
|
-
- **Pagination** (B4): cursor-based `nextCursor` on `prompts/list`,
|
|
35
|
-
default `page_size=100`. Cursor is an opaque stringified offset.
|
|
36
|
-
- **Hot-reload** (B5): `PromptCache` re-scans on mtime / path-set
|
|
37
|
-
change before each `prompts/list` response. No background thread,
|
|
38
|
-
no inotify, no debounce — the request itself is the rate-limiter.
|
|
39
|
-
- **Frontmatter validation** (B3): entries missing `name` or
|
|
40
|
-
`description` are skipped with a stderr warning at boot; malformed
|
|
41
|
-
files do not crash the server.
|
|
42
|
-
- Process lifetime: one server per project, launched per-client by the
|
|
43
|
-
consumer (Claude Desktop, Zed, Continue) at MCP-config time.
|
|
44
|
-
|
|
45
|
-
## Out-of-scope (Phase 1 + Phase 2)
|
|
46
|
-
|
|
47
|
-
- **`tools/*` beyond the Phase 4 allowlist** — only the two
|
|
48
|
-
built-in tools listed below in *Phase 4 amendment* are reachable.
|
|
49
|
-
Any other name raises `ValueError`. `work_engine` is not exposed.
|
|
50
|
-
- **`resources/*` beyond rules / guidelines / contexts** — no model
|
|
51
|
-
outputs, no roadmaps, no chat history surfaced as resources.
|
|
52
|
-
- **Filesystem writes outside the Phase 4 write allowlist** — the only
|
|
53
|
-
writable targets are `agents/runtime/.agent-chat-history` (current
|
|
54
|
-
default), `agents/.agent-chat-history`, and `.agent-chat-history`
|
|
55
|
-
under `<consumer_root>`. No log files, no telemetry writes, no
|
|
56
|
-
`.work-state.json` mutation.
|
|
57
|
-
- **Direct shell execution from `mcp_server/*`** — modules under
|
|
58
|
-
`scripts/mcp_server/` do not `import subprocess`, `os.system`, or
|
|
59
|
-
`os.popen` directly. Project helpers that internally spawn shells
|
|
60
|
-
(`skill_linter`'s `--changed` git mode, etc.) may be called only via
|
|
61
|
-
read-only wrappers that bypass those code paths.
|
|
62
|
-
- **Network egress** — the server does not call external APIs;
|
|
63
|
-
the AI Council, anthropic SDK, and openai SDK are not imported by
|
|
64
|
-
any module under `scripts/mcp_server/`.
|
|
65
|
-
- **Authentication / multi-tenancy** — single-process, single-project.
|
|
66
|
-
Multi-tenant SSE is Phase 6 (F2).
|
|
67
|
-
|
|
68
|
-
## Static guarantees enforced by tests
|
|
69
|
-
|
|
70
|
-
`tests/test_mcp_server.py` asserts the boundary at unit level:
|
|
71
|
-
|
|
72
|
-
1. `prompts/list` returns the full skills + commands set with
|
|
73
|
-
`skill.<name>` and `command.<name>` wire-name prefixes.
|
|
74
|
-
2. `prompts/get` returns a non-empty `messages[].content.text` body
|
|
75
|
-
matching the SKILL.md / command-file body (frontmatter stripped).
|
|
76
|
-
3. `prompts/get` for an unknown name raises `ValueError` (no silent
|
|
77
|
-
fallback to filesystem scan).
|
|
78
|
-
4. `scripts.mcp_server.prompts` imports cleanly without `subprocess`,
|
|
79
|
-
`os.system`, `os.popen`, or any `requests` / `httpx` call.
|
|
80
|
-
5. `prompts/list` paginates with `nextCursor` and pages do not
|
|
81
|
-
overlap.
|
|
82
|
-
6. `PromptCache` re-scans on mtime change (hot-reload).
|
|
83
|
-
7. Malformed frontmatter is skipped with an error line, not crashed.
|
|
84
|
-
|
|
85
|
-
A future regression that adds a `tools/*` handler outside the
|
|
86
|
-
allowlist or writes outside the Phase 4 write allowlist fails the
|
|
87
|
-
import-surface + behaviour assertions and the contract review in code
|
|
88
|
-
review.
|
|
89
|
-
|
|
90
|
-
## Phase 4 amendment — tool allowlist (D1–D4)
|
|
91
|
-
|
|
92
|
-
Phase 4 lifts the read-only line for **exactly** the two built-in
|
|
93
|
-
tools registered in `scripts/mcp_server/tools.py::ALLOWLIST`. Every
|
|
94
|
-
other tool name is unreachable: `tools/call` against an unlisted name
|
|
95
|
-
returns `isError=True`.
|
|
96
|
-
|
|
97
|
-
| Tool name | Mode | Side effects |
|
|
98
|
-
|---|---|---|
|
|
99
|
-
| `lint_skills` | read-only | Wraps `scripts.skill_linter.lint_file`. Never spawns `git` (no `--changed`). Returns the same JSON shape as `scripts/skill_linter.py --format json`. |
|
|
100
|
-
| `chat_history_append` | path-scoped write | Wraps `scripts.chat_history.append`. Writes are allowed only when the resolved target is `agents/runtime/.agent-chat-history` (current default), `agents/.agent-chat-history`, or `.agent-chat-history` under `<consumer_root>`. `dry_run=True` validates the payload without touching the filesystem. |
|
|
101
|
-
|
|
102
|
-
**Path-scoping invariant** — any tool that writes must resolve its
|
|
103
|
-
target through `_validate_in_tree_path` before the underlying writer
|
|
104
|
-
runs. Escapes (absolute paths outside the root, relative paths that
|
|
105
|
-
resolve outside, or filenames not in the write allowlist) raise
|
|
106
|
-
`ValueError` and surface as `isError=True` in `tools/call`.
|
|
107
|
-
|
|
108
|
-
**Boot-time enumeration** — `run_stdio` prints one stderr line
|
|
109
|
-
listing the registered tool names so operators see the surface at
|
|
110
|
-
launch. Adding a tool to `ALLOWLIST` is a code-review event; no
|
|
111
|
-
settings flag can enable an unlisted tool.
|
|
112
|
-
|
|
113
|
-
Additional tool tests in `tests/test_mcp_server.py`:
|
|
114
|
-
|
|
115
|
-
8. `tools/list` returns exactly the allowlisted names.
|
|
116
|
-
9. `tools/call` against a valid `dry_run` payload returns
|
|
117
|
-
`isError=False` with a JSON-serialized result.
|
|
118
|
-
10. `tools/call` with a path escape returns `isError=True` referencing
|
|
119
|
-
the escape — no exception propagates past the handler.
|
|
120
|
-
11. `tools/call` against an unknown tool name returns `isError=True`.
|
|
121
|
-
12. `scripts.mcp_server.tools` does not import `subprocess`,
|
|
122
|
-
`os.system`, `os.popen`, or any HTTP client directly.
|
|
123
|
-
|
|
124
|
-
## Phase 6 amendment — identity metadata + Docker bundle (F1, F3)
|
|
125
|
-
|
|
126
|
-
Phase 6 adds **observability** and **packaging** without changing the
|
|
127
|
-
A0 wire surface. F2 (SSE transport) is explicitly deferred — see
|
|
128
|
-
status header.
|
|
129
|
-
|
|
130
|
-
### F1 — Identity metadata
|
|
131
|
-
|
|
132
|
-
Three values surface at server boot, written to **stderr** in a single
|
|
133
|
-
`mcp-server: identity …` line (the canonical surface — the high-level
|
|
134
|
-
MCP SDK builds `serverInfo` with a fixed field set, so wire-surface
|
|
135
|
-
lift waits on SDK support):
|
|
136
|
-
|
|
137
|
-
- **`serverVersion`** — hand-maintained SemVer in
|
|
138
|
-
`scripts/mcp_server/__init__.py::__version__`. Bumps on
|
|
139
|
-
**wire-surface** changes only: new tool, new resource MIME type,
|
|
140
|
-
protocol-level break. Does **not** bump for content edits inside
|
|
141
|
-
`dist/agent-src/`.
|
|
142
|
-
- **`packageVersion`** — read from `package.json::version` at boot.
|
|
143
|
-
Bumps on every agent-config bundle release; build-ID semantics, not
|
|
144
|
-
a stability signal.
|
|
145
|
-
- **`skillSetSignature`** — first 12 hex chars of the SHA-256 over the
|
|
146
|
-
joined sorted `(path, mtime)` tuples of `PromptCache` and
|
|
147
|
-
`ResourceCache`. **Not a version** — a content fingerprint. Auto-
|
|
148
|
-
updates with every `task sync`; intended for cache-key /
|
|
149
|
-
reproducibility use, never for SemVer-style compatibility claims.
|
|
150
|
-
|
|
151
|
-
Implementation: `scripts/mcp_server/metadata.py`. The signature is
|
|
152
|
-
deterministic for a given snapshot of the loaded file set; any mtime
|
|
153
|
-
change invalidates it.
|
|
154
|
-
|
|
155
|
-
### F3 — Stdio Docker bundle
|
|
156
|
-
|
|
157
|
-
`internal/docker/mcp-server/Dockerfile` ships a stdio-only image. The contract:
|
|
158
|
-
|
|
159
|
-
- **No HTTP / SSE listener** in the image. Stdio is the only wire.
|
|
160
|
-
- The image embeds `scripts/mcp_server/`, the two tool dependencies
|
|
161
|
-
(`scripts/skill_linter.py`, `scripts/chat_history.py`),
|
|
162
|
-
`dist/agent-src/`, `docs/guidelines/`, and `package.json`. Nothing
|
|
163
|
-
outside the COPY-listed paths reaches the runtime stage.
|
|
164
|
-
- The image runs as a non-root user (`mcp:mcp`); host volumes mounted
|
|
165
|
-
for `chat_history_append` writes must be writable by that uid/gid.
|
|
166
|
-
- The A0 contract from Phase 1–4 transfers verbatim — the import-
|
|
167
|
-
surface guard tests run identically inside and outside the image.
|
|
168
|
-
|
|
169
|
-
Operator documentation: `docs/setup/mcp-server-docker.md`. The image
|
|
170
|
-
does not introduce a new tool, resource type, or protocol surface.
|
|
171
|
-
|
|
172
|
-
### What Phase 6 explicitly does **not** add
|
|
173
|
-
|
|
174
|
-
- **No HTTP/SSE transport**, native or otherwise. F2 is deferred to
|
|
175
|
-
the successor roadmap; revival is gated on a real consumer ask, and
|
|
176
|
-
the locked design is the bridge pattern from
|
|
177
|
-
[`mcp-request-signing § Appendix`](../guidelines/agent-infra/mcp-request-signing.md#appendix--http-bridge-stdio-kernel-pattern-reference)
|
|
178
|
-
— never a native SSE server inside `scripts/mcp_server/`.
|
|
179
|
-
- **No new tools** beyond the Phase 4 allowlist.
|
|
180
|
-
- **No multi-tenancy** — the Docker image is single-tenant, one
|
|
181
|
-
process per stdio session. Multi-tenancy lives with the future
|
|
182
|
-
bridge, not the kernel.
|
|
183
|
-
|
|
184
|
-
## Amendment — MCP Full Power (accepted 2026-07-07)
|
|
185
|
-
|
|
186
|
-
> **Status: Accepted.** Recorded by `road-to-mcp-full-power.md` Phase 3.
|
|
187
|
-
> User signoff on the `a0-amendment-signoff` blocker plus the council
|
|
188
|
-
> verdict in `agents/decisions/mcp-write-exec-cut-2026-07-07.md` both
|
|
189
|
-
> landed 2026-07-07. Existing Phase 1–6 sections above predate the TS
|
|
190
|
-
> migration (they still reference `scripts/mcp_server/*.py` and a
|
|
191
|
-
> two-tool allowlist) and are known-stale beyond what this amendment
|
|
192
|
-
> covers; a full contract refresh is a separate follow-up, out of scope
|
|
193
|
-
> here.
|
|
194
|
-
|
|
195
|
-
**Named consumer ask.** Operator, 2026-07-07: expose the CLI/script long
|
|
196
|
-
tail (roadmap, telemetry, capabilities, doctor, council, memory, …) through
|
|
197
|
-
MCP in safety tiers, not just the current 9-tool read-only/single-write set.
|
|
198
|
-
|
|
199
|
-
**Safety-tier model** (full classification:
|
|
200
|
-
[`agents/settings/contexts/mcp-tool-tier-map.md`](../../agents/settings/contexts/mcp-tool-tier-map.md)):
|
|
201
|
-
|
|
202
|
-
| Tier | Contract treatment |
|
|
203
|
-
|---|---|
|
|
204
|
-
| `read-only` | May be implemented without further gate — same bar as the existing 9 tools. |
|
|
205
|
-
| `fs-write-in-tree` | May be implemented once path-guarded via `_validateInTreePath` — same pattern as `chat_history_append`. |
|
|
206
|
-
| `shell-exec` | Requires the safety envelope: fixed argv (no shell interpolation of caller-supplied strings), timeout, output truncation, no network access from the spawned process. Implementation requires the Phase 3 council verdict naming it in the cut list. |
|
|
207
|
-
| `network` | Never silent-default. Every call surfaces cost/consequence before executing; billable calls (e.g. `council:run`) require the caller to pass an explicit confirmation flag echoed back in the tool result, not just be callable. |
|
|
208
|
-
| `long-running` | Structurally excluded — not tool-call-shaped (blocks or starts a server). |
|
|
209
|
-
| `hard-floor-never` | **Permanently excluded.** Secrets (`keys:install-*`), the global/outside-repo install (`upgrade`, `global`, `refresh`, `settings:migrate`), and bulk-destructive commands (`uninstall`, `prune`) are never reachable via any MCP tool, bridge, or allowlist entry, under any settings value. This list only grows, never shrinks, without a fresh A0 amendment of its own. |
|
|
210
|
-
|
|
211
|
-
**Deny-by-default, build-time only.** No consumer-settings allowlist ships
|
|
212
|
-
(a `mcp.tools.allow` runtime setting was considered and **rejected** by
|
|
213
|
-
the Phase 3 council — see below). A tool is reachable if and only if it
|
|
214
|
-
was generated into the build from an approved tier-map entry. Enabling a
|
|
215
|
-
new tool is a code change (add the entry, rebuild), never a settings
|
|
216
|
-
edit. `hard-floor-never` tier entries are never generated — the
|
|
217
|
-
exclusion is structural (the tool does not exist in `tools/list`), not a
|
|
218
|
-
runtime rejection.
|
|
219
|
-
|
|
220
|
-
**Bridge shape (Phase 5) — decided: pure build-time codegen.** Every
|
|
221
|
-
approved tool, in every tier including `shell-exec`, is generated at
|
|
222
|
-
build time from `src/cli/registry.ts` metadata plus the tier map — one
|
|
223
|
-
MCP tool per approved command, each with its own JSON Schema. A generic
|
|
224
|
-
`agent_config_cli` tool with a runtime-validated `subcommand` argument
|
|
225
|
-
was considered and rejected: the package's existing `chat_history_append`
|
|
226
|
-
pattern is already a compiled tool with a hardcoded path guard, not a
|
|
227
|
-
generic bridge gated by an editable setting, and the council verdict
|
|
228
|
-
(`agents/decisions/mcp-write-exec-cut-2026-07-07.md`) found the
|
|
229
|
-
runtime-allowlist approach strictly weaker on security grounds for no
|
|
230
|
-
countervailing benefit. Shell-exec tools additionally compile in their
|
|
231
|
-
safety envelope (fixed argv, timeout, output cap, no network) as
|
|
232
|
-
constants, not configuration.
|
|
233
|
-
|
|
234
|
-
**Shell-exec safety review (Phase 5, shipped pilot: `run_tests`).**
|
|
235
|
-
Lethal-trifecta pass for the one approved exec-tier tool:
|
|
236
|
-
|
|
237
|
-
- *Untrusted-content ingestion:* the tool's inputs (`filter`, `path`) come
|
|
238
|
-
from the MCP caller — the same principal that already holds the chat
|
|
239
|
-
surface; no fetched/external content selects what runs. Caller strings
|
|
240
|
-
become literal argv elements via
|
|
241
|
-
`src/scripts/mcp_exec/safety_envelope.ts` (`execFile`, no shell) — a
|
|
242
|
-
hostile string cannot become a second command.
|
|
243
|
-
- *Private-data access:* the spawned vitest run sees the consumer tree,
|
|
244
|
-
same as every fs tool; no credential paths are added to its env.
|
|
245
|
-
- *Egress:* the envelope adds no network I/O of its own. Arbitrary test
|
|
246
|
-
code MAY use the network — that is a property of the project's tests,
|
|
247
|
-
not of the tool; the envelope's guarantees are spawn-surface guarantees
|
|
248
|
-
(no shell, `SIGKILL` timeout, per-stream byte caps), stated as such and
|
|
249
|
-
never marketed as network isolation.
|
|
250
|
-
- *Compiled constants:* 120s timeout, 64KB per-stream cap — code-review
|
|
251
|
-
events, not settings.
|
|
252
|
-
|
|
253
|
-
**Long-running policy (Phase 5) — decided: synchronous truncation.** No
|
|
254
|
-
async job/poll pattern ships: an exec call that exceeds its compiled
|
|
255
|
-
timeout returns `timed_out: true` with the captured, capped output.
|
|
256
|
-
Revisit only if a council-approved tool genuinely cannot fit a
|
|
257
|
-
synchronous budget (e.g. a future `council:run`).
|
|
258
|
-
|
|
259
|
-
## Revision policy
|
|
260
|
-
|
|
261
|
-
This contract is **experimental** — breaking changes are allowed in any
|
|
262
|
-
release with a CHANGELOG note. Promotion to `beta` follows the same
|
|
263
|
-
gate as Phase 1 itself: at least one shipped client renders Phase 1
|
|
264
|
-
prompts end-to-end without a contract amendment.
|
|
265
|
-
|
|
266
|
-
## See also
|
|
267
|
-
|
|
268
|
-
- [`mcp-cloud-scope.md`](mcp-cloud-scope.md) — hosted Worker contract
|
|
269
|
-
(sibling, not child). Extends the bridge pattern from
|
|
270
|
-
[`mcp-request-signing § Appendix`](../guidelines/agent-infra/mcp-request-signing.md#appendix--http-bridge-stdio-kernel-pattern-reference)
|
|
271
|
-
for multi-tenant SSE.
|
|
272
|
-
- [`STABILITY.md`](STABILITY.md) — stability policy for `docs/contracts/`.
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://event4u.app/schemas/mcp-registry-manifest.json",
|
|
4
|
-
"title": "MCP Registry Manifest",
|
|
5
|
-
"description": "Source of truth for every external MCP-registry submission. R5 Phase 2.1. Lifecycle status per entry — handles 'they said no' without rewriting history.",
|
|
6
|
-
"type": "object",
|
|
7
|
-
"additionalProperties": false,
|
|
8
|
-
"required": [
|
|
9
|
-
"version",
|
|
10
|
-
"generated_at",
|
|
11
|
-
"package",
|
|
12
|
-
"server",
|
|
13
|
-
"registries"
|
|
14
|
-
],
|
|
15
|
-
"properties": {
|
|
16
|
-
"version": {
|
|
17
|
-
"const": 1
|
|
18
|
-
},
|
|
19
|
-
"generated_at": {
|
|
20
|
-
"type": "string",
|
|
21
|
-
"description": "UTC date (YYYY-MM-DD). Day-precision keeps the manifest stable across same-day reruns."
|
|
22
|
-
},
|
|
23
|
-
"package": {
|
|
24
|
-
"type": "object",
|
|
25
|
-
"additionalProperties": false,
|
|
26
|
-
"required": ["name", "version", "description", "homepage", "repository"],
|
|
27
|
-
"properties": {
|
|
28
|
-
"name": { "type": "string", "minLength": 1 },
|
|
29
|
-
"version": { "type": "string", "minLength": 1 },
|
|
30
|
-
"description": { "type": "string", "minLength": 1 },
|
|
31
|
-
"homepage": { "type": "string", "format": "uri" },
|
|
32
|
-
"repository": { "type": "string", "format": "uri" }
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
"server": {
|
|
36
|
-
"type": "object",
|
|
37
|
-
"additionalProperties": false,
|
|
38
|
-
"required": [
|
|
39
|
-
"name",
|
|
40
|
-
"transports",
|
|
41
|
-
"tools_count",
|
|
42
|
-
"install_hint_stdio"
|
|
43
|
-
],
|
|
44
|
-
"properties": {
|
|
45
|
-
"name": { "type": "string", "minLength": 1 },
|
|
46
|
-
"transports": {
|
|
47
|
-
"type": "array",
|
|
48
|
-
"minItems": 1,
|
|
49
|
-
"uniqueItems": true,
|
|
50
|
-
"items": { "enum": ["stdio", "worker"] }
|
|
51
|
-
},
|
|
52
|
-
"tools_count": {
|
|
53
|
-
"type": "integer",
|
|
54
|
-
"minimum": 0,
|
|
55
|
-
"description": "Sourced from internal/workers/mcp/content.json#/tool_catalog/tools. Hard-sourced — no fallback. R3 (discovery roadmap) is a hard prerequisite per the AI-Council external review."
|
|
56
|
-
},
|
|
57
|
-
"install_hint_stdio": { "type": "string", "minLength": 1 }
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
"topics": {
|
|
61
|
-
"type": "array",
|
|
62
|
-
"uniqueItems": true,
|
|
63
|
-
"items": { "type": "string", "minLength": 1 },
|
|
64
|
-
"description": "Mirror of `.github/topics.yml#/topics`. Lets registries that accept topic tags pick from one source."
|
|
65
|
-
},
|
|
66
|
-
"discovery": {
|
|
67
|
-
"type": "object",
|
|
68
|
-
"additionalProperties": false,
|
|
69
|
-
"required": ["artefact_count", "scanner_version"],
|
|
70
|
-
"properties": {
|
|
71
|
-
"artefact_count": { "type": "integer", "minimum": 0 },
|
|
72
|
-
"scanner_version": { "type": "string", "minLength": 1 }
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
"registries": {
|
|
76
|
-
"type": "array",
|
|
77
|
-
"minItems": 2,
|
|
78
|
-
"maxItems": 2,
|
|
79
|
-
"items": { "$ref": "#/$defs/registry" }
|
|
80
|
-
}
|
|
81
|
-
},
|
|
82
|
-
"$defs": {
|
|
83
|
-
"registry": {
|
|
84
|
-
"type": "object",
|
|
85
|
-
"additionalProperties": false,
|
|
86
|
-
"required": [
|
|
87
|
-
"id",
|
|
88
|
-
"label",
|
|
89
|
-
"listing_format",
|
|
90
|
-
"submission_url",
|
|
91
|
-
"status",
|
|
92
|
-
"submitted_at",
|
|
93
|
-
"pr_url",
|
|
94
|
-
"last_verified",
|
|
95
|
-
"rendered_payload"
|
|
96
|
-
],
|
|
97
|
-
"properties": {
|
|
98
|
-
"id": {
|
|
99
|
-
"enum": ["awesome-mcp-servers", "mcp-cloudflare-catalogue"],
|
|
100
|
-
"description": "Closed vocabulary. Adding a third registry requires a schema-version bump."
|
|
101
|
-
},
|
|
102
|
-
"label": { "type": "string", "minLength": 1 },
|
|
103
|
-
"listing_format": { "enum": ["markdown-row", "json-entry"] },
|
|
104
|
-
"submission_url": { "type": "string", "format": "uri" },
|
|
105
|
-
"status": {
|
|
106
|
-
"enum": ["pending", "listed", "rejected", "unlisted"],
|
|
107
|
-
"description": "Lifecycle. `pending` = not yet submitted. `listed` = upstream PR merged. `rejected` = upstream said no (don't auto-resubmit). `unlisted` = was listed, then removed."
|
|
108
|
-
},
|
|
109
|
-
"submitted_at": {
|
|
110
|
-
"type": ["string", "null"],
|
|
111
|
-
"description": "ISO date (YYYY-MM-DD) when the submission PR was opened. Null while status=pending."
|
|
112
|
-
},
|
|
113
|
-
"pr_url": {
|
|
114
|
-
"type": ["string", "null"],
|
|
115
|
-
"description": "URL of the submission PR. Null while status=pending."
|
|
116
|
-
},
|
|
117
|
-
"last_verified": {
|
|
118
|
-
"type": ["string", "null"],
|
|
119
|
-
"description": "ISO date (YYYY-MM-DD) the maintainer last opened the live listing and confirmed it still points at this package. Null while status=pending. SHOULD be refreshed every release."
|
|
120
|
-
},
|
|
121
|
-
"rendered_payload": {
|
|
122
|
-
"type": "string",
|
|
123
|
-
"minLength": 1,
|
|
124
|
-
"description": "Repo-relative path to the rendered payload (e.g. `dist/mcp/awesome-mcp-servers.row.md`)."
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-14
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# MCP tool inventory
|
|
7
|
-
|
|
8
|
-
> Generated by [`src/scripts/audit_mcp_tools.ts`](../../src/scripts/audit_mcp_tools.ts)
|
|
9
|
-
> from the source-of-truth catalog
|
|
10
|
-
> [`src/scripts/mcp_server/consumer_tool_catalog.json`](../../src/scripts/mcp_server/consumer_tool_catalog.json).
|
|
11
|
-
> Do **not** hand-edit; rerun `./scripts-run src/scripts/audit_mcp_tools --write`.
|
|
12
|
-
>
|
|
13
|
-
> Step-11 Phase 5 Step 3 (an internal parity roadmap (local-only)).
|
|
14
|
-
|
|
15
|
-
## Summary
|
|
16
|
-
|
|
17
|
-
- **Total tools:** 31
|
|
18
|
-
- **By transport:** stdio=19
|
|
19
|
-
- **By side-effect:** fs-write=8, ro=20, shell=3
|
|
20
|
-
- **Discovery-only stubs (no implementation):** 12
|
|
21
|
-
|
|
22
|
-
## Tools
|
|
23
|
-
|
|
24
|
-
| Tool | Side-effect | Transports | Catalog | Handler |
|
|
25
|
-
|---|---|---|---|---|
|
|
26
|
-
| `lint_skills` | `ro` | stdio | [`consumer_tool_catalog.json:7`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L7) | [`tools.ts:1198`](../../src/scripts/mcp_server/tools.ts#L1198) |
|
|
27
|
-
| `chat_history_append` | `fs-write` | stdio | [`consumer_tool_catalog.json:24`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L24) | [`tools.ts:1226`](../../src/scripts/mcp_server/tools.ts#L1226) |
|
|
28
|
-
| `chat_history_read` | `ro` | stdio | [`consumer_tool_catalog.json:43`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L43) | [`tools.ts:1287`](../../src/scripts/mcp_server/tools.ts#L1287) |
|
|
29
|
-
| `memory_lookup` | `ro` | stdio | [`consumer_tool_catalog.json:63`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L63) | [`tools.ts:1363`](../../src/scripts/mcp_server/tools.ts#L1363) |
|
|
30
|
-
| `memory_get` | `ro` | stdio | [`consumer_tool_catalog.json:81`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L81) | [`tools.ts:1430`](../../src/scripts/mcp_server/tools.ts#L1430) |
|
|
31
|
-
| `memory_signal` | `fs-write` | stdio | [`consumer_tool_catalog.json:95`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L95) | [`tools.ts:1539`](../../src/scripts/mcp_server/tools.ts#L1539) |
|
|
32
|
-
| `memory_status` | `ro` | stdio | [`consumer_tool_catalog.json:111`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L111) | [`tools.ts:1454`](../../src/scripts/mcp_server/tools.ts#L1454) |
|
|
33
|
-
| `skill_trigger_eval` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:118`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L118) | _stub-only_ |
|
|
34
|
-
| `suggest_command` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:134`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L134) | _stub-only_ |
|
|
35
|
-
| `suggest_skill_for_task` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:149`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L149) | _stub-only_ |
|
|
36
|
-
| `mine_session` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:164`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L164) | _stub-only_ |
|
|
37
|
-
| `update_form_request_messages` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:178`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L178) | _stub-only_ |
|
|
38
|
-
| `sync_gitignore` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:193`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L193) | _stub-only_ |
|
|
39
|
-
| `sync_agent_settings` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:206`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L206) | _stub-only_ |
|
|
40
|
-
| `run_tests` | `shell` | stdio | [`consumer_tool_catalog.json:220`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L220) | [`tools.ts:1714`](../../src/scripts/mcp_server/tools.ts#L1714) |
|
|
41
|
-
| `run_quality_checks` | `shell` | _(stub)_ | [`consumer_tool_catalog.json:234`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L234) | _stub-only_ |
|
|
42
|
-
| `list_skills` | `ro` | stdio | [`consumer_tool_catalog.json:247`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L247) | [`tools.ts:1468`](../../src/scripts/mcp_server/tools.ts#L1468) |
|
|
43
|
-
| `list_commands` | `ro` | stdio | [`consumer_tool_catalog.json:254`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L254) | [`tools.ts:1483`](../../src/scripts/mcp_server/tools.ts#L1483) |
|
|
44
|
-
| `list_rules` | `ro` | stdio | [`consumer_tool_catalog.json:261`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L261) | [`tools.ts:1498`](../../src/scripts/mcp_server/tools.ts#L1498) |
|
|
45
|
-
| `compile_router` | `shell` | _(stub)_ | [`consumer_tool_catalog.json:268`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L268) | _stub-only_ |
|
|
46
|
-
| `read_resource_body` | `ro` | stdio | [`consumer_tool_catalog.json:281`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L281) | [`tools.ts:1514`](../../src/scripts/mcp_server/tools.ts#L1514) |
|
|
47
|
-
| `roadmap_progress` | `fs-write` | stdio | [`consumer_tool_catalog.json:295`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L295) | [`tools.ts:1573`](../../src/scripts/mcp_server/tools.ts#L1573) |
|
|
48
|
-
| `roadmap_archive` | `fs-write` | stdio | [`consumer_tool_catalog.json:308`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L308) | [`tools.ts:1596`](../../src/scripts/mcp_server/tools.ts#L1596) |
|
|
49
|
-
| `capabilities_index` | `fs-write` | stdio | [`consumer_tool_catalog.json:315`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L315) | [`tools.ts:1612`](../../src/scripts/mcp_server/tools.ts#L1612) |
|
|
50
|
-
| `doctor_report` | `ro` | stdio | [`consumer_tool_catalog.json:328`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L328) | [`tools.ts:1635`](../../src/scripts/mcp_server/tools.ts#L1635) |
|
|
51
|
-
| `conformance_check` | `ro` | stdio | [`consumer_tool_catalog.json:335`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L335) | [`tools.ts:1649`](../../src/scripts/mcp_server/tools.ts#L1649) |
|
|
52
|
-
| `telemetry_report` | `ro` | stdio | [`consumer_tool_catalog.json:342`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L342) | [`tools.ts:1663`](../../src/scripts/mcp_server/tools.ts#L1663) |
|
|
53
|
-
| `catalog_search` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:355`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L355) | _stub-only_ |
|
|
54
|
-
| `catalog_inspect` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:372`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L372) | _stub-only_ |
|
|
55
|
-
| `catalog_load` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:387`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L387) | _stub-only_ |
|
|
56
|
-
| `council_estimate` | `ro` | stdio | [`consumer_tool_catalog.json:401`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L401) | [`tools.ts:1685`](../../src/scripts/mcp_server/tools.ts#L1685) |
|
|
57
|
-
|
|
58
|
-
## Glossary
|
|
59
|
-
|
|
60
|
-
- **Side-effect** — `ro` (read-only) · `fs-write` (filesystem write) · `shell` (spawns processes).
|
|
61
|
-
- **Transports** — `stdio` (`scripts/mcp_server/`) · `worker` (`internal/workers/mcp/`). A tool may live on both.
|
|
62
|
-
- **Stub** — catalog-listed for discovery; returns the `not_implemented` envelope from
|
|
63
|
-
[`mcp-tool-stub-envelope.md`](mcp-tool-stub-envelope.md) until promoted.
|
|
64
|
-
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: experimental
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# MCP Tool Stub Envelope — Phase 1 Discovery Contract
|
|
6
|
-
|
|
7
|
-
> **Status:** Active · governs the Discovery-First MCP coverage strategy
|
|
8
|
-
> ([`mcp-coverage-strategy.md`](../../agents/settings/contexts/mcp-coverage-strategy.md)).
|
|
9
|
-
> **Stability:** experimental — internal index reference only per
|
|
10
|
-
> `STABILITY.md`.
|
|
11
|
-
|
|
12
|
-
## Purpose
|
|
13
|
-
|
|
14
|
-
Locks the wire shape of the `not_implemented` envelope returned by
|
|
15
|
-
`tools/call` when a consumer agent invokes a catalog entry that has no
|
|
16
|
-
implementation on the active transport. Every denied call returns a
|
|
17
|
-
structured payload with a recovery hint, never a silent 404 and never
|
|
18
|
-
a 500.
|
|
19
|
-
|
|
20
|
-
## Source of truth
|
|
21
|
-
|
|
22
|
-
`scripts/mcp_server/consumer_tool_catalog.json` (schema_version 1).
|
|
23
|
-
Both the stdio server and the Cloud Worker bundle (`internal/workers/mcp/`,
|
|
24
|
-
packed by `scripts/pack_mcp_content.py`) read from this file. The
|
|
25
|
-
manifest returned by `tools/list` is byte-identical apart from
|
|
26
|
-
per-tool `implemented_on` metadata.
|
|
27
|
-
|
|
28
|
-
## Catalog entry
|
|
29
|
-
|
|
30
|
-
```json
|
|
31
|
-
{
|
|
32
|
-
"name": "<snake_case>",
|
|
33
|
-
"description": "<≤500 chars; agent-facing>",
|
|
34
|
-
"side_effect": "ro | fs-write | shell",
|
|
35
|
-
"implemented_on": ["stdio"],
|
|
36
|
-
"input_schema": { "type": "object", "...": "JSON Schema draft-7" }
|
|
37
|
-
}
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
`implemented_on` lists transports where a real handler is wired;
|
|
41
|
-
missing transports return the envelope.
|
|
42
|
-
|
|
43
|
-
## Envelope wire shape
|
|
44
|
-
|
|
45
|
-
```json
|
|
46
|
-
{
|
|
47
|
-
"code": "not_implemented",
|
|
48
|
-
"tool": "<catalog name>",
|
|
49
|
-
"transport": "stdio | worker",
|
|
50
|
-
"install_hint": "<copyable shell command>",
|
|
51
|
-
"alternative": "stdio",
|
|
52
|
-
"message": "<one-sentence explainer>"
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Stdio returns this as the JSON-RPC `result` (SDK wraps in
|
|
57
|
-
`TextContent`); the Worker returns it as `error.data` alongside
|
|
58
|
-
`code: -32601`. Field invariants: `code` is the frozen literal
|
|
59
|
-
`not_implemented`; `tool` echoes the caller; `transport` is set per
|
|
60
|
-
surface; `install_hint` comes from the catalog's `install_hint_stdio`
|
|
61
|
-
field; `alternative` is the frozen literal `stdio` until Phase 3.
|
|
62
|
-
Consumer agents must drive logic from `code`, not `message`.
|
|
63
|
-
|
|
64
|
-
## Unknown-tool / latent-demand path
|
|
65
|
-
|
|
66
|
-
A call to a name not in the catalog returns JSON-RPC error `-32601`
|
|
67
|
-
with the same envelope shape, `code: "unknown_tool"`. Both transports
|
|
68
|
-
log the attempt with `outcome: "latent_demand"` so Phase 2 can
|
|
69
|
-
promote unforeseen names.
|
|
70
|
-
|
|
71
|
-
## Acceptance
|
|
72
|
-
|
|
73
|
-
- Both transports return `code == "not_implemented"` for every
|
|
74
|
-
catalog entry whose `implemented_on` excludes the transport.
|
|
75
|
-
- Both transports return `code == "unknown_tool"` for any name not in
|
|
76
|
-
the catalog.
|
|
77
|
-
- Schema version bumps on any incompatible field rename; new optional
|
|
78
|
-
fields are compatible.
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: stable
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Measurement baseline — contract
|
|
6
|
-
|
|
7
|
-
> **Status:** locked 2026-05-16 · **Owner:** `step-4-measurement-and-benchmark.md`
|
|
8
|
-
> · **Cited by:** every P2 enforcement roadmap (skill rationalization G0, north-star G1, condensation default decision).
|
|
9
|
-
|
|
10
|
-
Single source of truth for what `task bench` measures, what counts as
|
|
11
|
-
drift, and what unblocks enforcement. Read this before pinning a number
|
|
12
|
-
to a roadmap or PR description.
|
|
13
|
-
|
|
14
|
-
## What `task bench` measures
|
|
15
|
-
|
|
16
|
-
Four axes, all numeric, all reproducible from the same input:
|
|
17
|
-
|
|
18
|
-
| Axis | Source | Definition | Units |
|
|
19
|
-
|---|---|---|---:|
|
|
20
|
-
| **selection accuracy** | [`scripts/bench_runner.py`](../../src/scripts/bench_runner.py) | Keyword-overlap ranker hits the expected skill in top-K | % |
|
|
21
|
-
| **cost** | [`scripts/cost/track.mjs`](../../src/scripts/cost/track.mjs) session jsonl | Token+USD per model, captured live | USD |
|
|
22
|
-
| **quality** | regex / rubric assertions per prompt | `quality_assertion` matches in agent output | % |
|
|
23
|
-
| **projection fidelity** | [`scripts/bench_per_tool.py`](../../src/scripts/bench_per_tool.py) | `accuracy(tool) / accuracy(augment)` for skill-projecting tools | ratio |
|
|
24
|
-
|
|
25
|
-
Schemas: [`benchmark-report-schema.md`](benchmark-report-schema.md) ·
|
|
26
|
-
[`benchmark-corpus-spec.md`](benchmark-corpus-spec.md). Reports land at
|
|
27
|
-
`internal/bench/reports/<utc-stamp>-<corpus>[-projection].{json,md}` —
|
|
28
|
-
timestamped, never overwritten, content-addressed by run.
|
|
29
|
-
|
|
30
|
-
## Corpora — frozen for the soak window
|
|
31
|
-
|
|
32
|
-
| Corpus | Path | Prompts | Purpose |
|
|
33
|
-
|---|---|---:|---|
|
|
34
|
-
| `dev` | [`tests/eval/corpus-dev.yaml`](../../tests/eval/corpus-dev.yaml) | 10 | Developer task surface (Laravel/Symfony/React/CI/PR) |
|
|
35
|
-
| `non-dev` | [`tests/eval/corpus-non-dev.yaml`](../../tests/eval/corpus-non-dev.yaml) | 16 | Founder / agency / content creator surface (Wing-4) |
|
|
36
|
-
|
|
37
|
-
Total 26 prompts ≥ Acceptance Criteria floor of 25. Mid-window edits
|
|
38
|
-
to either YAML restart the 60-day clock per
|
|
39
|
-
[`condensation-default-kill-criterion.md`](condensation-default-kill-criterion.md) § 2.
|
|
40
|
-
|
|
41
|
-
## What counts as drift
|
|
42
|
-
|
|
43
|
-
[`scripts/bench_drift_check.py`](../../src/scripts/bench_drift_check.py)
|
|
44
|
-
compares the latest report against a sliding window of the prior N runs
|
|
45
|
-
(default 5) for the same corpus.
|
|
46
|
-
|
|
47
|
-
| Axis | Threshold | Note |
|
|
48
|
-
|---|---|---|
|
|
49
|
-
| selection accuracy | latest − baseline_mean ≤ −5 pp | always evaluated |
|
|
50
|
-
| cost | latest / baseline_mean ≥ +20 % | only when both sides have `source: captured` |
|
|
51
|
-
| quality | latest − baseline_mean ≤ −10 pp | skipped when latest is `not_collected` |
|
|
52
|
-
| projection fidelity | tool fidelity < 0.85 | exit 1 from `task bench:projection` |
|
|
53
|
-
|
|
54
|
-
Drift exits with code 2 from `task bench:drift`. **CI posture during
|
|
55
|
-
soak:** all bench-drift steps `continue-on-error: true` and post a
|
|
56
|
-
sticky PR comment — informational only, not a merge gate. Flip to
|
|
57
|
-
required check happens via a separate PR once
|
|
58
|
-
`task bench:baseline-ready` returns 0 (see below).
|
|
59
|
-
|
|
60
|
-
## What unblocks enforcement (the G1 gate)
|
|
61
|
-
|
|
62
|
-
```
|
|
63
|
-
TASK bench:baseline-ready EXIT 0 IS THE ONLY AUTHORITY.
|
|
64
|
-
NO ANECDOTE, NO INDIVIDUAL REPORT, NO ROADMAP-SIDE OVERRIDE.
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
[`scripts/bench_baseline_ready.py`](../../src/scripts/bench_baseline_ready.py)
|
|
68
|
-
returns exit 0 iff both:
|
|
69
|
-
|
|
70
|
-
1. **Wall-clock soak:** `today − internal/bench/baseline-start.txt ≥ --min-days` (default 60)
|
|
71
|
-
2. **Report density:** `internal/bench/reports/*-<corpus>.json` count ≥ `--min-reports` (default 30)
|
|
72
|
-
|
|
73
|
-
Soak start anchored at [`internal/bench/baseline-start.txt`](../../bench/baseline-start.txt)
|
|
74
|
-
= **2026-05-16**. Earliest possible flip: **2026-07-15**, contingent
|
|
75
|
-
on the 30-report floor.
|
|
76
|
-
|
|
77
|
-
Downstream consumers:
|
|
78
|
-
|
|
79
|
-
- ``step-99-north-star-restructure.md` § Acceptance G1` — reads this exit code.
|
|
80
|
-
- [`condensation-default-kill-criterion.md` § 3](condensation-default-kill-criterion.md) — reads the decision table after baseline closes.
|
|
81
|
-
- ``step-2-skill-inventory-rationalization.md` § G0` — usage-data soak floor.
|
|
82
|
-
|
|
83
|
-
## What the closeout writes
|
|
84
|
-
|
|
85
|
-
On baseline closure, the step-4 closeout writes the numeric verdict to
|
|
86
|
-
[`docs/parity/bench.json`](../parity/bench.json) — frozen snapshot with
|
|
87
|
-
the 30+ reports averaged, drift verdict, and the condensation-default
|
|
88
|
-
decision per the kill-criterion table. That file is the artefact every
|
|
89
|
-
P2 roadmap reads — not the live `internal/bench/reports/` directory.
|
|
90
|
-
|
|
91
|
-
## Carve-outs
|
|
92
|
-
|
|
93
|
-
- **Pricing freshness:** [`internal/bench/pricing.yaml`](../../bench/pricing.yaml) rows must carry `sourced_on: YYYY-MM-DD`. Stale prices = stale numbers = no trust (external "measured-vs-claimed" pattern).
|
|
94
|
-
- **Subjective grading excluded:** quality scoring is mechanical via `quality_assertion`. No vibes.
|
|
95
|
-
- **Cursor / Cline / Windsurf:** rules-only surfaces, no SKILL.md projection. `bench:projection` reports them as `not_applicable` — the gap is acknowledged, not silently dropped.
|
|
96
|
-
|
|
97
|
-
## Cross-references
|
|
98
|
-
|
|
99
|
-
- [`ADR-118`](../decisions/ADR-118-loop-engineering-boundaries.md) · bench-drift stays advisory by decision — never a blocking gate (disposition #4)
|
|
100
|
-
- [`benchmark-report-schema.md`](benchmark-report-schema.md) · per-report JSON schema
|
|
101
|
-
- [`benchmark-corpus-spec.md`](benchmark-corpus-spec.md) · corpus YAML schema
|
|
102
|
-
- [`condensation-default-kill-criterion.md`](condensation-default-kill-criterion.md) · decision table read by step-4 closeout
|
|
103
|
-
- `step-4-measurement-and-benchmark.md` · the owning roadmap
|