@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,151 +0,0 @@
|
|
|
1
|
-
# Pre-Launch Diagnostics — finding IDs, epistemics, regression gate
|
|
2
|
-
|
|
3
|
-
> Contract for the consumer-facing launch diagnostic
|
|
4
|
-
> (road-to-ecosystem-harvest-prelaunch-diagnostics, Source L — a
|
|
5
|
-
> production-readiness diagnostic skill; provenance in the harvest index).
|
|
6
|
-
> The consumer-side sibling of the suite's own claims-ledger: a "ready"
|
|
7
|
-
> verdict cannot be reached by assertion.
|
|
8
|
-
>
|
|
9
|
-
> Schema: [`prelaunch-report.schema.json`](../../src/scripts/schemas/prelaunch-report.schema.json) ·
|
|
10
|
-
> Area vocabulary: [`prelaunch-areas.yml`](../../src/config/prelaunch-areas.yml) ·
|
|
11
|
-
> Tooling: [`prelaunch_diagnostics.ts`](../../src/scripts/prelaunch_diagnostics.ts) ·
|
|
12
|
-
> Skill surface: [`launch-readiness`](../../src/skills/launch-readiness/SKILL.md).
|
|
13
|
-
|
|
14
|
-
## 1 — Finding-ID grammar (immutable, diff-stable)
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
AC-<AREA>-NNN e.g. AC-AUTH-003, AC-RBK-001
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
- `<AREA>` — the uppercase code of a coverage area from
|
|
21
|
-
[`prelaunch-areas.yml`](../../src/config/prelaunch-areas.yml). The vocabulary
|
|
22
|
-
is **append-only**: codes are never renamed or re-used.
|
|
23
|
-
- `NNN` — zero-padded, monotonically assigned per area, **never re-assigned**.
|
|
24
|
-
A finding that is retitled, re-scoped, or resolved keeps its ID forever; a
|
|
25
|
-
genuinely new problem gets the next number. Resolved findings stay in the
|
|
26
|
-
report with a flipped `status` — the entry never disappears, so baselines
|
|
27
|
-
diff cleanly across months.
|
|
28
|
-
- The **ID is the diff key**. Titles, evidence, and severity are mutable
|
|
29
|
-
metadata; two runs are compared by ID set + per-ID state, never by prose.
|
|
30
|
-
|
|
31
|
-
## 2 — Epistemics (Pass needs evidence; Unknown ≠ Pass)
|
|
32
|
-
|
|
33
|
-
Every coverage area carries exactly one state:
|
|
34
|
-
|
|
35
|
-
| State | Meaning | Requirement |
|
|
36
|
-
|---|---|---|
|
|
37
|
-
| `pass` | Diagnosed clean | **Cited evidence required** — file:line, command output, run URL. A pass without evidence fails validation: that is assertion, not diagnosis. |
|
|
38
|
-
| `finding` | At least one open finding | The finding IDs live in `findings[]`. |
|
|
39
|
-
| `unknown` | Not diagnosed | The honest default. **Absence of findings is `unknown`, never an automatic `pass`.** An area missing from the report entirely is `unknown` by definition. |
|
|
40
|
-
| `not-applicable` | Does not exist on this surface | **Reason required** ("no DB → no migrations"). |
|
|
41
|
-
|
|
42
|
-
Verdict rule (the launch gate):
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
ANY OPEN P0 FINDING → NOT READY, REGARDLESS OF EVERY OTHER AREA.
|
|
46
|
-
ANY OPEN P1, OR A launch_gate AREA NOT AT pass/not-applicable → NOT READY.
|
|
47
|
-
READY IS THE RESIDUAL STATE, NEVER THE DEFAULT.
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
`launch_gate: true` areas (auth, migrations, secrets, rollback) block the
|
|
51
|
-
verdict while `unknown`; non-gate areas (observability, agent-governance)
|
|
52
|
-
surface as unknowns + questions but do not block alone.
|
|
53
|
-
|
|
54
|
-
## 3 — Coverage backbone
|
|
55
|
-
|
|
56
|
-
The area vocabulary is deliberately pruned to the stacks this suite targets:
|
|
57
|
-
**auth · migrations · secrets · observability · rollback · agent-governance**.
|
|
58
|
-
It is not a generic compliance matrix — new areas enter by appending to
|
|
59
|
-
`prelaunch-areas.yml` with a maintainer-reviewed `launch_gate` decision.
|
|
60
|
-
|
|
61
|
-
Every report may carry a `questions` list — **questions that would change the
|
|
62
|
-
diagnosis** ("is the admin panel exposed on the same origin?"). Questions are
|
|
63
|
-
the actionable rendering of unknowns; the next run should convert them into
|
|
64
|
-
evidence or findings.
|
|
65
|
-
|
|
66
|
-
## 4 — Regression gate (findings diff)
|
|
67
|
-
|
|
68
|
-
`prelaunch_diagnostics.ts diff <baseline.json> <current.json>` compares two
|
|
69
|
-
reports **by ID**:
|
|
70
|
-
|
|
71
|
-
- **new** — ID in current, not in baseline.
|
|
72
|
-
- **resolved** — open in baseline, `fixed` in current.
|
|
73
|
-
- **regressed** — a `launch_gate` area that was `pass` in the baseline and is
|
|
74
|
-
`finding`/`unknown` in current (Pass→Finding flip).
|
|
75
|
-
- **retitled findings do not appear in the diff** — the ID survives the
|
|
76
|
-
rename (acceptance-tested).
|
|
77
|
-
|
|
78
|
-
`--ci` mode exits non-zero when the diff contains a **new open P0/P1** or a
|
|
79
|
-
**Pass→Finding flip in a launch-gate area** — the consumer-side sibling of the
|
|
80
|
-
suite's claims-ledger CI. Everything else (new P2/P3, resolved findings,
|
|
81
|
-
question churn) reports informationally and exits 0.
|
|
82
|
-
|
|
83
|
-
## 5 — Suppression (evidence-backed, never silent)
|
|
84
|
-
|
|
85
|
-
A consumer may suppress a finding via the project-local suppression file
|
|
86
|
-
`agents/settings/prelaunch-suppressions.yml`:
|
|
87
|
-
|
|
88
|
-
```yaml
|
|
89
|
-
schema_version: prelaunch-suppressions-v1
|
|
90
|
-
suppressions:
|
|
91
|
-
- id: AC-OBS-002
|
|
92
|
-
reason: "Dashboards land with the Q3 observability epic; alerting for the launch path exists."
|
|
93
|
-
evidence: "agents/evidence/prelaunch/obs-alerting.png"
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
- A finding with `status: suppressed-with-evidence` MUST have a matching
|
|
97
|
-
suppression entry carrying **both** `reason` and `evidence` — validation
|
|
98
|
-
fails otherwise.
|
|
99
|
-
- Suppressed findings are excluded from the `--ci` triggers but **render in a
|
|
100
|
-
collapsible "suppressed" section** of the report output — the same
|
|
101
|
-
transparency contract as the review cluster's dropped-false-positives list.
|
|
102
|
-
Suppression hides nothing; it moves the item behind a fold with its receipt.
|
|
103
|
-
- Suppressing a P0 does not restore a ready verdict — P0 caps the verdict
|
|
104
|
-
regardless (§ 2).
|
|
105
|
-
|
|
106
|
-
## 6 — Consumer recipe (opt-in CI gating)
|
|
107
|
-
|
|
108
|
-
1. Run the diagnostic (via `launch-readiness` § epistemics) and save the
|
|
109
|
-
report to `agents/evidence/prelaunch/baseline.json`. Commit it.
|
|
110
|
-
2. Before a launch, produce a fresh `current.json` and run
|
|
111
|
-
`prelaunch_diagnostics.ts diff baseline.json current.json --ci` in the
|
|
112
|
-
pipeline — red on a new P0/P1 or a launch-gate Pass→Finding flip.
|
|
113
|
-
3. After the launch settles, promote `current.json` to the new committed
|
|
114
|
-
baseline (a reviewed diff, like any lockfile bump).
|
|
115
|
-
|
|
116
|
-
## 7 — Fix-loop discipline (Phase 3)
|
|
117
|
-
|
|
118
|
-
- Rank open findings by severity, then by launch-gate membership.
|
|
119
|
-
- Propose the **safest first approval batch** — explicitly the first *safe*
|
|
120
|
-
batch (reversible, small blast radius), not the full backlog. Approval is
|
|
121
|
-
the user's; the diagnostic never self-authorizes fixes
|
|
122
|
-
([`autonomous-execution`](../../src/rules/autonomous-execution.md) and the
|
|
123
|
-
reversibility floor govern, unrestated).
|
|
124
|
-
- Per-finding status vocabulary (schema-enforced): `open · fixed ·
|
|
125
|
-
accepted-risk · deferred-with-reason · suppressed-with-evidence ·
|
|
126
|
-
not-applicable` — everything except open/fixed carries a `reason`.
|
|
127
|
-
- **Rescore whenever evidence changes** — a fix, a new probe, or an answered
|
|
128
|
-
question re-runs the affected area, never the memory of it.
|
|
129
|
-
|
|
130
|
-
## 8 — Read-only guarantee
|
|
131
|
-
|
|
132
|
-
The diagnostic **never mutates a consumer project**: the tooling reads
|
|
133
|
-
reports and writes nothing outside its own output. Fixes flow through the
|
|
134
|
-
normal approval-gated engines, not through this contract.
|
|
135
|
-
|
|
136
|
-
## 9 — Score: council-locked (do not add)
|
|
137
|
-
|
|
138
|
-
The pass-1 council **dropped the 0–100 readiness score** (gameable false
|
|
139
|
-
precision). A severity-capped, never-published internal-ordering variant is
|
|
140
|
-
**surfaced for council re-evaluation in the roadmap's revisit note — not
|
|
141
|
-
adopted**. Until that revisit resolves: no numeric score field in the schema,
|
|
142
|
-
no score in any rendered output, no score in CI messages. The ID scheme,
|
|
143
|
-
epistemics, diff gate, and suppression above stand on their own.
|
|
144
|
-
|
|
145
|
-
## See also
|
|
146
|
-
|
|
147
|
-
- [`launch-readiness`](../../src/skills/launch-readiness/SKILL.md) — the skill
|
|
148
|
-
surface that produces the report.
|
|
149
|
-
- [`docs/proof.md`](../proof.md) — the suite-side claims-ledger this mirrors.
|
|
150
|
-
- `road-to-ecosystem-harvest-reliability-measurement` (archived) — measures the
|
|
151
|
-
*suite itself*; this contract measures the *consumer's launch surface*.
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-14
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Profile System — Contract
|
|
7
|
-
|
|
8
|
-
> **Status:** beta · **Owner:** package maintainer · **Last reviewed:** 2026-05-16
|
|
9
|
-
>
|
|
10
|
-
> Schema and semantics for the **Profile** axis introduced in step-15
|
|
11
|
-
> Phase 1 item 1. Profile answers *who is the user?* — audience
|
|
12
|
-
> taxonomy that selects the default skill/command surface, README
|
|
13
|
-
> entry-paragraph, and persona pre-selection. Boundary against
|
|
14
|
-
> `preset.id`, `pack.id`, and `rule_loading_tier`:
|
|
15
|
-
> [`ADR-010`](../decisions/ADR-010-profile-pack-preset-boundary.md).
|
|
16
|
-
|
|
17
|
-
## Decision
|
|
18
|
-
|
|
19
|
-
A **profile** declares the user's audience identity. Six seed profiles
|
|
20
|
-
ship; users can declare their own under
|
|
21
|
-
`.agent-src.uncondensed/profiles/<id>.yml`.
|
|
22
|
-
|
|
23
|
-
| `profile.id` | Audience | README entry-paragraph | Default `preset.id` |
|
|
24
|
-
|---|---|---|---|
|
|
25
|
-
| `founder` | Solo / early-stage founder; wears every hat | "Ship the company, not the codebase" | `fast` |
|
|
26
|
-
| `developer` | IC engineer; primary day-to-day user today | "Pair with a senior reviewer that never sleeps" | `balanced` |
|
|
27
|
-
| `content_creator` | Writers, ghostwriters, marketers | "Your voice, my hands" | `balanced` |
|
|
28
|
-
| `agency` | Multi-client delivery shop | "Same playbook across every client repo" | `strict` |
|
|
29
|
-
| `finance` | CFO / fractional finance / FP&A | "Forecasts and memos with the receipts attached" | `strict` |
|
|
30
|
-
| `ops` | RevOps, support, SRE-adjacent | "Procedures that get followed, not skipped" | `strict` |
|
|
31
|
-
|
|
32
|
-
The seed set is **fixed for v2.x**. Adding a seventh profile requires
|
|
33
|
-
an ADR — the contract surface that ships in the wizard
|
|
34
|
-
(`/onboard` role-selection) treats this set as exhaustive.
|
|
35
|
-
|
|
36
|
-
## Profile shape
|
|
37
|
-
|
|
38
|
-
```yaml
|
|
39
|
-
profile:
|
|
40
|
-
id: developer
|
|
41
|
-
packs: [engineering-base] # base capability packs (scoped projection)
|
|
42
|
-
audience:
|
|
43
|
-
label: "IC engineer"
|
|
44
|
-
readme_anchor: "developer" # selects README first-screen block
|
|
45
|
-
defaults:
|
|
46
|
-
preset_id: balanced # may be overridden by .agent-settings.yml
|
|
47
|
-
personas: [reviewer, security] # pre-selected persona ids
|
|
48
|
-
skills_hint: [developer-like-execution, verify-before-complete, minimal-safe-diff]
|
|
49
|
-
surface:
|
|
50
|
-
commands_hint: [work, implement-ticket, review-changes, fix]
|
|
51
|
-
docs_first_pointer: "docs/getting-started-by-role.md#developer"
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### `packs` — base capability packs (6.0.0-B)
|
|
55
|
-
|
|
56
|
-
`profile.packs` is the **base capability-pack set** the projector resolves
|
|
57
|
-
when `projection.mode: scoped` (ADR-040). At projection time the selected set
|
|
58
|
-
is `profile.packs ∪ runtime.active_packs` (the session overlay), expanded over
|
|
59
|
-
the `requires` graph ([`capability-packs.md`](capability-packs.md)); the
|
|
60
|
-
overlay can only **widen**, so `packs` is the floor of the default surface.
|
|
61
|
-
|
|
62
|
-
**`skills_hint` is a guarantee, not a teaser.** Every skill named in a
|
|
63
|
-
profile's `skills_hint` MUST resolve from that profile's `packs` (the
|
|
64
|
-
self-sufficient contract). A profile must not advertise a skill its base packs
|
|
65
|
-
hide. The six seed profiles satisfy this; the budget lint in 6.0.0-C will
|
|
66
|
-
enforce it in CI.
|
|
67
|
-
|
|
68
|
-
> Resolved by AI council (claude-sonnet-4-5 + gpt-4o, 2026-06-03): Option A
|
|
69
|
-
> (self-sufficient base packs) for 6.0.0-B — no new mechanism, opt-in, default
|
|
70
|
-
> stays `legacy-all`. Deferred to 6.0.0-C: a `skills_discoverable` field,
|
|
71
|
-
> reactive just-in-time pack activation, the per-pack budget lint, and
|
|
72
|
-
> telemetry.
|
|
73
|
-
|
|
74
|
-
Per [ADR-010](../decisions/ADR-010-profile-pack-preset-boundary.md), a
|
|
75
|
-
profile **MAY** set `defaults.preset_id` but **MAY NOT** set any
|
|
76
|
-
preset-owned knob directly. The lint task (`task lint-config-schema`)
|
|
77
|
-
enforces this.
|
|
78
|
-
|
|
79
|
-
## Loader contract
|
|
80
|
-
|
|
81
|
-
The Phase 1 loader lives at `scripts/config/profiles.py`. Resolution
|
|
82
|
-
chain (last writer wins):
|
|
83
|
-
|
|
84
|
-
1. `pack.profile_id` (if pack active) → `profile.id`.
|
|
85
|
-
2. `.agent-settings.yml` top-level `profile:` block → `profile.id`
|
|
86
|
-
and any user overrides for `audience` / `defaults` / `surface`.
|
|
87
|
-
3. Environment variable `AGENT_CONFIG_PROFILE_ID` → `profile.id`.
|
|
88
|
-
4. Runtime CLI flag `--profile=<id>` → `profile.id`, single session.
|
|
89
|
-
|
|
90
|
-
If no profile resolves, the loader **does not pick a default
|
|
91
|
-
silently** — it falls back to `developer` only when
|
|
92
|
-
`.agent-settings.yml` is missing entirely (fresh install before
|
|
93
|
-
`/onboard`). With a settings file present but no `profile:` block,
|
|
94
|
-
the loader raises a structured warning pointing to `/onboard`.
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
RATIONALE: a silent default would hide the "I never picked an audience"
|
|
98
|
-
state from the wizard, breaking the council v3 observation that audience
|
|
99
|
-
choice must be a deliberate act of the user, not an agent inference.
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
## Resolution outcome
|
|
103
|
-
|
|
104
|
-
After the loader runs, the session has:
|
|
105
|
-
|
|
106
|
-
```python
|
|
107
|
-
{
|
|
108
|
-
"id": "developer",
|
|
109
|
-
"packs": ["engineering-base"],
|
|
110
|
-
"audience": {"label": "IC engineer", "readme_anchor": "developer"},
|
|
111
|
-
"preset_id": "balanced",
|
|
112
|
-
"personas": ["reviewer", "security"],
|
|
113
|
-
"skills_hint": ["developer-like-execution", ...],
|
|
114
|
-
"commands_hint": ["work", "implement-ticket", ...],
|
|
115
|
-
"source": "user-settings | env | runtime | pack | default",
|
|
116
|
-
}
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
The `source` field is mandatory and feeds the
|
|
120
|
-
`/agent-config explain`
|
|
121
|
-
command (Phase 1 item 3).
|
|
122
|
-
|
|
123
|
-
## User-defined profiles
|
|
124
|
-
|
|
125
|
-
A consumer project MAY ship a custom profile under
|
|
126
|
-
`.agent-src.uncondensed/profiles/<id>.yml`. Constraints:
|
|
127
|
-
|
|
128
|
-
- `id` MUST be unique across seed + user-defined profiles.
|
|
129
|
-
- Shape MUST match the seed contract above (audience / defaults / surface).
|
|
130
|
-
- `defaults.preset_id` MUST reference an existing preset
|
|
131
|
-
([`config-presets.md`](config-presets.md)).
|
|
132
|
-
- The lint task hard-fails on schema violations.
|
|
133
|
-
|
|
134
|
-
User-defined profiles do **not** require an ADR — they are project-local.
|
|
135
|
-
Only changes to the **seed set** require an ADR.
|
|
136
|
-
|
|
137
|
-
## Drift detection
|
|
138
|
-
|
|
139
|
-
`task lint-config-schema` (added in Phase 1) hard-fails when:
|
|
140
|
-
|
|
141
|
-
- A profile YAML names a preset-owned knob (cost cap, autonomy,
|
|
142
|
-
confidence, risk).
|
|
143
|
-
- A profile YAML references a non-existent `preset_id`.
|
|
144
|
-
- The seed-profile count diverges from this contract's table.
|
|
145
|
-
- `defaults.personas` references a persona id that does not exist
|
|
146
|
-
under `.agent-src.uncondensed/personas/`.
|
|
147
|
-
|
|
148
|
-
## Non-goals
|
|
149
|
-
|
|
150
|
-
- This contract does **not** define preset knobs. See
|
|
151
|
-
[`config-presets.md`](config-presets.md).
|
|
152
|
-
- It declares **base capability packs** (`profile.packs`, 6.0.0-B) for scoped
|
|
153
|
-
projection, but does **not** define workflow-pack *bundles*. See
|
|
154
|
-
[`capability-packs.md`](capability-packs.md) (capability layer) and
|
|
155
|
-
`workflow-packs.md` (bundle layer).
|
|
156
|
-
- It does **not** override `rule_loading_tier`. The rule-tier loader keeps
|
|
157
|
-
its independent axis per
|
|
158
|
-
[`cost-profile-defaults.md`](cost-profile-defaults.md).
|
|
159
|
-
- It does **not** ship a UI. Profile selection happens in `/onboard`
|
|
160
|
-
(step-15 Phase 1 item 2).
|
|
161
|
-
|
|
162
|
-
## See also
|
|
163
|
-
|
|
164
|
-
- [`ADR-010`](../decisions/ADR-010-profile-pack-preset-boundary.md) — axis boundary.
|
|
165
|
-
- [`config-presets.md`](config-presets.md) — preset knobs.
|
|
166
|
-
- [`cost-profile-defaults.md`](cost-profile-defaults.md) — rule-tier axis (orthogonal).
|
|
167
|
-
- `step-15-product-refinement` — Phase 1 item 1.
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-09-14
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Reasoning Discipline Protocol (RDP) — User Contract
|
|
7
|
-
|
|
8
|
-
> **Status:** beta · **Owner:** package maintainer · **Last reviewed:** 2026-06-16
|
|
9
|
-
>
|
|
10
|
-
> The one-screen, user-facing contract for the `reasoning.*` settings. It says
|
|
11
|
-
> what RDP does, when it engages, and how to switch it off. The sourced design
|
|
12
|
-
> rationale lives in the dossier
|
|
13
|
-
> [`docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md`](../guidelines/agent-infra/frontier-reasoning-operating-profile.md);
|
|
14
|
-
> the runtime cost-gate mechanic lives in
|
|
15
|
-
> [`contexts/execution/rdp-gate.md`](../../src/agent-src/contexts/execution/rdp-gate.md). <!-- ref-ignore -->
|
|
16
|
-
> This file is the entry point; depth stays there.
|
|
17
|
-
|
|
18
|
-
## What RDP does
|
|
19
|
-
|
|
20
|
-
RDP transplants the **operating discipline** of a frontier reasoning model onto
|
|
21
|
-
whatever host model you run — the steps a strong model takes on its own that a
|
|
22
|
-
weaker one skips unless prompted. When engaged, it nudges the agent toward:
|
|
23
|
-
|
|
24
|
-
- **notes-first** — keeping multi-hypothesis reasoning, predictions, and
|
|
25
|
-
decisions in the session notes rather than the response;
|
|
26
|
-
- **complexity-first** — resolving the load-bearing unknown before writing code;
|
|
27
|
-
- **verifier** — a fresh-context check on structurally risky work
|
|
28
|
-
(branching · multiple constraints · stateful · irreversible);
|
|
29
|
-
- **orchestrator** — a single coordination point that sequences the chain.
|
|
30
|
-
|
|
31
|
-
These are disciplines the agent *applies*, not guarantees it *enforces*: how much
|
|
32
|
-
of each applies is decided by the gate below, and a strong-reasoning host may
|
|
33
|
-
apply them lightly or skip them where they would not pay.
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
CAPABILITY DOES NOT TRANSFER. DISCIPLINE DOES.
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
RDP makes the agent **work** more like a frontier model on under-specified and
|
|
40
|
-
long-horizon tasks. It does **not** make a weaker model as *capable* as one — no
|
|
41
|
-
prompt closes the weights gap.
|
|
42
|
-
|
|
43
|
-
## When it engages
|
|
44
|
-
|
|
45
|
-
RDP never runs on every turn. It engages only where it pays, decided by three
|
|
46
|
-
**table-free** signals (there is no runtime model→band lookup — ADR-035):
|
|
47
|
-
|
|
48
|
-
1. **Settings** — your `reasoning:` block (below). `enabled: false` stops here.
|
|
49
|
-
2. **Task signal** — skips trivial / short / fully-specified tasks (rename, typo,
|
|
50
|
-
one-line edit, list files); engages on complex / ambiguous / multi-component /
|
|
51
|
-
long-horizon / stateful / irreversible work.
|
|
52
|
-
3. **Host self-assessment** — a strong-reasoning host applies the discipline
|
|
53
|
-
**lightly / as a suggestion**; a standard host applies it **fully**. The agent
|
|
54
|
-
introspects; no maintained model list exists.
|
|
55
|
-
|
|
56
|
-
The verifier carries its own stricter gate — it fires only on genuinely risky,
|
|
57
|
-
non-trivial work, so the most expensive component stays rare. The exact
|
|
58
|
-
condition lives in the gate context (it may evolve; this contract does not pin
|
|
59
|
-
it).
|
|
60
|
-
|
|
61
|
-
## How to turn it off
|
|
62
|
-
|
|
63
|
-
All switches live in the `reasoning:` block of `.agent-settings.yml` (repo root;
|
|
64
|
-
full schema in [`docs/customization.md`](../customization.md) § Available
|
|
65
|
-
settings):
|
|
66
|
-
|
|
67
|
-
| Goal | Setting |
|
|
68
|
-
|---|---|
|
|
69
|
-
| Disable the whole layer (zero overhead) | `reasoning.enabled: false` |
|
|
70
|
-
| Keep the layer, drop the host self-assessment | `reasoning.auto_gate: false` (gate on task-signal + toggles only) |
|
|
71
|
-
| Disable one behaviour | `reasoning.components.<name>: false` (e.g. `verifier_default`) |
|
|
72
|
-
|
|
73
|
-
A component fires only when `reasoning.enabled` is `true` **and** the `auto_gate`
|
|
74
|
-
test passes.
|
|
75
|
-
|
|
76
|
-
## Why it is not a Fable / Mythos copy
|
|
77
|
-
|
|
78
|
-
A frontier model's edge lives in its weights, which no prompt copies — so RDP
|
|
79
|
-
copies the *discipline*, never the model. It ships **one** constraint-light
|
|
80
|
-
scaffold with no "heavy" variant (two variants would be a hidden model→band
|
|
81
|
-
table, forbidden by ADR-035); a host that wants more asks at turn time. The
|
|
82
|
-
sourced evidence — including why over-prescription degrades a strong host — is in
|
|
83
|
-
the dossier.
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-09-04
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Release-PR Gating Contract
|
|
7
|
-
|
|
8
|
-
> **Status:** active · **Owner:** maintainer (`src/scripts/release.ts`) · **Opened:** 2026-05-26
|
|
9
|
-
>
|
|
10
|
-
> Release PRs are opened by either entry point into `release.ts`: `task
|
|
11
|
-
> release` (interactive, local) or `.github/workflows/release.yml` (the
|
|
12
|
-
> `release`-labeled-PR CI path, author `github-actions[bot]`) — see
|
|
13
|
-
> [`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md).
|
|
14
|
-
> This contract's shape checks are author-agnostic by design; both entry
|
|
15
|
-
> points produce the identical PR shape below.
|
|
16
|
-
>
|
|
17
|
-
> Source: `road-to-optimized-ci-and-release-gates.md` Phase A Step 1. Measured
|
|
18
|
-
> baseline (`gh run list --branch main --limit 50`): `Public Install Smoke`
|
|
19
|
-
> avg **413 s** (3-OS × 2-Node matrix), `Tests` avg **218 s** (Linux + macOS
|
|
20
|
-
> + Windows). Both trigger on `package.json`. Release PRs (`release/X.Y.Z`)
|
|
21
|
-
> only touch `package.json`, `CHANGELOG.md`, `marketplace.json`,
|
|
22
|
-
> `packages/*/pack.yaml`, `packages/*/README.md`, and the CHANGELOG era
|
|
23
|
-
> archive `docs/archive/CHANGELOG-pre-*.md` — verified against PR #238
|
|
24
|
-
> (3.3.0). They cannot regress install or runtime behaviour by construction.
|
|
25
|
-
|
|
26
|
-
## Release-PR shape
|
|
27
|
-
|
|
28
|
-
A pull request qualifies as a **release PR** when **both** of the following
|
|
29
|
-
hold:
|
|
30
|
-
|
|
31
|
-
1. **Head branch matches** `^release/\d+\.\d+\.\d+$` — same regex as
|
|
32
|
-
`src/scripts/release.ts` § `_RELEASE_BRANCH_RE`.
|
|
33
|
-
2. **Diff file set is a subset of the version-bump allowlist:**
|
|
34
|
-
- `package.json`
|
|
35
|
-
- `CHANGELOG.md`
|
|
36
|
-
- `.claude-plugin/marketplace.json`
|
|
37
|
-
- `packages/*/pack.yaml`
|
|
38
|
-
- `packages/*/README.md`
|
|
39
|
-
- `docs/archive/CHANGELOG-pre-*.md` — emitted by `release.ts`'s
|
|
40
|
-
automatic CHANGELOG era split (see `docs/contracts/CHANGELOG-conventions.md`
|
|
41
|
-
§ Era splits) when the current era crosses its line cap on an
|
|
42
|
-
era-boundary release.
|
|
43
|
-
|
|
44
|
-
Both predicates are enforced by `src/scripts/check_release_pr_shape.ts`.
|
|
45
|
-
The script exits 0 when both hold; non-zero with a per-file diff naming any
|
|
46
|
-
out-of-allowlist entry otherwise. It reads the diff shape only — it does
|
|
47
|
-
not check the PR author, so it passes identically for a `task
|
|
48
|
-
release`-opened PR and a `release.yml`-opened one.
|
|
49
|
-
|
|
50
|
-
## Cut surface — heavy jobs that skip on release PRs
|
|
51
|
-
|
|
52
|
-
Skipped via `if: !startsWith(github.head_ref, 'release/')` guards on the
|
|
53
|
-
heavy install/test jobs. These are the jobs that release PRs cannot regress
|
|
54
|
-
by construction (no install scripts, no runtime code, no test source in the
|
|
55
|
-
release-PR allowlist):
|
|
56
|
-
|
|
57
|
-
| Workflow | Job | Why it cuts |
|
|
58
|
-
|---|---|---|
|
|
59
|
-
| `tests.yml` | `install-tests` | release-PR diff has no `install.sh` / `scripts/install.py` / `tests/test_install.sh` |
|
|
60
|
-
| `tests.yml` | `install-aux-tests` | same — orchestrator, key contracts, one-liner smoke all untouched |
|
|
61
|
-
| `tests.yml` | `python-tests` | release-PR diff has no `scripts/**` or `tests/**` (other than CHANGELOG via path filter — see below) |
|
|
62
|
-
| `tests.yml` | `node-tests` | release-PR diff has no `src/**`, `tests/{cli,server,ui}/**`, `packages/core/installer/**` |
|
|
63
|
-
| `tests.yml` | `windows-lockfile-export` | release-PR diff has no `scripts/install_global*.py`, `scripts/cmd_export.py`, lockfile test surface |
|
|
64
|
-
| `smoke-public-install.yml` | `smoke` | release-PR diff has no `scripts/install*`, `setup.sh`, `templates/**`, `package.json` runtime behaviour |
|
|
65
|
-
|
|
66
|
-
`push:` to `main` and the weekly cron on `smoke-public-install.yml` stay
|
|
67
|
-
**unconditional** — those catch drift the PR matrix can't see.
|
|
68
|
-
|
|
69
|
-
## Kept surface — release PRs still prove these
|
|
70
|
-
|
|
71
|
-
The release-PR required-check floor stays equivalent (smaller, faster) to
|
|
72
|
-
the feature-PR floor by adding:
|
|
73
|
-
|
|
74
|
-
| Workflow | Job | Proves |
|
|
75
|
-
|---|---|---|
|
|
76
|
-
| `consistency.yml` | (existing) | `task consistency` — source-of-truth integrity |
|
|
77
|
-
| `smoke.yml` | `smoke-contracts` | Contract self-checks (kernel, router, hashes) |
|
|
78
|
-
| `release-guard.yml` | `assert-version-matches-tag` | already gates `npm publish`; remains tag-trigger |
|
|
79
|
-
| `migration-dry-run.yml` | (existing) | Migration plan dry-runs |
|
|
80
|
-
| `release-validation.yml` (Phase B) | `release-shape` | shape detector — fails closed if diff exits the allowlist |
|
|
81
|
-
| `release-validation.yml` (Phase B) | `changelog-entry` | CHANGELOG carries an entry matching the head-branch version |
|
|
82
|
-
| `release-validation.yml` (Phase B) | `version-consistency` | `package.json` / `marketplace.json` / pack manifests agree on the version |
|
|
83
|
-
| `consumer-matrix.yml` | `consumer-matrix` · `publish-dry-run` · `mcp-worker-dry-run` · `plugin-bootstrap` | pack-based consumer E2E + pre-tag dry-runs of the release-adjacent workflows — see the exemption note below |
|
|
84
|
-
| (maintainer-local) | `task smoke-host-loadability REQUIRE=1` | real-host loadability — `claude plugin validate` + temp-home plugin install + metadata cross-consistency (marketplace ↔ plugin dirs ↔ docs). Optional in CI (runners lack the claude CLI, the step self-skips); **required before a release is cut** — `REQUIRE=1` turns a missing CLI into a failure |
|
|
85
|
-
|
|
86
|
-
## Consumer-matrix exemption — the tarball window
|
|
87
|
-
|
|
88
|
-
The cut surface above rests on "release PRs cannot regress install or
|
|
89
|
-
runtime behaviour by construction". That argument covers the **source
|
|
90
|
-
diff** — it is blind to the **published tarball**. Every historical
|
|
91
|
-
packaging incident (tarball missing `src/install/` across two minors,
|
|
92
|
-
`tsx` absent from the package, npm-pin drift, the MCP worker deploy red
|
|
93
|
-
across five releases) entered `main` on ordinary PRs and manifested only
|
|
94
|
-
at publish time — exactly the window between merge and tag where nothing
|
|
95
|
-
pack-based ran.
|
|
96
|
-
|
|
97
|
-
[`consumer-matrix.yml`](../../.github/workflows/consumer-matrix.yml) is
|
|
98
|
-
therefore **exempt from the release-PR skip and runs ON release PRs** (its
|
|
99
|
-
primary trigger), packing the tarball and exercising it as a consumer,
|
|
100
|
-
plus dry-running `publish-npm.yml` and `deploy-mcp-worker.yml` before the
|
|
101
|
-
tag exists. Contract + counterfactual map:
|
|
102
|
-
[`docs/distribution/consumer-matrix.md`](../distribution/consumer-matrix.md).
|
|
103
|
-
The source-level skips above stay unchanged — the exemption adds the
|
|
104
|
-
tarball dimension, it does not reopen the source matrices.
|
|
105
|
-
|
|
106
|
-
## Rollback trigger — fail-closed
|
|
107
|
-
|
|
108
|
-
The optimisation is **opt-in by shape, not by branch name**. A release-PR
|
|
109
|
-
whose diff contains a stray file outside the allowlist (e.g. a last-minute
|
|
110
|
-
CHANGELOG fixup that also touches `src/scripts/release.ts`) trips the shape
|
|
111
|
-
detector:
|
|
112
|
-
|
|
113
|
-
1. `check_release_pr_shape.ts` exits non-zero with a per-file diff.
|
|
114
|
-
2. The CI dashboard surfaces "release-shape" red.
|
|
115
|
-
3. The maintainer either narrows the diff (move the script edit to a
|
|
116
|
-
separate PR) or accepts the heavy matrix re-running on the next push.
|
|
117
|
-
|
|
118
|
-
In other words: the cut applies only when shape is **provably** safe. Branch
|
|
119
|
-
name alone never bypasses the heavy matrix.
|
|
120
|
-
|
|
121
|
-
## What this contract is not
|
|
122
|
-
|
|
123
|
-
- **Not a test-deletion contract.** Every existing assertion still runs
|
|
124
|
-
somewhere in the cadence (PR for feature PRs, push-to-main + weekly cron
|
|
125
|
-
for smoke).
|
|
126
|
-
- **Not a coverage-reduction contract.** The release-validation jobs are
|
|
127
|
-
additive, not substitutive.
|
|
128
|
-
- **Not a release-velocity contract.** Release cadence is driven by
|
|
129
|
-
Conventional Commits in `src/scripts/release.ts`, not by CI cost.
|
|
130
|
-
- **Not a Hard-Floor lift.** No security check is removed.
|
|
131
|
-
`release-guard.yml`'s `assert-version-matches-tag` job is independent of
|
|
132
|
-
`Tests` / `Public Install Smoke` and stays mandatory on every tag.
|
|
133
|
-
|
|
134
|
-
## See also
|
|
135
|
-
|
|
136
|
-
- `docs/contracts/branch-protection-policy.md` — per-PR-shape required-check
|
|
137
|
-
matrix (Phase D).
|
|
138
|
-
- `docs/contracts/ci-cost-budget.md` — measured baselines + quarterly review
|
|
139
|
-
cadence (Phase C).
|
|
140
|
-
- `.github/workflows/release-validation.yml` — the tight release-shape
|
|
141
|
-
validation workflow (Phase B).
|
|
142
|
-
- `src/scripts/check_release_pr_shape.ts` — the shape detector (Phase A).
|
|
143
|
-
- `src/scripts/release.ts` § `_RELEASE_BRANCH_RE` — source of truth for the
|
|
144
|
-
release-branch naming convention.
|
|
145
|
-
- [`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md) — the
|
|
146
|
-
CI-native (`release`-label) entry point into the same script.
|
|
147
|
-
- [`docs/distribution/consumer-matrix.md`](../distribution/consumer-matrix.md) —
|
|
148
|
-
pack-based consumer E2E; the documented exemption from the cut surface.
|
|
149
|
-
- [`release-sizing.md`](release-sizing.md) — release scope floor: one primary
|
|
150
|
-
goal per minor, `Rollback:` lines for new / reworked subsystems (gate:
|
|
151
|
-
`src/scripts/lint_changelog_rollback.ts`).
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-09-10
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Release Sizing
|
|
7
|
-
|
|
8
|
-
> **Status:** active · v0 / beta · 2026-07-10. Governs how much a
|
|
9
|
-
> minor release may carry and what every shipped subsystem owes the
|
|
10
|
-
> reader: one primary goal, a disable path, and a named rollback.
|
|
11
|
-
> No version numbers appear here as commitments — this contract
|
|
12
|
-
> shapes releases, it does not schedule them.
|
|
13
|
-
|
|
14
|
-
## One primary product goal per minor release
|
|
15
|
-
|
|
16
|
-
Every minor release names **exactly one primary product goal** — the
|
|
17
|
-
one-sentence answer to "why does this release exist?". Secondary
|
|
18
|
-
changes may ride along, but the release notes lead with the primary
|
|
19
|
-
goal, and a release that cannot name one is not ready to cut.
|
|
20
|
-
Scope discipline, not a ratio: what qualifies is a judgment call the
|
|
21
|
-
maintainer makes when labeling the release PR
|
|
22
|
-
([`release-pr-gating.md`](release-pr-gating.md)).
|
|
23
|
-
|
|
24
|
-
### Primary goal declaration
|
|
25
|
-
|
|
26
|
-
Every release PR body carries one literal line:
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
Primary-Goal: <one sentence>
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
A release bundling multiple major themes anyway annotates the
|
|
33
|
-
**exception + reason** in the release notes ("this release bundles N
|
|
34
|
-
themes because <reason>; future releases return to one primary goal").
|
|
35
|
-
The declaration keeps the norm visible and the exception deliberate.
|
|
36
|
-
|
|
37
|
-
Explicitly REJECTED (council, anthropic/claude-sonnet-4-5 +
|
|
38
|
-
openai/gpt-4o, 2026-07-10): a mechanical subsystem-count lint on the
|
|
39
|
-
release PR. A file→subsystem map is its own maintenance burden, and
|
|
40
|
-
changed-file counts are a bad proxy for scope (a one-line kernel change
|
|
41
|
-
has a larger blast radius than 50 lines in a niche skill). Sizing stays
|
|
42
|
-
a norm enforced by declaration + human judgment; if the maintainer
|
|
43
|
-
wrote a nine-theme release, the maintainer already judged it — the
|
|
44
|
-
header makes that judgment explicit, not automatic.
|
|
45
|
-
|
|
46
|
-
## Major subsystems are independently disableable where feasible
|
|
47
|
-
|
|
48
|
-
A major subsystem shipped or substantially reworked in a release is
|
|
49
|
-
**independently disableable** where feasible — a settings key in
|
|
50
|
-
`.agent-settings.yml`, a pack that can stay uninstalled, or an
|
|
51
|
-
explicit opt-in flag. The release notes **name the flag / config
|
|
52
|
-
key** so a consumer who hits a regression can switch the subsystem
|
|
53
|
-
off without downgrading the whole package. "Where feasible" is a
|
|
54
|
-
real qualifier: kernel rules and the install skeleton have no
|
|
55
|
-
sensible off-switch; everything above that floor should.
|
|
56
|
-
|
|
57
|
-
## Rollback path — the `Rollback:` line
|
|
58
|
-
|
|
59
|
-
Every CHANGELOG entry that **introduces or substantially reworks a
|
|
60
|
-
subsystem** names its rollback path in the entry itself via a
|
|
61
|
-
`Rollback:` line:
|
|
62
|
-
|
|
63
|
-
```md
|
|
64
|
-
* **workspace:** task-orchestration layer behind `/work` ([abc1234](…))
|
|
65
|
-
Rollback: set `workspace.enabled: false` in `.agent-settings.yml`.
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
The rollback path is the disable flag from the section above, a
|
|
69
|
-
revert instruction, or a downgrade note — whatever actually undoes
|
|
70
|
-
the subsystem for a consumer. Enforced mechanically:
|
|
71
|
-
`src/scripts/lint_changelog_rollback.ts` fails when a new minor /
|
|
72
|
-
major section (`## [X.Y.0]`) contains no `Rollback:` line. The gate
|
|
73
|
-
only fires for versions **strictly greater** than the version in
|
|
74
|
-
`package.json` at lint time, so historical sections never retro-fail;
|
|
75
|
-
entry shape stays governed by
|
|
76
|
-
[`CHANGELOG-conventions.md`](CHANGELOG-conventions.md).
|
|
77
|
-
|
|
78
|
-
## Consumer matrix is the floor for every release
|
|
79
|
-
|
|
80
|
-
The pack-based consumer matrix —
|
|
81
|
-
[`../distribution/consumer-matrix.md`](../distribution/consumer-matrix.md)
|
|
82
|
-
(authored in parallel; forward link) — is the **floor** for every
|
|
83
|
-
release: no release ships a change that knowingly breaks a supported
|
|
84
|
-
cell of that matrix without the break being declared under
|
|
85
|
-
`### BREAKING CHANGES` and reflected in the matrix in the same
|
|
86
|
-
release.
|
|
87
|
-
|
|
88
|
-
## REJECTED — consumer-facing effort ratio
|
|
89
|
-
|
|
90
|
-
The proposed meta-ratio *"≥ 2/3 of effort per release must be
|
|
91
|
-
consumer-facing"* was **CUT by council 2026-07-10**
|
|
92
|
-
(claude-sonnet-4-5 + gpt-4o, unanimous) as a **gameable vanity
|
|
93
|
-
metric**: effort is unmeasurable at review time, "consumer-facing"
|
|
94
|
-
is reclassifiable at will, and the ratio punishes necessary
|
|
95
|
-
infrastructure releases. Recorded here so it is not re-proposed;
|
|
96
|
-
re-opening it requires new evidence per the decision-revisit gate.
|
|
97
|
-
|
|
98
|
-
## Cross-references
|
|
99
|
-
|
|
100
|
-
- [`CHANGELOG-conventions.md`](CHANGELOG-conventions.md) — entry
|
|
101
|
-
shape the `Rollback:` line extends.
|
|
102
|
-
- [`release-pr-gating.md`](release-pr-gating.md) — release-PR shape
|
|
103
|
-
detection; the sizing judgment happens at labeling time.
|
|
104
|
-
- [`../release-runbook.md`](../release-runbook.md) — the cut
|
|
105
|
-
procedure this contract's pre-flight check lives in.
|
|
106
|
-
- `src/scripts/lint_changelog_rollback.ts` — the mechanized
|
|
107
|
-
`Rollback:` gate (run `--selftest` for its fixture proof).
|