@event4u/agent-config 9.7.0 → 9.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +314 -190
- package/CONTRIBUTING.md +23 -7
- package/MIGRATION.md +20 -0
- package/README.md +57 -11
- package/dist/agent-src/commands/agents/audit.md +1 -1
- package/dist/agent-src/commands/agents/optimize.md +2 -2
- package/dist/agent-src/commands/agents/user.md +1 -1
- package/dist/agent-src/commands/agents.md +1 -1
- package/dist/agent-src/commands/check-current-md.md +3 -3
- package/dist/agent-src/commands/commit/in-chunks.md +8 -0
- package/dist/agent-src/commands/commit.md +17 -0
- package/dist/agent-src/commands/fix/portability.md +2 -2
- package/dist/agent-src/commands/fix/pr-comments-loop.md +136 -0
- package/dist/agent-src/commands/fix/refs.md +2 -2
- package/dist/agent-src/commands/fix/route.md +4 -3
- package/dist/agent-src/commands/fix.md +9 -6
- package/dist/agent-src/commands/ghostwriter.md +1 -1
- package/dist/agent-src/commands/image.md +1 -1
- package/dist/agent-src/commands/optimize/augmentignore.md +1 -1
- package/dist/agent-src/commands/optimize/skills.md +2 -2
- package/dist/agent-src/commands/post-as.md +1 -1
- package/dist/agent-src/commands/pr/create.md +4 -0
- package/dist/agent-src/commands/research.md +1 -1
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/team/delegate.md +4 -0
- package/dist/agent-src/commands/video.md +1 -1
- package/dist/agent-src/contexts/authority/kernel-rule-edits.md +1 -1
- package/dist/agent-src/contexts/contracts/emergency-triage-block.md +2 -2
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +48 -2
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +10 -0
- package/dist/agent-src/contexts/execution/subagent-modes-detail.md +109 -8
- package/dist/agent-src/contexts/execution/subagent-response-contract.md +20 -0
- package/dist/agent-src/contexts/execution/subagent-spawn-contract.md +53 -3
- package/dist/agent-src/contexts/override-system.md +75 -5
- package/dist/agent-src/rules/code-provenance.md +112 -0
- package/dist/agent-src/rules/context-hygiene.md +2 -0
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +97 -0
- package/dist/agent-src/rules/domain-safety-pii.md +1 -0
- package/dist/agent-src/rules/external-code-graph-interop.md +13 -3
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +2 -0
- package/dist/agent-src/rules/git-history-discipline.md +2 -0
- package/dist/agent-src/rules/history-discipline.md +80 -0
- package/dist/agent-src/rules/language-and-tone.md +2 -0
- package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -0
- package/dist/agent-src/rules/media-governance-routing.md +2 -0
- package/dist/agent-src/rules/minimal-safe-diff.md +2 -0
- package/dist/agent-src/rules/no-roadmap-references.md +4 -1
- package/dist/agent-src/rules/non-destructive-by-default.md +20 -0
- package/dist/agent-src/rules/onboarding-gate.md +2 -0
- package/dist/agent-src/rules/output-discipline.md +2 -0
- package/dist/agent-src/rules/persona-governance.md +2 -0
- package/dist/agent-src/rules/php-coding.md +1 -0
- package/dist/agent-src/rules/preservation-guard.md +3 -0
- package/dist/agent-src/rules/reviewer-awareness.md +1 -0
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +1 -0
- package/dist/agent-src/rules/roadmap-progress-sync.md +9 -0
- package/dist/agent-src/rules/scale-discipline.md +92 -0
- package/dist/agent-src/rules/secret-vcs-guard.md +106 -0
- package/dist/agent-src/rules/security-sensitive-stop.md +11 -1
- package/dist/agent-src/rules/session-canary.md +77 -0
- package/dist/agent-src/rules/skill-quality.md +2 -0
- package/dist/agent-src/rules/source-confidentiality.md +2 -0
- package/dist/agent-src/rules/source-of-truth.md +2 -0
- package/dist/agent-src/rules/telegraph-speak.md +2 -0
- package/dist/agent-src/rules/token-optimizer-maintenance.md +3 -1
- package/dist/agent-src/rules/tool-safety.md +4 -1
- package/dist/agent-src/rules/untrusted-input-defense.md +10 -0
- package/dist/agent-src/rules/verify-before-complete.md +2 -0
- package/dist/agent-src/skills/adr-create/SKILL.md +17 -1
- package/dist/agent-src/skills/agent-security-review/SKILL.md +1 -1
- package/dist/agent-src/skills/code-intelligence/SKILL.md +97 -0
- package/dist/agent-src/skills/condense-memory/SKILL.md +1 -1
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +0 -3
- package/dist/agent-src/skills/description-assist/SKILL.md +1 -1
- package/dist/agent-src/skills/design-review/SKILL.md +5 -6
- package/dist/agent-src/skills/design-tokens/SKILL.md +0 -1
- package/dist/agent-src/skills/gated-reach/SKILL.md +185 -0
- package/dist/agent-src/skills/gated-reach/evals/triggers.json +72 -0
- package/dist/agent-src/skills/history-design/SKILL.md +101 -0
- package/dist/agent-src/skills/history-design/evals/triggers.json +17 -0
- package/dist/agent-src/skills/humanizer/SKILL.md +3 -3
- package/dist/agent-src/skills/image-analyser/SKILL.md +14 -12
- package/dist/agent-src/skills/image-editing/SKILL.md +2 -1
- package/dist/agent-src/skills/image-generation/SKILL.md +2 -1
- package/dist/agent-src/skills/image-provider-routing/SKILL.md +2 -2
- package/dist/agent-src/skills/launch-readiness/SKILL.md +1 -1
- package/dist/agent-src/skills/license-compliance-audit/SKILL.md +161 -0
- package/dist/agent-src/skills/license-compliance-audit/evals/triggers.json +52 -0
- package/dist/agent-src/skills/license-compliance-borrow-check/SKILL.md +145 -0
- package/dist/agent-src/skills/license-compliance-borrow-check/evals/triggers.json +52 -0
- package/dist/agent-src/skills/license-compliance-credits/SKILL.md +97 -0
- package/dist/agent-src/skills/license-compliance-credits/evals/triggers.json +52 -0
- package/dist/agent-src/skills/md-language-check/SKILL.md +1 -1
- package/dist/agent-src/skills/override-management/SKILL.md +1 -1
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +7 -7
- package/dist/agent-src/skills/project-analysis-core/SKILL.md +1 -1
- package/dist/agent-src/skills/prompt-engineering-image/SKILL.md +3 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +2 -2
- package/dist/agent-src/skills/readme-writing/SKILL.md +6 -1
- package/dist/agent-src/skills/recursive-verification/SKILL.md +6 -0
- package/dist/agent-src/skills/refine-ticket/SKILL.md +3 -3
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +4 -0
- package/dist/agent-src/skills/rtk-output-filtering/SKILL.md +31 -12
- package/dist/agent-src/skills/rule-refactor/SKILL.md +3 -3
- package/dist/agent-src/skills/schema-review/SKILL.md +92 -0
- package/dist/agent-src/skills/schema-review/evals/triggers.json +17 -0
- package/dist/agent-src/skills/screenshot-hygiene/SKILL.md +171 -0
- package/dist/agent-src/skills/secrets-management/SKILL.md +43 -1
- package/dist/agent-src/skills/security-audit/SKILL.md +1 -1
- package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +1 -1
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +3 -3
- package/dist/agent-src/skills/skill-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/source-discovery/SKILL.md +5 -5
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +45 -85
- package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +5 -4
- package/dist/agent-src/skills/subagent-orchestration/prompts/adversarial-verification-council.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge-two-stage.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-and-judge.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-competitively.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-parallel.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-steps.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/do-in-worktrees.md +29 -0
- package/dist/agent-src/skills/subagent-orchestration/prompts/judge-with-debate.md +29 -0
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -3
- package/dist/agent-src/skills/token-optimizer/SKILL.md +4 -4
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +4 -0
- package/dist/agent-src/skills/worktree-lifecycle/SKILL.md +2 -3
- package/dist/agent-src/templates/AGENTS.md +1 -1
- package/dist/agent-src/templates/agents/.gitattributes.fragment +25 -6
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/command.md +3 -3
- package/dist/agent-src/templates/github-workflows/secret-scan.yml +65 -0
- package/dist/agent-src/templates/persona.md +2 -2
- package/dist/agent-src/templates/rule.md +2 -2
- package/dist/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
- package/dist/agent-src/templates/scripts/telemetry_record.ts +33 -1
- package/dist/cli/commands/doctorShell.js +20 -0
- package/dist/cli/commands/doctorShell.js.map +1 -1
- package/dist/cli/commands/rtkDetect.js +58 -0
- package/dist/cli/commands/rtkDetect.js.map +1 -0
- package/dist/cli/configRoot.js +112 -0
- package/dist/cli/configRoot.js.map +1 -0
- package/dist/cli/configRoot.test.js +97 -0
- package/dist/cli/configRoot.test.js.map +1 -0
- package/dist/cli/firstRunNotice.js +70 -0
- package/dist/cli/firstRunNotice.js.map +1 -0
- package/dist/cli/help.js +4 -1
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/main.js +54 -5
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/registry.js +8 -1
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +502 -101
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +6 -4
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +95 -8
- package/dist/discovery/trust-report.md +11 -11
- package/dist/discovery/workspaces.json +36 -7
- package/dist/hooks/dispatch.js +19475 -0
- package/dist/install/agentSwitchDetection.js +75 -0
- package/dist/install/agentSwitchDetection.js.map +1 -0
- package/dist/install/agentSwitchProfile.js +117 -0
- package/dist/install/agentSwitchProfile.js.map +1 -0
- package/dist/install/atomic.js +1 -1
- package/dist/install/detect.js +1 -1
- package/dist/install/install.mjs +791 -486
- package/dist/install/rtkDetection.js +213 -0
- package/dist/install/rtkDetection.js.map +1 -0
- package/dist/install/rule_scope.js +2 -1
- package/dist/install/rule_scope.js.map +1 -1
- package/dist/install/types.js +2 -2
- package/dist/install/wizard-plan.js +1 -1
- package/dist/install/wizardDismissals.js +58 -0
- package/dist/install/wizardDismissals.js.map +1 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
- package/dist/mcp/registry-manifest.json +15 -4
- package/dist/mcp/server.json +20 -0
- package/dist/mcp/server.mjs +44292 -0
- package/dist/router.json +1 -1
- package/dist/scripts/condense.js +14 -7
- package/dist/scripts/condense.js.map +1 -1
- package/dist/server/app.js +12 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/io/sharedWriteCheck.js +101 -0
- package/dist/server/io/sharedWriteCheck.js.map +1 -0
- package/dist/server/routes/ping.js +32 -0
- package/dist/server/routes/ping.js.map +1 -1
- package/dist/server/routes/settings.js +21 -4
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/routes/userMd.js +21 -4
- package/dist/server/routes/userMd.js.map +1 -1
- package/dist/server/routes/wizard.js +68 -25
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/server/schemas/settings.js +12 -2
- package/dist/server/schemas/settings.js.map +1 -1
- package/dist/server/serverInfo.js +6 -2
- package/dist/server/serverInfo.js.map +1 -1
- package/dist/server/token.js +11 -4
- package/dist/server/token.js.map +1 -1
- package/dist/server/writeRoot.js +15 -1
- package/dist/server/writeRoot.js.map +1 -1
- package/dist/shared/capabilities.js +33 -0
- package/dist/shared/capabilities.js.map +1 -0
- package/dist/shared/capabilities.test.js +39 -0
- package/dist/shared/capabilities.test.js.map +1 -0
- package/dist/ui/assets/index-BpSQt5vm.js +40 -0
- package/dist/ui/assets/index-BpSQt5vm.js.map +1 -0
- package/dist/ui/assets/index-jSfMW8_t.css +1 -0
- package/dist/ui/index.html +15 -6
- package/docs/MIGRATION.md +16 -0
- package/docs/guidelines/component-oriented-and-oop-development.md +4 -2
- package/package.json +22 -9
- package/src/agent-src/templates/AGENTS.md +1 -1
- package/src/agent-src/templates/scripts/telemetry/engagement.ts +77 -0
- package/src/agent-src/templates/scripts/telemetry_record.ts +33 -1
- package/src/config/agent-settings.template.yml +94 -13
- package/src/config/discovery/packs.yml +22 -0
- package/src/config/discovery/workspaces.yml +1 -1
- package/src/config/evaluator-budgets.json +47 -0
- package/src/config/hook-latency-budget.json +20 -0
- package/src/config/reach-channels.yml +217 -0
- package/src/config/reach-prescriptions-intake.yml +200 -0
- package/src/install/agentSwitchDetection.ts +90 -0
- package/src/install/agentSwitchProfile.ts +131 -0
- package/src/install/atomic.ts +1 -1
- package/src/install/detect.ts +1 -1
- package/src/install/rtkDetection.ts +274 -0
- package/src/install/rule_scope.ts +9 -2
- package/src/install/types.ts +2 -2
- package/src/install/wizard-plan.ts +1 -1
- package/src/install/wizardDismissals.ts +60 -0
- package/src/scripts/_cli/cmd_doctor.ts +62 -1
- package/src/scripts/_cli/cmd_memory_get.ts +197 -0
- package/src/scripts/_cli/cmd_refresh.ts +30 -0
- package/src/scripts/_dispatch.bash +96 -0
- package/src/scripts/_lib/auto_dispatch.corpus.test.ts +64 -1
- package/src/scripts/_lib/auto_dispatch.ts +76 -0
- package/src/scripts/_lib/detect_target_license.ts +714 -0
- package/src/scripts/_lib/exec_evidence.ts +251 -0
- package/src/scripts/_lib/fixtures/secret-detector/negatives.txt +15 -0
- package/src/scripts/_lib/fixtures/secret-detector/positives.txt +15 -0
- package/src/scripts/_lib/install_drift.ts +194 -0
- package/src/scripts/_lib/kernel_rules.ts +46 -0
- package/src/scripts/_lib/memory_fts_index.ts +390 -0
- package/src/scripts/_lib/orchestration_record.ts +91 -2
- package/src/scripts/_lib/persistence/adapter_raw_sql.ts +443 -0
- package/src/scripts/_lib/persistence/detect_audit_coverage.ts +423 -0
- package/src/scripts/_lib/persistence/detect_bounded_reads.ts +154 -0
- package/src/scripts/_lib/persistence/detect_index_parity.ts +576 -0
- package/src/scripts/_lib/persistence/detect_n1_eloquent.ts +226 -0
- package/src/scripts/_lib/persistence/detect_offload.ts +441 -0
- package/src/scripts/_lib/persistence/detect_prisma_growth.ts +74 -0
- package/src/scripts/_lib/persistence/offload_catalog.ts +73 -0
- package/src/scripts/_lib/persistence/types.ts +109 -0
- package/src/scripts/_lib/reddit_thread_parse.ts +598 -0
- package/src/scripts/_lib/risk_paths.ts +160 -0
- package/src/scripts/_lib/rtk_allowlist.ts +44 -0
- package/src/scripts/_lib/secret_detector.test.ts +108 -0
- package/src/scripts/_lib/secret_detector.ts +328 -0
- package/src/scripts/_lib/secret_detector_adversarial.test.ts +116 -0
- package/src/scripts/_lib/spawn_env.ts +7 -0
- package/src/scripts/_lib/sqlite_guard.ts +191 -0
- package/src/scripts/_lib/subagent_spawn.ts +53 -0
- package/src/scripts/_lib/tool_probe.ts +359 -0
- package/src/scripts/_lib/worker_budget.ts +107 -0
- package/src/scripts/adr/regenerate_index.ts +81 -6
- package/src/scripts/ai_council/blind_review.ts +0 -0
- package/src/scripts/ai_council/config.ts +12 -6
- package/src/scripts/ai_council/orchestrator.ts +73 -3
- package/src/scripts/ai_team/review_gate.ts +8 -10
- package/src/scripts/ai_team/team_dispatch.ts +48 -0
- package/src/scripts/audit_adr_coverage.ts +33 -0
- package/src/scripts/audit_initial_context.ts +1 -1
- package/src/scripts/bench_cross_source_eval.ts +400 -0
- package/src/scripts/bench_honesty_score.ts +1093 -0
- package/src/scripts/bench_hook_latency.ts +218 -0
- package/src/scripts/build_mcp_catalog.ts +275 -0
- package/src/scripts/build_mcp_registry_manifest.ts +46 -0
- package/src/scripts/build_proof.ts +207 -0
- package/src/scripts/chat_history.ts +8 -5
- package/src/scripts/check_adr_frontmatter.ts +195 -0
- package/src/scripts/check_artefact_count_messaging.ts +4 -0
- package/src/scripts/check_backstop_debt.ts +210 -0
- package/src/scripts/check_bundle_path_leakage.ts +343 -0
- package/src/scripts/check_claims.ts +188 -8
- package/src/scripts/check_comparison.ts +12 -0
- package/src/scripts/check_enforcement_coverage.ts +592 -0
- package/src/scripts/check_evaluator_budgets.ts +99 -0
- package/src/scripts/check_kernel_rule_bundle.ts +16 -12
- package/src/scripts/check_knowledge_sharing.ts +12 -1
- package/src/scripts/check_no_external_sources.ts +2 -2
- package/src/scripts/check_reach_channels.ts +407 -0
- package/src/scripts/check_reach_staleness.ts +364 -0
- package/src/scripts/check_secret_leak.test.ts +47 -0
- package/src/scripts/check_secret_leak.ts +290 -0
- package/src/scripts/check_source_pointer_freshness.ts +28 -3
- package/src/scripts/code_graph/build.ts +0 -0
- package/src/scripts/code_graph/cli.ts +379 -0
- package/src/scripts/code_graph/detect.ts +186 -0
- package/src/scripts/code_graph/extract.ts +386 -0
- package/src/scripts/code_graph/intent.ts +45 -0
- package/src/scripts/code_graph/loader.ts +123 -0
- package/src/scripts/code_graph/query.ts +290 -0
- package/src/scripts/code_graph/sanitize.ts +30 -0
- package/src/scripts/code_graph/sqlite_store.ts +174 -0
- package/src/scripts/code_graph/types.ts +83 -0
- package/src/scripts/code_graph/validate.ts +63 -0
- package/src/scripts/condense.ts +14 -6
- package/src/scripts/context_hygiene_hook.ts +8 -5
- package/src/scripts/council_cli.ts +126 -12
- package/src/scripts/detect_target_license.ts +203 -0
- package/src/scripts/evaluator_umbrella.sh +145 -0
- package/src/scripts/external_sources_denylist.json +8 -4
- package/src/scripts/first_run_gate_hook.ts +9 -5
- package/src/scripts/generate_subagent_floor.ts +194 -0
- package/src/scripts/hermetic-install.sh +3 -3
- package/src/scripts/hook_manifest.yaml +65 -16
- package/src/scripts/hooks/block_kernel_rule_writes.ts +212 -0
- package/src/scripts/hooks/block_no_verify.ts +9 -9
- package/src/scripts/hooks/code_graph_nudge_hook.ts +191 -0
- package/src/scripts/hooks/concern_registry.ts +75 -0
- package/src/scripts/hooks/design_slop_hook.ts +8 -5
- package/src/scripts/hooks/dispatch_entry.ts +37 -0
- package/src/scripts/hooks/dispatch_hook.ts +176 -3
- package/src/scripts/hooks/hook_stdin.ts +42 -0
- package/src/scripts/hooks/rtk_wrap_hook.ts +26 -12
- package/src/scripts/hot_context_hook.ts +7 -6
- package/src/scripts/injection_scan_hook.ts +9 -1
- package/src/scripts/install +6 -6
- package/src/scripts/install-hooks.sh +4 -4
- package/src/scripts/install.sh +5 -4
- package/src/scripts/install.ts +264 -23
- package/src/scripts/iron_law_sha.ts +3 -12
- package/src/scripts/learning_sidecar.ts +0 -0
- package/src/scripts/lint_budget_ownership.ts +89 -0
- package/src/scripts/lint_command_routing.ts +35 -5
- package/src/scripts/lint_command_verbs.ts +42 -9
- package/src/scripts/lint_consumer_internal_refs.ts +211 -0
- package/src/scripts/lint_discovery_vocabulary.ts +2 -0
- package/src/scripts/lint_documented_commands.ts +670 -0
- package/src/scripts/lint_framework_leakage.ts +17 -3
- package/src/scripts/lint_framework_leakage_allowlist.json +32 -0
- package/src/scripts/lint_governed_writes.ts +335 -0
- package/src/scripts/lint_hidden_unicode.ts +6 -0
- package/src/scripts/lint_mcp_registry_manifest.ts +26 -1
- package/src/scripts/lint_memory_tripwire.ts +186 -0
- package/src/scripts/lint_override_kernel_guard.ts +267 -0
- package/src/scripts/lint_persistence.ts +171 -0
- package/src/scripts/lint_pre_migration_refs.ts +106 -0
- package/src/scripts/lint_provenance.ts +547 -0
- package/src/scripts/lint_provenance_vocabulary.ts +437 -0
- package/src/scripts/lint_spawn_payload.ts +283 -0
- package/src/scripts/lint_store_boundary.ts +152 -0
- package/src/scripts/lint_versioned_cache.ts +7 -1
- package/src/scripts/mcp_server/__main__.ts +7 -2
- package/src/scripts/mcp_server/catalog.ts +23 -1
- package/src/scripts/mcp_server/consumer_tool_catalog.json +563 -193
- package/src/scripts/mcp_server/prompts.ts +6 -0
- package/src/scripts/mcp_server/tool_catalog_source.ts +332 -0
- package/src/scripts/mcp_server/tools.ts +56 -5
- package/src/scripts/mcp_telemetry_query.ts +2 -33
- package/src/scripts/mcp_telemetry_store.ts +64 -34
- package/src/scripts/measure_rule_budget.ts +3 -12
- package/src/scripts/memory_learn_hook.ts +126 -0
- package/src/scripts/memory_lookup.ts +0 -0
- package/src/scripts/memory_replay_24.ts +312 -0
- package/src/scripts/memory_report.ts +16 -3
- package/src/scripts/memory_signal.ts +48 -0
- package/src/scripts/memory_status.ts +6 -0
- package/src/scripts/minimal_safe_diff_hook.ts +8 -5
- package/src/scripts/onboarding_gate_hook.ts +8 -5
- package/src/scripts/orchestration_record.ts +16 -0
- package/src/scripts/pr_url_reminder_hook.ts +8 -1
- package/src/scripts/prepack-check.mjs +17 -0
- package/src/scripts/prepack_lifecycle_check.d.mts +8 -0
- package/src/scripts/prepack_lifecycle_check.mjs +82 -0
- package/src/scripts/profile_staleness_hook.ts +8 -7
- package/src/scripts/reach_doctor.ts +1651 -0
- package/src/scripts/release.ts +24 -3
- package/src/scripts/report_install_drift.ts +109 -0
- package/src/scripts/risk_escalation_shadow.ts +160 -0
- package/src/scripts/roadmap_progress_hook.ts +8 -5
- package/src/scripts/schemas/agent-settings.schema.json +23 -0
- package/src/scripts/schemas/license-policy.schema.json +89 -0
- package/src/scripts/schemas/provenance-borrow.schema.json +46 -0
- package/src/scripts/schemas/reach-channels.schema.json +134 -0
- package/src/scripts/schemas/reach-doctor-payload.schema.json +220 -0
- package/src/scripts/schemas/rule.schema.json +20 -0
- package/src/scripts/self_review_gate.test.ts +173 -1
- package/src/scripts/self_review_gate.ts +155 -15
- package/src/scripts/session_canary_hook.ts +182 -0
- package/src/scripts/skill_linter.ts +55 -0
- package/src/scripts/smoke_quickstart.ts +2 -2
- package/src/scripts/surface_probe_hook.ts +8 -7
- package/src/scripts/sync_gitattributes.ts +310 -0
- package/src/scripts/team_review_gate_hook.ts +13 -16
- package/src/scripts/validate_reach_prescriptions.ts +751 -0
- package/src/scripts/verify_before_complete_hook.ts +8 -5
- package/src/scripts/wrapper_freshness_hook.ts +8 -7
- package/src/server/schemas/settings.ts +24 -2
- package/src/shared/capabilities.test.ts +43 -0
- package/src/shared/capabilities.ts +75 -0
- package/src/templates/minimal/agents-overrides-readme.md +20 -0
- package/dist/ui/assets/index-BPFMZWUs.css +0 -1
- package/dist/ui/assets/index-BiEZiZ31.js +0 -40
- package/dist/ui/assets/index-BiEZiZ31.js.map +0 -1
- package/docs/CLAIMS.md +0 -261
- package/docs/DISTRIBUTION_CHECKLIST.md +0 -170
- package/docs/RELEASE_STORY_TEMPLATE.md +0 -37
- package/docs/SKILL_CENSUS.md +0 -352
- package/docs/adrs/cost/0001-hard-stop-hook.md +0 -114
- package/docs/adrs/cost/README.md +0 -9
- package/docs/adrs/memory/0001-consumer-side-snapshot.md +0 -119
- package/docs/adrs/memory/README.md +0 -10
- package/docs/adrs/router/0001-three-tier-routing.md +0 -119
- package/docs/adrs/router/README.md +0 -9
- package/docs/adrs/schema/0001-json-schema-frontmatter.md +0 -102
- package/docs/adrs/schema/README.md +0 -9
- package/docs/adrs/smoke/0001-per-tier-smoke-scripts.md +0 -99
- package/docs/adrs/smoke/README.md +0 -9
- package/docs/adrs/telegraph/0001-default-off-until-bench.md +0 -93
- package/docs/adrs/telegraph/README.md +0 -9
- package/docs/announcements/2026-05-non-dev-launch.md +0 -79
- package/docs/announcements/2026-07-honest-cost-sweep-launch.md +0 -84
- package/docs/anti-reskin-gate.md +0 -60
- package/docs/architecture/augment-projection.md +0 -70
- package/docs/architecture/claude-bundle.md +0 -77
- package/docs/architecture/current-onboard-baseline.md +0 -126
- package/docs/architecture/current-safety-behavior.md +0 -137
- package/docs/architecture/multi-tool-projection.md +0 -125
- package/docs/architecture/setup-vs-settings-shared-surface.md +0 -114
- package/docs/architecture/source-projection.md +0 -85
- package/docs/architecture.md +0 -390
- package/docs/archive/CHANGELOG-6.0.0-overview.md +0 -953
- package/docs/archive/CHANGELOG-7.0.0.md +0 -419
- package/docs/archive/CHANGELOG-pre-2.11.0.md +0 -141
- package/docs/archive/CHANGELOG-pre-2.15.0.md +0 -244
- package/docs/archive/CHANGELOG-pre-2.16.0.md +0 -48
- package/docs/archive/CHANGELOG-pre-2.17.0.md +0 -63
- package/docs/archive/CHANGELOG-pre-2.2.0.md +0 -2138
- package/docs/archive/CHANGELOG-pre-2.20.0.md +0 -159
- package/docs/archive/CHANGELOG-pre-2.25.0.md +0 -191
- package/docs/archive/CHANGELOG-pre-2.7.0.md +0 -185
- package/docs/archive/CHANGELOG-pre-3.0.0.md +0 -130
- package/docs/archive/CHANGELOG-pre-3.1.0.md +0 -167
- package/docs/archive/CHANGELOG-pre-3.2.0.md +0 -268
- package/docs/archive/CHANGELOG-pre-4.0.0.md +0 -80
- package/docs/archive/CHANGELOG-pre-4.5.0.md +0 -289
- package/docs/archive/CHANGELOG-pre-5.4.0.md +0 -260
- package/docs/archive/CHANGELOG-pre-5.9.0.md +0 -270
- package/docs/archive/CHANGELOG-pre-6.0.0.md +0 -473
- package/docs/archive/CHANGELOG-pre-7.0.0.md +0 -126
- package/docs/archive/CHANGELOG-pre-8.0.0.md +0 -301
- package/docs/archive/CHANGELOG-pre-8.1.0.md +0 -316
- package/docs/archive/CHANGELOG-pre-8.12.0.md +0 -304
- package/docs/archive/CHANGELOG-pre-8.9.0.md +0 -306
- package/docs/archive/CHANGELOG-pre-9.2.0.md +0 -276
- package/docs/artefact-census.md +0 -71
- package/docs/benchmark.md +0 -648
- package/docs/benchmark.pinned.yml +0 -31
- package/docs/benchmarks.md +0 -85
- package/docs/capability-matrix.md +0 -33
- package/docs/case-studies/_template.md +0 -60
- package/docs/case-studies/frontend-design-positioning.md +0 -86
- package/docs/catalog.md +0 -721
- package/docs/command-flows.md +0 -272
- package/docs/command-naming-audit.md +0 -60
- package/docs/comparison.yaml +0 -45
- package/docs/contracts/CHANGELOG-conventions.md +0 -149
- package/docs/contracts/STABILITY.md +0 -188
- package/docs/contracts/adoption-signal-floor.md +0 -127
- package/docs/contracts/adr-architectural-consensus-mechanism.md +0 -68
- package/docs/contracts/adr-chat-history-split.md +0 -140
- package/docs/contracts/adr-command-suggestion.md +0 -144
- package/docs/contracts/adr-forecast-construction-shape.md +0 -90
- package/docs/contracts/adr-gtm-context-spine.md +0 -116
- package/docs/contracts/adr-implement-ticket-runtime.md +0 -121
- package/docs/contracts/adr-install-user-type-axis.md +0 -107
- package/docs/contracts/adr-layout.md +0 -107
- package/docs/contracts/adr-level-6-productization.md +0 -145
- package/docs/contracts/adr-mcp-runtime.md +0 -128
- package/docs/contracts/adr-product-ui-track.md +0 -381
- package/docs/contracts/adr-prompt-driven-execution.md +0 -186
- package/docs/contracts/adr-settings-sync-engine.md +0 -128
- package/docs/contracts/adr-user-types-axis.md +0 -127
- package/docs/contracts/adr-wing4-context-spine.md +0 -126
- package/docs/contracts/agent-user-schema.md +0 -170
- package/docs/contracts/agents-layout.md +0 -148
- package/docs/contracts/agents-md-tech-stack.md +0 -75
- package/docs/contracts/ai-council-config.md +0 -829
- package/docs/contracts/ai-team-config.md +0 -224
- package/docs/contracts/analysis-memory-loop.md +0 -149
- package/docs/contracts/at-rest-encryption.md +0 -191
- package/docs/contracts/audit-log-v1.md +0 -150
- package/docs/contracts/auto-orchestration-v1.md +0 -70
- package/docs/contracts/benchmark-ab-contract.md +0 -106
- package/docs/contracts/benchmark-corpus-spec.md +0 -125
- package/docs/contracts/benchmark-report-schema.md +0 -113
- package/docs/contracts/branch-protection-policy.md +0 -139
- package/docs/contracts/brand-token-consumption.md +0 -74
- package/docs/contracts/capability-boundary.md +0 -69
- package/docs/contracts/capability-packs.md +0 -217
- package/docs/contracts/ci-cost-budget.md +0 -111
- package/docs/contracts/ci-green-floor.md +0 -141
- package/docs/contracts/command-category-governance.md +0 -84
- package/docs/contracts/command-clusters.md +0 -399
- package/docs/contracts/command-surface-tiers.md +0 -176
- package/docs/contracts/command-taxonomy.md +0 -137
- package/docs/contracts/condensation-default-kill-criterion.md +0 -116
- package/docs/contracts/config-presets.md +0 -144
- package/docs/contracts/conformance.md +0 -84
- package/docs/contracts/consumer-bridge.md +0 -73
- package/docs/contracts/context-paths.md +0 -101
- package/docs/contracts/context-spine.md +0 -179
- package/docs/contracts/cost-dashboard.md +0 -143
- package/docs/contracts/cost-enforcement.md +0 -134
- package/docs/contracts/cost-profile-defaults.md +0 -110
- package/docs/contracts/cost-summary-schema.md +0 -107
- package/docs/contracts/creative-pack-boundary.md +0 -63
- package/docs/contracts/cross-repo-retrieval.md +0 -64
- package/docs/contracts/cross-wing-handoff.md +0 -134
- package/docs/contracts/daily-workspace.md +0 -147
- package/docs/contracts/decision-engine-gates.md +0 -120
- package/docs/contracts/decision-trace-v1.md +0 -177
- package/docs/contracts/design-artifact-lifecycle.md +0 -93
- package/docs/contracts/design-artifact-verification.md +0 -153
- package/docs/contracts/discovery-manifest.md +0 -209
- package/docs/contracts/discovery-manifest.schema.json +0 -254
- package/docs/contracts/evidence-based-pruning.md +0 -102
- package/docs/contracts/explain-modes.md +0 -187
- package/docs/contracts/explain-trace.schema.json +0 -144
- package/docs/contracts/file-ownership-matrix.json +0 -13941
- package/docs/contracts/file-ownership-matrix.md +0 -135
- package/docs/contracts/frontmatter-contract.md +0 -140
- package/docs/contracts/ghostwriter-schema.md +0 -337
- package/docs/contracts/governance-enforcement-projection.md +0 -159
- package/docs/contracts/gui-wizard.md +0 -350
- package/docs/contracts/harness-expectations.md +0 -128
- package/docs/contracts/hook-architecture-v1.md +0 -325
- package/docs/contracts/host-agent-protocol.md +0 -110
- package/docs/contracts/implement-ticket-flow.md +0 -625
- package/docs/contracts/init-telemetry.md +0 -132
- package/docs/contracts/injected-block-authenticity-model.md +0 -66
- package/docs/contracts/install-layout.md +0 -249
- package/docs/contracts/install-scopes.md +0 -82
- package/docs/contracts/installed-tools-lockfile.md +0 -144
- package/docs/contracts/installer-agent-mode.md +0 -137
- package/docs/contracts/iron-law-overrides.txt +0 -26
- package/docs/contracts/kernel-membership.md +0 -339
- package/docs/contracts/linear-ai-rules-inclusion.md +0 -143
- package/docs/contracts/linear-ai-three-layers.md +0 -130
- package/docs/contracts/linter-structural-model.md +0 -181
- package/docs/contracts/load-context-budget-model.md +0 -259
- package/docs/contracts/load-context-schema.md +0 -220
- package/docs/contracts/local-analytics.md +0 -160
- package/docs/contracts/local-knowledge-ingestion.md +0 -96
- package/docs/contracts/local-server-api.md +0 -134
- package/docs/contracts/low-impact-corpus-format.md +0 -95
- package/docs/contracts/mcp-beta-criteria.md +0 -130
- package/docs/contracts/mcp-cloud-scope.md +0 -355
- package/docs/contracts/mcp-discovery-phase-notice.md +0 -60
- package/docs/contracts/mcp-phase-1-scope.md +0 -272
- package/docs/contracts/mcp-registry-manifest.schema.json +0 -129
- package/docs/contracts/mcp-tool-inventory.md +0 -64
- package/docs/contracts/mcp-tool-stub-envelope.md +0 -78
- package/docs/contracts/measurement-baseline.md +0 -103
- package/docs/contracts/memory-visibility-v1.md +0 -160
- package/docs/contracts/mental-models.md +0 -336
- package/docs/contracts/migrate-command.md +0 -233
- package/docs/contracts/multi-tool-projection-fidelity.md +0 -134
- package/docs/contracts/namespace.md +0 -125
- package/docs/contracts/no-runtime-boundary.md +0 -61
- package/docs/contracts/one-off-script-lifecycle.md +0 -110
- package/docs/contracts/orchestration-dsl-v1.md +0 -153
- package/docs/contracts/package-self-orientation.md +0 -163
- package/docs/contracts/pilot/agent-authority.md +0 -24
- package/docs/contracts/pilot/direct-answers.md +0 -70
- package/docs/contracts/pilot/language-and-tone.md +0 -63
- package/docs/contracts/plain-language-surface.md +0 -117
- package/docs/contracts/prelaunch-diagnostics.md +0 -151
- package/docs/contracts/profile-system.md +0 -167
- package/docs/contracts/reasoning-discipline-protocol.md +0 -83
- package/docs/contracts/release-pr-gating.md +0 -151
- package/docs/contracts/release-sizing.md +0 -107
- package/docs/contracts/release-trunk-sync.md +0 -105
- package/docs/contracts/review-lens-schema.md +0 -64
- package/docs/contracts/roadmap-complexity-standard.md +0 -138
- package/docs/contracts/role-experience.md +0 -125
- package/docs/contracts/router-blending.md +0 -71
- package/docs/contracts/rule-classification.md +0 -171
- package/docs/contracts/rule-interactions.md +0 -132
- package/docs/contracts/rule-interactions.yml +0 -260
- package/docs/contracts/rule-priority-hierarchy.md +0 -88
- package/docs/contracts/rule-router.md +0 -287
- package/docs/contracts/safety-model.md +0 -129
- package/docs/contracts/session-profile-overlay.md +0 -157
- package/docs/contracts/settings-api.md +0 -264
- package/docs/contracts/settings-gui-agent-mode.schema.json +0 -128
- package/docs/contracts/settings-sync-yaml-subset.md +0 -139
- package/docs/contracts/skill-bundled-assets.md +0 -62
- package/docs/contracts/skill-discovery.md +0 -80
- package/docs/contracts/skill-distribution-channels.md +0 -66
- package/docs/contracts/skill-domains.md +0 -144
- package/docs/contracts/skill-dry-run.md +0 -47
- package/docs/contracts/skill-family-map.yml +0 -915
- package/docs/contracts/smoke-contracts.md +0 -144
- package/docs/contracts/subagent-boundary.md +0 -59
- package/docs/contracts/surface-agent-contracts.md +0 -153
- package/docs/contracts/surface-matrix.md +0 -108
- package/docs/contracts/surface-tiers.md +0 -81
- package/docs/contracts/telegraph-telemetry.md +0 -83
- package/docs/contracts/ticket-bundle-format.md +0 -233
- package/docs/contracts/tier-3-contrib-plugin.md +0 -137
- package/docs/contracts/trust-and-safety.md +0 -144
- package/docs/contracts/ui-stack-extension.md +0 -237
- package/docs/contracts/ui-track-flow.md +0 -329
- package/docs/contracts/universal-skills.md +0 -91
- package/docs/contracts/user-type-schema.md +0 -146
- package/docs/contracts/value-dashboard-spec.md +0 -378
- package/docs/contracts/value-report-schema.md +0 -168
- package/docs/contracts/workflow-packs.md +0 -121
- package/docs/contracts/workspace-boundary.md +0 -84
- package/docs/contracts/workspace-documents.md +0 -144
- package/docs/contracts/write-engine.md +0 -182
- package/docs/cookbook.md +0 -152
- package/docs/customization.md +0 -685
- package/docs/decisions/ADR-001-kernel-swap-deferred.md +0 -109
- package/docs/decisions/ADR-002-kernel-bucket-overrides.md +0 -135
- package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +0 -137
- package/docs/decisions/ADR-004-rule-governance-pruning.md +0 -240
- package/docs/decisions/ADR-005-subagent-worktrees.md +0 -120
- package/docs/decisions/ADR-006-skill-tools-python-pilot.md +0 -114
- package/docs/decisions/ADR-007-agent-discovery-scopes.md +0 -371
- package/docs/decisions/ADR-008-installed-tools-manifest.md +0 -160
- package/docs/decisions/ADR-009-event4u-namespace.md +0 -188
- package/docs/decisions/ADR-010-profile-pack-preset-boundary.md +0 -168
- package/docs/decisions/ADR-011-domain-pack-readiness.md +0 -213
- package/docs/decisions/ADR-012-typescript-cli-shell.md +0 -162
- package/docs/decisions/ADR-013-discovery-frontmatter-contract.md +0 -342
- package/docs/decisions/ADR-014-gui-framework-choice.md +0 -136
- package/docs/decisions/ADR-015-discovery-manifest-contract.md +0 -146
- package/docs/decisions/ADR-016-installer-architecture.md +0 -189
- package/docs/decisions/ADR-017-monorepo-physical-layout.md +0 -261
- package/docs/decisions/ADR-018-trust-and-safety-layer.md +0 -159
- package/docs/decisions/ADR-019-router-json-dist-location.md +0 -124
- package/docs/decisions/ADR-020-global-only-consumer-scope.md +0 -213
- package/docs/decisions/ADR-021-deployment-shape.md +0 -153
- package/docs/decisions/ADR-022-daily-workspace-decomposition.md +0 -140
- package/docs/decisions/ADR-023-host-agent-protocol.md +0 -129
- package/docs/decisions/ADR-024-workspace-v0-feature-floor.md +0 -126
- package/docs/decisions/ADR-025-workspace-chrome.md +0 -119
- package/docs/decisions/ADR-026-explain-mode-translation.md +0 -117
- package/docs/decisions/ADR-027-changelog-machine-vs-manual.md +0 -129
- package/docs/decisions/ADR-028-root-layout.md +0 -147
- package/docs/decisions/ADR-029-multi-workspace-deferred.md +0 -122
- package/docs/decisions/ADR-030-claude-code-command-projection.md +0 -147
- package/docs/decisions/ADR-031-validation-severity-tiers-and-projection-roundtrip.md +0 -97
- package/docs/decisions/ADR-032-linked-projects-scope.md +0 -122
- package/docs/decisions/ADR-033-distribution-identity-npm-primary.md +0 -81
- package/docs/decisions/ADR-034-per-skill-model-recommendation-transport.md +0 -63
- package/docs/decisions/ADR-035-model-capability-tiers.md +0 -104
- package/docs/decisions/ADR-036-global-install-browser-wizard-handoff.md +0 -106
- package/docs/decisions/ADR-037-cost-profile-untangle.md +0 -117
- package/docs/decisions/ADR-038-canonical-settings-path.md +0 -96
- package/docs/decisions/ADR-039-claude-skills-untracked.md +0 -139
- package/docs/decisions/ADR-040-execution-model-projection-time-filtering.md +0 -244
- package/docs/decisions/ADR-041-controlled-command-verbs.md +0 -133
- package/docs/decisions/ADR-042-runtime-resolver-decision-gate.md +0 -113
- package/docs/decisions/ADR-043-monorepo-collapse-to-src-domains.md +0 -128
- package/docs/decisions/ADR-044-command-naming-scheme-hyphenated.md +0 -250
- package/docs/decisions/ADR-045-src-source-layout-and-profiles-as-views.md +0 -111
- package/docs/decisions/ADR-046-thin-command-principle.md +0 -93
- package/docs/decisions/ADR-047-framework-neutral-stack-adaptive-commands.md +0 -94
- package/docs/decisions/ADR-048-command-justification-rule.md +0 -106
- package/docs/decisions/ADR-049-configuration-trust-boundary.md +0 -132
- package/docs/decisions/ADR-050-workspace-vs-package-root-boundary.md +0 -121
- package/docs/decisions/ADR-051-uncondensed-source-container-relocation.md +0 -114
- package/docs/decisions/ADR-052-packages-removal-and-pack-home-migration.md +0 -86
- package/docs/decisions/ADR-053-agents-namespace-dual-role-resolution.md +0 -132
- package/docs/decisions/ADR-054-rule-adherence-decay-triggered-restate.md +0 -143
- package/docs/decisions/ADR-055-flow-layer-data-model.md +0 -235
- package/docs/decisions/ADR-056-unvalidated-video-adapters-disposition.md +0 -124
- package/docs/decisions/ADR-057-consolidation-evidence-gate-outcomes.md +0 -135
- package/docs/decisions/ADR-058-condensed-output-relocation-to-dist.md +0 -94
- package/docs/decisions/ADR-059-render-resume-filesystem-as-state.md +0 -161
- package/docs/decisions/ADR-060-comfyui-sandbox-model.md +0 -154
- package/docs/decisions/ADR-061-corpus-grounding-layer.md +0 -230
- package/docs/decisions/ADR-062-encrypt-at-rest-store-architecture.md +0 -121
- package/docs/decisions/ADR-063-append-jsonl-encryption-deferred.md +0 -83
- package/docs/decisions/ADR-064-append-jsonl-per-record-encryption.md +0 -113
- package/docs/decisions/ADR-065-tier3-inbox-handoff-v0.md +0 -86
- package/docs/decisions/ADR-066-skill-body-prerendering.md +0 -93
- package/docs/decisions/ADR-067-glama-registry-listing.md +0 -259
- package/docs/decisions/ADR-068-host-tier-detection.md +0 -90
- package/docs/decisions/ADR-069-prompt-renderer.md +0 -97
- package/docs/decisions/ADR-070-tier1-drive-loop.md +0 -94
- package/docs/decisions/ADR-071-launch-drive-integration.md +0 -95
- package/docs/decisions/ADR-072-codex-gemini-drive-configs.md +0 -90
- package/docs/decisions/ADR-073-drive-health-kill-switch.md +0 -81
- package/docs/decisions/ADR-074-drive-kill-switch-auto-recovery.md +0 -84
- package/docs/decisions/ADR-075-workspace-gui-drive.md +0 -83
- package/docs/decisions/ADR-076-workspace-multi-turn.md +0 -92
- package/docs/decisions/ADR-077-workspace-followup-gui.md +0 -70
- package/docs/decisions/ADR-078-drive-health-panel.md +0 -70
- package/docs/decisions/ADR-079-workspace-host-picker.md +0 -81
- package/docs/decisions/ADR-080-host-session-expired-410.md +0 -92
- package/docs/decisions/ADR-081-drive-health-reset-and-410-affordance.md +0 -71
- package/docs/decisions/ADR-082-410-one-click-relaunch.md +0 -58
- package/docs/decisions/ADR-083-session-thread-and-arbitrary-continuation.md +0 -85
- package/docs/decisions/ADR-084-drive-health-refresh-on-drive.md +0 -52
- package/docs/decisions/ADR-085-mcp-stdio-end-user-distribution-shape.md +0 -158
- package/docs/decisions/ADR-086-read-only-cross-agent-mcp-discovery-helper.md +0 -171
- package/docs/decisions/ADR-087-installer-e2e-test-strategy.md +0 -111
- package/docs/decisions/ADR-088-no-external-runtime-federation.md +0 -144
- package/docs/decisions/ADR-089-lean-local-plugin-install.md +0 -111
- package/docs/decisions/ADR-090-visibility-command-frontmatter-field.md +0 -95
- package/docs/decisions/ADR-091-split-meta-capability-packs.md +0 -113
- package/docs/decisions/ADR-092-defer-command-tier-alias-removal.md +0 -117
- package/docs/decisions/ADR-093-ai-council-config-user-global.md +0 -117
- package/docs/decisions/ADR-094-agent-memory-layer-removal.md +0 -94
- package/docs/decisions/ADR-095-workspace-boundary-contract.md +0 -108
- package/docs/decisions/ADR-096-analysis-workbench.md +0 -110
- package/docs/decisions/ADR-097-mission-recipe-privilege-boundary.md +0 -121
- package/docs/decisions/ADR-098-evidence-first-structure-discovery.md +0 -154
- package/docs/decisions/ADR-099-file-first-pattern-library.md +0 -87
- package/docs/decisions/ADR-100-global-knowledge-card-sharing.md +0 -140
- package/docs/decisions/ADR-101-ticket-bundle-emission.md +0 -109
- package/docs/decisions/ADR-102-ticket-handoff-paste-and-mcp.md +0 -72
- package/docs/decisions/ADR-103-global-knowledge-default-off-until-measured.md +0 -92
- package/docs/decisions/ADR-104-ai-council-config-global-only.md +0 -119
- package/docs/decisions/ADR-105-automatic-subagent-orchestration.md +0 -108
- package/docs/decisions/ADR-106-recursive-verification-benchmark-gate.md +0 -126
- package/docs/decisions/ADR-107-legal-domain-pack-adoption.md +0 -70
- package/docs/decisions/ADR-108-open-source-forever-no-commercial-tier.md +0 -46
- package/docs/decisions/ADR-109-subagent-v1-contract.md +0 -246
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +0 -110
- package/docs/decisions/ADR-111-canonical-glama-listing.md +0 -97
- package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +0 -92
- package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +0 -201
- package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +0 -85
- package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +0 -91
- package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +0 -144
- package/docs/decisions/ADR-117-subagents-auto-default-on.md +0 -89
- package/docs/decisions/ADR-118-loop-engineering-boundaries.md +0 -162
- package/docs/decisions/ADR-119-global-knowledge-default-on.md +0 -104
- package/docs/decisions/ADR-120-council-chairman-mode.md +0 -70
- package/docs/decisions/ADR-121-knowledge-sensitivity-classes.md +0 -90
- package/docs/decisions/ADR-122-adversarial-verification-council.md +0 -166
- package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +0 -142
- package/docs/decisions/ADR-200-python-to-typescript-migration.md +0 -203
- package/docs/decisions/ADR-rule-kernel-and-router.md +0 -133
- package/docs/decisions/INDEX.md +0 -136
- package/docs/deploy/connector-setup.md +0 -129
- package/docs/deploy/env-vars.md +0 -70
- package/docs/deploy/policy-cookbook.md +0 -130
- package/docs/deploy/quickstart.md +0 -112
- package/docs/deploy/small-team-recipe.md +0 -148
- package/docs/deploy/team-deployment-posture.md +0 -111
- package/docs/design/adversarial-council-eval.md +0 -106
- package/docs/design/council-vs-solo-baseline.md +0 -92
- package/docs/design/cross-model-parity-eval.md +0 -82
- package/docs/design/length-neutral-judge-rerun.md +0 -92
- package/docs/design/utilization-window-criteria.md +0 -51
- package/docs/development.md +0 -230
- package/docs/distribution/awesome-list-submission.md +0 -46
- package/docs/distribution/consumer-matrix.md +0 -96
- package/docs/distribution/launch-story-draft.md +0 -58
- package/docs/distribution/mcp-submission-checklist.md +0 -95
- package/docs/distribution/public-install-smoke.md +0 -68
- package/docs/distribution/registries.md +0 -117
- package/docs/distribution/registry-submissions.md +0 -85
- package/docs/distribution/telemetry-privacy.md +0 -128
- package/docs/distribution/telemetry-schema.md +0 -174
- package/docs/distribution/topics-equivalents-decay-policy.md +0 -51
- package/docs/end-to-end-walkthroughs.md +0 -165
- package/docs/enforcement-by-host.md +0 -44
- package/docs/examples/agent-user.example.md +0 -22
- package/docs/experiences/agency.md +0 -49
- package/docs/experiences/content_creator.md +0 -49
- package/docs/experiences/developer.md +0 -49
- package/docs/experiences/finance.md +0 -50
- package/docs/experiences/founder.md +0 -49
- package/docs/experiences/ops.md +0 -49
- package/docs/featured-commands.md +0 -27
- package/docs/featured-skills.md +0 -95
- package/docs/flows.md +0 -67
- package/docs/getting-started-by-role.md +0 -190
- package/docs/getting-started-laravel.md +0 -72
- package/docs/getting-started-local-stdio.md +0 -77
- package/docs/getting-started.md +0 -254
- package/docs/github-topics.md +0 -93
- package/docs/governance-advantage.md +0 -72
- package/docs/governance.md +0 -96
- package/docs/guides/cross-repo-linked-projects.md +0 -93
- package/docs/guides/cross-repo-retrieval.md +0 -61
- package/docs/guides/frontend-design-corpus-refresh.md +0 -83
- package/docs/guides/local-analytics.md +0 -125
- package/docs/guides/local-knowledge.md +0 -127
- package/docs/guides/skill-discovery.md +0 -71
- package/docs/guides/skill-preview.md +0 -71
- package/docs/hook-payload-capture.md +0 -221
- package/docs/install-friction-report.md +0 -66
- package/docs/installation.md +0 -959
- package/docs/maintainers/branch-protection.md +0 -105
- package/docs/maintainers/dev-mode.md +0 -106
- package/docs/maintainers/optional-media-deps.md +0 -50
- package/docs/maintainers/system-map.md +0 -85
- package/docs/mcp-registries.md +0 -94
- package/docs/mcp-server.md +0 -175
- package/docs/mcp.md +0 -147
- package/docs/media/proof-demo.cast +0 -14
- package/docs/media/proof-demo.gif +0 -0
- package/docs/migration/consumer-template-consumption-model.md +0 -145
- package/docs/migration/divergences/README.md +0 -55
- package/docs/migration/divergences/_template.md +0 -50
- package/docs/migration/divergences/bench-stats-float-precision.md +0 -72
- package/docs/migration/divergences/mcp-telemetry-node-sqlite.md +0 -61
- package/docs/migration/divergences/pack-mcp-content-gzip-body.md +0 -53
- package/docs/migration/divergences/src-scripts-build_cloud_bundle.md +0 -63
- package/docs/migration/divergences/src-scripts-check_memory.md +0 -91
- package/docs/migration/divergences/src-scripts-inventory_abstraction_budget.md +0 -65
- package/docs/migration/divergences/src-scripts-lint_marketplace.md +0 -57
- package/docs/migration/divergences/src-scripts-lint_mcp_registry_manifest.md +0 -70
- package/docs/migration/divergences/src-scripts-spotcheck_thin_root.md +0 -60
- package/docs/migration/divergences/src-scripts-validate_agent_settings.md +0 -58
- package/docs/migration/node-floor.md +0 -86
- package/docs/migration/v1-to-v2.md +0 -156
- package/docs/migration/yaml-roundtrip-spike.md +0 -163
- package/docs/migrations/commands-1.15.0.md +0 -117
- package/docs/parity/bench-external.json +0 -58
- package/docs/parity/bench.json +0 -41
- package/docs/parity/command-frontmatter.md +0 -60
- package/docs/parity/external-runtime.md +0 -46
- package/docs/personas.md +0 -178
- package/docs/positioning-evidence.md +0 -86
- package/docs/profiles.md +0 -108
- package/docs/proof.md +0 -176
- package/docs/quality.md +0 -98
- package/docs/readme-split-plan.md +0 -102
- package/docs/recruits/_template.md +0 -81
- package/docs/release-runbook.md +0 -141
- package/docs/role-experiences.md +0 -19
- package/docs/safety.md +0 -30
- package/docs/second-brain-scope.md +0 -116
- package/docs/self-review-gate.md +0 -65
- package/docs/setup/enterprise-and-offline.md +0 -201
- package/docs/setup/mcp-client-config.md +0 -358
- package/docs/setup/mcp-cloud-endpoints.md +0 -116
- package/docs/setup/mcp-cloud-registry-listing.md +0 -99
- package/docs/setup/mcp-cloud-setup.md +0 -183
- package/docs/setup/mcp-r2-bootstrap.md +0 -82
- package/docs/setup/mcp-server-docker.md +0 -101
- package/docs/setup/per-ide/aider.md +0 -48
- package/docs/setup/per-ide/antigravity.md +0 -68
- package/docs/setup/per-ide/augment.md +0 -89
- package/docs/setup/per-ide/claude-code.md +0 -97
- package/docs/setup/per-ide/claude-desktop.md +0 -207
- package/docs/setup/per-ide/cline.md +0 -43
- package/docs/setup/per-ide/codebuddy.md +0 -63
- package/docs/setup/per-ide/codex.md +0 -46
- package/docs/setup/per-ide/continue.md +0 -68
- package/docs/setup/per-ide/copilot.md +0 -80
- package/docs/setup/per-ide/cursor.md +0 -125
- package/docs/setup/per-ide/droid.md +0 -65
- package/docs/setup/per-ide/gemini-cli.md +0 -45
- package/docs/setup/per-ide/jetbrains.md +0 -76
- package/docs/setup/per-ide/kilocode.md +0 -66
- package/docs/setup/per-ide/kiro.md +0 -72
- package/docs/setup/per-ide/opencode.md +0 -62
- package/docs/setup/per-ide/qoder.md +0 -63
- package/docs/setup/per-ide/roocode.md +0 -68
- package/docs/setup/per-ide/trae.md +0 -63
- package/docs/setup/per-ide/warp.md +0 -63
- package/docs/setup/per-ide/windsurf.md +0 -109
- package/docs/setup/per-ide/zed.md +0 -73
- package/docs/showcase.md +0 -209
- package/docs/skill-duplication-findings.md +0 -91
- package/docs/skills-catalog.md +0 -265
- package/docs/skills-taxonomy.md +0 -90
- package/docs/spawn-site-policy.md +0 -72
- package/docs/succession.md +0 -80
- package/docs/threat-model.md +0 -29
- package/docs/troubleshooting.md +0 -155
- package/docs/ui-track-mental-model.md +0 -121
- package/docs/us-vs-the-category.md +0 -38
- package/docs/value.md +0 -86
- package/docs/walkthroughs/assets/workspace-role-grid.png +0 -0
- package/docs/walkthroughs/assets/workspace-session-started.png +0 -0
- package/docs/walkthroughs/assets/workspace-task-picker.png +0 -0
- package/docs/walkthroughs/daily-workspace-a11y.md +0 -87
- package/docs/walkthroughs/daily-workspace.md +0 -127
- package/docs/wedge/production-validator/README.md +0 -81
- package/docs/wedge/production-validator/first-run-check.sh +0 -42
- package/docs/wedge/production-validator/production-validator.md +0 -83
- package/docs/wizard.md +0 -173
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-14
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# User-type Schema — runtime review-lens axis
|
|
7
|
-
|
|
8
|
-
> **Status:** active · **Stability:** beta · **Owner:** step-6-user-types-axis
|
|
9
|
-
> · **Linter:** `scripts/skill_linter.py § lint_usertype`
|
|
10
|
-
> · **Source-of-truth dir:** `.agent-src.uncondensed/user-types/`
|
|
11
|
-
> · **Sibling axis (distinct):** install-time `user-types/` (package root) — see [`adr-install-user-type-axis`](adr-install-user-type-axis.md)
|
|
12
|
-
> · **ADR:** [`adr-user-types-axis`](adr-user-types-axis.md)
|
|
13
|
-
|
|
14
|
-
Locks the canonical user-type shape. A user-type is a **runtime review
|
|
15
|
-
lens** simulating a real end-user of the software under review (a
|
|
16
|
-
galabau field crew, a metalworking shop, a truck driver). It is the
|
|
17
|
-
twin of `personas/` along a different axis: persona = *how* we review
|
|
18
|
-
(methodology — qa, senior-engineer); user-type = *who* we simulate
|
|
19
|
-
(end-user — domain workflow + operational reality).
|
|
20
|
-
|
|
21
|
-
## § 1 — Frontmatter
|
|
22
|
-
|
|
23
|
-
| Key | Type | Required | Notes |
|
|
24
|
-
|---|---|---|---|
|
|
25
|
-
| `id` | string | yes | lowercase-hyphenated, must match filename stem |
|
|
26
|
-
| `kind` | const `user-type` | yes | discriminator — locks this file as a review-lens user-type, separates it from the install-time user-type-axis YAMLs |
|
|
27
|
-
| `description` | string | yes | one sentence, ≤ 160 chars (linter cap matches persona) |
|
|
28
|
-
| `version` | string | yes | semver; bump on breaking changes |
|
|
29
|
-
| `source` | enum | yes | `package` \| `project` — project-specific is the typical case (consumer-domain end-users) |
|
|
30
|
-
|
|
31
|
-
`user-types:` is NOT a skill-frontmatter key in v1. The axis is
|
|
32
|
-
CLI-only (`/refine-ticket --user-type=<id>`). Skill-level defaults are
|
|
33
|
-
deferred to v2 — see [`adr-user-types-axis`](adr-user-types-axis.md).
|
|
34
|
-
|
|
35
|
-
## § 2 — Required section spine (locked)
|
|
36
|
-
|
|
37
|
-
User-types share the spine across the axis — no Core/Specialist split,
|
|
38
|
-
no tier enum. Every user-type carries all seven sections:
|
|
39
|
-
|
|
40
|
-
1. **Focus** — one paragraph. Who this lens is, the operational
|
|
41
|
-
context they work in, and what no other lens catches. End with one
|
|
42
|
-
sentence pinning the boundary: review-lens only, never operational
|
|
43
|
-
instruction source.
|
|
44
|
-
2. **Daily Workflow** — concrete day-shape, not generic prose. What
|
|
45
|
-
they do at 06:00, 10:00, 15:00; what they look at, what they touch,
|
|
46
|
-
what they wait for.
|
|
47
|
-
3. **Vocabulary** — domain terms the software must use (or must NOT
|
|
48
|
-
substitute). Bilingual where the trade is bilingual. Plain-language
|
|
49
|
-
over engineer-language where the user is non-technical.
|
|
50
|
-
4. **Operational Constraints** — mobile / offline / gloves / noise /
|
|
51
|
-
PPE / time pressure / connectivity / lighting / dead-zones /
|
|
52
|
-
hours-of-service / break-windows / shop-floor vs office split.
|
|
53
|
-
Each constraint is a UI / flow signal, not generic empathy.
|
|
54
|
-
5. **Unique Questions** — ≥ 3 questions no persona asks verbatim.
|
|
55
|
-
Each must be falsifiable against the ticket under review. (Linter
|
|
56
|
-
warns < 3, matches persona heuristic.)
|
|
57
|
-
6. **Ticket Red Flags** — what this lens would flag as missing or
|
|
58
|
-
unrealistic when reviewing a ticket. Bullet list, each item names a
|
|
59
|
-
concrete signal a generic reviewer would miss.
|
|
60
|
-
7. **Anti-Patterns** — what this lens must refuse to do. Guardrails
|
|
61
|
-
are non-negotiable here: **review-only, never operational
|
|
62
|
-
instruction**. No trade execution (welding procedure, electrical
|
|
63
|
-
work, structural advice). No dangerous how-to. No medical / legal
|
|
64
|
-
/ engineering advice. Generic prose ("consider usability") is
|
|
65
|
-
itself an anti-pattern.
|
|
66
|
-
|
|
67
|
-
`Composes well with` is permitted as an optional eighth section
|
|
68
|
-
(advisory pairings with personas), not budget-counted.
|
|
69
|
-
|
|
70
|
-
## § 3 — Size budget
|
|
71
|
-
|
|
72
|
-
| Section count | Line cap | Rationale |
|
|
73
|
-
|---|---|---|
|
|
74
|
-
| 7 | ≤ 120 | Matches the persona core budget. Spine is wider than a
|
|
75
|
-
core persona (7 vs 5 sections) but narrower than a wing-3/4 specialist
|
|
76
|
-
(no Critical Rules + Workflows blocks). 120 is the larger of the two
|
|
77
|
-
candidate caps and the persona core uses it for a 5-section spine —
|
|
78
|
-
the extra two sections need the headroom. |
|
|
79
|
-
|
|
80
|
-
Enforced by `lint-skills` against the full file including frontmatter
|
|
81
|
-
and trailing blank line.
|
|
82
|
-
|
|
83
|
-
## § 4 — Anti-Generic Quality Bar (merge gate)
|
|
84
|
-
|
|
85
|
-
Every user-type must encode **≥ 5 concrete, domain-specific review
|
|
86
|
-
points** across `Daily Workflow`, `Vocabulary`, `Operational
|
|
87
|
-
Constraints`, and `Ticket Red Flags`. Generic prose is REJECTED at
|
|
88
|
-
lint or review time:
|
|
89
|
-
|
|
90
|
-
- ❌ "consider mobile usability" → ✅ "capacitive touch fails with
|
|
91
|
-
wet leather gloves at 4 °C; tap targets ≥ 60 px or voice command"
|
|
92
|
-
- ❌ "think about offline" → ✅ "no signal in cellar yards; queue
|
|
93
|
-
changes locally, conflict-resolve on the morning brief"
|
|
94
|
-
- ❌ "users want reports" → ✅ "end-of-day proof = timestamped photo
|
|
95
|
-
+ customer signature + GPS fix; anything less is a billing dispute"
|
|
96
|
-
|
|
97
|
-
The Reviewer test: a generic reviewer persona could not have produced
|
|
98
|
-
the `Unique Questions` or `Ticket Red Flags` of this file. If they
|
|
99
|
-
could, the file is generic.
|
|
100
|
-
|
|
101
|
-
## § 5 — Guardrails (encoded in every Anti-Patterns block)
|
|
102
|
-
|
|
103
|
-
User-types are review lenses, not operational manuals. Every file's
|
|
104
|
-
`## Anti-Patterns` section MUST explicitly forbid:
|
|
105
|
-
|
|
106
|
-
- Trade-execution instructions (welding procedure, electrical work,
|
|
107
|
-
structural advice, anything that could harm if followed)
|
|
108
|
-
- Dangerous how-to (chemical handling, equipment operation, work-at-
|
|
109
|
-
height procedures)
|
|
110
|
-
- Medical / legal / engineering advice that requires a licensed
|
|
111
|
-
practitioner
|
|
112
|
-
|
|
113
|
-
Allowed and encouraged: workflow realism, ticket gap analysis,
|
|
114
|
-
terminology correction, mobile / offline / safety / approval signals
|
|
115
|
-
as ticket-requirement signals.
|
|
116
|
-
|
|
117
|
-
## § 6 — Schema enforcement
|
|
118
|
-
|
|
119
|
-
The linter (`scripts/skill_linter.py § lint_usertype`) enforces:
|
|
120
|
-
|
|
121
|
-
- frontmatter shape (table in § 1)
|
|
122
|
-
- `kind` const value
|
|
123
|
-
- required sections per § 2
|
|
124
|
-
- size budget per § 3
|
|
125
|
-
- ≥ 3 bullets in `Unique Questions`
|
|
126
|
-
- `id` matches filename stem
|
|
127
|
-
- description ≤ 160 chars
|
|
128
|
-
|
|
129
|
-
Authors must use the template at
|
|
130
|
-
`.agent-src.uncondensed/user-types/_template/user-type.md`.
|
|
131
|
-
|
|
132
|
-
## § 7 — Versioning
|
|
133
|
-
|
|
134
|
-
Section rename / add / remove → ADR + linter update + user-type
|
|
135
|
-
migrations in the same PR. Size-cap tightening is breaking when it
|
|
136
|
-
forces existing user-types to lose content; size-cap loosening is
|
|
137
|
-
non-breaking. The `kind` const is locked — renaming requires a major
|
|
138
|
-
version bump and a separate ADR.
|
|
139
|
-
|
|
140
|
-
## See also
|
|
141
|
-
|
|
142
|
-
- [`persona-schema`](persona-schema.md) — sister axis (methodology vs end-user)
|
|
143
|
-
- [`adr-user-types-axis`](adr-user-types-axis.md) — why the axis split exists
|
|
144
|
-
- [`adr-install-user-type-axis`](adr-install-user-type-axis.md) — the install-time `user_type` axis (distinct layer, same vocabulary)
|
|
145
|
-
- `.agent-src.uncondensed/user-types/README.md` — authoring entry point
|
|
146
|
-
- `.agent-src.uncondensed/user-types/_template/user-type.md` — template starter
|
|
@@ -1,378 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-28
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Value Dashboard Spec — what the package costs and what it saves
|
|
7
|
-
|
|
8
|
-
> Contract for `docs/value.md` — a single human-readable dashboard that
|
|
9
|
-
> answers the owner's question *"what does this package cost me and what
|
|
10
|
-
> does it save me, in plain numbers a non-expert can read"*. Companion
|
|
11
|
-
> to [`value-report-schema.md`](value-report-schema.md) which owns the
|
|
12
|
-
> per-report JSON shape this contract layers semantics onto.
|
|
13
|
-
|
|
14
|
-
## Scope
|
|
15
|
-
|
|
16
|
-
This contract covers the **dashboard surface** that consolidates three
|
|
17
|
-
existing measurement systems (A/B `docs/benchmark.md`, telegraph
|
|
18
|
-
`internal/bench/reports/telegraph-v*`, frugality
|
|
19
|
-
`agents/runtime/frugality/baseline.jsonl`) into one two-panel page. It
|
|
20
|
-
does **not** redefine the underlying measurement contracts — it is a
|
|
21
|
-
derived view on top of them, and the raw reports remain the
|
|
22
|
-
machine-readable source of truth.
|
|
23
|
-
|
|
24
|
-
## Source
|
|
25
|
-
|
|
26
|
-
- **Chat thread:** 2026-05-27 (the owner's verdict: *"Aktuell bringen
|
|
27
|
-
diese Benchmarks nichts. Ich weiß worum es geht und verstehe sie nicht <!-- md-language-check: ignore -->
|
|
28
|
-
mal."*)
|
|
29
|
-
- **Roadmap:** `road-to-readable-value-dashboard` (archived)
|
|
30
|
-
- **Extends:** archived `road-to-package-impact-benchmark.md` (A/B
|
|
31
|
-
surface) and archived `step-4-measurement-and-benchmark.md`
|
|
32
|
-
(telegraph + selection bench).
|
|
33
|
-
|
|
34
|
-
## Producer / consumer surface
|
|
35
|
-
|
|
36
|
-
| Concern | Owner |
|
|
37
|
-
|---|---|
|
|
38
|
-
| Rung normalisation (raw report → `value-v1` rung) | `scripts/_lib/value_ladder.py` |
|
|
39
|
-
| `value-v1` JSON assembly | `scripts/_lib/value_report.py` |
|
|
40
|
-
| rtk savings measurement (new) | `scripts/bench_rtk_savings.py` + `internal/bench/corpora/rtk/commands.yaml` |
|
|
41
|
-
| Rendered dashboard | `scripts/render_value_md.py` → `docs/value.md` |
|
|
42
|
-
| Dashboard linter | `scripts/lint_value_dashboard.py` |
|
|
43
|
-
| Task orchestration | `taskfiles/value.yml` (`task value*`) |
|
|
44
|
-
|
|
45
|
-
## Canonical output path
|
|
46
|
-
|
|
47
|
-
**Decision (2026-05-28):** the dashboard lives at **`docs/value.md`**,
|
|
48
|
-
a sibling of (not a replacement for) `docs/benchmark.md`.
|
|
49
|
-
|
|
50
|
-
Rationale:
|
|
51
|
-
|
|
52
|
-
- `docs/benchmark.md` is the A/B-technical appendix (cache key,
|
|
53
|
-
methodology, integrity check, history). It serves a different reader
|
|
54
|
-
— a maintainer auditing the variant axis — and already has a
|
|
55
|
-
contract, schema, and renderer. Replacing it would either lose the
|
|
56
|
-
technical surface or bloat the dashboard.
|
|
57
|
-
- `docs/value.md` is the human dashboard — the page a non-developer
|
|
58
|
-
opens to answer the cost/value question. It is derived (no raw
|
|
59
|
-
measurement happens here; the renderer reads existing reports).
|
|
60
|
-
- The two pages cross-link: `value.md` links down to `benchmark.md` for
|
|
61
|
-
the methodological detail; `benchmark.md`'s Track A row is reframed
|
|
62
|
-
in Phase 4 Step 5 to point a reader who wants impact at `value.md`.
|
|
63
|
-
|
|
64
|
-
## Two panels
|
|
65
|
-
|
|
66
|
-
### Panel A — Cost ladder (cumulative, min → max)
|
|
67
|
-
|
|
68
|
-
The package's full cost picture as a layperson reads it top-to-bottom.
|
|
69
|
-
Each rung is a measurement (or a clearly-marked `pending` placeholder),
|
|
70
|
-
not a marketing number. The ladder is **honest about the up-front
|
|
71
|
-
cost**: installing the package first *adds* input tokens (rules load
|
|
72
|
-
into context); condense + rtk + terse then claw that back. The
|
|
73
|
-
**NET** line is the real answer.
|
|
74
|
-
|
|
75
|
-
Rung order:
|
|
76
|
-
|
|
77
|
-
1. **Without package** — baseline. Token delta = 0. Reference rung; the
|
|
78
|
-
ladder is computed relative to this.
|
|
79
|
-
2. **With package (rule load)** — the honest up-front cost. The
|
|
80
|
-
always-loaded kernel + router footprint added to every request's
|
|
81
|
-
input. Token delta is *positive* (the rule body lands in context).
|
|
82
|
-
Source: `metric_a_footprint` from `frugality/baseline.jsonl`.
|
|
83
|
-
3. **+ condense** — the input-side carve-out savings from
|
|
84
|
-
condensation (`.agent-src.uncondensed` → `dist/agent-src`). Source:
|
|
85
|
-
`internal/bench/reports/telegraph-v2.json`. **Excludes Thin-Root
|
|
86
|
-
files** (AGENTS.md variants — they net negative); the Thin-Root
|
|
87
|
-
caveat surfaces as a footnote, not a hidden exclusion.
|
|
88
|
-
4. **+ rtk** — output-side savings on verbose CLI output that the
|
|
89
|
-
agent would otherwise pipe into its context. New measurement:
|
|
90
|
-
`scripts/bench_rtk_savings.py` against
|
|
91
|
-
`internal/bench/corpora/rtk/commands.yaml`. `pending` when `rtk`
|
|
92
|
-
is not installed (with install hint per `missing-tool-handling`).
|
|
93
|
-
5. **+ terse (telegraph)** — output-side carve-out from
|
|
94
|
-
telegraph-condensed agent replies vs. a "be concise" control.
|
|
95
|
-
Source: `telegraph-v1` `vs_terse`. **Measured median is negative
|
|
96
|
-
today** (−9.27%); the rung renders with its real value and a
|
|
97
|
-
one-line "why" note. Decision in this spec (see § "Terse rung
|
|
98
|
-
honesty" below): render as a rung with the negative value, do
|
|
99
|
-
not move to Panel B.
|
|
100
|
-
|
|
101
|
-
The renderer prints, per rung:
|
|
102
|
-
|
|
103
|
-
- **label** — short English ("With package (rule load) / +load")
|
|
104
|
-
- **what-it-does** — one phrase a non-developer understands
|
|
105
|
-
- **token_delta** — signed integer (positive = adds tokens)
|
|
106
|
-
- **eur_delta** — token_delta priced at the reference scale below
|
|
107
|
-
- **cumulative_pct** — running cumulative as % of baseline request
|
|
108
|
-
size
|
|
109
|
-
- **confidence** — `measured` | `estimated` | `vendor-claim` |
|
|
110
|
-
`pending`
|
|
111
|
-
- **source_report** — relative path to the raw report this rung
|
|
112
|
-
was derived from (`pending` rungs cite the report that *would*
|
|
113
|
-
produce them)
|
|
114
|
-
|
|
115
|
-
### Panel B — Behaviour (with vs. without)
|
|
116
|
-
|
|
117
|
-
The package's strongest value, currently unmeasured live. Four
|
|
118
|
-
metrics, each carrying `with` / `without` / `delta` plus a run
|
|
119
|
-
`mode` (`live` | `dry-run`) so a dry-run number can never
|
|
120
|
-
masquerade as evidence.
|
|
121
|
-
|
|
122
|
-
1. **Right-skill selection** — the existing selection-accuracy
|
|
123
|
-
bench (`tests/eval/corpus-dev.yaml`, top-K hit rate). The
|
|
124
|
-
bench already exists; surface its `with` vs. `without` result.
|
|
125
|
-
2. **Destructive-op stops** — the 5 destructive/security prompts
|
|
126
|
-
already defined in `benchmark-corpus-spec.md`. For each:
|
|
127
|
-
does the agent refuse / stop / ask before the destructive
|
|
128
|
-
action? Metric: `stops: N/5 vs M/5`. This is the safety value
|
|
129
|
-
the Hard-Floor rules deliver — currently unquantified.
|
|
130
|
-
3. **Ask-vs-act ratio** — from the existing A/B Track B runner
|
|
131
|
-
when run in `--mode live`. Lower ratio = more decisive agent
|
|
132
|
-
under autonomy mandate (`personal.autonomy: on`).
|
|
133
|
-
4. **Task completion rate** — A/B Track B `completion_rate`,
|
|
134
|
-
`with` vs. `without`. `live` mode required for evidence;
|
|
135
|
-
`dry-run` runs are clearly badged and excluded from the
|
|
136
|
-
headline number.
|
|
137
|
-
|
|
138
|
-
The renderer prints, per metric: label · what-this-means caption ·
|
|
139
|
-
with · without · delta · mode badge (`live` / `dry-run`).
|
|
140
|
-
|
|
141
|
-
## Ladder rung data model
|
|
142
|
-
|
|
143
|
-
Every rung in the `cost_ladder` array carries:
|
|
144
|
-
|
|
145
|
-
```yaml
|
|
146
|
-
id: <kebab-case> # e.g. "load", "condense", "rtk"
|
|
147
|
-
label: "<English>" # e.g. "With package (rule load)"
|
|
148
|
-
what_it_does: "<one phrase>" # plain language, ≤ 80 chars
|
|
149
|
-
token_delta: <signed int> # per-request input token delta
|
|
150
|
-
eur_delta: <float> # token_delta priced at reference scale
|
|
151
|
-
cumulative_pct: <signed float> # running cumulative as % of baseline
|
|
152
|
-
confidence: measured | estimated | vendor-claim | pending
|
|
153
|
-
source_report: <relative path> # the raw report this was derived from
|
|
154
|
-
footnote: "<optional caveat>" # e.g. "Thin-Root files excluded"
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
`token_delta` is the per-request delta (single request, average
|
|
158
|
-
shape). `eur_delta` is computed at the **reference scale** below.
|
|
159
|
-
|
|
160
|
-
## Reference scale
|
|
161
|
-
|
|
162
|
-
- **1,000 requests per measurement period** (default reference).
|
|
163
|
-
- **Average request shape:** ~8 k input tokens / ~600 output
|
|
164
|
-
tokens (matches the A/B Track B median observed in the
|
|
165
|
-
available reports).
|
|
166
|
-
- **Model tier:** Sonnet (default development model in the
|
|
167
|
-
repository's `.agent-settings.yml`). Token→€ conversion reads
|
|
168
|
-
`internal/bench/pricing.yaml` row `sonnet`. If the user picks
|
|
169
|
-
another tier, the renderer recomputes against that row.
|
|
170
|
-
|
|
171
|
-
The reference scale is documented inline in `docs/value.md` (the
|
|
172
|
-
glossary block); the renderer never silently changes it.
|
|
173
|
-
|
|
174
|
-
## Confidence taxonomy
|
|
175
|
-
|
|
176
|
-
| Marker | Meaning |
|
|
177
|
-
|---|---|
|
|
178
|
-
| `measured` | Derived from a raw report under `internal/bench/reports/` produced by an in-repo script |
|
|
179
|
-
| `estimated` | Computed by `value_ladder.py` from primary measurements (e.g. cumulative %) |
|
|
180
|
-
| `vendor-claim` | Quoted from an upstream source without local measurement (used for context, never the headline) |
|
|
181
|
-
| `pending` | The rung exists in the schema but no measurement is available yet |
|
|
182
|
-
|
|
183
|
-
Never label a `pending` rung `measured`. Never render a negative
|
|
184
|
-
number under `confidence: measured` as a "saving" — the linter
|
|
185
|
-
catches this.
|
|
186
|
-
|
|
187
|
-
## Panel B rule attribution (telemetry)
|
|
188
|
-
|
|
189
|
-
The `behaviour` block's `with`-arm value is driven by rules the agent
|
|
190
|
-
activates while solving each task. The router-telemetry replay
|
|
191
|
-
(Phase 3 of `road-to-value-dashboard-netto-cuts`) writes per-corpus
|
|
192
|
-
hit counts to `internal/bench/reports/router-telemetry/latest.json`.
|
|
193
|
-
Two fields gate the optimisation pass:
|
|
194
|
-
|
|
195
|
-
- `panel_b_untouchable_rules` — tier-1 rules that activated on at
|
|
196
|
-
least one Track B task. **Hard floor for Phase 5 dead-rule audit**
|
|
197
|
-
— these rules are not candidates for demotion or deletion.
|
|
198
|
-
- `panel_b_tier2_drivers` — tier-2 rules that activated on Track B.
|
|
199
|
-
Documented for transparency; tier-2 rules already lazy-load per
|
|
200
|
-
the rule-router contract, so no roadmap touches them, but if a
|
|
201
|
-
future phase ever cuts tier-2, this list is the floor.
|
|
202
|
-
|
|
203
|
-
The 2026-05-28 replay against the 13-task Track B corpus surfaced
|
|
204
|
-
**zero tier-1 rules** in the Panel B activation set; the three
|
|
205
|
-
tier-2 drivers were `domain-safety-pii`, `downstream-changes`,
|
|
206
|
-
`model-recommendation`. Phase 5's audit therefore has free reign on
|
|
207
|
-
the 20 never-matched tier-1 rules.
|
|
208
|
-
|
|
209
|
-
## Behaviour-metric set
|
|
210
|
-
|
|
211
|
-
Each metric in the `behaviour` block carries:
|
|
212
|
-
|
|
213
|
-
```yaml
|
|
214
|
-
id: <kebab-case> # e.g. "selection", "destructive-stops"
|
|
215
|
-
label: "<English>"
|
|
216
|
-
what_this_means: "<one line>" # plain language caption
|
|
217
|
-
with: <value> # metric-specific (pct, count, ratio)
|
|
218
|
-
without: <value>
|
|
219
|
-
delta: <signed value> # with - without
|
|
220
|
-
unit: pct | count | ratio | seconds
|
|
221
|
-
mode: live | dry-run
|
|
222
|
-
source_report: <relative path>
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
## Terse rung honesty
|
|
226
|
-
|
|
227
|
-
The `telegraph-v1` `vs_terse` median is **−9.27%** — telegraph-style
|
|
228
|
-
output is *more verbose* than a "be concise" control in the measured
|
|
229
|
-
corpus. This roadmap considered two options:
|
|
230
|
-
|
|
231
|
-
1. Render the rung in Panel A with its real (negative) value and a
|
|
232
|
-
one-line "why" caption.
|
|
233
|
-
2. Move telegraph from Panel A to Panel B as a quality lever (impact
|
|
234
|
-
on the agent's output style) rather than a cost saver.
|
|
235
|
-
|
|
236
|
-
**Decision (2026-05-28):** option 1. The page's credibility is the
|
|
237
|
-
product (per the non-goals section of the roadmap). Hiding the
|
|
238
|
-
negative number — even by relocating it to a "quality" panel —
|
|
239
|
-
would betray the for-dummies-honest framing. The rung renders with
|
|
240
|
-
its measured value, `confidence: measured`, and a caption: *"In our
|
|
241
|
-
test corpus, telegraph delivers more tokens than a neutral
|
|
242
|
-
'be terse' — we measure, we do not hide."*
|
|
243
|
-
|
|
244
|
-
## Glossary (rendered into `docs/value.md`)
|
|
245
|
-
|
|
246
|
-
Plain-language one-sentence definitions for the non-developer
|
|
247
|
-
reader. The glossary block is the source-of-truth; the renderer
|
|
248
|
-
copies it verbatim into the dashboard.
|
|
249
|
-
|
|
250
|
-
- **Token** — the unit a language model bills in. Roughly: one
|
|
251
|
-
token ≈ 4 characters of English / German prose. 1,000 tokens ≈
|
|
252
|
-
750 words.
|
|
253
|
-
- **Input tokens** — everything the model reads each turn
|
|
254
|
-
(system prompt, rules that load every request, your message,
|
|
255
|
-
prior conversation). The package adds rules here, so installing
|
|
256
|
-
it costs input tokens.
|
|
257
|
-
- **Output tokens** — what the model writes back. Usually fewer
|
|
258
|
-
than input. Per-token output costs more than input.
|
|
259
|
-
- **condense** — a build step that shrinks the rule files
|
|
260
|
-
before they ship (`.agent-src.uncondensed` →
|
|
261
|
-
`dist/agent-src`). Saves input tokens on every request.
|
|
262
|
-
- **rtk** — the *Rust Token Killer*, a CLI wrapper that strips
|
|
263
|
-
verbose output (`git status`, lint output, test runners) before
|
|
264
|
-
the model reads it. Saves input tokens on tool calls.
|
|
265
|
-
- **terse / telegraph** — a style of output (short phrases,
|
|
266
|
-
dropped articles) the agent uses when condensing replies.
|
|
267
|
-
Saves output tokens — when the corpus rewards it.
|
|
268
|
-
- **Without package / With package** — the two arms of the A/B
|
|
269
|
-
comparison.
|
|
270
|
-
- **Δ Tokens** — input-token difference per request vs. the baseline.
|
|
271
|
-
The rendered dashboard reports cost in **tokens only** — no € figure.
|
|
272
|
-
A €/USD comparison would assume per-call API pricing, which the many
|
|
273
|
-
users on subscriptions do not pay; tokens are the currency-neutral
|
|
274
|
-
metric. The `eur_delta` fields remain in the JSON for back-compat but
|
|
275
|
-
are not rendered. (Historical € figures elsewhere in this spec are
|
|
276
|
-
dated examples, kept as record.)
|
|
277
|
-
|
|
278
|
-
## Honest baseline appendix
|
|
279
|
-
|
|
280
|
-
The real numbers measured at the time this spec was written
|
|
281
|
-
(2026-05-28). Each subsequent phase of the roadmap closes one
|
|
282
|
-
gap — the baseline lets the reader see what was unknown when the
|
|
283
|
-
dashboard was first conceived.
|
|
284
|
-
|
|
285
|
-
**Correction 2026-05-28 (Phase 1 of `road-to-value-dashboard-netto-cuts`):**
|
|
286
|
-
The `load` rung previously read `agents/runtime/frugality/baseline.jsonl`
|
|
287
|
-
which measures a hardcoded 6-rule canon
|
|
288
|
-
(`scripts/measure_frugality_savings.py::CANON_RULES`) — NOT the
|
|
289
|
-
actual always-loaded kernel. The real kernel has 10 rules per
|
|
290
|
-
`dist/router.json::kernel`. After fix:
|
|
291
|
-
|
|
292
|
-
| Metric | Before fix | After fix | Delta |
|
|
293
|
-
|---|---:|---:|---:|
|
|
294
|
-
| `load` token delta | +4 843 | **+8 977** | +4 134 |
|
|
295
|
-
| NET token delta | +4 120 | **+8 254** | +4 134 |
|
|
296
|
-
| NET `cumulative_pct` | +51.5 % | **+103.2 %** | +51.7 pp |
|
|
297
|
-
| NET €/1k requests | +€11.37 | **+€22.78** | +€11.41 |
|
|
298
|
-
|
|
299
|
-
The original dashboard under-reported the base-load by ~4 100
|
|
300
|
-
tokens/request. Panel B's behaviour numbers are unaffected (they
|
|
301
|
-
measure agent behaviour, not token footprint).
|
|
302
|
-
|
|
303
|
-
**Optimisation pass 1 close-out (2026-05-28, `road-to-value-dashboard-netto-cuts`):**
|
|
304
|
-
|
|
305
|
-
- Phase 1 — load rung corrected (above).
|
|
306
|
-
- Phase 2 — `dist/router.json` minified 31 643 → 16 450 B; audit confirmed it is not in any host's per-request context, so the saving is hygiene-only, not a measured Panel-A rung.
|
|
307
|
-
- Phase 3 — router-telemetry replay shipped (`internal/bench/reports/router-telemetry/latest.json`); finding: zero tier-1 rules fire on Track B; the three tier-2 drivers are `domain-safety-pii`, `downstream-changes`, `model-recommendation`.
|
|
308
|
-
- Phase 4 — duplicate-trigger dedup closed with zero cuts: 16 clusters identified, all semantically distinct cross-cutting concerns. The council's "30 % redundancy" hypothesis is refuted; verified redundancy is 0 %.
|
|
309
|
-
- Phase 5 — tier-1 dead-rule audit closed with zero cuts: of 20 never-matched rules, 19 are bench-blind / measurement-window / cluster-head (load-bearing despite zero corpus hits); the lone demote candidate (`symfony-routing`) is kept to preserve cross-stack portability.
|
|
310
|
-
- Phase 6 — full live Track B re-run skipped: Phase 1-5 made no rule-body or frontmatter edits, so by construction Panel B is unchanged from the 2026-05-28 baseline (`with` 84.6 % completion, `without` 7.7 % completion). Re-running would consume tokens to re-confirm a known value.
|
|
311
|
-
|
|
312
|
-
**Pass outcome:** NET moved from +4 120 (mis-measured) to **+8 254 tokens / request** (honest); Panel B held by construction. The pass's value is the corrected measurement floor + the new telemetry tooling, not any in-place rule cuts. Cuts must wait until the bench corpus is widened to exercise the rules' real trigger surfaces (git, onboarding, roadmap work, long-conversation windows, autonomy moments).
|
|
313
|
-
|
|
314
|
-
**Optimisation pass 2 close-out (2026-05-29, `road-to-corpus-expansion-evidence-based-cuts`):**
|
|
315
|
-
|
|
316
|
-
- Phase 1 — corpus-surface inventory + state-fixture feasibility scan: 15 of 20 rules classified `addressable`; 5 state-bound (`autonomous-execution`, `context-hygiene`, `fast-path-marker-visibility`, `low-impact-corpus-privacy-floor`, `onboarding-gate`) get a permanent `keep-pending-state-trigger` verdict. 2/5 (`onboarding-gate`, `context-hygiene`) have feasible fixtures (documented but not built).
|
|
317
|
-
- Phase 2 — 5 corpus extension files shipped under `internal/bench/corpora/router-coverage/`, 24 tasks total (well under the 40-task ceiling). New `intended_triggers` + `open_files` + `command` fields on the per-prompt schema; linter validates against `dist/router.json` rule ids.
|
|
318
|
-
- Phase 3 — `scripts/router_telemetry.py` extended with manifest auto-discovery + `intended_vs_observed_match` per task + `unintended_activation_histogram` aggregate (Council R3 inter-rule conflict detection). Replay: **never-matched-tier-1 = 20 → 11**. The 11 split cleanly into 5 state-bound + 5 intent-only (NEW structural class — intent-only triggers cannot be exercised by router-telemetry replay regardless of corpus) + 1 partial.
|
|
319
|
-
- Phase 4 — second tier-1 audit, informed by widened corpus. The candidate set reduces to 1 real audit row (`artifact-engagement-recording`) — defended as load-bearing infrastructure for `/implement-ticket` + `/work` engine telemetry. Pareto raw-flagged 4 candidates with the tightened Council R3 thresholds (`body > 3 000 chars` AND `absolute_activations < 3` AND `activation_rate < 30 % of addressable_tasks`); all 4 are false-positives caused by the structural-unreachability dimension the pareto does not encode.
|
|
320
|
-
- Phase 5 — zero cuts (0 demotes, 0 deletes). Same outcome as pass-1, but for a fundamentally different reason: pass-1 closed with zero cuts because the corpus was blind; pass-2 closes with zero cuts because the widened corpus **proved every tier-1 rule has structural reason to exist**.
|
|
321
|
-
- Phase 6 — full live Track B re-run skipped: Phase 1-5 made zero rule-body / frontmatter / kernel edits — Panel B is unchanged from the 2026-05-28 baseline by construction.
|
|
322
|
-
|
|
323
|
-
**Pass outcome:** NET unchanged at **+8 254 tokens / request** (+103.2 % vs. baseline, +€22.78 per 1 000 requests). The pass's actual deliverable is the **structural categorisation** of the 20 previously-never-matched rules — future audits no longer need to re-debate why these rules don't fire in standard corpora. 5 state-bound + 5 intent-only are permanently classified as router-replay-unreachable. The Pass B (kernel-body refactor) deferral remains intact — no candidate qualifies under the tightened thresholds.
|
|
324
|
-
|
|
325
|
-
**Pass B status: deferred / closed for now.** Zero genuine candidates surfaced; the 4 raw-pareto flags are all false-positives. Reopen only when a tier-1 rule both activates frequently in the widened corpus AND has a body that exceeds the kernel-budget ceiling — current state has neither.
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
| Surface | Real number today | Gap |
|
|
330
|
-
|---|---|---|
|
|
331
|
-
| A/B Track A | `100% vs 0%` — file presence, a tautology | Reframed in Phase 4 Step 5 |
|
|
332
|
-
| A/B Track B | `—` — no `live` run on record | Closed in Phase 3 Step 1 |
|
|
333
|
-
| Telegraph input-side (condense) | median **+3.52%** savings (Thin-Root files net **−3.92% to −4.84%**) | Aggregated to a single rung in Phase 2 Step 2; Thin-Root surfaced as footnote |
|
|
334
|
-
| Telegraph output-side (`vs_terse`) | median **−9.27%** | Rendered honestly per § "Terse rung honesty" above |
|
|
335
|
-
| rtk savings | **not measured anywhere** | Closed in Phase 2 Step 3 (new `bench_rtk_savings.py`) |
|
|
336
|
-
| Right-skill selection (Track A vs. Track B coverage) | exists in the dev corpus; not surfaced as `with` vs. `without` | Closed in Phase 3 Step 2 |
|
|
337
|
-
| Destructive-op stops | 5 prompts exist in the corpus spec; not measured | Closed in Phase 3 Step 3 |
|
|
338
|
-
|
|
339
|
-
## Honesty constraints (non-goals)
|
|
340
|
-
|
|
341
|
-
These come from the roadmap and are restated here so a future
|
|
342
|
-
maintainer cannot soften them in a later spec edit without
|
|
343
|
-
deliberately rewriting this section.
|
|
344
|
-
|
|
345
|
-
- **No marketing numbers.** If condense nets negative on
|
|
346
|
-
Thin-Root files, the dashboard says so. The credibility of the
|
|
347
|
-
page is the product.
|
|
348
|
-
- **No cross-model study.** One model (the local `claude` CLI /
|
|
349
|
-
one pinned pricing row). Statistical-significance work stays
|
|
350
|
-
opt-in (`--samples N`).
|
|
351
|
-
- **No retiring of the raw reports.** `telegraph-v*`, `ab-*`,
|
|
352
|
-
frugality JSONL stay as the machine-readable source of truth;
|
|
353
|
-
the dashboard is a derived human view on top.
|
|
354
|
-
- **rtk numbers must be measured, not claimed.** The "60–90%" in
|
|
355
|
-
`CLAUDE.md` is a vendor claim; Panel A shows what *this* corpus
|
|
356
|
-
actually measured.
|
|
357
|
-
|
|
358
|
-
## Out of scope for this contract
|
|
359
|
-
|
|
360
|
-
- The per-report `value-v1` JSON shape — see
|
|
361
|
-
[`value-report-schema.md`](value-report-schema.md).
|
|
362
|
-
- LLM-judge scoring of `docs/value.md` content quality —
|
|
363
|
-
explicitly out of scope; the linter checks structural
|
|
364
|
-
invariants only.
|
|
365
|
-
- Cross-model price comparison (haiku vs. sonnet vs. opus) — out
|
|
366
|
-
of scope; the dashboard prices the reference Sonnet row.
|
|
367
|
-
- Per-tenant / per-user customisation of the reference scale —
|
|
368
|
-
out of scope; the scale is documented inline and a reader
|
|
369
|
-
recomputes mentally if their workload differs.
|
|
370
|
-
|
|
371
|
-
## See also
|
|
372
|
-
|
|
373
|
-
- the `road-to-readable-value-dashboard` roadmap (archived) — built this surface.
|
|
374
|
-
- [`value-report-schema.md`](value-report-schema.md) — per-report JSON shape (sibling contract).
|
|
375
|
-
- [`benchmark-ab-contract.md`](benchmark-ab-contract.md) — A/B variant-axis contract (data source for the rtk, behaviour, completion rungs).
|
|
376
|
-
- [`benchmark-report-schema.md`](benchmark-report-schema.md) — per-report JSON shape for A/B reports.
|
|
377
|
-
- [`benchmark-corpus-spec.md`](benchmark-corpus-spec.md) — the corpus contract whose destructive prompts power the Panel B `stops` metric.
|
|
378
|
-
- [`internal/bench/pricing.yaml`](../../internal/bench/pricing.yaml) — token→€ conversion source.
|