@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root,[data-theme=dark]{color-scheme:dark;--color-bg: #0b0c0e;--color-surface: #121316;--color-surface-alt: #1a1c20;--color-surface-hover:#1f2126;--color-sidebar: #232427;--color-border: rgba(255, 255, 255, .09);--color-border-strong:rgba(255, 255, 255, .22);--color-text: #ededef;--color-text-muted: #a2a5ad;--color-text-subtle: #6f7280;--color-text-inverse: #101114;--color-accent: #d66d4d;--color-accent-hover: #db7e61;--color-accent-fg: #101114;--color-accent-soft: rgba(209, 92, 56, .14);--color-success: #4ade80;--color-success-soft: rgba(74, 222, 128, .13);--color-warning: #fbbf24;--color-warning-soft: rgba(251, 191, 36, .13);--color-danger: #f87171;--color-danger-soft: rgba(248, 113, 113, .12);--color-info: #38bdf8;--color-info-soft: rgba(56, 189, 248, .13);--color-focus-ring: #db7e61;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-md: 0 4px 10px -2px rgba(0, 0, 0, .55);--shadow-lg: 0 12px 28px -6px rgba(0, 0, 0, .65);--shadow-focus: 0 0 0 2px var(--color-focus-ring)}[data-theme=light]{color-scheme:light;--color-bg: #f7f7f8;--color-surface: #ffffff;--color-surface-alt: #f1f2f4;--color-surface-hover:#e9eaee;--color-sidebar: #f1f2f4;--color-border: rgba(17, 18, 24, .1);--color-border-strong:rgba(17, 18, 24, .28);--color-text: #16171b;--color-text-muted: #565963;--color-text-subtle: #7d808c;--color-text-inverse: #f7f7f8;--color-accent: #b24929;--color-accent-hover: #9d4024;--color-accent-fg: #ffffff;--color-accent-soft: rgba(209, 92, 56, .1);--color-success: #16a34a;--color-success-soft: rgba(22, 163, 74, .12);--color-warning: #d97706;--color-warning-soft: rgba(217, 119, 6, .12);--color-danger: #dc2626;--color-danger-soft: rgba(220, 38, 38, .1);--color-info: #0284c7;--color-info-soft: rgba(2, 132, 199, .11);--color-focus-ring: #be4e2c;--shadow-sm: 0 1px 2px 0 rgba(16, 17, 20, .05);--shadow-md: 0 4px 10px -2px rgba(16, 17, 20, .08);--shadow-lg: 0 12px 28px -6px rgba(16, 17, 20, .14);--shadow-focus: 0 0 0 2px var(--color-focus-ring)}:root{--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", "Menlo", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: .9375rem;--font-size-lg: 1.0625rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.75rem;--font-weight-regular:400;--font-weight-medium: 500;--font-weight-bold: 600;--line-height-tight: 1.25;--line-height-base: 1.55;--line-height-loose: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .625rem;--radius-xl: .75rem;--radius-full: 9999px;--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;--easing-standard: cubic-bezier(.2, 0, 0, 1);--layout-max-width: 52rem;--layout-side-padding: var(--space-6);--layout-content-gap: var(--space-4);--z-base: 0;--z-overlay: 10;--z-modal: 20;--z-toast: 30}@media (prefers-reduced-motion: reduce){:root{--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--color-surface-alt);padding:0 var(--space-1);border-radius:var(--radius-sm)}#app{min-height:100vh}.ac-dryrun-banner{position:sticky;top:0;z-index:10;padding:var(--space-2) var(--space-4);background:var(--color-warning-soft);color:var(--color-warning);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);text-align:center}.ac-dryrun-banner strong{letter-spacing:.08em;text-transform:uppercase}.ac-topnav{position:sticky;top:0;z-index:9;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.ac-topnav__theme{appearance:none;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);width:2rem;height:2rem;border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-base);line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.ac-topnav__theme:hover{background:var(--color-surface-hover);color:var(--color-text)}.ac-topnav__theme:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.ac-topnav__inner{max-width:var(--layout-max-width);margin:0 auto;padding:var(--space-3) var(--layout-side-padding);display:flex;align-items:center;gap:var(--space-4)}.ac-topnav__brand{display:flex;flex-direction:column;gap:0;margin-right:var(--space-2)}.ac-topnav__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);margin:0;line-height:1.2}.ac-topnav__subtitle{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.ac-topnav__tabs{display:flex;gap:var(--space-1);flex:1;flex-wrap:wrap}.ac-topnav__tab{appearance:none;background:transparent;border:1px solid transparent;color:var(--color-text-muted);padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer}.ac-topnav__tab:hover{background:var(--color-surface-alt);color:var(--color-text)}.ac-topnav__tab--active{background:var(--color-surface-alt);color:var(--color-accent);border-color:var(--color-border)}.ac-page{max-width:var(--layout-max-width);margin:0 auto;padding:var(--space-8) var(--layout-side-padding);display:flex;flex-direction:column;gap:var(--layout-content-gap)}.ac-page__header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3)}.ac-page h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.ac-banner{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.ac-banner--error{border-left-color:var(--color-danger)}.ac-banner--success{border-left-color:var(--color-success)}.ac-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6)}.ac-section__title{font-size:var(--font-size-lg);margin:0 0 var(--space-2)}.ac-section__description{color:var(--color-text-muted);margin:0 0 var(--space-4)}.ac-section__fields{display:flex;flex-direction:column;gap:var(--space-4)}.ac-field{display:flex;flex-direction:column;gap:var(--space-1)}.ac-field__label{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.ac-field__description{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.ac-field__error{color:var(--color-danger);font-size:var(--font-size-xs);margin:0;border-left:3px solid var(--color-danger);padding-left:var(--space-2)}.ac-input,.ac-textarea{font:inherit;color:var(--color-text);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);width:100%;transition:border-color var(--duration-fast) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard)}.ac-input:hover,.ac-textarea:hover{border-color:var(--color-border-strong)}.ac-input:focus,.ac-textarea:focus{outline:none;box-shadow:var(--shadow-focus);border-color:var(--color-focus-ring)}.ac-input[aria-invalid=true],.ac-textarea[aria-invalid=true]{border-color:var(--color-danger)}.ac-input[aria-invalid=true]:focus,.ac-textarea[aria-invalid=true]:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft, rgba(239, 68, 68, .18))}.ac-textarea{font-family:var(--font-mono);font-size:var(--font-size-sm);resize:vertical}.ac-toggle{display:inline-flex;gap:var(--space-2);align-items:center;cursor:pointer}.ac-radio-group{display:flex;flex-direction:column;gap:var(--space-2)}.ac-radio{display:inline-flex;gap:var(--space-2);align-items:center;cursor:pointer}.ac-field[data-invalid=true] .ac-toggle input[type=checkbox],.ac-field[data-invalid=true] .ac-radio input[type=radio]{outline:2px solid var(--color-danger);outline-offset:2px;border-radius:2px}.ac-button{font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);cursor:pointer;transition:background var(--duration-fast) var(--easing-standard)}.ac-button:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.ac-button:disabled{opacity:.6;cursor:not-allowed}.ac-button--primary{background:var(--color-accent);color:var(--color-accent-fg);border-color:var(--color-accent)}.ac-button--primary:hover{background:var(--color-accent-hover)}.ac-button:focus{outline:none;box-shadow:var(--shadow-focus)}.ac-form{display:flex;flex-direction:column;gap:var(--space-5)}.ac-form__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.ac-modal{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.ac-modal__panel{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);max-width:32rem;width:90vw;max-height:80vh;overflow:auto;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-4)}.ac-modal__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.ac-diff{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.ac-diff li{display:grid;grid-template-columns:1fr auto auto auto;gap:var(--space-2);font-size:var(--font-size-sm);align-items:center}.ac-diff__before{color:var(--color-text-muted);text-decoration:line-through}.ac-diff__arrow{color:var(--color-text-subtle)}.ac-diff__after{color:var(--color-success);font-weight:var(--font-weight-medium)}.ac-page__progress{color:var(--color-text-muted);margin:0}.ac-wizard__header{display:flex;flex-direction:column;gap:var(--space-3);align-items:stretch}.ac-wizard__header-text{display:flex;flex-direction:column;gap:var(--space-1)}.ac-wizard__subtitle{color:var(--color-text-muted);margin:0}.ac-wizard__step-count{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.ac-wizard__progress{display:flex;gap:var(--space-1)}.ac-wizard__progress-segment{flex:1;height:5px;background:var(--color-border);border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--easing-standard)}.ac-wizard__progress-segment--filled{background:var(--color-accent)}.ac-wizard__step{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.ac-wizard__nav{justify-content:space-between}.ac-wizard__nav .ac-button:first-child{margin-right:auto}.ac-wizard__skip{color:var(--color-text-muted)}.ac-wizard__hint{margin:var(--space-3) 0 0;color:var(--color-warning, #b45309);font-size:.875rem}.ac-wizard__review{display:flex;flex-direction:column;gap:var(--space-4)}.ac-wizard__tool-list{list-style:none;padding-left:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.ac-wizard__tool-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--easing-standard),background var(--duration-fast) var(--easing-standard)}.ac-wizard__tool-row:hover{border-color:var(--color-border-strong)}.ac-wizard__tool-row:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.ac-wizard__tool-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.ac-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:.1rem var(--space-2);border-radius:var(--radius-sm);white-space:nowrap}.ac-badge--installed{background:var(--color-success-soft);color:var(--color-success)}.ac-badge--detected{background:var(--color-info-soft, rgba(2, 132, 199, .12));color:var(--color-info)}.ac-badge--missing{background:var(--color-surface-alt);color:var(--color-text-muted)}.ac-badge--ws{font-size:.6875rem;padding:.05rem .4rem;background:var(--color-surface-alt);color:var(--color-text-muted);border:1px solid var(--color-border)}.ac-badge--ws-active{background:var(--color-accent);color:var(--color-accent-fg);border-color:var(--color-accent)}.ac-wizard__pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3)}.ac-pack-tile{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-color var(--duration-fast) var(--easing-standard),background var(--duration-fast) var(--easing-standard)}.ac-pack-tile:hover{border-color:var(--color-border-strong)}.ac-pack-tile:has(>.ac-pack-tile__head input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.ac-pack-tile__head{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-weight:var(--font-weight-medium)}.ac-pack-tile__title{flex:1}.ac-pack-tile__role{margin:0;font-size:var(--font-size-xs);color:var(--color-text)}.ac-pack-tile__role code{font-size:var(--font-size-xs)}.ac-pack-tile__desc{margin:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.ac-pack-tile__ws{display:flex;flex-wrap:wrap;gap:var(--space-1)}.ac-pack-tile__children{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:var(--space-2) 0 0 var(--space-4);border:0;border-top:1px solid var(--color-border)}.ac-pack-tile__children:disabled{opacity:.5}.ac-pack-tile__child{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);cursor:pointer}.ac-wizard__module-fields{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.ac-rtk-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}.ac-rtk-row__head{display:flex;align-items:center;gap:var(--space-2)}.ac-rtk-row__label{font-weight:var(--font-weight-medium)}.ac-rtk-row__install{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.ac-rtk-row__cmd{display:block;width:100%;padding:var(--space-2) var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);user-select:all}.ac-council{display:flex;flex-direction:column;gap:var(--space-4)}.ac-council__master{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-medium)}.ac-council__section{display:flex;flex-direction:column;gap:var(--space-4);border:0;padding:0;margin:0}.ac-council__section:disabled{opacity:.55}.ac-council__h{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.ac-settings-hub__toolbar{display:flex;gap:var(--space-2);align-items:center}.ac-settings-hub__search{flex:1}.ac-chip-toggle{appearance:none;font:inherit;font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.ac-chip-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}.ac-chip-toggle--active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent)}.ac-settings-hub__empty{color:var(--color-text-muted)}.ac-settings-hub__disclosure{appearance:none;font:inherit;font-size:var(--font-size-sm);color:var(--color-text-muted);background:transparent;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-top:var(--space-4);width:100%;cursor:pointer;transition:color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.ac-settings-hub__disclosure:hover{color:var(--color-text);border-color:var(--color-accent)}.ac-field-row{display:flex;gap:var(--space-2);align-items:flex-start;padding-left:var(--space-2);margin-left:calc(-1 * var(--space-2));border-left:3px solid transparent}.ac-field-row--modified{border-left-color:var(--color-accent)}.ac-field-row__body{flex:1;min-width:0}.ac-field-row__meta{display:flex;flex-direction:column;gap:var(--space-1);align-items:flex-end}.ac-badge--source{background:var(--color-surface-alt);color:var(--color-text-subtle);border:1px solid var(--color-border)}.ac-field-row__reset{appearance:none;font:inherit;font-size:var(--font-size-xs);color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px var(--space-2);margin-top:var(--space-1);cursor:pointer;white-space:nowrap}.ac-field-row__reset:hover{color:var(--color-danger);border-color:var(--color-danger)}.ac-start{display:grid;grid-template-columns:3fr 2fr;gap:var(--space-4)}@media (max-width: 700px){.ac-start{grid-template-columns:1fr}}.ac-start__card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.ac-start__card--primary{border-color:var(--color-accent)}.ac-start__title{margin:0;font-size:var(--font-size-xl)}.ac-start__desc{margin:0;color:var(--color-text-muted)}.ac-start__facts{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm)}.ac-start__cta{margin-top:auto;align-self:flex-start}.ac-review-summary{border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--color-surface);overflow-wrap:anywhere;min-width:0}.ac-review-summary__title{margin:0 0 var(--space-2);font-size:var(--font-size-base)}.ac-review-summary__list{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm)}.ac-review-summary__chips{display:inline-flex;flex-wrap:wrap;gap:var(--space-1);margin-left:var(--space-1);vertical-align:top}.ac-review-summary__chip{white-space:nowrap}.ac-checklist{display:flex;flex-direction:column;gap:var(--space-5)}.ac-checklist__hero{display:flex;flex-direction:column;gap:var(--space-2)}.ac-checklist__headline{margin:0;font-size:var(--font-size-2xl)}.ac-checklist__message{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.ac-checklist__items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-3);counter-reset:checklist}.ac-checklist__item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);counter-increment:checklist}.ac-checklist__text{display:flex;flex-direction:column;gap:2px}.ac-checklist__item-title{font-weight:var(--font-weight-medium)}.ac-checklist__item-title:before{content:counter(checklist) ". ";color:var(--color-text-subtle)}.ac-checklist__item-detail{color:var(--color-text-muted);font-size:var(--font-size-sm)}.ac-checklist__cmd-row{display:flex;gap:var(--space-2);align-items:center}.ac-checklist__cmd{flex:1;padding:var(--space-2) var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-sm);user-select:all}.ac-checklist__copy{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.ac-checklist__close-hint{margin:0;color:var(--color-text-subtle);font-size:var(--font-size-sm)}.ac-review-removals{border:1px solid var(--color-danger);border-left:3px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-soft, rgba(239, 68, 68, .08));padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.ac-review-removals__title{margin:0;font-weight:var(--font-weight-medium);color:var(--color-danger)}.ac-review-removals__list{margin:0;padding-left:var(--space-5)}.ac-review-removals__confirm{display:flex;gap:var(--space-2);align-items:flex-start;cursor:pointer;font-size:var(--font-size-sm)}.ac-wizard__review-nav{display:flex;flex-direction:column;gap:var(--space-2)}.ac-wizard__review-nav-label{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.ac-wizard__review-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.ac-wizard__review-nav-button{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--color-border);border-left:3px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.ac-wizard__review-nav-button:hover{background:var(--color-surface);border-color:var(--color-accent);border-left-color:var(--color-success)}.ac-wizard__review-nav-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ac-wizard__review-nav-index{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .375rem;background:var(--color-border);border-radius:999px;font-size:var(--font-size-xs);font-weight:600}.ac-wizard__review-nav-text{flex:1}.ac-wizard__review-nav-status{margin-left:auto;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:.125rem .5rem;border-radius:999px;white-space:nowrap}.ac-wizard__review-nav-status--changed{background:var(--color-success-soft, rgba(34, 197, 94, .12));color:var(--color-success)}.ac-wizard__review-nav-status--error{background:var(--color-danger-soft, rgba(239, 68, 68, .12));color:var(--color-danger)}.ac-wizard__review-nav-button--error{border-left-color:var(--color-danger)}.ac-wizard__review-nav-button--error:hover{border-color:var(--color-accent);border-left-color:var(--color-danger)}.ac-user-md-form{display:flex;flex-direction:column;gap:var(--space-5)}.ac-chip-list{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.ac-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:999px;font-size:var(--font-size-sm)}.ac-chip__remove{appearance:none;background:transparent;border:0;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 var(--space-1)}.ac-chip__remove:hover:not(:disabled){color:var(--color-text)}.ac-chip__remove:disabled{opacity:.4;cursor:not-allowed}.ac-role-add{display:flex;gap:var(--space-2);align-items:center}.ac-role-add .ac-input{flex:1}.ac-workspace__grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr) minmax(260px,1fr);gap:var(--space-4);margin-top:var(--space-4)}@media (max-width: 900px){.ac-workspace__grid{grid-template-columns:1fr}}.ac-workspace__heading{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin:0 0 var(--space-2) 0;color:var(--color-text)}.ac-workspace__empty{color:var(--color-text-muted);font-size:var(--font-size-sm)}.ac-workspace__role-grid{display:flex;flex-direction:column;gap:var(--space-2)}.ac-workspace__role{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:var(--space-1);color:inherit;font:inherit}.ac-workspace__role:hover{border-color:var(--color-border-strong)}.ac-workspace__role--active{border-color:var(--color-primary, var(--color-text));background:var(--color-surface-alt)}.ac-workspace__role:focus-visible{outline:2px solid var(--color-primary, var(--color-text));outline-offset:2px}.ac-workspace__role-name{font-weight:var(--font-weight-medium)}.ac-workspace__role-status{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.ac-workspace__role-status[data-status=stable]{color:var(--color-success, #15803d)}.ac-workspace__role-status[data-status=beta]{color:var(--color-warn, #b45309)}.ac-workspace__role-status[data-status=draft]{color:var(--color-text-muted)}.ac-workspace__role-tagline{grid-column:1 / -1;color:var(--color-text-muted);font-size:var(--font-size-sm)}.ac-workspace__main{display:flex;flex-direction:column;gap:var(--space-4)}.ac-workspace__task-list,.ac-workspace__session-list,.ac-workspace__doc-list,.ac-workspace__skill-list,.ac-workspace__citation-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.ac-workspace__task{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-surface)}.ac-workspace__task-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.ac-workspace__task-name{font-weight:var(--font-weight-medium)}.ac-workspace__task-intent{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:var(--space-1) 0 0 0}.ac-workspace__task-prompt{display:inline-block;margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.ac-workspace__session{display:grid;grid-template-columns:minmax(120px,1fr) minmax(80px,1fr) 2fr;gap:var(--space-2);font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.ac-workspace__session-id{font-family:var(--font-mono, monospace);color:var(--color-text-muted)}.ac-workspace__rail{display:flex;flex-direction:column;gap:var(--space-4)}.ac-workspace__citation{border-left:3px solid var(--color-border);padding:var(--space-1) var(--space-2)}.ac-workspace__citation-marker{font-weight:var(--font-weight-medium);margin-right:var(--space-1)}.ac-workspace__citation-source{text-decoration:none;color:var(--color-text);border-bottom:1px dotted var(--color-border-strong)}.ac-workspace__citation-source:hover{color:var(--color-primary, var(--color-text))}.ac-workspace__citation-pin{margin-left:var(--space-1);color:var(--color-warn, #b45309)}.ac-workspace__citation-excerpt{margin:var(--space-1) 0 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.ac-workspace__doc{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-2);align-items:center;font-size:var(--font-size-sm);padding:var(--space-2);border-radius:var(--radius-sm)}.ac-workspace__doc-type{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 var(--space-1)}.ac-workspace__doc-time{font-family:var(--font-mono, monospace);color:var(--color-text-muted);font-size:var(--font-size-xs)}.ac-workspace__explain{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.ac-workspace__explain legend{padding:0 var(--space-1)}.ac-workspace__explain-option{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-1) 0}.ac-workspace__explain-hint{margin:var(--space-2) 0 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.ac-banner--pending{border-left-color:var(--color-warning);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.ac-button--small{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.ac-page__lede{color:var(--color-text-muted);margin:var(--space-1) 0 0 0}.ac-settings-changes__group h2{font-size:var(--font-size-lg);margin:0 0 var(--space-1)}.ac-settings-changes__count{color:var(--color-text-muted);font-weight:var(--font-weight-regular, 400)}.ac-settings-changes__hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0 0 var(--space-3)}.ac-settings-changes__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.ac-change-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.ac-change-card--must_fix{border-left-color:var(--color-danger)}.ac-change-card--adopt{border-left-color:var(--color-accent)}.ac-change-card--review{border-left-color:var(--color-warning)}.ac-change-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.ac-change-card__key{font-size:var(--font-size-sm);overflow-wrap:anywhere}.ac-change-card__badge{font-size:var(--font-size-xs);border-radius:var(--radius-sm);padding:0 var(--space-2);border:1px solid var(--color-border);white-space:nowrap;color:var(--color-text-muted)}.ac-change-card__badge--must_fix{color:var(--color-danger);border-color:var(--color-danger)}.ac-change-card__badge--adopt{color:var(--color-accent);border-color:var(--color-accent)}.ac-change-card__badge--review{color:var(--color-warning);border-color:var(--color-warning)}.ac-change-card__desc{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.ac-change-card__detail{font-size:var(--font-size-sm);margin:0;overflow-wrap:anywhere}.ac-change-card__choices{display:flex;flex-direction:column;gap:var(--space-1)}.ac-change-card__choice{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-sm)}.ac-change-card .ac-input{max-width:24rem}
|
package/dist/ui/index.html
CHANGED
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
document.documentElement.setAttribute('data-theme', theme);
|
|
28
28
|
})();
|
|
29
29
|
</script>
|
|
30
|
-
<script type="module" crossorigin src="/assets/index-
|
|
31
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
30
|
+
<script type="module" crossorigin src="/assets/index-BpSQt5vm.js"></script>
|
|
31
|
+
<link rel="stylesheet" crossorigin href="/assets/index-jSfMW8_t.css">
|
|
32
32
|
</head>
|
|
33
33
|
<body>
|
|
34
34
|
<main id="app"></main>
|
package/docs/MIGRATION.md
CHANGED
|
@@ -6,6 +6,22 @@ only the version you are upgrading to.
|
|
|
6
6
|
|
|
7
7
|
> Symbol legend — 🔄 automatic, ✋ manual, 💡 advisory.
|
|
8
8
|
|
|
9
|
+
## Scheduled deprecations (forward-looking — read before cutting a major)
|
|
10
|
+
|
|
11
|
+
Every section below this one records a change that **already shipped**. This
|
|
12
|
+
table is the opposite: commitments made now, due at a **future** major. It
|
|
13
|
+
exists so a "deprecate at the next major, remove the major after" promise
|
|
14
|
+
cannot decay into folklore — the release runbook's pre-flight (§ 1) sends the
|
|
15
|
+
releaser here on every `release:major`.
|
|
16
|
+
|
|
17
|
+
| Surface | Committed | Deprecation notice due | Removal due | Reversal condition |
|
|
18
|
+
|---|---|---|---|---|
|
|
19
|
+
| `code_graph` native code-graph engine (`code_graph.enabled`, the `code-intelligence` skill's native arm, `code_graph_nudge_hook`) | 2026-07-28 | next major after 9.x | the major after that | A consumer case the graph answers and disciplined grep cannot. Measured null: recall 0.365 vs grep 0.797 (`docs/CLAIMS.md` `code-graph-retrieval-null`). Until then `enabled: false` is permanent. |
|
|
20
|
+
|
|
21
|
+
**Adding a row:** any change that ships a capability as default-off-pending-removal,
|
|
22
|
+
or that promises a future breaking removal, gets a row here in the same commit
|
|
23
|
+
that makes the promise. A promise with no row is not tracked and will be missed.
|
|
24
|
+
|
|
9
25
|
## 8.x → 9.0.0 — consumer rule projection scoped by default
|
|
10
26
|
|
|
11
27
|
9.0.0 flips the consumer rule-projection default to **scoped**: fresh
|
|
@@ -171,8 +171,10 @@ standard's stated purpose (OOP *is* a deliberate high priority for the operator)
|
|
|
171
171
|
Divergence held: the frontend section stays (an intentional FE / backend
|
|
172
172
|
entry-point + carve-out index, per the operator's explicit "split by FE /
|
|
173
173
|
backend" ask) — against the anthropic "delete as redundant"; it is a cohesive
|
|
174
|
-
index of the existing FE surfaces, not a claim of novel guidance.
|
|
175
|
-
|
|
174
|
+
index of the existing FE surfaces, not a claim of novel guidance. The trace is
|
|
175
|
+
the 2026-07-15 session above, not a path: council output is gitignored and
|
|
176
|
+
auto-pruned, and this guideline is a stable artifact that must not carry a link
|
|
177
|
+
which rots (`no-roadmap-references`).
|
|
176
178
|
|
|
177
179
|
## See also
|
|
178
180
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@event4u/agent-config",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
3
|
+
"mcpName": "io.github.event4u-app/agent-config",
|
|
4
|
+
"version": "9.9.0",
|
|
5
|
+
"description": "Governed skills, rules and commands for AI coding tools (Claude Code, Cursor, Windsurf, Copilot) — every claim machine-checked, including \"zero runtime daemon\".",
|
|
5
6
|
"license": "MIT",
|
|
6
7
|
"private": false,
|
|
7
8
|
"type": "module",
|
|
@@ -22,13 +23,11 @@
|
|
|
22
23
|
"copilot",
|
|
23
24
|
"llm",
|
|
24
25
|
"agent-governance",
|
|
25
|
-
"ai-video",
|
|
26
26
|
"skills",
|
|
27
27
|
"prompt-engineering",
|
|
28
28
|
"typescript",
|
|
29
29
|
"python",
|
|
30
|
-
"agent-skills"
|
|
31
|
-
"cinematic-ai-video"
|
|
30
|
+
"agent-skills"
|
|
32
31
|
],
|
|
33
32
|
"files": [
|
|
34
33
|
"dist/agent-src/",
|
|
@@ -36,7 +35,9 @@
|
|
|
36
35
|
".claude-plugin/",
|
|
37
36
|
"src/config/",
|
|
38
37
|
"dist/",
|
|
39
|
-
"docs/",
|
|
38
|
+
"docs/guidelines/",
|
|
39
|
+
"docs/contracts/persona-schema.md",
|
|
40
|
+
"docs/contracts/provider-lifecycle.md",
|
|
40
41
|
"src/scripts/",
|
|
41
42
|
"src/server/schemas/",
|
|
42
43
|
"src/shared/",
|
|
@@ -62,17 +63,22 @@
|
|
|
62
63
|
"scripts": {
|
|
63
64
|
"build:cli": "tsc -p tsconfig.json && chmod +x dist/cli/agent-config.js",
|
|
64
65
|
"build:install-bundle": "esbuild src/scripts/install.ts --bundle --platform=node --format=esm --target=node20 --define:__AGENT_CONFIG_BUNDLE__=true --outfile=dist/install/install.mjs --banner:js=\"import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);\"",
|
|
66
|
+
"build:hooks": "esbuild src/scripts/hooks/dispatch_entry.ts --bundle --platform=node --format=esm --target=node20 --define:__AGENT_CONFIG_BUNDLE__=true --outfile=dist/hooks/dispatch.js --banner:js=\"import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url); const __acPath = require('node:path'); const __acFs = require('node:fs'); const __acUrl = require('node:url'); const __acReal = (p) => { try { return __acFs.realpathSync(p); } catch { return p; } }; const __acSelf = __acReal(__acUrl.fileURLToPath(import.meta.url)); if (process.argv[1] !== undefined && __acReal(__acPath.resolve(process.argv[1])) === __acSelf) { globalThis.__AC_HOOKS_BUNDLE_DIRECT = true; process.argv = [process.argv[0], __acSelf + '.__direct__', ...process.argv.slice(2)]; }\"",
|
|
67
|
+
"build:mcp-bundle": "esbuild src/scripts/mcp_server/__main__.ts --bundle --platform=node --format=esm --target=node20 --define:__AGENT_CONFIG_BUNDLE__=true --outfile=dist/mcp/server.mjs --banner:js=\"import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url); const __acPath = require('node:path'); const __acFs = require('node:fs'); const __acUrl = require('node:url'); const __acReal = (p) => { try { return __acFs.realpathSync(p); } catch { return p; } }; const __acSelf = __acReal(__acUrl.fileURLToPath(import.meta.url)); if (process.argv[1] !== undefined && __acReal(__acPath.resolve(process.argv[1])) === __acSelf) { globalThis.__AC_MCP_BUNDLE_DIRECT = true; process.argv = [process.argv[0], __acSelf + '.__direct__', ...process.argv.slice(2)]; }\"",
|
|
65
68
|
"build:ui": "vite build",
|
|
69
|
+
"tokens:build": "node tokens/build-ac.mjs && node tokens/build-as.mjs",
|
|
70
|
+
"tokens:check": "node tokens/build-ac.mjs --check && node tokens/build-as.mjs --check && node tokens/check-contrast.mjs",
|
|
66
71
|
"build:discovery": "./scripts-run src/scripts/build_discovery_manifest --write --strict",
|
|
67
72
|
"build:mcp-manifest": "./scripts-run src/scripts/build_mcp_registry_manifest --write --strict",
|
|
68
|
-
"build": "
|
|
73
|
+
"build:mcp-catalog": "./scripts-run src/scripts/build_mcp_catalog --write --strict",
|
|
74
|
+
"build": "npm run build:cli && npm run build:install-bundle && npm run build:hooks && npm run build:mcp-bundle && npm run build:ui",
|
|
69
75
|
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.scripts.json",
|
|
70
76
|
"lint:ts": "eslint 'src/**/*.ts'",
|
|
71
77
|
"test:ts": "vitest run",
|
|
78
|
+
"lint:publint": "publint",
|
|
72
79
|
"prepack": "npm run build && npm run build:discovery && npm run build:mcp-manifest && node src/scripts/prepack-check.mjs",
|
|
73
80
|
"prepublishOnly": "./scripts-run src/scripts/check_release_includes_discovery",
|
|
74
|
-
"prepare": "[ -d .git ] && bash src/scripts/install-hooks.sh || true"
|
|
75
|
-
"postinstall": "node dist/scripts/postinstall_gui.js 2>/dev/null || true"
|
|
81
|
+
"prepare": "[ -d .git ] && bash src/scripts/install-hooks.sh || true"
|
|
76
82
|
},
|
|
77
83
|
"publishConfig": {
|
|
78
84
|
"access": "public",
|
|
@@ -90,12 +96,14 @@
|
|
|
90
96
|
"eslint": "^9.39.4",
|
|
91
97
|
"happy-dom": "^20.9.0",
|
|
92
98
|
"js-tiktoken": "^1.0.21",
|
|
99
|
+
"publint": "^0.3.22",
|
|
100
|
+
"tsx": "^4.22.3",
|
|
93
101
|
"typescript": "^5.9.3",
|
|
94
102
|
"vite": "^5.4.21",
|
|
95
103
|
"vitest": "^2.1.9"
|
|
96
104
|
},
|
|
97
105
|
"dependencies": {
|
|
98
|
-
"@fastify/static": "^
|
|
106
|
+
"@fastify/static": "^10.1.2",
|
|
99
107
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
100
108
|
"@preact/signals": "^2.9.0",
|
|
101
109
|
"commander": "^12.1.0",
|
|
@@ -105,10 +113,12 @@
|
|
|
105
113
|
"open": "^10.2.0",
|
|
106
114
|
"preact": "^10.29.0",
|
|
107
115
|
"tree-sitter-wasms": "0.1.13",
|
|
108
|
-
"tsx": "^4.22.3",
|
|
109
116
|
"web-tree-sitter": "0.24.7",
|
|
110
117
|
"yaml": "^2.9.0",
|
|
111
118
|
"zod": "^3.25.0",
|
|
112
119
|
"zod-to-json-schema": "^3.25.0"
|
|
120
|
+
},
|
|
121
|
+
"overrides": {
|
|
122
|
+
"@hono/node-server": "^2.0.5"
|
|
113
123
|
}
|
|
114
124
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
## Pointers
|
|
20
20
|
|
|
21
21
|
- **Filling out this AGENTS.md** — section templates, capability bullets, multi-agent entry flow, monorepo per-package layout: [`.augment/contexts/contracts/consumer-agents-md-guide.md`](.augment/contexts/contracts/consumer-agents-md-guide.md).
|
|
22
|
-
- **Behavior rules (always active)** —
|
|
22
|
+
- **Behavior rules (always active)** — [`.augment/rules/`](.augment/rules/). Kernel rules are **immutable** — never propose an edit; tighten-only via the override registry.
|
|
23
23
|
- **Skills (on-demand expertise)** — domain skills surfaced by description; invoked when their trigger fires: [`.augment/skills/`](.augment/skills/).
|
|
24
24
|
- **Commands (workflows)** — slash-commands the agent runs end-to-end (`/work`, `/implement-ticket`, `/commit`, `/create-pr`, …): [`.augment/commands/`](.augment/commands/).
|
|
25
25
|
- **Project-specific docs** — your own architecture notes, roadmaps, sessions, contexts: [`agents/`](agents/).
|
|
@@ -21,6 +21,10 @@
|
|
|
21
21
|
* (same PII-exclusion-by-construction shape as consulted).
|
|
22
22
|
* "outcomes": ["blocked", "verification_failed", ...] # optional
|
|
23
23
|
* "tokens_estimate": {"consulted_load": <int>} # optional
|
|
24
|
+
* "cross_source": [{"id": "d1", "type": "text-image", "asked": true}] # optional
|
|
25
|
+
* (road-to-feedback-9.2.0-followups 1.4): per-task ask-rate facet
|
|
26
|
+
* for the cross-source-consistency rule. Structural only — id +
|
|
27
|
+
* a closed type enum + a bool, no free-form fields.
|
|
24
28
|
* }
|
|
25
29
|
*/
|
|
26
30
|
import * as fs from 'node:fs';
|
|
@@ -55,6 +59,18 @@ export const ALLOWED_OUTCOMES = [
|
|
|
55
59
|
] as const;
|
|
56
60
|
export const MAX_OUTCOMES_PER_EVENT = ALLOWED_OUTCOMES.length;
|
|
57
61
|
|
|
62
|
+
// cross_source facet (road-to-feedback-9.2.0-followups 1.4) — the
|
|
63
|
+
// cross-source-consistency rule's discrepancy taxonomy (a)-(d) from
|
|
64
|
+
// src/rules/cross-source-consistency.md.
|
|
65
|
+
export const ALLOWED_CROSS_SOURCE_TYPES = [
|
|
66
|
+
'text-image',
|
|
67
|
+
'silent-needed',
|
|
68
|
+
'spec-code',
|
|
69
|
+
'intra-ticket',
|
|
70
|
+
] as const;
|
|
71
|
+
export const MAX_CROSS_SOURCE_PER_EVENT = 32;
|
|
72
|
+
const _CROSS_SOURCE_KEYS = ['asked', 'id', 'type'] as const;
|
|
73
|
+
|
|
58
74
|
// Phase 5 redaction validator — keep id fields from leaking paths,
|
|
59
75
|
// free-text, or filenames.
|
|
60
76
|
const _FORBIDDEN_ID_CHARS = ['/', '\\', '\n', '\r', '\t'] as const;
|
|
@@ -125,6 +141,13 @@ export function check_id_redaction(label: string, value: unknown): void {
|
|
|
125
141
|
}
|
|
126
142
|
}
|
|
127
143
|
|
|
144
|
+
/** One surfaced cross-source discrepancy — structural only, no free text. */
|
|
145
|
+
export interface CrossSourceEntry {
|
|
146
|
+
id: string;
|
|
147
|
+
type: string;
|
|
148
|
+
asked: boolean;
|
|
149
|
+
}
|
|
150
|
+
|
|
128
151
|
export interface EngagementEventInit {
|
|
129
152
|
ts: string;
|
|
130
153
|
task_id: string;
|
|
@@ -134,6 +157,7 @@ export interface EngagementEventInit {
|
|
|
134
157
|
loaded?: Record<string, string[]> | null;
|
|
135
158
|
outcomes?: string[] | null;
|
|
136
159
|
tokens_estimate?: Record<string, number> | null;
|
|
160
|
+
cross_source?: CrossSourceEntry[] | null;
|
|
137
161
|
schema_version?: number;
|
|
138
162
|
}
|
|
139
163
|
|
|
@@ -146,6 +170,7 @@ export class EngagementEvent {
|
|
|
146
170
|
loaded: Record<string, string[]> | null;
|
|
147
171
|
outcomes: string[] | null;
|
|
148
172
|
tokens_estimate: Record<string, number> | null;
|
|
173
|
+
cross_source: CrossSourceEntry[] | null;
|
|
149
174
|
schema_version: number;
|
|
150
175
|
|
|
151
176
|
constructor(init: EngagementEventInit) {
|
|
@@ -157,6 +182,7 @@ export class EngagementEvent {
|
|
|
157
182
|
this.loaded = init.loaded ?? null;
|
|
158
183
|
this.outcomes = init.outcomes ?? null;
|
|
159
184
|
this.tokens_estimate = init.tokens_estimate ?? null;
|
|
185
|
+
this.cross_source = init.cross_source ?? null;
|
|
160
186
|
this.schema_version = init.schema_version ?? SCHEMA_VERSION;
|
|
161
187
|
}
|
|
162
188
|
|
|
@@ -195,6 +221,9 @@ export class EngagementEvent {
|
|
|
195
221
|
if (this.outcomes !== null) {
|
|
196
222
|
_validate_outcomes(this.outcomes);
|
|
197
223
|
}
|
|
224
|
+
if (this.cross_source !== null) {
|
|
225
|
+
_validate_cross_source(this.cross_source);
|
|
226
|
+
}
|
|
198
227
|
if (this.tokens_estimate !== null) {
|
|
199
228
|
if (!_isPlainObject(this.tokens_estimate)) {
|
|
200
229
|
throw new EngagementSchemaError(
|
|
@@ -236,6 +265,13 @@ export class EngagementEvent {
|
|
|
236
265
|
if (this.outcomes && this.outcomes.length > 0) {
|
|
237
266
|
out['outcomes'] = [...this.outcomes];
|
|
238
267
|
}
|
|
268
|
+
if (this.cross_source && this.cross_source.length > 0) {
|
|
269
|
+
out['cross_source'] = this.cross_source.map((e) => ({
|
|
270
|
+
id: e.id,
|
|
271
|
+
type: e.type,
|
|
272
|
+
asked: e.asked,
|
|
273
|
+
}));
|
|
274
|
+
}
|
|
239
275
|
if (this.tokens_estimate && Object.keys(this.tokens_estimate).length > 0) {
|
|
240
276
|
out['tokens_estimate'] = { ...this.tokens_estimate };
|
|
241
277
|
}
|
|
@@ -317,6 +353,46 @@ function _validate_outcomes(payload: unknown): void {
|
|
|
317
353
|
}
|
|
318
354
|
}
|
|
319
355
|
|
|
356
|
+
function _validate_cross_source(payload: unknown): void {
|
|
357
|
+
if (!Array.isArray(payload)) {
|
|
358
|
+
throw new EngagementSchemaError('cross_source must be a list of dict or None');
|
|
359
|
+
}
|
|
360
|
+
if (payload.length > MAX_CROSS_SOURCE_PER_EVENT) {
|
|
361
|
+
throw new EngagementSchemaError(
|
|
362
|
+
`cross_source exceeds ${MAX_CROSS_SOURCE_PER_EVENT} entries`,
|
|
363
|
+
);
|
|
364
|
+
}
|
|
365
|
+
for (const entry of payload) {
|
|
366
|
+
if (!_isPlainObject(entry)) {
|
|
367
|
+
throw new EngagementSchemaError('cross_source entries must be dict[str, ...]');
|
|
368
|
+
}
|
|
369
|
+
const keys = Object.keys(entry);
|
|
370
|
+
const extra = keys.filter((k) => !(_CROSS_SOURCE_KEYS as readonly string[]).includes(k));
|
|
371
|
+
if (extra.length > 0) {
|
|
372
|
+
throw new EngagementSchemaError(
|
|
373
|
+
`cross_source entry has unexpected key(s): ${extra.sort().join(', ')}; `
|
|
374
|
+
+ `allowed keys: ${_CROSS_SOURCE_KEYS.join(', ')}`,
|
|
375
|
+
);
|
|
376
|
+
}
|
|
377
|
+
for (const required of _CROSS_SOURCE_KEYS) {
|
|
378
|
+
if (!(required in entry)) {
|
|
379
|
+
throw new EngagementSchemaError(`cross_source entry missing required key '${required}'`);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
check_id_redaction('cross_source.id', entry['id']);
|
|
383
|
+
const type_val = entry['type'];
|
|
384
|
+
if (typeof type_val !== 'string' || !(ALLOWED_CROSS_SOURCE_TYPES as readonly string[]).includes(type_val)) {
|
|
385
|
+
throw new EngagementSchemaError(
|
|
386
|
+
`cross_source.type must be one of ${_reprTuple(ALLOWED_CROSS_SOURCE_TYPES)}, `
|
|
387
|
+
+ `got ${_reprScalar(type_val)}`,
|
|
388
|
+
);
|
|
389
|
+
}
|
|
390
|
+
if (typeof entry['asked'] !== 'boolean') {
|
|
391
|
+
throw new EngagementSchemaError('cross_source.asked must be a bool');
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
320
396
|
export function parse_event(line: string): EngagementEvent {
|
|
321
397
|
if (typeof line !== 'string' || !line.trim()) {
|
|
322
398
|
throw new EngagementSchemaError('line must be a non-empty JSONL record');
|
|
@@ -342,6 +418,7 @@ export function parse_event(line: string): EngagementEvent {
|
|
|
342
418
|
: _orEmptyDict(r['loaded']),
|
|
343
419
|
outcomes: (r['outcomes'] as string[] | null | undefined) ?? null,
|
|
344
420
|
tokens_estimate: (r['tokens_estimate'] as Record<string, number> | null | undefined) ?? null,
|
|
421
|
+
cross_source: (r['cross_source'] as CrossSourceEntry[] | null | undefined) ?? null,
|
|
345
422
|
schema_version: r['schema_version'] === undefined
|
|
346
423
|
? SCHEMA_VERSION
|
|
347
424
|
: (r['schema_version'] as number),
|
|
@@ -21,6 +21,7 @@ import * as path from 'node:path';
|
|
|
21
21
|
import { record_event } from './telemetry/boundary.js';
|
|
22
22
|
import {
|
|
23
23
|
ALLOWED_OUTCOMES,
|
|
24
|
+
type CrossSourceEntry,
|
|
24
25
|
EngagementEvent,
|
|
25
26
|
EngagementSchemaError,
|
|
26
27
|
now_utc_iso,
|
|
@@ -58,6 +59,30 @@ function _reprStr(s: string): string {
|
|
|
58
59
|
return `'${s}'`;
|
|
59
60
|
}
|
|
60
61
|
|
|
62
|
+
/** Turn `["d1:text-image:ask", ...]` into cross_source entries. Unknown
|
|
63
|
+
* `type` values are left to schema validation (consistent with how
|
|
64
|
+
* `_parse_kv_list` leaves unknown artefact kinds to the schema); only
|
|
65
|
+
* the CLI-only `id:type:ask|warn` shape is checked here. */
|
|
66
|
+
function _parse_cross_source_list(values: string[]): CrossSourceEntry[] {
|
|
67
|
+
const out: CrossSourceEntry[] = [];
|
|
68
|
+
for (const raw of values) {
|
|
69
|
+
const parts = raw.split(':');
|
|
70
|
+
if (parts.length !== 3 || !parts[0] || !parts[1] || !parts[2]) {
|
|
71
|
+
throw new SystemExitError(
|
|
72
|
+
`❌ --cross-source must be 'id:type:ask|warn', got ${_reprStr(raw)}`,
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
const [id, type, verdict] = parts as [string, string, string];
|
|
76
|
+
if (verdict !== 'ask' && verdict !== 'warn') {
|
|
77
|
+
throw new SystemExitError(
|
|
78
|
+
`❌ --cross-source verdict must be 'ask' or 'warn', got ${_reprStr(verdict)}`,
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
out.push({ id, type, asked: verdict === 'ask' });
|
|
82
|
+
}
|
|
83
|
+
return out;
|
|
84
|
+
}
|
|
85
|
+
|
|
61
86
|
interface RecordArgs {
|
|
62
87
|
task_id: string;
|
|
63
88
|
boundary: string;
|
|
@@ -65,6 +90,7 @@ interface RecordArgs {
|
|
|
65
90
|
applied: string[] | null;
|
|
66
91
|
loaded: string[] | null;
|
|
67
92
|
outcome: string[] | null;
|
|
93
|
+
cross_source: string[] | null;
|
|
68
94
|
ts: string;
|
|
69
95
|
payload_file: string | null;
|
|
70
96
|
stdin: boolean;
|
|
@@ -81,6 +107,9 @@ function _build_event_from_args(args: RecordArgs): EngagementEvent {
|
|
|
81
107
|
applied: _parse_kv_list(args.applied ?? []),
|
|
82
108
|
loaded: args.loaded && args.loaded.length > 0 ? _parse_kv_list(args.loaded) : null,
|
|
83
109
|
outcomes: args.outcome && args.outcome.length > 0 ? [...args.outcome] : null,
|
|
110
|
+
cross_source: args.cross_source && args.cross_source.length > 0
|
|
111
|
+
? _parse_cross_source_list(args.cross_source)
|
|
112
|
+
: null,
|
|
84
113
|
});
|
|
85
114
|
}
|
|
86
115
|
|
|
@@ -106,6 +135,7 @@ function _build_event_from_payload(raw: string): EngagementEvent {
|
|
|
106
135
|
loaded: d['loaded'] === undefined || d['loaded'] === null ? null : _orEmpty(d['loaded']),
|
|
107
136
|
outcomes: (d['outcomes'] as string[] | null | undefined) ?? null,
|
|
108
137
|
tokens_estimate: (d['tokens_estimate'] as Record<string, number> | null | undefined) ?? null,
|
|
138
|
+
cross_source: (d['cross_source'] as CrossSourceEntry[] | null | undefined) ?? null,
|
|
109
139
|
});
|
|
110
140
|
}
|
|
111
141
|
|
|
@@ -126,6 +156,7 @@ function _parseArgs(argv: string[]): RecordArgs {
|
|
|
126
156
|
applied: null,
|
|
127
157
|
loaded: null,
|
|
128
158
|
outcome: null,
|
|
159
|
+
cross_source: null,
|
|
129
160
|
ts: '',
|
|
130
161
|
payload_file: null,
|
|
131
162
|
stdin: false,
|
|
@@ -170,7 +201,8 @@ function _parseArgs(argv: string[]): RecordArgs {
|
|
|
170
201
|
);
|
|
171
202
|
}
|
|
172
203
|
(a.outcome ??= []).push(v);
|
|
173
|
-
} else if (tok === '--
|
|
204
|
+
} else if (tok === '--cross-source') (a.cross_source ??= []).push(next());
|
|
205
|
+
else if (tok === '--ts') a.ts = next();
|
|
174
206
|
else if (tok === '--payload-file') a.payload_file = next();
|
|
175
207
|
else if (tok === '--stdin') a.stdin = true;
|
|
176
208
|
else if (tok === '--settings') a.settings = next();
|
|
@@ -40,18 +40,25 @@ profile:
|
|
|
40
40
|
# trees (.claude/ .cursor/ .windsurf/) or only the active profile + packs'
|
|
41
41
|
# artefacts. See docs/decisions/ADR-040 and docs/contracts/capability-packs.md.
|
|
42
42
|
#
|
|
43
|
-
#
|
|
44
|
-
#
|
|
45
|
-
#
|
|
46
|
-
#
|
|
47
|
-
#
|
|
43
|
+
# scoped = (DEFAULT for new installs — road-to-credible-install Phase 2,
|
|
44
|
+
# 2026-07-27) project only the active profile's `packs` unioned
|
|
45
|
+
# with the runtime.active_packs overlay, expanded over the
|
|
46
|
+
# `requires` graph. With the default `profile.id: developer`
|
|
47
|
+
# this ships the engineering surface only; the full catalog is
|
|
48
|
+
# one explicit opt-in away (`legacy-all` below, or
|
|
49
|
+
# `agent-config use --profile=<id>` / packs overlay).
|
|
50
|
+
# legacy-all = project the full surface, exactly as 5.x did. EXISTING
|
|
51
|
+
# installs keep their recorded setting on upgrade (this file is
|
|
52
|
+
# never rewritten by `npm update`); a missing key also still
|
|
53
|
+
# means legacy-all, so only fresh installs get the scoped
|
|
54
|
+
# default. See MIGRATION.md for the flip note.
|
|
48
55
|
#
|
|
49
|
-
# Scoping is
|
|
50
|
-
#
|
|
51
|
-
#
|
|
52
|
-
#
|
|
56
|
+
# Scoping is controlled by THIS key alone — never inferred from profile.id.
|
|
57
|
+
# A failed scoped projection restores the full tree. The committed plugin
|
|
58
|
+
# marketplace (.claude-plugin/) and the Augment tree (.augment/) always
|
|
59
|
+
# project the full set.
|
|
53
60
|
projection:
|
|
54
|
-
mode:
|
|
61
|
+
mode: scoped
|
|
55
62
|
# --- Consumer-scoped RULE projection (road-to-request-scoped-rule-load P1,
|
|
56
63
|
# opt-in) ---
|
|
57
64
|
# Workspace scope for the RULE layer only (independent of `mode` above,
|
|
@@ -214,6 +221,14 @@ personal:
|
|
|
214
221
|
# false = silently investigate, only report the conclusion
|
|
215
222
|
play_by_play: false
|
|
216
223
|
|
|
224
|
+
# Session canary — the name the agent addresses you with at the start of
|
|
225
|
+
# every new task (e.g. "Alex"). Like a canary in a coal mine: when the
|
|
226
|
+
# greeting silently disappears, the context window is degrading and it is
|
|
227
|
+
# time for a fresh conversation. Also keeps the reply-close markers alive
|
|
228
|
+
# (ONE end-summary; PR URL as the literal last line).
|
|
229
|
+
# Empty = feature off. See rules/session-canary.md.
|
|
230
|
+
canary_name: ""
|
|
231
|
+
|
|
217
232
|
# Prefix PR comment replies with a bot icon 🤖 (true, false)
|
|
218
233
|
# Personal preference — each developer decides for themselves.
|
|
219
234
|
pr_comment_bot_icon: false
|
|
@@ -740,9 +755,12 @@ ai_team:
|
|
|
740
755
|
|
|
741
756
|
# Per-day cap on team calls. Team calls count into the EXISTING
|
|
742
757
|
# cli_call_budget openai bucket (~/.event4u/agent-config/cli-calls.json,
|
|
743
|
-
# daily UTC reset) —
|
|
744
|
-
#
|
|
745
|
-
#
|
|
758
|
+
# daily UTC reset) — the counter tracks MACHINE-WIDE spend across ALL
|
|
759
|
+
# subscriptions/profiles on this machine (an `agent-switch` profile
|
|
760
|
+
# switch does NOT get its own counter; the bucket is deliberately one
|
|
761
|
+
# per machine, never parallel counts). This key is the team-side
|
|
762
|
+
# ceiling read against that shared bucket. 0 = block all team calls;
|
|
763
|
+
# raise if you review heavily.
|
|
746
764
|
max_calls_per_day: 50
|
|
747
765
|
|
|
748
766
|
# Suppress the one-line wizard/init recommendation to set up the codex
|
|
@@ -915,6 +933,17 @@ memory:
|
|
|
915
933
|
# on = inject the compact index (spotlighted as DATA).
|
|
916
934
|
session_index: "off"
|
|
917
935
|
|
|
936
|
+
# session_end learning-sidecar aggregation (road-to-reachable-code-memory
|
|
937
|
+
# Phase 4). When true, the session_end hook aggregates
|
|
938
|
+
# agents/memory/intake/*.jsonl through the learning sidecar (30-day decay,
|
|
939
|
+
# ≥2-origin corroboration) into the gitignored .agent-learning.json +
|
|
940
|
+
# LESSONS.md and emits the one-line memory-visibility marker. Local-only,
|
|
941
|
+
# budget-capped (2 s), fail-open; promotion into curated memory stays
|
|
942
|
+
# human via /memory:propose. SHIPS OFF (council 2026-07-27): the default
|
|
943
|
+
# flip is proposed only after the 30-day dogfood shows non-trivial signal
|
|
944
|
+
# AND session-end p95 < 2 s.
|
|
945
|
+
learn_on_session_end: false
|
|
946
|
+
|
|
918
947
|
# --- Knowledge cards: global cross-project sharing (ADR-100) ---
|
|
919
948
|
#
|
|
920
949
|
# Structure-grounding v2. Promote *expensive* (remote) knowledge cards from
|
|
@@ -1046,7 +1075,16 @@ hooks:
|
|
|
1046
1075
|
# the agent is about to Grep/Glob or Read a source file: query the graph
|
|
1047
1076
|
# first for "who calls / where used / impact" questions (or rebuild if the
|
|
1048
1077
|
# index is stale, or build one if absent). Source G's strict block-first-read
|
|
1049
|
-
# mode is deliberately un-ported. Build the cache with
|
|
1078
|
+
# mode is deliberately un-ported. Build the cache with
|
|
1079
|
+
# `agent-config code-graph build`.
|
|
1080
|
+
#
|
|
1081
|
+
# DEPRECATED (honest null, 2026-07-28): the pre-registered 2-arm retrieval
|
|
1082
|
+
# benchmark measured the native graph at recall 0.365 vs grep 0.797 on
|
|
1083
|
+
# graph-shaped questions across 3 real repos (internal/bench/reports/
|
|
1084
|
+
# code-graph-vs-grep.md; claim code-graph-retrieval-null). `enabled: false`
|
|
1085
|
+
# is permanent; deprecation notice lands at the next major, removal the
|
|
1086
|
+
# major after — unless external evidence (a consumer case the graph answers
|
|
1087
|
+
# and grep cannot) appears first.
|
|
1050
1088
|
code_graph:
|
|
1051
1089
|
enabled: false
|
|
1052
1090
|
|
|
@@ -133,6 +133,28 @@
|
|
|
133
133
|
domain: engineering
|
|
134
134
|
size_class: medium
|
|
135
135
|
|
|
136
|
+
- id: scale-discipline
|
|
137
|
+
label: Scale Discipline
|
|
138
|
+
description: Scale-safe persistence — index parity, bounded reads, migration safety, growth budgets, thin request path, durable async; deterministic pattern lints gate, heuristics advise.
|
|
139
|
+
workspaces: [engineering]
|
|
140
|
+
requires: [engineering-base]
|
|
141
|
+
trust_level_default: experimental
|
|
142
|
+
surface_tier: lab
|
|
143
|
+
domain: engineering
|
|
144
|
+
size_class: small
|
|
145
|
+
default_install: false
|
|
146
|
+
|
|
147
|
+
- id: history-discipline
|
|
148
|
+
label: History Discipline
|
|
149
|
+
description: Audit/change history done right — audit coverage on declared scopes, cheapest-sufficient tier selection (default row-level audit log; event sourcing only by waiver), audit-table hygiene, privacy + reliability interlocks.
|
|
150
|
+
workspaces: [engineering]
|
|
151
|
+
requires: [scale-discipline]
|
|
152
|
+
trust_level_default: experimental
|
|
153
|
+
surface_tier: lab
|
|
154
|
+
domain: engineering
|
|
155
|
+
size_class: small
|
|
156
|
+
default_install: false
|
|
157
|
+
|
|
136
158
|
- id: python
|
|
137
159
|
label: Python
|
|
138
160
|
description: Python-language patterns.
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
description: Code, tests, CI, reviews, architecture.
|
|
14
14
|
example_roles: [Developer, CTO, Tech Lead]
|
|
15
15
|
default_packs: [engineering-base, git]
|
|
16
|
-
optional_packs: [php, laravel, symfony, javascript, typescript, react, nextjs, python, frontend-design, brand, analysis-workbench]
|
|
16
|
+
optional_packs: [php, laravel, symfony, javascript, typescript, react, nextjs, python, frontend-design, brand, analysis-workbench, scale-discipline, history-discipline]
|
|
17
17
|
|
|
18
18
|
- id: product
|
|
19
19
|
label: Product
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "Outside-in evaluator budgets (road-to-credible-install Phase 6). VALUES ARE FROZEN FROM MEASURED ACCEPTANCE NUMBERS of Phases 0-3 (2026-07-27, packed tarball @ 9.8.0 tree, --omit=dev consumer install), never invented. The umbrella harness (src/scripts/evaluator_umbrella.sh) measures the packed artifact and check_evaluator_budgets.ts enforces: absolute budget AND >regression_pct growth vs last_measured fails even under budget. Owner + review date are lint-enforced (lint_budget_ownership). Timing metrics carry a per-entry regression_pct override (200) — wall-clock noise would flap a 10% creep rule; their absolute max is the binding gate. Sizes/counts keep the tight 10% creep.",
|
|
3
|
+
"schema_version": 1,
|
|
4
|
+
"owner": "maintainer",
|
|
5
|
+
"review_by": "2027-07-27",
|
|
6
|
+
"regression_pct": 10,
|
|
7
|
+
"budgets": {
|
|
8
|
+
"unpacked_size_mb": {
|
|
9
|
+
"max": 28,
|
|
10
|
+
"last_measured": 26.05,
|
|
11
|
+
"method": "npm pack --json → dist.unpackedSize / 1e6 — includes the Phase-1 precompiled bundles (dist/hooks/dispatch.js + dist/mcp/server.mjs, ~2.1 MB) that bought the 23x hook-latency win and the tsx removal"
|
|
12
|
+
},
|
|
13
|
+
"node_modules_mb": {
|
|
14
|
+
"max": 140,
|
|
15
|
+
"last_measured": 127,
|
|
16
|
+
"method": "du -sm node_modules after `npm install --omit=dev <tarball>` in a clean project"
|
|
17
|
+
},
|
|
18
|
+
"runtime_dep_count": {
|
|
19
|
+
"max": 200,
|
|
20
|
+
"last_measured": 187,
|
|
21
|
+
"method": "package-lock.json packages count (minus root) of the clean --omit=dev install"
|
|
22
|
+
},
|
|
23
|
+
"cli_version_cold_ms": {
|
|
24
|
+
"max": 1500,
|
|
25
|
+
"last_measured": 370,
|
|
26
|
+
"method": "wall-clock of the FIRST `agent-config --version` after install (cold fs cache run counts)",
|
|
27
|
+
"regression_pct": 200
|
|
28
|
+
},
|
|
29
|
+
"mcp_boot_to_initialize_ms": {
|
|
30
|
+
"max": 2000,
|
|
31
|
+
"last_measured": 264,
|
|
32
|
+
"method": "initialize request piped to `node dist/mcp/server.mjs`, wall-clock to response",
|
|
33
|
+
"regression_pct": 200
|
|
34
|
+
},
|
|
35
|
+
"cli_help_command_count": {
|
|
36
|
+
"max": 80,
|
|
37
|
+
"last_measured": 80,
|
|
38
|
+
"method": "registry enumeration — count of `{ name: '...', disposition` entries in src/cli/registry.ts (NOT --help prose parsing; methods historically disagreed 74 vs 76 vs 79)",
|
|
39
|
+
"baseline_note": "79 → 80 on 2026-07-29 (9.9.0). This RECORDS growth that already shipped through its own reviewed PRs; it does not authorize new surface. Net +6 registry entries since the 9.8.0 tag (7 added — code-graph, knowledge, analytics, memory:get, memory:learn, rtk:detect, dispatch:hook; 1 removed — the old dispatch:hook entry), and the frozen 79 was never re-measured after them. The gate did its job: it made the drift visible at release time rather than letting it accrue silently. Next addition breaches again by design."
|
|
40
|
+
},
|
|
41
|
+
"mcp_public_tool_count": {
|
|
42
|
+
"max": 19,
|
|
43
|
+
"last_measured": 19,
|
|
44
|
+
"method": "tools/list length on the stdio server (post-ADR-132: implemented tools only)"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|