@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,188 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: stable
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Stability policy for `docs/contracts/`
|
|
6
|
-
|
|
7
|
-
This directory ships the **public contract surface** of `agent-config`.
|
|
8
|
-
Every file here declares a stability level in YAML frontmatter:
|
|
9
|
-
|
|
10
|
-
```yaml
|
|
11
|
-
---
|
|
12
|
-
stability: stable | beta | experimental
|
|
13
|
-
---
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
The level dictates how the contract may be linked from the public
|
|
17
|
-
surface (README, AGENTS.md, `docs/architecture.md`) and what kind of
|
|
18
|
-
change to it requires what kind of release.
|
|
19
|
-
|
|
20
|
-
## Levels
|
|
21
|
-
|
|
22
|
-
### `stable`
|
|
23
|
-
|
|
24
|
-
- **Breaking change** requires a **SemVer-major** bump (`X.0.0`).
|
|
25
|
-
- README, AGENTS.md, and `docs/architecture.md` MAY link to it
|
|
26
|
-
without a marker.
|
|
27
|
-
- Typical content: settled ADRs (decisions don't reopen without a
|
|
28
|
-
successor ADR); fully released contracts that have shipped through
|
|
29
|
-
one major release without breaking.
|
|
30
|
-
|
|
31
|
-
### `beta`
|
|
32
|
-
|
|
33
|
-
- **Breaking change** is allowed in a **minor-version** release
|
|
34
|
-
(`1.X.0`), provided the change appears in `CHANGELOG.md` under a
|
|
35
|
-
`### Breaking` heading.
|
|
36
|
-
- README, AGENTS.md, and `docs/architecture.md` MAY link to it,
|
|
37
|
-
**provided** the link text or the surrounding sentence carries a
|
|
38
|
-
visible `(beta)` marker.
|
|
39
|
-
- Typical content: flow contracts and recipes that are shipped and
|
|
40
|
-
load-bearing, but whose surface is expected to evolve before a
|
|
41
|
-
SemVer-major lock.
|
|
42
|
-
|
|
43
|
-
### `experimental`
|
|
44
|
-
|
|
45
|
-
- **Breaking change** is allowed in **any release** (including
|
|
46
|
-
patches), with a CHANGELOG note.
|
|
47
|
-
- README, AGENTS.md, and `docs/architecture.md` MUST NOT link to
|
|
48
|
-
experimental contracts. Only the index inside `docs/contracts/`
|
|
49
|
-
may reference them.
|
|
50
|
-
- Typical content: spike artefacts, runtime modules in pilot status,
|
|
51
|
-
early API drafts not yet wired into a roadmap-locked phase.
|
|
52
|
-
|
|
53
|
-
## Frontmatter requirement
|
|
54
|
-
|
|
55
|
-
Every `*.md` under `docs/contracts/` (except this `STABILITY.md` file
|
|
56
|
-
itself) MUST start with a YAML frontmatter block declaring `stability:`.
|
|
57
|
-
|
|
58
|
-
The link checker (`scripts/check_public_links.py`, P0.1b) reads this
|
|
59
|
-
frontmatter and:
|
|
60
|
-
|
|
61
|
-
- **fails CI** when README / AGENTS.md / `docs/architecture.md` links to
|
|
62
|
-
a contract marked `experimental`, to a missing target, or into
|
|
63
|
-
`agents/settings/contexts/` (internal surface).
|
|
64
|
-
- **warns** (non-fatal in default mode; fatal under `--strict`) when a
|
|
65
|
-
public-surface link to a `beta` contract has no `(beta)` marker in
|
|
66
|
-
the surrounding text.
|
|
67
|
-
- ignores `stable` links.
|
|
68
|
-
|
|
69
|
-
Run `task check-public-links` locally; `task ci` invokes the same
|
|
70
|
-
checker in default mode.
|
|
71
|
-
|
|
72
|
-
## Promotion path
|
|
73
|
-
|
|
74
|
-
`experimental → beta → stable`. Demotion is allowed (e.g. `stable →
|
|
75
|
-
beta` to permit a refactor) but appears in `CHANGELOG.md` under
|
|
76
|
-
`### Breaking` and gets a SemVer-major bump.
|
|
77
|
-
|
|
78
|
-
Promotion criteria:
|
|
79
|
-
|
|
80
|
-
- `experimental → beta` — at least one shipped roadmap phase has
|
|
81
|
-
consumed the contract end-to-end without a breaking change.
|
|
82
|
-
- `beta → stable` — at least one SemVer-minor release has shipped
|
|
83
|
-
with the contract unchanged, or the contract has been explicitly
|
|
84
|
-
frozen as part of a roadmap step.
|
|
85
|
-
|
|
86
|
-
## Beta-review markers
|
|
87
|
-
|
|
88
|
-
Every `stability: beta` contract MUST carry exactly one of the
|
|
89
|
-
following frontmatter markers (audit-acceptance for the periodic beta
|
|
90
|
-
review; see `road-to-productization.md` § P5.4):
|
|
91
|
-
|
|
92
|
-
| Marker | Shape | Meaning |
|
|
93
|
-
|---|---|---|
|
|
94
|
-
| `promote-to: stable` | literal | Contract has been ≥ 30 days in beta, zero breaking changes in the last 14 days, ≥ 1 consumer reference. Schedule promotion in the next release. |
|
|
95
|
-
| `keep-beta-until: YYYY-MM-DD` | ISO date | API still moving or consumer count = 0. Date is the next review deadline (max 90 days from the last review). |
|
|
96
|
-
| `superseded-by: <contract-id>` | string | Replaced by a stable contract. Slated for deprecation, not deletion. |
|
|
97
|
-
|
|
98
|
-
The audit is repeated whenever the `keep-beta-until` date passes for
|
|
99
|
-
≥ 25 % of beta contracts, or at the start of any roadmap phase that
|
|
100
|
-
touches the contract surface.
|
|
101
|
-
|
|
102
|
-
## Current contracts
|
|
103
|
-
|
|
104
|
-
See the file headers themselves for current levels. The frontmatter is
|
|
105
|
-
the authoritative source — this list is illustrative, not load-bearing,
|
|
106
|
-
and is generated by `scripts/check_public_links.py --list`.
|
|
107
|
-
|
|
108
|
-
## Budget contracts
|
|
109
|
-
|
|
110
|
-
Numeric caps on the always-active rule surface. These are **load-bearing
|
|
111
|
-
constants** — every reply the agent emits pays the always-rule cost, so
|
|
112
|
-
the budget is part of the public contract, not an implementation detail.
|
|
113
|
-
|
|
114
|
-
The accounting model since Phase 0.2 of `road-to-structural-optimization`
|
|
115
|
-
is **Model (b) literal** — a rule's effective size is its own char count
|
|
116
|
-
plus every context it loads (transitively, depth ≤ 2). See
|
|
117
|
-
[`load-context-budget-model.md`](load-context-budget-model.md) (beta)
|
|
118
|
-
for the contract and the transitional allowlist.
|
|
119
|
-
|
|
120
|
-
| Constant | Value | Stability | Owner |
|
|
121
|
-
|---|---|---|---|
|
|
122
|
-
| Total always-rule budget | **49,000 chars** (extended) | `stable` | `tests/test_always_budget.py::test_always_rules_total_extended_within_tolerance` |
|
|
123
|
-
| G3 tolerance band | **2 % overshoot** (≤ 49,980 chars) | `beta` | `scripts/check_always_budget.py` · `tests/test_always_budget.py` |
|
|
124
|
-
| Warn threshold (CI) | **80 % (39,200 chars)** | `beta` | `scripts/check_always_budget.py` |
|
|
125
|
-
| Fail threshold (CI) | **90 % (44,100 chars)** below 100 %; **> 102 %** above | `beta` | `scripts/check_always_budget.py` |
|
|
126
|
-
| Per-rule cap | **6,000 chars** (extended) with transitional allowlist | `beta` | `tests/test_always_budget.py::test_no_unallowlisted_per_rule_breach` · `scripts/check_always_budget.py` |
|
|
127
|
-
| Top-3 combined cap | **24,500 chars** (extended, 50 % of total) | `beta` | `tests/test_always_budget.py::test_top3_extended_under_cap` · `scripts/check_always_budget.py` |
|
|
128
|
-
| `load_context:` nesting cap | **depth ≤ 2** | `beta` | `tests/test_always_budget.py::test_load_context_depth_within_cap` · `scripts/check_always_budget.py` |
|
|
129
|
-
|
|
130
|
-
**Promises a consumer can rely on:**
|
|
131
|
-
|
|
132
|
-
- The total budget will not silently grow. A bump to `TOTAL_CAP`
|
|
133
|
-
requires a `### Breaking` CHANGELOG entry and a SemVer bump per the
|
|
134
|
-
`stable` policy above.
|
|
135
|
-
- The CI gate (`task check-always-budget`, run on every PR) prevents
|
|
136
|
-
drift toward the cap without a maintainer noticing — the warn/fail
|
|
137
|
-
thresholds give two PR-cycles of advance notice before the wall.
|
|
138
|
-
- Per-rule and top-3 caps prevent a single monster rule re-emerging
|
|
139
|
-
under the global cap. The current per-rule cap is `beta` because the
|
|
140
|
-
numbers are still being tuned against real-world rule churn; promotion
|
|
141
|
-
to `stable` follows one SemVer-minor cycle without a tightening or
|
|
142
|
-
loosening change.
|
|
143
|
-
|
|
144
|
-
**What's intentionally not promised:**
|
|
145
|
-
|
|
146
|
-
- The exact composition of the top-5 set. Rules may be split, merged,
|
|
147
|
-
or relocated to `contexts/` between releases as long as the global
|
|
148
|
-
and per-rule caps still hold.
|
|
149
|
-
- The condensed-vs-uncondensed delta. The CI gate runs against the
|
|
150
|
-
shipped `dist/agent-src/` (condensed) directory; the uncondensed
|
|
151
|
-
source size is informational only.
|
|
152
|
-
|
|
153
|
-
## Schema versioning and structural breaking changes
|
|
154
|
-
|
|
155
|
-
The breaking-change gate is **two-layered** so it does not depend on
|
|
156
|
-
author discipline alone:
|
|
157
|
-
|
|
158
|
-
1. **Commit-annotation layer (`release.py`).** `infer_bump` reads the
|
|
159
|
-
Conventional-Commits annotation (`<type>!:` bang or a
|
|
160
|
-
`BREAKING CHANGE` line) and returns a major bump when present.
|
|
161
|
-
2. **Structural layer (`check_structural_breaking.py`, run in
|
|
162
|
-
`task ci-fast`).** Independently of the commit message, the detector
|
|
163
|
-
inspects the diff against the trunk and FAILS when a structural break
|
|
164
|
-
is present *without* an annotation — forcing the annotation to exist.
|
|
165
|
-
|
|
166
|
-
A change is **structurally breaking** when either:
|
|
167
|
-
|
|
168
|
-
- a tracked artifact *source* file is **deleted or renamed** — a skill
|
|
169
|
-
`SKILL.md`, a rule, a command `command.md`, a pack manifest, or a
|
|
170
|
-
contract schema; or
|
|
171
|
-
- a contract schema under `src/scripts/schemas/` is **modified without
|
|
172
|
-
bumping its `x-schemaVersion`**. The four contract schemas (`pack`,
|
|
173
|
-
`skill`, `rule`, `command`) carry an `x-schemaVersion`. Bump it when an
|
|
174
|
-
enum value is added or removed, a field type changes, or a validation
|
|
175
|
-
rule tightens — these are breaking-for-consumers yet invisible to a
|
|
176
|
-
name-status diff. Purely *additive* schema changes (a new optional
|
|
177
|
-
field) do not require a bump.
|
|
178
|
-
|
|
179
|
-
Escape for an intentional break (e.g. a deprecation cycle completing):
|
|
180
|
-
add `ci-override: structural-breaking-ok` to a commit body. The detector
|
|
181
|
-
accepts ~20% false-negatives on purely *semantic* breaks (behaviour
|
|
182
|
-
change with no artifact/schema delta); the structural + schema + commit
|
|
183
|
-
cross-check reaches ~95% coverage (2026-06-16 council).
|
|
184
|
-
|
|
185
|
-
## See also
|
|
186
|
-
|
|
187
|
-
- [`docs/architecture.md`](../architecture.md) — package architecture overview
|
|
188
|
-
- [`rule-priority-hierarchy.md`](rule-priority-hierarchy.md) — which always-rule wins on conflict
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-26
|
|
4
|
-
roadmap_ref: road-to-adoption-proof-and-ci-green.md
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Adoption Signal Floor
|
|
8
|
-
|
|
9
|
-
> **Status** · v0 / beta · 2026-05-26. Phase D Step 1 of
|
|
10
|
-
> the `road-to-adoption-proof-and-ci-green` roadmap (archived).
|
|
11
|
-
> Defines the privacy-floor for adoption-signal collection — what
|
|
12
|
-
> the package may measure, what it may NOT, and the opt-in gate
|
|
13
|
-
> consumer-side telemetry would need to clear before it could ship.
|
|
14
|
-
|
|
15
|
-
## The Iron Law
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
LOCAL-ONLY BY DEFAULT. NO CONSUMER TELEMETRY. NO PER-USER DATA.
|
|
19
|
-
NO CROSS-PROJECT CORRELATION. ANY SIGNAL THAT LEAVES A CONSUMER
|
|
20
|
-
MACHINE IS EXPLICITLY OPT-IN, NEVER ON BY DEFAULT.
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
The package's adoption story is told through **public surfaces only**
|
|
24
|
-
— npm registry counters, GitHub public-API metrics, registry-listing
|
|
25
|
-
status. The consumer's machine stays opaque to the maintainer unless
|
|
26
|
-
the consumer opts in explicitly and the contract names the opt-in
|
|
27
|
-
gate.
|
|
28
|
-
|
|
29
|
-
## Allowed signals — public sources only
|
|
30
|
-
|
|
31
|
-
All four signals below come from public APIs and require no
|
|
32
|
-
consumer-side instrumentation. The roadmap's Phase D Step 2
|
|
33
|
-
collector (`scripts/adoption_snapshot.py`) pulls them into a single
|
|
34
|
-
weekly snapshot.
|
|
35
|
-
|
|
36
|
-
| Signal | Source | Refresh cadence | Privacy posture |
|
|
37
|
-
|---|---|---|---|
|
|
38
|
-
| **npm install count** | npm registry API (`https://api.npmjs.org/downloads/`) | Daily granularity; we snapshot weekly. | Public. Aggregated across all installs; no IP / user identification possible from this surface. |
|
|
39
|
-
| **npm version distribution** | npm registry API (`https://registry.npmjs.org/@event4u%2Fagent-config`) | Per-publish; we snapshot the latest version on each cron. | Public. Reveals which versions are still being pulled, not who pulls them. |
|
|
40
|
-
| **GitHub stars / forks** | GitHub REST API (`/repos/event4u-app/agent-config`) | Snapshot-on-demand. | Public. GitHub already exposes the count on the repo page. |
|
|
41
|
-
| **Topic-search rank** | GitHub search API (`/search/repositories?q=topic:agent-skills` and `topic:cinematic-ai-video`) | Snapshot-on-demand. | Public. Surfaces where the package lands in topic-based discovery. |
|
|
42
|
-
|
|
43
|
-
The collector stores one dated JSONL row per cron run at
|
|
44
|
-
`agents/runtime/metrics/adoption-snapshots.jsonl`. The file is
|
|
45
|
-
local-only — it never leaves the consumer's CI runner; the project
|
|
46
|
-
publishes only the rolled-up `adoption-report.md` (see Phase D
|
|
47
|
-
Step 3).
|
|
48
|
-
|
|
49
|
-
## Disallowed signals — never collected, never on-by-default
|
|
50
|
-
|
|
51
|
-
The four classes below would violate the Iron Law. They are listed
|
|
52
|
-
explicitly so the boundary is unambiguous:
|
|
53
|
-
|
|
54
|
-
1. **Consumer-side telemetry.** Any signal that originates on a
|
|
55
|
-
consumer's machine — CLI invocation count, error rates,
|
|
56
|
-
feature-use counters, prompt token counts, install-success-on-OS
|
|
57
|
-
metrics — is **forbidden** without an explicit opt-in flag
|
|
58
|
-
the consumer sets per-install.
|
|
59
|
-
2. **Per-user data.** Even aggregated, the package does not collect
|
|
60
|
-
anything that can identify an individual (email, IP, machine
|
|
61
|
-
fingerprint, hostname). The aggregate-only carve-out does not
|
|
62
|
-
apply to anything narrower than country-level.
|
|
63
|
-
3. **Cross-project correlation.** Two consumer projects that both
|
|
64
|
-
install the package must never be linkable through any signal
|
|
65
|
-
the package emits. (npm install counts are aggregated by npm
|
|
66
|
-
itself; the package does not retain or correlate them.)
|
|
67
|
-
4. **Outbound network from the package runtime.** No `fetch()`,
|
|
68
|
-
no `requests.post()`, no `httpx.post()` to a maintainer-side
|
|
69
|
-
endpoint. The package's `0` outbound calls posture is a feature.
|
|
70
|
-
|
|
71
|
-
## Opt-in gate — what consumer-side telemetry would need
|
|
72
|
-
|
|
73
|
-
Should a future phase want to add consumer-side telemetry (for
|
|
74
|
-
example, anonymous error reporting), each of the four gates below
|
|
75
|
-
must clear before the code lands:
|
|
76
|
-
|
|
77
|
-
| Gate | Requirement |
|
|
78
|
-
|---|---|
|
|
79
|
-
| **Explicit opt-in flag** | A consumer-side environment variable or `.agent-settings.yml` field defaulting to `false`. Never on at install time. |
|
|
80
|
-
| **Per-event consent UX** | The first time the flag flips, the agent / CLI prints a one-screen explanation of what is collected and a y/N confirmation prompt. |
|
|
81
|
-
| **Local-first storage** | Every emitted event must land on disk first (so the consumer can read it before it leaves); upload is a separate later step. |
|
|
82
|
-
| **Maintainer-controlled receiver** | The receiving endpoint is maintainer-owned, documented in `docs/contracts/`, and reviewed by `domain-safety-pii` + `data-handling-judgment` before any code points at it. |
|
|
83
|
-
|
|
84
|
-
Until all four gates are written and reviewed, consumer-side
|
|
85
|
-
telemetry is **forbidden** even as a discussion item in roadmaps.
|
|
86
|
-
|
|
87
|
-
## Extraction demand gate — lint_originality standalone probe
|
|
88
|
-
|
|
89
|
-
Added 2026-07-20 (road-to-originality-gate-and-contributor-funnel Phase 3,
|
|
90
|
-
council 2026-07-20: extraction is demand-gated; the floor IS the demand gate,
|
|
91
|
-
applied post-probe). Uses **allowed public signals only** — inbound GitHub
|
|
92
|
-
issues/PRs and their authors; no consumer telemetry, consistent with the Iron
|
|
93
|
-
Law above.
|
|
94
|
-
|
|
95
|
-
| Field | Value |
|
|
96
|
-
|---|---|
|
|
97
|
-
| **Probe surface** | [`docs/anti-reskin-gate.md`](../anti-reskin-gate.md) — run-from-clone recipe + signal instructions |
|
|
98
|
-
| **Signal definition** | A distinct external (non-maintainer) GitHub account opening an issue titled `anti-reskin gate: standalone request`, or referencing `lint_originality` in an inbound issue/PR about their own catalog |
|
|
99
|
-
| **Floor** | ≥ 3 distinct external signals |
|
|
100
|
-
| **Window** | 90 days from the probe page landing on `main` |
|
|
101
|
-
| **Floor met** | Extract `lint_originality` as a standalone zero-config npx package (`--changed` mode, no repo coupling, regression suite included); npm publish remains a maintainer decision (name, scope, moment) |
|
|
102
|
-
| **Floor missed** | Extraction **cancelled** — recorded via decision-record; not relitigated without new evidence |
|
|
103
|
-
|
|
104
|
-
## Re-audit cadence
|
|
105
|
-
|
|
106
|
-
Re-audit on each of:
|
|
107
|
-
|
|
108
|
-
- A new adoption signal (proposed for the collector).
|
|
109
|
-
- A consumer asks for a feature that would require knowing how they
|
|
110
|
-
use the package — the answer is "we don't collect that; here is
|
|
111
|
-
how the existing public signals approximate it".
|
|
112
|
-
- Quarterly check against the Phase D Step 4 trend snapshot — if
|
|
113
|
-
the existing four signals stop tracking adoption faithfully, the
|
|
114
|
-
question is "add a new public signal" never "add consumer
|
|
115
|
-
telemetry".
|
|
116
|
-
|
|
117
|
-
## See also
|
|
118
|
-
|
|
119
|
-
- [`scripts/adoption_snapshot.py`](../../src/scripts/adoption_snapshot.py)
|
|
120
|
-
— the collector for the four public signals.
|
|
121
|
-
- `domain-safety-pii` rule — the redaction floor any future opt-in
|
|
122
|
-
telemetry would inherit.
|
|
123
|
-
- `data-handling-judgment` skill — the regulatory read for any
|
|
124
|
-
cross-border data flow.
|
|
125
|
-
- [`registry-submissions.md`](../distribution/registry-submissions.md)
|
|
126
|
-
§ Adoption-tracking signal — how the snapshot trend interacts
|
|
127
|
-
with the registry-row status counters.
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-12
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ADR — Architectural Consensus Mechanism (bus-factor / multi-author readiness)
|
|
7
|
-
|
|
8
|
-
> **Status:** Decided · 2026-05-14
|
|
9
|
-
> **Context:** v2 council finding C1 (file [01-bus-factor-and-consensus.md](../../agents/runtime/council/sessions/2026-05-14-v2-analysis/feedback/01-bus-factor-and-consensus.md)) flagged that a single-author skill suite cannot detect ontology drift (two skills with overlapping triggers, drift between description and body, generic best-practice patterns repeated across clusters). The package needs a **mechanical consensus signal** that does not depend on the original author's judgment. <!-- council-ref-allowed: ADR decision trace -->
|
|
10
|
-
> **Roadmap:** Closes Phase 5.2 of the v2 feedback follow-up roadmap
|
|
11
|
-
> (see `agents/roadmaps/`).
|
|
12
|
-
|
|
13
|
-
## Decision
|
|
14
|
-
|
|
15
|
-
A **two-tier consensus mechanism**, layered by cost:
|
|
16
|
-
|
|
17
|
-
1. **Tier A — Automated ontology lint (every PR).** `scripts/skill_collision_clusters.py` produces `agents/runtime/reports/skill-collision-clusters.json`. New skills that fall into an existing collision cluster (description-vector similarity ≥ threshold or trigger-keyword overlap ≥ threshold) **break the build** unless paired with one of:
|
|
18
|
-
- A routing rule (tier-2a path-prefix or tier-3 keyword) that declares ownership, OR
|
|
19
|
-
- An ADR under `docs/contracts/adr-*.md` that names the trade-off.
|
|
20
|
-
2. **Tier B — ADR on first collision (per cluster, not per skill).** When Tier A flags a new collision and the author chooses to keep both skills, they write a one-page ADR naming what each skill owns and where the boundary lives. The ADR is **per cluster**, not per skill — adding a fourth `php-*` skill to an established `php-*` cluster does not require a new ADR; only the cluster's first ADR matters.
|
|
21
|
-
|
|
22
|
-
Tier C (external review per N skills) is **rejected** as standing process; it is reserved for major-version boundaries (v3, v4) where the host wants a one-shot external sanity pass.
|
|
23
|
-
|
|
24
|
-
## Why this was a real question
|
|
25
|
-
|
|
26
|
-
The three options from feedback file 01 were:
|
|
27
|
-
|
|
28
|
-
| Option | Cost | Detection power | Failure mode |
|
|
29
|
-
|---|---|---|---|
|
|
30
|
-
| (a) ADR per cluster | medium author cost, near-zero CI cost | high once written, zero before | author forgets to write the ADR; drift accumulates silently |
|
|
31
|
-
| (b) Automated ontology lint | low marginal cost per PR, one-time build cost | catches collisions at PR time; no semantic depth | flags noise (similar descriptions that own different surfaces); needs threshold tuning |
|
|
32
|
-
| (c) External review per N skills | high USD + calendar cost | high but lagged | gate fires too late; expensive |
|
|
33
|
-
|
|
34
|
-
Picking only (a) means the gate fires after the drift has already shipped (review of a written ADR ≠ detection of a missing ADR). Picking only (b) means the lint surfaces a number but the human still has to decide what to do with it. Picking only (c) means the gate fires once per quarter at best and costs real money.
|
|
35
|
-
|
|
36
|
-
The two-tier choice is the convener-skeptic synthesis: **(b) is the always-on gate, (a) is the high-signal moment (b) creates.** (c) stays reserved for the moments where neither (b) nor (a) can answer — and those moments are rare enough not to warrant standing process.
|
|
37
|
-
|
|
38
|
-
## Consequences
|
|
39
|
-
|
|
40
|
-
- **Author cost (steady-state):** zero. The lint runs in CI; the author only writes an ADR when they introduce a new cluster head.
|
|
41
|
-
- **Author cost (when collisions land):** one ADR per cluster, ~150-300 lines.
|
|
42
|
-
- **CI cost:** O(skills²) similarity scan; current 210 skills → ~22k pairs scanned at ms-each. Acceptable for `ci-fast`.
|
|
43
|
-
- **Reviewer cost:** the cluster ADR is the single review surface — reviewers don't have to re-derive the cluster boundary on every PR touching the cluster.
|
|
44
|
-
- **What this does not catch:** drift between a skill's description and its body. That is a different problem, addressed by `audit-descriptions` / `lint-skills` (already in CI).
|
|
45
|
-
- **What this does not replace:** the `skill-quality` Iron-Law rule (every skill must be executable, validated, self-contained) and `description-assist` (push-toward-trigger phrasing). Those remain author-time obligations.
|
|
46
|
-
|
|
47
|
-
## Rejected alternatives
|
|
48
|
-
|
|
49
|
-
- **(c) alone — external review per N skills.** Too expensive as standing process; gate fires too late to prevent drift.
|
|
50
|
-
- **Tier A as warn-only forever.** Defeats the purpose — drift accumulates if there is no fail-the-build state.
|
|
51
|
-
- **Persona-prompted self-review** (host runs sibling models). Rejected by `ai-council` skill (council convergence, 2026-05-06): same model, same blind spots, more cost.
|
|
52
|
-
|
|
53
|
-
## Acceptance test
|
|
54
|
-
|
|
55
|
-
- [x] `scripts/skill_collision_clusters.py` exists and emits `agents/runtime/reports/skill-collision-clusters.json`
|
|
56
|
-
- [x] `scripts/score_skill_selection.py` exists and emits `agents/runtime/reports/skill-selection-accuracy.json`
|
|
57
|
-
- [x] Phase 3 routing rules (`laravel-routing`, `symfony-routing`, `copilot-routing`, `devcontainer-routing`) demonstrate the tier-B response to a flagged cluster
|
|
58
|
-
- [ ] Lint promoted to `fail-the-build` once thresholds are confirmed stable across one full release cycle (currently `warn-only`)
|
|
59
|
-
|
|
60
|
-
The final acceptance gate (lint going from warn-only to fail-the-build) is deferred to the next release window so the threshold has time to settle without breaking PRs on borderline noise. Tracked as a follow-up in the next step-N roadmap.
|
|
61
|
-
|
|
62
|
-
## Related
|
|
63
|
-
|
|
64
|
-
- Origin: [`agents/runtime/council/sessions/2026-05-14-v2-analysis/feedback/01-bus-factor-and-consensus.md`](../../agents/runtime/council/sessions/2026-05-14-v2-analysis/feedback/01-bus-factor-and-consensus.md) <!-- council-ref-allowed: ADR decision trace -->
|
|
65
|
-
- Mechanical scripts: [`scripts/skill_collision_clusters.py`](../../src/scripts/skill_collision_clusters.py), [`scripts/score_skill_selection.py`](../../src/scripts/score_skill_selection.py)
|
|
66
|
-
- Sibling decision: [`docs/contracts/rule-router.md`](rule-router.md) — the routing layer the ADR feeds
|
|
67
|
-
- Sibling decision: [`docs/contracts/multi-tool-projection-fidelity.md`](multi-tool-projection-fidelity.md) — Phase 4 of the same roadmap
|
|
68
|
-
- Standing skill: [`.augment/skills/ai-council/SKILL.md`](../../.augment/skills/ai-council/SKILL.md) — the explicit-opt-in path for the rare moments tier C is invoked
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: beta
|
|
3
|
-
keep-beta-until: 2026-08-12
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ADR — Chat-history rule split
|
|
7
|
-
|
|
8
|
-
> **Status:** Superseded · 2026-05-04 · by
|
|
9
|
-
> [`agents/settings/contexts/chat-history-platform-hooks.md`](../../agents/settings/contexts/chat-history-platform-hooks.md).
|
|
10
|
-
> The cooperative three-rule split this ADR locked in
|
|
11
|
-
> (`chat-history-ownership` / `-cadence` / `-visibility`) has been
|
|
12
|
-
> reduced to a hook-only structural artifact. The three always-rules,
|
|
13
|
-
> the heartbeat marker, and the Foreign-Prompt handshake are gone;
|
|
14
|
-
> `session_start` hooks auto-adopt foreign sessions silently. The text
|
|
15
|
-
> below is preserved for historical context only.
|
|
16
|
-
>
|
|
17
|
-
> **Original status:** Decided · 2026-05-02
|
|
18
|
-
> **Context:** AI #1, AI #3, AI #5 review of PR #29 flagged the
|
|
19
|
-
> 200-line monolithic `rules/chat-history.md` as the rule the agent
|
|
20
|
-
> revisited 12+ times during the 1.14.0 cycle — three independent
|
|
21
|
-
> concerns coupled into one Iron Law block.
|
|
22
|
-
> **Builds on:** [`adr-implement-ticket-runtime.md`](adr-implement-ticket-runtime.md)
|
|
23
|
-
> — engine path was added to the existing rule mid-flight, which
|
|
24
|
-
> exposed the coupling.
|
|
25
|
-
> **Defers to:** Phase 2 P2.9 (memory-visibility surface) for the
|
|
26
|
-
> reuse of the heartbeat plumbing.
|
|
27
|
-
|
|
28
|
-
## Decision
|
|
29
|
-
|
|
30
|
-
`rules/chat-history.md` is split into **three sibling `always` rules**,
|
|
31
|
-
each owning one orthogonal concern and a clear single Iron Law:
|
|
32
|
-
|
|
33
|
-
| Rule | Iron Law owned | What it answers |
|
|
34
|
-
|---|---|---|
|
|
35
|
-
| `chat-history-ownership.md` | Foreign/Returning/Missing handshake — whose file is this? | Activation, two-paths table (HOOK/ENGINE/CHECKPOINT/MANUAL), Foreign/Returning prompts |
|
|
36
|
-
| `chat-history-cadence.md` | turn-check + append gates — when to write? | Turn-start gate, append cadence (`per_turn`/`per_phase`/`per_tool`), `OWNERSHIP_REFUSED` handling |
|
|
37
|
-
| `chat-history-visibility.md` | Heartbeat marker — how does the user see drift? | Heartbeat invocation, `on`/`off`/`hybrid` modes, memory-typing-the-marker hard-rule |
|
|
38
|
-
|
|
39
|
-
The original `rules/chat-history.md` is deleted. Cross-references
|
|
40
|
-
across the three splits are explicit one-line backlinks at the top of
|
|
41
|
-
each file. The CHECKPOINT-path Iron Law (the three-gate block) is
|
|
42
|
-
re-anchored: ownership owns gate 1 (turn-check), cadence owns gate 2
|
|
43
|
-
(append), visibility owns gate 3 (heartbeat).
|
|
44
|
-
|
|
45
|
-
## Why this was a real question
|
|
46
|
-
|
|
47
|
-
Three options were on the table:
|
|
48
|
-
|
|
49
|
-
1. **Leave the monolith, add sub-section index.** Rejected: the
|
|
50
|
-
12-iteration churn was on individual sub-sections (heartbeat
|
|
51
|
-
visibility modes, foreign/returning prompts, cadence frequencies)
|
|
52
|
-
touching unrelated parts of the file. Index doesn't separate
|
|
53
|
-
concerns; it only renames the problem.
|
|
54
|
-
2. **Move the Iron Law block to a context doc, leave the rule as a
|
|
55
|
-
thin pointer.** Rejected: contexts are reference, rules are
|
|
56
|
-
triggers — the three gates ARE the trigger surface. Demoting them
|
|
57
|
-
to context bleeds enforcement.
|
|
58
|
-
3. **Three sibling rules, one concern each (chosen).** Adopted
|
|
59
|
-
because each concern has a distinct lifecycle: ownership is a
|
|
60
|
-
first-turn handshake (rare event, high stakes), cadence is per-
|
|
61
|
-
phase (high frequency, low stakes per write), visibility is per-
|
|
62
|
-
reply (every turn, observability-only). Coupling them produced the
|
|
63
|
-
"memory-typing the marker" failure mode we hardened against in
|
|
64
|
-
1.14.0 — separating them makes future hardening surgical.
|
|
65
|
-
|
|
66
|
-
## Sizing & always-rule budget
|
|
67
|
-
|
|
68
|
-
Pre-split: `chat-history.md` = 201 lines. Always-rule budget pre-split = 2207 lines across 18 rules.
|
|
69
|
-
|
|
70
|
-
Post-split target (frontmatter + cloud-behavior + interactions
|
|
71
|
-
sections triplicated):
|
|
72
|
-
|
|
73
|
-
| File | Target lines |
|
|
74
|
-
|---|---:|
|
|
75
|
-
| `chat-history-ownership.md` | ≤ 95 |
|
|
76
|
-
| `chat-history-cadence.md` | ≤ 80 |
|
|
77
|
-
| `chat-history-visibility.md` | ≤ 65 |
|
|
78
|
-
| **Total** | **≤ 240** |
|
|
79
|
-
|
|
80
|
-
Net always-rule budget delta: **+39 lines** (≈ 1.8 % of the current
|
|
81
|
-
2207-line total). Within the ~49k-token target ceiling tracked in
|
|
82
|
-
`road-to-governance-cleanup.md`.
|
|
83
|
-
|
|
84
|
-
## Consequences
|
|
85
|
-
|
|
86
|
-
**Wins**
|
|
87
|
-
|
|
88
|
-
- Each rule has one Iron Law instead of three. Future edits to
|
|
89
|
-
cadence don't risk touching ownership prompt mechanics.
|
|
90
|
-
- The `chat-history-visibility.md` rule becomes a clean reuse target
|
|
91
|
-
for Phase 2 P2.9 (memory-visibility surface).
|
|
92
|
-
- Refactoring the engine-side hooks (`chat_history_turn_check.py`,
|
|
93
|
-
`chat_history_append.py`, `chat_history_heartbeat.py`) is now
|
|
94
|
-
1:1 with rule files — one rule per hook.
|
|
95
|
-
|
|
96
|
-
**Costs / migration surface**
|
|
97
|
-
|
|
98
|
-
- Every cross-reference to `chat-history` across the package must be
|
|
99
|
-
updated to point at the right split. Inventory: ~30 files (rules,
|
|
100
|
-
templates, scripts, commands, contexts, README, AGENTS.md).
|
|
101
|
-
- `docs-sync.md` table needs the new triple instead of the singleton.
|
|
102
|
-
- `scripts/check_references.py` runs catch broken links; CI gates the
|
|
103
|
-
split.
|
|
104
|
-
- Any consumer project carrying a project-level override of
|
|
105
|
-
`chat-history` must also split (or alias) — handled by an explicit
|
|
106
|
-
migration note in `docs/migrations/commands-1.15.0.md` (extended
|
|
107
|
-
for this rule split).
|
|
108
|
-
|
|
109
|
-
**Reversibility**
|
|
110
|
-
|
|
111
|
-
Split is a structural refactor, not a behavior change. Reverting
|
|
112
|
-
would mean re-concatenating the three files — mechanical but loud
|
|
113
|
-
in CI. The CHECKPOINT-path Iron Law numbering is preserved, so
|
|
114
|
-
agents that learned "gates 1-2-3" still find the same numbered
|
|
115
|
-
sequence, just across three files.
|
|
116
|
-
|
|
117
|
-
## Out of scope
|
|
118
|
-
|
|
119
|
-
- Behavior changes to `scripts/chat_history.py` — the script's
|
|
120
|
-
CLI surface is unchanged.
|
|
121
|
-
- Adding new cadence frequencies or visibility modes — separate
|
|
122
|
-
decision, not part of this split.
|
|
123
|
-
- Removing the CHECKPOINT-path entirely — Cline-on-Windows still
|
|
124
|
-
needs cooperative gates; that's a Phase 3+ conversation.
|
|
125
|
-
|
|
126
|
-
## Implementation plan (this PR)
|
|
127
|
-
|
|
128
|
-
1. Create the three new rules under `.agent-src.uncondensed/rules/`.
|
|
129
|
-
2. Delete `.agent-src.uncondensed/rules/chat-history.md`.
|
|
130
|
-
3. Run `bash scripts/condense.sh --sync` to project the change into
|
|
131
|
-
`dist/agent-src/`, `.augment/`, `.claude/`, `.cursor/`, `.clinerules/`,
|
|
132
|
-
`.windsurfrules`.
|
|
133
|
-
4. Update every cross-reference (~30 files) — `check-refs` is the
|
|
134
|
-
gate.
|
|
135
|
-
5. Append a migration note to `docs/migrations/commands-1.15.0.md`
|
|
136
|
-
under a new "Rule splits" section.
|
|
137
|
-
6. Regenerate `agents/roadmaps-progress.md`.
|
|
138
|
-
7. Verify: `task ci` (lint-skills, check-refs, check-public-links,
|
|
139
|
-
check-condensation, counts-check, lint-readme, runtime-e2e,
|
|
140
|
-
roadmap-progress-check, lint-readme).
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
stability: stable
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# ADR — Context-Aware Command Suggestion
|
|
6
|
-
|
|
7
|
-
> **Status:** Decided · Phases 1–7 shipped · 2026-04-30
|
|
8
|
-
> **Rule:** [`command-suggestion`](../../.agent-src.uncondensed/rules/command-suggestion-policy.md)
|
|
9
|
-
> **Eligibility table:** [`command-suggestion-eligibility.md`](command-suggestion-eligibility.md)
|
|
10
|
-
> **Engine:** `scripts/command_suggester/`
|
|
11
|
-
> **Orthogonal to:** R1 (`adr-work-engine-rename.md`) — the suggester is a
|
|
12
|
-
> read-only shortcut *finder*; it never invokes a command. Engine boundaries
|
|
13
|
-
> stay intact.
|
|
14
|
-
|
|
15
|
-
## Decision
|
|
16
|
-
|
|
17
|
-
Add a **deterministic, read-only** suggestion layer that scans every
|
|
18
|
-
non-`/`-prefixed user turn against eligible command frontmatter
|
|
19
|
-
(`suggestion.trigger_description` + `trigger_context`) and surfaces matches
|
|
20
|
-
as a **numbered-options block** with the user-interaction Iron Law shape:
|
|
21
|
-
|
|
22
|
-
- N command options, neutral labels (no inline `(recommended)` tag).
|
|
23
|
-
- Always-last "Just run the prompt as-is, no command" escape hatch.
|
|
24
|
-
- Exactly one `**Recommendation: K — /command**` line, omitted when the
|
|
25
|
-
top two scores are within `0.05` of each other.
|
|
26
|
-
|
|
27
|
-
The suggester **never executes** anything — option-N is what triggers the
|
|
28
|
-
standard slash-command flow on the next turn (with all per-command halts
|
|
29
|
-
intact). The user picks every time.
|
|
30
|
-
|
|
31
|
-
## Why this was a real question
|
|
32
|
-
|
|
33
|
-
A maintainer who types "Setze Ticket ABC-123 um" got a generic
|
|
34
|
-
implementation walk-through, not the `/implement-ticket` engine. The
|
|
35
|
-
package owns 75 commands; the agent has the list in context but no
|
|
36
|
-
contract telling it "when the prompt looks like *this*, offer *that*
|
|
37
|
-
command". Three forces converged:
|
|
38
|
-
|
|
39
|
-
1. **Discoverability gap.** Users learn `/command` only when documented;
|
|
40
|
-
most never type it.
|
|
41
|
-
2. **Safety anchor.** Auto-execution is non-negotiably out (`scope-control`,
|
|
42
|
-
per-command halts). Anything we ship cannot weaken that floor.
|
|
43
|
-
3. **Determinism.** ML-based intent detection is non-replayable; goldens
|
|
44
|
-
would drift. Pattern + keyword matching keeps GT-CS replays byte-stable.
|
|
45
|
-
|
|
46
|
-
Three alternatives were rejected:
|
|
47
|
-
|
|
48
|
-
- **Auto-route to commands** (bypass the user). Rejected: violates the
|
|
49
|
-
"user always picks" anchor; one wrong route inside `/implement-ticket`
|
|
50
|
-
is a multi-hour blast radius.
|
|
51
|
-
- **Trigger-based command auto-prefix** (silently rewrite the prompt
|
|
52
|
-
to `/command <prompt>`). Rejected: same anchor breach, plus the user
|
|
53
|
-
loses the "skip" option.
|
|
54
|
-
- **LLM intent classifier**. Rejected: non-deterministic, untestable in
|
|
55
|
-
the GT-CS harness, and the eligibility table is small enough that
|
|
56
|
-
pattern matching reaches the same precision at zero cost.
|
|
57
|
-
|
|
58
|
-
## Eligibility rubric
|
|
59
|
-
|
|
60
|
-
A command is **eligible** (default `true`) unless:
|
|
61
|
-
|
|
62
|
-
- Invocation is **intentional-only** (`/onboard`, `/package-reset`,
|
|
63
|
-
`/mode`, `/agent-handoff`, `/chat-history-clear`).
|
|
64
|
-
- Triggers would overlap so heavily with normal prose that the floor +
|
|
65
|
-
cooldown can't suppress the noise.
|
|
66
|
-
- The command has no natural-language signal distinct from neighbours.
|
|
67
|
-
|
|
68
|
-
The locked table is
|
|
69
|
-
[`command-suggestion-eligibility.md`](command-suggestion-eligibility.md).
|
|
70
|
-
Eligibility changes are roadmap follow-ups, not drive-by edits.
|
|
71
|
-
|
|
72
|
-
## Anti-noise heuristics
|
|
73
|
-
|
|
74
|
-
`rank.py` drops matches that fail any of:
|
|
75
|
-
|
|
76
|
-
- Score below `confidence_floor` (default `0.6`; per-command override
|
|
77
|
-
via frontmatter).
|
|
78
|
-
- Single match within `floor + 0.1` of the floor and no structural
|
|
79
|
-
bonus (high uncertainty isn't worth interrupting).
|
|
80
|
-
- Short prompt (< 6 words) hitting > 2 commands without a structural
|
|
81
|
-
bonus (too vague to disambiguate).
|
|
82
|
-
- Pure continuation phrase (`ok`, `weiter`, `mach weiter`, `go on`,
|
|
83
|
-
`continue`) with no structural bonus.
|
|
84
|
-
- Same `(command, evidence)` pair shown within `cooldown_seconds`
|
|
85
|
-
(default `600`, per-command override).
|
|
86
|
-
|
|
87
|
-
Structural bonuses (ticket key, file path, branch shape) override
|
|
88
|
-
suppression when they signal real intent.
|
|
89
|
-
|
|
90
|
-
## Hardening — what suggestion must never do
|
|
91
|
-
|
|
92
|
-
The rule (`.agent-src.uncondensed/rules/command-suggestion-policy.md`)
|
|
93
|
-
binds the engine to five non-negotiables, mirrored as goldens:
|
|
94
|
-
|
|
95
|
-
1. **No execution without user pick.** `SUGGEST. NEVER INVOKE.` is the
|
|
96
|
-
first Iron Law in the rule.
|
|
97
|
-
2. **No multi-question stacks.** Clarification (`ask-when-uncertain`)
|
|
98
|
-
wins; suggestion stays silent that turn.
|
|
99
|
-
3. **No conversation hijack.** `enabled: false`, no matches above floor,
|
|
100
|
-
or a senior rule active → zero output.
|
|
101
|
-
4. **No echo-trigger.** `sanitize.py` strips fenced/inline code and the
|
|
102
|
-
engine's own previous block shape (`> N. /command — …`,
|
|
103
|
-
`**Recommendation: N — …**`) before scoring.
|
|
104
|
-
5. **Hard subordination.** `scope-control`, `ask-when-uncertain`,
|
|
105
|
-
`verify-before-complete`, and any active role-mode contract outrank
|
|
106
|
-
suggestion.
|
|
107
|
-
|
|
108
|
-
GT-CS1 through GT-CS9 (`tests/test_command_suggester_goldens.py`) lock
|
|
109
|
-
the contract end-to-end.
|
|
110
|
-
|
|
111
|
-
## Three opt-out paths
|
|
112
|
-
|
|
113
|
-
| Path | Mechanism | Scope |
|
|
114
|
-
|---|---|---|
|
|
115
|
-
| Global | `commands.suggestion.enabled: false` in `.agent-settings.yml` | Whole project |
|
|
116
|
-
| Per-command | `commands.suggestion.blocklist: [/cmd]` | Specific command stays as-is |
|
|
117
|
-
| Per-conversation | `/command-suggestion-off` directive | Until user re-enables or chat ends |
|
|
118
|
-
|
|
119
|
-
All three are deterministic and tested. `/command-suggestion-on`
|
|
120
|
-
re-enables mid-conversation.
|
|
121
|
-
|
|
122
|
-
## Consequences
|
|
123
|
-
|
|
124
|
-
**Positive.** The maintainer's intent surfaces commands they didn't
|
|
125
|
-
remember to type. Anti-noise heuristics keep the layer near-silent on
|
|
126
|
-
prose. Goldens replay byte-stable; GT-CS9 covers adversarial echo.
|
|
127
|
-
|
|
128
|
-
**Negative.** A new always-on rule adds context budget — kept under
|
|
129
|
-
size budget by the size-enforcement rule. Per-command frontmatter now
|
|
130
|
-
carries `suggestion.*` keys; the linter enforces them so drift is
|
|
131
|
-
caught early.
|
|
132
|
-
|
|
133
|
-
**Open.** Trigger drift over time — a command's
|
|
134
|
-
`trigger_description` gets stale as conventions move. Mitigation: the
|
|
135
|
-
artefact-engagement telemetry pipeline (default-off) measures
|
|
136
|
-
suggestion pick-rate per command, surfacing weak triggers as
|
|
137
|
-
retirement candidates without a hard SLA.
|
|
138
|
-
|
|
139
|
-
## See also
|
|
140
|
-
|
|
141
|
-
- [`command-suggestion`](../../.agent-src.uncondensed/rules/command-suggestion-policy.md) — runtime rule
|
|
142
|
-
- [`command-suggestion-eligibility.md`](command-suggestion-eligibility.md) — locked eligibility table
|
|
143
|
-
- [`adr-prompt-driven-execution.md`](adr-prompt-driven-execution.md) — `/work` entrypoint that explicit slash invocations route to
|
|
144
|
-
- [`agent-settings`](../../.agent-src.uncondensed/templates/agent-settings.md) — `commands.suggestion.*` reference
|