@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,144 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-14
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Smoke Contracts — Phase 3 of an internal parity roadmap (local-only)
|
|
7
|
-
|
|
8
|
-
> **Status:** active · **Owner:** step-11 Phase 3 · **Sibling:**
|
|
9
|
-
> [`measurement-baseline.md`](measurement-baseline.md) (snapshot semantics)
|
|
10
|
-
> · [`cost-enforcement.md`](cost-enforcement.md) (cost ladder)
|
|
11
|
-
|
|
12
|
-
Per-tier smoke scripts validate the system's structural baselines on
|
|
13
|
-
every PR that touches the tier. Each script is **fast** (≤ 30 s wall),
|
|
14
|
-
**deterministic** (same input → same exit), and **measured** (baseline
|
|
15
|
-
numbers come from `task smoke:*` on `main` at lock-in, not from claims).
|
|
16
|
-
|
|
17
|
-
## § 1 — Runtime budget
|
|
18
|
-
|
|
19
|
-
Every `scripts/smoke/<tier>.sh` honours:
|
|
20
|
-
|
|
21
|
-
| Limit | Value | Rationale |
|
|
22
|
-
|---|---:|---|
|
|
23
|
-
| Wall time | ≤ 30 s | CI matrix slot; local dev iteration |
|
|
24
|
-
| External I/O | none beyond filesystem | no network, no MCP |
|
|
25
|
-
| Output | last line is the **baseline declaration** | parseable by CI summary |
|
|
26
|
-
|
|
27
|
-
A smoke that approaches 30 s should be split into sub-smokes, not
|
|
28
|
-
optimised in place.
|
|
29
|
-
|
|
30
|
-
## § 2 — Path-trigger globs
|
|
31
|
-
|
|
32
|
-
CI's `.github/workflows/smoke.yml` dispatches the right scripts based on
|
|
33
|
-
the paths touched in the PR:
|
|
34
|
-
|
|
35
|
-
| Tier | Globs that trigger | Script |
|
|
36
|
-
|---|---|---|
|
|
37
|
-
| kernel | `.agent-src.uncondensed/rules/**`, `dist/agent-src/rules/**`, `dist/router.json`, `scripts/measure_rule_budget.py` | `scripts/smoke/kernel.sh` |
|
|
38
|
-
| router | `dist/router.json`, `.agent-src.uncondensed/rules/**`, `.agent-src.uncondensed/skills/**`, `docs/contracts/**`, `docs/guidelines/**` | `scripts/smoke/router.sh` |
|
|
39
|
-
| schema | `.agent-src.uncondensed/skills/**`, `.agent-src.uncondensed/rules/**`, `scripts/schemas/**`, `scripts/skill_linter.py`, `scripts/validate_frontmatter.py` | `scripts/smoke/schema.sh` |
|
|
40
|
-
| skills | `.agent-src.uncondensed/skills/**` | `scripts/smoke/skills.sh` |
|
|
41
|
-
|
|
42
|
-
`task smoke` runs all four locally regardless of paths.
|
|
43
|
-
|
|
44
|
-
## § 3 — Baseline declarations (locked 2026-05-16)
|
|
45
|
-
|
|
46
|
-
Smoke baselines are **measured today**, not aspirational. They lock
|
|
47
|
-
**regression**: a smoke goes red only if the count drifts the wrong way.
|
|
48
|
-
Drift toward the ideal (fewer breaches, more fences) updates the
|
|
49
|
-
constant in the script body and the row below.
|
|
50
|
-
|
|
51
|
-
### § 3.1 — Kernel (`scripts/smoke/kernel.sh`)
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
10 kernel rules · 9 carry Iron-Law fences · 1 dispatch index · ≤ 2 budget breaches
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
- **10 kernel rules** — fixed by [`kernel-membership.md`](kernel-membership.md).
|
|
58
|
-
- **9 carry Iron-Law fences** — measured 2026-05-16. `agent-authority`
|
|
59
|
-
is the **dispatch index** (priority table pointing at the other four
|
|
60
|
-
authority rules); it is structurally exempt from the Iron-Law-fence
|
|
61
|
-
requirement and listed in the script's `EXEMPT_FROM_FENCE` set.
|
|
62
|
-
- **≤ 2 budget breaches** — `./scripts-run src/scripts/measure_rule_budget
|
|
63
|
-
--kernel-budget-check` currently reports 2 breaches
|
|
64
|
-
(`kernel-bucket > 26000`, `no-cheap-questions > 4000`). The smoke
|
|
65
|
-
asserts the count does not grow; reductions update `EXPECTED_BREACHES`
|
|
66
|
-
in `scripts/smoke/kernel.sh`. See
|
|
67
|
-
`road-to-kernel-and-router.md`
|
|
68
|
-
for the path back to zero.
|
|
69
|
-
|
|
70
|
-
### § 3.2 — Router (`scripts/smoke/router.sh`)
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
68 router ids · 0 broken rule pointers · 36 routes_to refs · 2 missing contracts
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
- **68 ids** — 10 kernel + 23 tier_1 + 35 tier_2; every id resolves to
|
|
77
|
-
`dist/agent-src/rules/<id>.md`.
|
|
78
|
-
- **0 broken rule pointers** — hard assertion; smoke fails on any miss.
|
|
79
|
-
- **36 routes_to refs** across tier_1 + tier_2; resolver honours the
|
|
80
|
-
four prefixes (`skill:`, `command:`, `guideline:`, `contract:`).
|
|
81
|
-
- **2 missing contracts** — measured 2026-05-16:
|
|
82
|
-
`contract:artifact-engagement-flow`,
|
|
83
|
-
`contract:command-suggestion-flow`. Tracked separately under
|
|
84
|
-
``step-11` Phase 4 (ADR layout)`;
|
|
85
|
-
smoke asserts the count is `≤ EXPECTED_MISSING_CONTRACTS=2`.
|
|
86
|
-
|
|
87
|
-
### § 3.3 — Schema (`scripts/smoke/schema.sh`)
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
438 lintable artefacts · 0 schema FAILs · ≤ 92 warns
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
- **0 FAILs** — hard assertion. `scripts/skill_linter.py --all` returns
|
|
94
|
-
exit 0/1 (warns) but never 2 (fail).
|
|
95
|
-
- **≤ 92 warns** — measured 2026-05-16; locks regression. Warns
|
|
96
|
-
trending down updates the constant.
|
|
97
|
-
- **v2 schema (step-5) deferred** — when
|
|
98
|
-
`step-5-schema-rigor.md`
|
|
99
|
-
Phase 1 closes, this smoke gains a `model_tier` presence assertion;
|
|
100
|
-
Phase 3 adds `schema_version: "2"`. Until then, v1 schema in
|
|
101
|
-
`scripts/schemas/skill.schema.json` is the contract.
|
|
102
|
-
|
|
103
|
-
### § 3.4 — Skills (`scripts/smoke/skills.sh`)
|
|
104
|
-
|
|
105
|
-
```
|
|
106
|
-
5/5 random skills resolve · frontmatter parses · name matches directory
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
- **5 random skills** picked deterministically (seed = epoch day) from
|
|
110
|
-
`.agent-src.uncondensed/skills/*/SKILL.md` and re-validated via
|
|
111
|
-
`scripts/validate_frontmatter.py`. `agent-config explain skill` is
|
|
112
|
-
**not** invoked — `explain` only supports `{config,rule,route}` today
|
|
113
|
-
([`scripts/agent-config/cmd_explain.py`](../../src/scripts/agent-config/cmd_explain.py));
|
|
114
|
-
filesystem-resolution is the contract.
|
|
115
|
-
|
|
116
|
-
## § 4 — Local invocation
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
task smoke # all four
|
|
120
|
-
task smoke:kernel # individual tiers
|
|
121
|
-
task smoke:router
|
|
122
|
-
task smoke:schema
|
|
123
|
-
task smoke:skills
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
Every script honours `SMOKE_QUIET=1` (suppresses table output, keeps
|
|
127
|
-
the final baseline line) for CI summary parsing.
|
|
128
|
-
|
|
129
|
-
## § 5 — Failure modes
|
|
130
|
-
|
|
131
|
-
| Symptom | Likely cause | Fix |
|
|
132
|
-
|---|---|---|
|
|
133
|
-
| `kernel.sh` reports > 9 missing fences | Kernel rule lost its Iron Law block during edit | Restore the fence; update `EXEMPT_FROM_FENCE` only for new dispatch indexes |
|
|
134
|
-
| `router.sh` reports > 0 broken pointers | `dist/router.json` references an id without a rule file | Add the rule or remove the route — never edit the smoke baseline up |
|
|
135
|
-
| `schema.sh` reports FAILs | A skill / rule lost a required field | Restore via [`scripts/schemas/skill.schema.json`](../../src/scripts/schemas/skill.schema.json) |
|
|
136
|
-
| `skills.sh` 5/5 random sample fails | Hand-edit broke frontmatter or renamed directory without updating `name:` | Restore filename ↔ slug coupling |
|
|
137
|
-
|
|
138
|
-
## § 6 — See also
|
|
139
|
-
|
|
140
|
-
- [`measurement-baseline.md`](measurement-baseline.md) — measurement substrate.
|
|
141
|
-
- [`cost-enforcement.md`](cost-enforcement.md) — cost ladder, sibling smoke surface.
|
|
142
|
-
- [`kernel-membership.md`](kernel-membership.md) — the 10-rule kernel set.
|
|
143
|
-
- [`rule-router.md`](rule-router.md) — router contract.
|
|
144
|
-
- `road-to-kernel-and-router.md` — kernel budget reduction path.
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-17
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Subagent Boundary Contract
|
|
7
|
-
|
|
8
|
-
What a subagent **owns** and what it must **never** own. As delegation spreads
|
|
9
|
-
(the `subagent-orchestration` modes, the `delegation-policy` auto-trigger,
|
|
10
|
-
workflow fan-out), the failure mode is scope drift: a subagent quietly
|
|
11
|
-
redefining the task, expanding scope, or bypassing a floor. This contract draws
|
|
12
|
-
the line.
|
|
13
|
-
|
|
14
|
-
## The ownership line
|
|
15
|
-
|
|
16
|
-
A subagent **executes one scoped, named task and returns a conclusion.** That is
|
|
17
|
-
the whole of its authority.
|
|
18
|
-
|
|
19
|
-
### A subagent OWNS
|
|
20
|
-
|
|
21
|
-
- **Its scoped task** — the single, well-specified slice it was dispatched with.
|
|
22
|
-
- **Its method** — how it searches, reads, reasons, or drafts within that slice.
|
|
23
|
-
- **Its return** — a conclusion + evidence, sized to what the orchestrator asked for (structured output when a schema was given).
|
|
24
|
-
|
|
25
|
-
> **Explainability is durable, not host-ephemeral.** The return must carry a brief
|
|
26
|
-
> *why + evidence* (which sources/steps led to the conclusion) **in the artefact /
|
|
27
|
-
> output itself**, not only in the host's session reasoning. A user opening the
|
|
28
|
-
> result later — possibly across sessions — must be able to trace the *why* without
|
|
29
|
-
> reassembling provider chat logs. This is the reasoning-in-notes discipline applied
|
|
30
|
-
> to delegation: conclusions + evidence travel with the output, raw chain-of-thought
|
|
31
|
-
> does not.
|
|
32
|
-
|
|
33
|
-
### A subagent must NEVER own
|
|
34
|
-
|
|
35
|
-
- **Task meaning** — it does not redefine, broaden, or reinterpret the parent task. An ambiguous slice returns "ambiguous + why", it does not guess a bigger task.
|
|
36
|
-
- **Cross-task memory / state** — it does not write durable memory, mutate shared roadmaps, or persist decisions for other tasks; its output is its only channel.
|
|
37
|
-
- **Pack / surface decisions** — it does not decide what ships, what installs, or what a pack contains; those are orchestrator + human calls.
|
|
38
|
-
- **Safety-floor bypass** — every floor applies *inside* the subagent. The Hard Floor ([`non-destructive-by-default`](../../src/rules/non-destructive-by-default.md)), the domain safety floors, [`scope-control`](../../src/rules/scope-control.md), and [`commit-policy`](../../src/rules/commit-policy.md) are not lifted by being one level down. A subagent cannot do what its parent may not.
|
|
39
|
-
- **Silent scope expansion** — touching files / systems beyond its slice is a contract violation, surfaced, not absorbed.
|
|
40
|
-
|
|
41
|
-
## Orchestrator obligations (the other side)
|
|
42
|
-
|
|
43
|
-
- **Verify, never adopt blind** — a subagent return is evidence, not truth; the orchestrator verifies per [`delegation-policy`](../../src/rules/delegation-policy.md)'s Iron Law before adopting it.
|
|
44
|
-
- **Tier-size the slice, not the agent** — dispatch at the slice's complexity, not the session's.
|
|
45
|
-
- **Own the safety decision** — a Hard-Floor or egress action surfaced by a subagent is decided by the orchestrator + human, never executed by the subagent.
|
|
46
|
-
- **Re-confirm; the subagent's confirmation does not count** — a destructive or irreversible mutation *proposed by a subagent* is subject to the same Hard Floor as one the orchestrator proposed, and the subagent's own "I checked, it's fine" does not satisfy the gate. Without this clause, delegation is a detour around it: ask a subagent, receive a blessing, act.
|
|
47
|
-
- **Deliver the floor, do not assume it** — the floor reaches a worker because [`generate_subagent_floor.ts`](../../src/scripts/generate_subagent_floor.ts) writes it into every dispatch prompt and CI fails on drift.
|
|
48
|
-
|
|
49
|
-
### Honest scope of the floor guarantee
|
|
50
|
-
|
|
51
|
-
The invariant above — *a subagent cannot do what its parent may not* — is now
|
|
52
|
-
**delivered** for subagents dispatched through this package's prompt templates:
|
|
53
|
-
the floor is generated from the kernel rules and drift-gated. It was previously
|
|
54
|
-
asserted here and carried by nothing; the brief schema, the spawn composer, and
|
|
55
|
-
all eight prompt templates contained no floor text at all.
|
|
56
|
-
|
|
57
|
-
What stays unproven, and is therefore not claimed: whether a subagent spawned by
|
|
58
|
-
a host primitive outside these templates inherits any of it. That is a host
|
|
59
|
-
property this package does not control and does not test. A contract that
|
|
60
|
-
quietly covered it would repeat the exact defect this section exists to close.
|
|
61
|
-
|
|
62
|
-
## Failure modes
|
|
63
|
-
|
|
64
|
-
- A research subagent that, finding the task underspecified, invents a broader task and "helpfully" does it.
|
|
65
|
-
- A subagent that writes to shared memory / a roadmap dashboard as a side effect.
|
|
66
|
-
- A subagent that commits, pushes, or deletes because "the task implied it".
|
|
67
|
-
- An orchestrator that pastes a subagent's claim into the answer without verifying it.
|
|
68
|
-
|
|
69
|
-
## See also
|
|
70
|
-
|
|
71
|
-
- [`subagent-orchestration`](../../src/skills/subagent-orchestration/SKILL.md) — the dispatch modes this contract bounds.
|
|
72
|
-
- [`delegation-policy`](../../src/rules/delegation-policy.md) — the delegate-by-default trigger + verify-every-return Iron Law.
|
|
73
|
-
- [`capability-boundary`](capability-boundary.md) — the pack-level companion (this is the agent-level one).
|
|
74
|
-
- [`non-destructive-by-default`](../../src/rules/non-destructive-by-default.md) — the Hard Floor that applies inside subagents too.
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
# Surface-Agent Contracts — medium invariants, not one generic agent
|
|
2
|
-
|
|
3
|
-
Backbone for `road-to-surface-specific-agent-contracts`.
|
|
4
|
-
One generic agent does every medium badly. Each **surface** (spreadsheet, deck,
|
|
5
|
-
document, browser, mobile/chat, code, …) has non-negotiable local invariants and
|
|
6
|
-
its own verification truth source. This contract names them, maps them to owner
|
|
7
|
-
skills, and defines how the agent detects a surface, resolves conflicts, and
|
|
8
|
-
hands off between surfaces — advisory first (staged rollout below).
|
|
9
|
-
|
|
10
|
-
Capability + honest-degrade for the *verification* primitives these contracts
|
|
11
|
-
rely on is the sibling [`design-artifact-verification`](design-artifact-verification.md)
|
|
12
|
-
(browser / screenshot / pdf_render / doc_export / image_decode / static_inspect);
|
|
13
|
-
this contract adds the office/data primitives and the surface-routing layer.
|
|
14
|
-
|
|
15
|
-
## Iron Law — the medium's truth source verifies the work
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
EACH SURFACE HAS A NON-NEGOTIABLE INVARIANT AND ITS OWN TRUTH SOURCE.
|
|
19
|
-
VERIFY WITH THE MEDIUM'S TRUTH SOURCE — A FORMULA READ-BACK, A RENDERED SLIDE,
|
|
20
|
-
A FETCHED PAGE — NEVER A GENERIC "LOOKS RIGHT". WHEN THE SURFACE TOOL IS
|
|
21
|
-
ABSENT, SAY WHAT COULD NOT BE VERIFIED — NEVER PRETEND THE MEDIUM STEP RAN.
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Surface detection — before applying any surface rule
|
|
25
|
-
|
|
26
|
-
Resolve the surface from these signals, in priority order:
|
|
27
|
-
|
|
28
|
-
1. **Explicit file type** — `.xlsx`/`.csv` → spreadsheet, `.pptx`/`.key` → deck, `.docx`/`.md` → document, `.ipynb` → notebook.
|
|
29
|
-
2. **Requested output format** — "as a deck", "export to PDF", "a spreadsheet".
|
|
30
|
-
3. **Named tool / plugin / connector** — a named app connector wins over generic browsing.
|
|
31
|
-
4. **User environment** — mobile/chat host vs desktop IDE vs CI.
|
|
32
|
-
5. **Data shape** — tabular/numeric → spreadsheet; slides → deck; prose → document.
|
|
33
|
-
6. **Task verb** — "chart", "model", "present", "browse", "refactor".
|
|
34
|
-
7. **Target deliverable** — what the user will actually use.
|
|
35
|
-
|
|
36
|
-
**Ambiguity handling.** When ≥2 surfaces plausibly apply and the choice changes
|
|
37
|
-
the work materially, ask ONE compact question (per
|
|
38
|
-
[`ask-when-uncertain`](../../src/rules/ask-when-uncertain.md)); when the user
|
|
39
|
-
already constrained it, proceed and state the surface assumption.
|
|
40
|
-
|
|
41
|
-
## Surface conflict rule
|
|
42
|
-
|
|
43
|
-
When the user asks for output **native to a different connected surface**,
|
|
44
|
-
delegate to (or ask to enable) that surface — do not force a local workaround.
|
|
45
|
-
A request for a spreadsheet answered with a markdown table, or a deck answered
|
|
46
|
-
with prose, is a surface violation. Prefer the connected surface; if it is
|
|
47
|
-
unavailable, say so and offer the degraded form explicitly as degraded.
|
|
48
|
-
|
|
49
|
-
## Surface taxonomy
|
|
50
|
-
|
|
51
|
-
Each surface records: **owner** skills/commands · **allowed** tools · **forbidden**
|
|
52
|
-
shortcuts · **truth source** (how the medium verifies) · **handoff** in/out ·
|
|
53
|
-
**trigger** examples · **capability** requirement · **degrade** language.
|
|
54
|
-
|
|
55
|
-
| Surface | Owner skills | Forbidden shortcut | Truth source | Capability → degrade |
|
|
56
|
-
|---|---|---|---|---|
|
|
57
|
-
| **code** | `scope-control`/`verify-before-complete` (rules), stack skills | edit unread files; broad refactor around a fix | tests + type-checker + fresh run | local exec → static-only caveat |
|
|
58
|
-
| **design** | `fe-design`, `design-review`, `existing-ui-audit` | taste before inspecting the system | rendered artifact ([design-artifact-verification](design-artifact-verification.md)) | browser/screenshot → static caveat |
|
|
59
|
-
| **spreadsheet** | `spreadsheet-authoring` (Phase 2) | hardcode a computed value; unofficial financial source unmarked | formula read-back after write | native tooling → exported-file only → "cannot verify" |
|
|
60
|
-
| **document** | `doc-coauthoring`, `markitdown` | rasterize selectable text to PDF | open/export readback | doc parser → format caveat |
|
|
61
|
-
| **deck** | `html-deck` | build slides before an outline; tiny text | export + slide render | deck export → outline-only caveat |
|
|
62
|
-
| **browser** | `browser` surface (Phase 4), MCP fetch | invent a URL; fetch when not needed | the fetched page itself | fetch → "not fetched, cannot confirm" |
|
|
63
|
-
| **mobile/chat** | interaction floor (Phase 5) | markdown tables in narrow chat; multi-question walls | the host's rendering | tappable UI → concise text choices |
|
|
64
|
-
| **research** | `research:deep`/`research:report` | claim without a retrieved source | per-part grounding + disconfirmation | — |
|
|
65
|
-
| **visualizer/diagram** | `html-deck`, image skills | decorative chart over the data's shape | the rendered diagram | render → described-structure caveat |
|
|
66
|
-
| **cowork/dispatch** | `subagent-orchestration` | one agent doing parallel-safe work serially | verified subagent returns | spawn primitive → in-session |
|
|
67
|
-
| **MCP/app connector** | `mcp` | generic web search when a connector fits | the connector's own result | connector present → suggest/opt-in |
|
|
68
|
-
|
|
69
|
-
This taxonomy table **is** the canonical work-surface map. (Note: the existing
|
|
70
|
-
`src/config/surface-matrix.yml` is a *different* concept — per-tool **install-surface**
|
|
71
|
-
de-duplication, set-equality-enforced against `install.ts::USER_SCOPE_PATHS` by
|
|
72
|
-
`lint_surface_matrix`; extending it with *work* surfaces would break that
|
|
73
|
-
linter, so the work-surface map lives here, not there.) Host verification
|
|
74
|
-
capability is `src/config/host-capabilities.yml` +
|
|
75
|
-
[`design-artifact-verification`](design-artifact-verification.md). Carrier
|
|
76
|
-
choice vs host capability vs these invariants stay aligned with the
|
|
77
|
-
artifact-routing work — do not let the three diverge.
|
|
78
|
-
|
|
79
|
-
## Staged rollout
|
|
80
|
-
|
|
81
|
-
Each surface contract: **advisory** (skills reference the invariant) →
|
|
82
|
-
**routed** (owner skills updated + eval fixtures pass) → **default-on** only
|
|
83
|
-
once the host capability/degrade behaviour is documented for that surface. A
|
|
84
|
-
contract is never default-on for a host class that cannot run the surface's
|
|
85
|
-
truth-source check — it stays advisory + caveat there.
|
|
86
|
-
|
|
87
|
-
## Cross-surface handoff envelope
|
|
88
|
-
|
|
89
|
-
When work moves between surfaces (spreadsheet → deck, research → document,
|
|
90
|
-
browser evidence → report, design prototype → production code), the source
|
|
91
|
-
surface emits a **handoff envelope** the target consumes instead of redoing
|
|
92
|
-
work:
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
source_surface · target_surface · user_goal · assets/files ·
|
|
96
|
-
constraints · verification_already_done · pending_checks ·
|
|
97
|
-
capability_limits · assumptions · privacy/source_restrictions
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
- The target surface **trusts `verification_already_done`** and does not repeat
|
|
101
|
-
it; it runs only `pending_checks`.
|
|
102
|
-
- The target honours `privacy/source_restrictions` — a source-specific
|
|
103
|
-
restriction (e.g. an internal-only dataset) is never widened by the handoff.
|
|
104
|
-
- **Degrade:** if the target surface's tooling is absent, the envelope remains a
|
|
105
|
-
durable **plan** (what to do + what is verified) — never a faked generated
|
|
106
|
-
artifact.
|
|
107
|
-
|
|
108
|
-
## Mobile/chat interaction floor
|
|
109
|
-
|
|
110
|
-
Interaction style is host-sensitive, not one verbose desktop default.
|
|
111
|
-
|
|
112
|
-
- **Narrow-chat output.** Avoid markdown tables in a narrow chat host; use short
|
|
113
|
-
prose/bullets. Keep post-tool summaries short.
|
|
114
|
-
- **Ask at most one compact question**, and only when it changes the work:
|
|
115
|
-
- **No options** when the user asked for the agent's *analysis* of A vs B — give the recommendation (fixture `ssac-a-or-b-analysis`).
|
|
116
|
-
- **Offer options** when *eliciting a preference* — tappable choices where the host supports them, degrading to concise text choices otherwise (fixture `ssac-preference-elicitation`).
|
|
117
|
-
- **Proceed on stated constraints** when the prompt already fixes them — no redundant questions (fixture `ssac-enough-constraints-no-question`).
|
|
118
|
-
|
|
119
|
-
## Code surface — audit dispositions (Phase 6)
|
|
120
|
-
|
|
121
|
-
The external code-prompt mechanisms, audited against existing rules — **covered**
|
|
122
|
-
(cite the owner, do not duplicate), **tightened** (a note added), or **rejected**
|
|
123
|
-
(host-specific):
|
|
124
|
-
|
|
125
|
-
| Mechanism | Disposition | Owner / note |
|
|
126
|
-
|---|---|---|
|
|
127
|
-
| Read before proposing | **covered** | `think-before-action`, `source-discovery-gate` (fixture `ssac-edit-unread-file`) |
|
|
128
|
-
| Minimal scoped changes | **covered** | `minimal-safe-diff` (fixture `ssac-broad-refactor-around-bugfix`) |
|
|
129
|
-
| Todo/task visibility | **covered** | host task tooling + roadmap loop; no new rule |
|
|
130
|
-
| Parallel independent exploration | **tighten** | note in `subagent-orchestration` / this contract's cowork row — sequential independent reads when parallel is available is a miss |
|
|
131
|
-
| Specialized tools over shell | **covered** | `mcp` § tool-tier ladder (execution-discipline harvest) |
|
|
132
|
-
| No shell as user communication | **covered** | `output-discipline` / `direct-answers` |
|
|
133
|
-
| Line-specific references | **covered** | `file_path:line` convention in host instructions |
|
|
134
|
-
| No time estimates | **covered** | `direct-answers` § no-duration (execution-discipline harvest) |
|
|
135
|
-
| Fresh verification before "done" | **covered** | `verify-before-complete` (fixture `ssac-claim-done-without-verification`) |
|
|
136
|
-
|
|
137
|
-
No new code-surface rule is created — the deltas are already owned; the one
|
|
138
|
-
**tighten** (parallel-safe exploration) is recorded here + in the cowork row. No
|
|
139
|
-
Codex/host-specific phrasing is adopted.
|
|
140
|
-
|
|
141
|
-
## Rejected (host/vendor-specific — not adopted)
|
|
142
|
-
|
|
143
|
-
Vendor-specific tool names, per-host UI affordance details, and single-provider
|
|
144
|
-
prompt phrasings from the source family are **not** adopted here — this contract
|
|
145
|
-
encodes surface invariants, not one vendor's tooling. Per-phase rejects are
|
|
146
|
-
recorded in the roadmap.
|
|
147
|
-
|
|
148
|
-
## Related
|
|
149
|
-
|
|
150
|
-
- [`design-artifact-verification`](design-artifact-verification.md) — verification-primitive capability + honest-degrade (design surface).
|
|
151
|
-
- [`design-artifact-lifecycle`](design-artifact-lifecycle.md) — the design surface's own lifecycle.
|
|
152
|
-
- [`host-capability-manifest`](../../src/agent-src/contexts/execution/host-capability-manifest.md) — subagent primitives (cowork/dispatch surface).
|
|
153
|
-
- [`tests/surface-contracts/eval-fixtures.md`](../../tests/surface-contracts/eval-fixtures.md) — the surface-contract eval fixtures.
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-10-06
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Surface Matrix — per-tool canonical-surface contract
|
|
7
|
-
|
|
8
|
-
> Machine-checked inventory of which install surface is canonical per tool,
|
|
9
|
-
> which alternates are legitimate, what counts as a duplicate surface, and
|
|
10
|
-
> how a duplicate converges. One data file replaces 23 hand-maintained
|
|
11
|
-
> special cases (council Q3, 2026-07-07 — see
|
|
12
|
-
> `agents/settings/contexts/claude-code-single-surface-decision.md` for the
|
|
13
|
-
> parent decision).
|
|
14
|
-
|
|
15
|
-
## The file
|
|
16
|
-
|
|
17
|
-
`src/config/surface-matrix.yml` — ships in the npm package, resolved at
|
|
18
|
-
runtime relative to the package root (works from both the tsx dev path and
|
|
19
|
-
the bundled CLI).
|
|
20
|
-
|
|
21
|
-
```yaml
|
|
22
|
-
schema_version: 1
|
|
23
|
-
tools:
|
|
24
|
-
<tool-id>: # must exist in install.ts::USER_SCOPE_PATHS
|
|
25
|
-
surface: projection | plugin | bundles | export-only
|
|
26
|
-
scope_path: "~/..." # must equal USER_SCOPE_PATHS[tool-id]
|
|
27
|
-
hooks: managed-settings-block | settings-hooks-opt-in | plugin | none
|
|
28
|
-
alternates: # optional — legitimate secondary surfaces
|
|
29
|
-
- id: <slug>
|
|
30
|
-
role: <why it is legitimate>
|
|
31
|
-
detail: <prose>
|
|
32
|
-
duplicate: # optional — the duplicate-surface class
|
|
33
|
-
description: <prose>
|
|
34
|
-
detect:
|
|
35
|
-
all_of: [<path>, …] # ~/ = user scope, ./ = package-relative;
|
|
36
|
-
# ALL present ⇒ duplicate surface exists
|
|
37
|
-
# OR, when suspected but unverified:
|
|
38
|
-
pending_evidence: <prose + pointer to the evidence gate>
|
|
39
|
-
converge: # required when detect is defined
|
|
40
|
-
action: <slug>
|
|
41
|
-
command: "<copy-paste fix>"
|
|
42
|
-
reaps: [<path>, …] # package-tagged locations converge may remove
|
|
43
|
-
notes: <provenance>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Semantics
|
|
47
|
-
|
|
48
|
-
- **`surface`** — `projection` (installer writes content into the user
|
|
49
|
-
scope path; that projection is canonical), `plugin` (the tool's own
|
|
50
|
-
plugin channel is canonical — e.g. Copilot, where no user-scope
|
|
51
|
-
projection exists), `bundles` (manual import artifacts, e.g.
|
|
52
|
-
Claude Desktop ZIPs), `export-only` (config/marker export, no content
|
|
53
|
-
tree).
|
|
54
|
-
- **`duplicate.detect.all_of`** — existence checks only, never content
|
|
55
|
-
reads. All paths present ⇒ the duplicate class is live. Tools without a
|
|
56
|
-
`detect` block are never flagged.
|
|
57
|
-
- **`pending_evidence`** — documents a *suspected* class that MUST NOT be
|
|
58
|
-
acted on (doctor ignores it, converge refuses it) until an evidence gate
|
|
59
|
-
defines real detect paths. Current example: Augment
|
|
60
|
-
(`agents/settings/contexts/augment-surface-parity.md`).
|
|
61
|
-
- **`converge`** — the consented cleanup. `converge.reaps` is the
|
|
62
|
-
exhaustive allowlist of what `agent-config converge` may remove for this
|
|
63
|
-
tool; anything outside it is refused (hard floor: never user-authored
|
|
64
|
-
files).
|
|
65
|
-
|
|
66
|
-
## Consumers
|
|
67
|
-
|
|
68
|
-
| Consumer | What it reads | Behavior |
|
|
69
|
-
|---|---|---|
|
|
70
|
-
| `agent-config doctor` (`surface-state` check) | `duplicate.detect.all_of` | Existence-checks every declared duplicate class; `fail` names the tool + the `converge.command` as copy-paste remedy. The legacy `claude-plugin` check stays as the named first consumer with richer version diagnostics. |
|
|
71
|
-
| `agent-config converge` (+ `upgrade --converge`) | `converge.*` | Performs the per-tool cleanup, only on matrix-declared, package-tagged paths (`converge.reaps`), after consent (`install.auto_converge` or interactive y/N). |
|
|
72
|
-
| `dispatch:hook` `surface-probe` concern | `duplicate.detect.all_of` | Once-per-day SessionStart existence probe; one-line nudge naming the duplicate + the converge command. Fail-open, never blocking. |
|
|
73
|
-
| CI (`task lint-surface-matrix` → `src/scripts/lint_surface_matrix.ts`) | whole file | Set equality with `USER_SCOPE_PATHS`, scope-path drift, enum validity, detect-path resolution, converge-command presence, plugin-id drift guard. |
|
|
74
|
-
|
|
75
|
-
## Onboarding a new tool
|
|
76
|
-
|
|
77
|
-
1. Add the tool to `install.ts::USER_SCOPE_PATHS` (and `SCOPE_SUPPORT`,
|
|
78
|
-
deploy sources) as usual.
|
|
79
|
-
2. Add the matrix entry in the same commit — `lint-surface-matrix` fails
|
|
80
|
-
the build on a missing entry (that is the point: no tool ships without
|
|
81
|
-
a declared canonical surface).
|
|
82
|
-
3. Default shape for a plain projection with no plugin channel:
|
|
83
|
-
`surface: projection`, `hooks: none`, no `duplicate` block.
|
|
84
|
-
4. Only add a `duplicate` block when a second install channel actually
|
|
85
|
-
exists for the tool — and only add `detect.all_of` once the class has
|
|
86
|
-
been reproduced on a real setup (evidence gate; until then use
|
|
87
|
-
`pending_evidence`).
|
|
88
|
-
|
|
89
|
-
## Consent model (converge)
|
|
90
|
-
|
|
91
|
-
- First `agent-config converge` run persists `install.auto_converge: true`
|
|
92
|
-
into the **global** settings file
|
|
93
|
-
(`~/.event4u/agent-config/agent-settings.yml`). The key is read directly
|
|
94
|
-
by the CLI (converge/upgrade); it is intentionally NOT part of the
|
|
95
|
-
`MERGEABLE_KEYS` whitelist — it never merges into project-level agent
|
|
96
|
-
settings and never reaches session context.
|
|
97
|
-
- Plain `upgrade` without the key keeps the print-only prompt (no silent
|
|
98
|
-
mutation of a user-owned surface — council Q2, 2026-07-07).
|
|
99
|
-
- `converge --dry-run` prints the exact actions without touching anything.
|
|
100
|
-
|
|
101
|
-
## See also
|
|
102
|
-
|
|
103
|
-
- `agents/settings/contexts/claude-code-single-surface-decision.md` —
|
|
104
|
-
parent decision (single surface for Claude Code).
|
|
105
|
-
- `agents/settings/contexts/augment-surface-parity.md` — the Augment
|
|
106
|
-
evidence gate that keeps its duplicate class `pending_evidence`.
|
|
107
|
-
- `docs/contracts/skill-distribution-channels.md` — canonical-channel
|
|
108
|
-
contract the matrix operationalizes.
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-09-15
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Surface tiers — core vs lab
|
|
7
|
-
|
|
8
|
-
Every shipped artefact carries a **surface tier** so lab churn cannot
|
|
9
|
-
destabilise the lean engine users install (road-to-install-contract-stability
|
|
10
|
-
Phase 2).
|
|
11
|
-
|
|
12
|
-
- **`core`** — the lean stable multi-host engine: rules + skills + install +
|
|
13
|
-
condensation, plus the engineering/authoring packs and the script tooling
|
|
14
|
-
that build and ship them. This is the adoptable surface.
|
|
15
|
-
- **`lab`** — experimental / pilot meta-tooling that must not ride the same
|
|
16
|
-
release train as the core: AI media pipelines, the multi-model council, the
|
|
17
|
-
MCP server, prediction-pool, cost analytics, chat-history, benchmarking.
|
|
18
|
-
|
|
19
|
-
The split is council-locked (2026-06-17, claude-sonnet-4-5 + gpt-4o, design
|
|
20
|
-
mode, full convergence). Where it lives:
|
|
21
|
-
|
|
22
|
-
- **Packs/domains** carry `surface_tier: core | lab` in their `pack.yaml`
|
|
23
|
-
manifest (default `core`; sourced from `src/config/discovery/packs.yml`).
|
|
24
|
-
- **`src/scripts/` clusters** are mapped in
|
|
25
|
-
[`src/scripts/surface-tiers.yml`](../../src/scripts/surface-tiers.yml)
|
|
26
|
-
(exhaustive over cluster directories).
|
|
27
|
-
- A **boundary guard** (`scripts/check_surface_tiers.py`) asserts the registry
|
|
28
|
-
is exhaustive and that no `core` module hard-imports a `lab` module.
|
|
29
|
-
|
|
30
|
-
## Pack / domain tiers
|
|
31
|
-
|
|
32
|
-
| Pack / domain | Tier | Reason |
|
|
33
|
-
|---|---|---|
|
|
34
|
-
| engineering-base, git, php, laravel, symfony | core | framework-neutral engineering hygiene + language patterns |
|
|
35
|
-
| javascript, typescript, react, nextjs, python | core | language / framework pattern packs |
|
|
36
|
-
| frontend-design, brand | core | design-intelligence + brand-consistency corpus |
|
|
37
|
-
| product-basic, product-discovery | core | PO/PM + discovery surface |
|
|
38
|
-
| finance-basic, finance-advanced | core | cash/runway + valuation cognition |
|
|
39
|
-
| gtm-sales, gtm-marketing | core | pipeline + positioning surface |
|
|
40
|
-
| ops-people, founder-strategy, small-business, construction | core | stable role/vertical packs |
|
|
41
|
-
| analysis-workbench | core | RCA / post-mortem learning loop, no lab deps |
|
|
42
|
-
| meta, memory, analytics, product-reasoning | core | always-on maintainer engine |
|
|
43
|
-
| **ai-video** | **lab** | AI video pipeline, `trust_level_default: experimental` |
|
|
44
|
-
| **ai-image** | **lab** | AI image generation, `trust_level_default: experimental` |
|
|
45
|
-
| **fun** | **lab** | prediction-pool tips, non-essential, experimental |
|
|
46
|
-
|
|
47
|
-
## Script-cluster tiers
|
|
48
|
-
|
|
49
|
-
Authoritative map: [`src/scripts/surface-tiers.yml`](../../src/scripts/surface-tiers.yml).
|
|
50
|
-
|
|
51
|
-
| Cluster | Tier | Reason |
|
|
52
|
-
|---|---|---|
|
|
53
|
-
| `_cli`, `_lib` | core | install / condense / CLI engine |
|
|
54
|
-
| `adr`, `config`, `hooks`, `schemas`, `skill_tools`, `tools`, `smoke`, `repro` | core | engine tooling: ADR, discovery vocab, hooks, schemas, linters, fixtures |
|
|
55
|
-
| `ai_council` | lab | multi-model council orchestration, external API deps |
|
|
56
|
-
| `mcp_server` | lab | MCP stdio server, separate runtime, pilot distribution |
|
|
57
|
-
| `media`, `ai-video`, `ai-image` | lab | AI media adapters + shared substrate (experimental consumers only) |
|
|
58
|
-
| `command_suggester` | lab | context-aware suggestion engine, pilot; no core caller |
|
|
59
|
-
| `prediction-pool` | lab | prediction-pool optimizer (fun pack) |
|
|
60
|
-
| `cost` | lab | cost tracking / budget gate, observability (not a core/CI dep) |
|
|
61
|
-
| `_archive` | lab | archived / deprecated scripts |
|
|
62
|
-
|
|
63
|
-
Top-level lab scripts (`council_cli`, `chat_history`, `mine_session`,
|
|
64
|
-
`mcp_render`, `bench_ab_*`, `cost_*`, `build_cloud_bundle`,
|
|
65
|
-
`build_linear_digest`, `build_mcp_registry_manifest`, `memory_report`,
|
|
66
|
-
`memory_signal`, …) are listed under `lab_modules` in the registry; every other
|
|
67
|
-
top-level script defaults to `core`.
|
|
68
|
-
|
|
69
|
-
## Core → lab coupling
|
|
70
|
-
|
|
71
|
-
The boundary guard forbids a `core` module from **hard**-importing a `lab`
|
|
72
|
-
module. A `try/except ModuleNotFoundError` *optional* import is allowed —
|
|
73
|
-
core degrades gracefully when lab is absent. The only existing core→lab edges
|
|
74
|
-
are three such guarded optional imports (`_lib/knowledge_global_redaction.py`
|
|
75
|
-
and `_cli/cmd_doctor.py` → `ai_council`); they are tolerated by design.
|
|
76
|
-
|
|
77
|
-
## See also
|
|
78
|
-
|
|
79
|
-
- [`install-layout.md`](install-layout.md) — the install-ABI freeze this split builds on.
|
|
80
|
-
- [`src/scripts/surface-tiers.yml`](../../src/scripts/surface-tiers.yml) — the cluster registry.
|
|
81
|
-
- [`docs/architecture.md`](../architecture.md) — core vs full install (the consumer-facing framing).
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-15
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# telegraph telemetry — multiplier contract
|
|
7
|
-
|
|
8
|
-
> **Status:** suspended (kill-criterion not met in `telegraph-v1`).
|
|
9
|
-
> Telemetry surface records `telegraph_delta_tokens = 0` until a v2 bench
|
|
10
|
-
> proves a positive multiplier on the load-bearing `vs_terse` arm.
|
|
11
|
-
|
|
12
|
-
## Constant
|
|
13
|
-
|
|
14
|
-
| Key | Value | Provenance |
|
|
15
|
-
|---|---|---|
|
|
16
|
-
| `telegraph_multiplier_version` | `v1` | Tied to `internal/bench/reports/telegraph-v1.{json,md}` |
|
|
17
|
-
| `telegraph_multiplier_value` | `0.9155` | `median(terse_control_tokens / condensed_tokens)` over the 10-prompt v1 corpus |
|
|
18
|
-
| `telegraph_multiplier_p10` | `0.4506` | 10th percentile (worst-case carve-out-tax prompts) |
|
|
19
|
-
| `telegraph_multiplier_p90` | `2.3664` | 90th percentile (pure-prose prompts where telegraph wins) |
|
|
20
|
-
| `telegraph_multiplier_active` | `false` | **Suspended** — kill-criterion not met (`vs_terse` median −9.27 %) |
|
|
21
|
-
|
|
22
|
-
The **active** flag gates whether the multiplier is applied to runtime
|
|
23
|
-
telemetry. While `false`, `scripts/telegraph_stats.py` reports
|
|
24
|
-
`telegraph_delta_tokens = 0` regardless of `speak_scope` setting.
|
|
25
|
-
|
|
26
|
-
## How the multiplier is interpreted
|
|
27
|
-
|
|
28
|
-
`telegraph_estimated_uncondensed_tokens = telegraph_condensed_tokens × M`,
|
|
29
|
-
where `M = telegraph_multiplier_value`.
|
|
30
|
-
|
|
31
|
-
`telegraph_delta_tokens = telegraph_estimated_uncondensed_tokens − telegraph_condensed_tokens`.
|
|
32
|
-
|
|
33
|
-
- `M > 1.0` → telegraph condenses; `delta` is **positive** (saving).
|
|
34
|
-
- `M = 1.0` → break-even; no delta surfaced.
|
|
35
|
-
- `M < 1.0` → telegraph costs more than the terse baseline; `delta` is
|
|
36
|
-
**negative**. Surfacing a negative saving is misleading for the
|
|
37
|
-
user (looks like a bug), so the contract is to **suspend the
|
|
38
|
-
multiplier** and record `delta = 0` until a v2 bench lifts `M`
|
|
39
|
-
above `1.0` on the load-bearing arm.
|
|
40
|
-
|
|
41
|
-
## Why suspended after v1
|
|
42
|
-
|
|
43
|
-
The `telegraph-v1` bench (`internal/bench/reports/telegraph-v1.md`, 30 calls,
|
|
44
|
-
2026-05-16) found:
|
|
45
|
-
|
|
46
|
-
- Median savings vs raw uncondensed: **+23.51 %** (inflated by the
|
|
47
|
-
carve-out-tax-free pure-prose prompts).
|
|
48
|
-
- Median savings vs terse-control: **−9.27 %** (load-bearing).
|
|
49
|
-
- Carve-out-heavy prompts (path-list −108 %, mode-marker −123 %)
|
|
50
|
-
drag the median negative.
|
|
51
|
-
|
|
52
|
-
The terse-control arm is the kill-criterion baseline per
|
|
53
|
-
[`condensation-default-kill-criterion.md`](condensation-default-kill-criterion.md).
|
|
54
|
-
Until a v2 bench (broader corpus or a re-tuned dialect) lifts the
|
|
55
|
-
`vs_terse` median to ≥ 0 %, the multiplier stays suspended.
|
|
56
|
-
|
|
57
|
-
## How to lift the suspension
|
|
58
|
-
|
|
59
|
-
1. Run an extended bench against a broader corpus (Phase 3+ work).
|
|
60
|
-
2. If `median(savings_vs_terse) ≥ 0` (and ideally ≥ 30 % to flip the
|
|
61
|
-
rule default), recompute `telegraph_multiplier_value`.
|
|
62
|
-
3. Update this contract: bump `telegraph_multiplier_version` to `v2`,
|
|
63
|
-
set `telegraph_multiplier_active = true`, cite the new bench file.
|
|
64
|
-
4. The change is reversible — drop back to `v1` if a regression
|
|
65
|
-
appears.
|
|
66
|
-
|
|
67
|
-
## Consumers
|
|
68
|
-
|
|
69
|
-
- [`scripts/telegraph_stats.py`](../../src/scripts/telegraph_stats.py) — reads
|
|
70
|
-
this constant, computes per-session / per-conversation / lifetime
|
|
71
|
-
deltas from `agents/cost-tracking/sessions.jsonl`.
|
|
72
|
-
- [`scripts/cost_summary.py`](../../src/scripts/cost_summary.py) — emits
|
|
73
|
-
the stable JSON contract for inter-tool consumption per
|
|
74
|
-
[`cost-summary-schema.md`](cost-summary-schema.md).
|
|
75
|
-
- `agent-status` skill — surfaces the per-session delta in the
|
|
76
|
-
status report under the `[telegraph: …]` widget.
|
|
77
|
-
|
|
78
|
-
## See also
|
|
79
|
-
|
|
80
|
-
- [`condensation-default-kill-criterion.md`](condensation-default-kill-criterion.md) — the rule-default-flip gate; this multiplier is gated on the same `vs_terse` arm.
|
|
81
|
-
- [`internal/bench/reports/telegraph-v1.md`](../../bench/reports/telegraph-v1.md) — provenance for the `v1` value.
|
|
82
|
-
- [`internal/bench/reports/telegraph-v2.md`](../../bench/reports/telegraph-v2.md) — input-side (orthogonal); does NOT feed this multiplier (this multiplier is output-side).
|
|
83
|
-
- [`telegraph-speak`](../../.agent-src.uncondensed/rules/telegraph-speak.md) — runtime rule the multiplier measures.
|