@event4u/agent-config 8.1.0 → 8.3.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 +3 -3
- package/CHANGELOG.md +83 -292
- package/MIGRATION.md +18 -0
- package/README.md +86 -3
- package/dist/agent-src/commands/agents/init.md +3 -3
- package/dist/agent-src/commands/chat-history/import.md +5 -5
- package/dist/agent-src/commands/chat-history.md +1 -1
- package/dist/agent-src/commands/condense.md +1 -1
- package/dist/agent-src/commands/context/create.md +1 -1
- package/dist/agent-src/commands/council/analysis.md +2 -2
- package/dist/agent-src/commands/council/default.md +3 -3
- package/dist/agent-src/commands/council/design.md +2 -2
- package/dist/agent-src/commands/council/optimize.md +1 -1
- package/dist/agent-src/commands/council/pr.md +2 -2
- package/dist/agent-src/commands/council.md +1 -1
- package/dist/agent-src/commands/feature/plan.md +1 -1
- package/dist/agent-src/commands/ghostwriter/list.md +1 -1
- package/dist/agent-src/commands/ghostwriter/write.md +1 -1
- package/dist/agent-src/commands/ghostwriter.md +1 -1
- package/dist/agent-src/commands/implement-ticket.md +2 -2
- package/dist/agent-src/commands/judge/on-diff.md +1 -1
- package/dist/agent-src/commands/judge/steps.md +3 -1
- package/dist/agent-src/commands/memory/add.md +2 -2
- package/dist/agent-src/commands/memory/learn-low-impact.md +1 -1
- package/dist/agent-src/commands/memory/load.md +1 -1
- package/dist/agent-src/commands/memory/mine-session.md +1 -1
- package/dist/agent-src/commands/memory/promote.md +1 -1
- package/dist/agent-src/commands/memory/propose.md +1 -1
- package/dist/agent-src/commands/mission/upgrade.md +1 -1
- package/dist/agent-src/commands/module/explore.md +3 -3
- package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
- package/dist/agent-src/commands/optimize/skills.md +1 -1
- package/dist/agent-src/commands/optimize-project.md +1 -1
- package/dist/agent-src/commands/orchestrate.md +2 -2
- package/dist/agent-src/commands/project-analyze.md +1 -1
- package/dist/agent-src/commands/project-health.md +1 -1
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
- package/dist/agent-src/commands/roadmap/create.md +2 -2
- package/dist/agent-src/commands/roadmap/process-full.md +3 -1
- package/dist/agent-src/commands/roadmap/process-phase.md +4 -2
- package/dist/agent-src/commands/roadmap/process-step.md +3 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/sync-agent-settings.md +7 -7
- package/dist/agent-src/commands/sync-gitignore/fix.md +3 -3
- package/dist/agent-src/commands/sync-gitignore.md +4 -4
- package/dist/agent-src/commands/work.md +3 -3
- package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
- package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +1 -1
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -7
- package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +9 -4
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +10 -9
- package/dist/agent-src/contexts/execution/verification-mechanics.md +13 -1
- package/dist/agent-src/packs/README.md +1 -1
- package/dist/agent-src/presets/README.md +1 -1
- package/dist/agent-src/profiles/README.md +1 -1
- package/dist/agent-src/rules/architecture.md +2 -2
- package/dist/agent-src/rules/context-hygiene.md +2 -2
- package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
- package/dist/agent-src/rules/media-governance-routing.md +1 -1
- package/dist/agent-src/rules/no-roadmap-references.md +3 -3
- package/dist/agent-src/rules/preservation-guard.md +2 -2
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
- package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
- package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
- package/dist/agent-src/rules/source-confidentiality.md +1 -1
- package/dist/agent-src/rules/telegraph-speak.md +1 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -1
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
- package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
- package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
- package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
- package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
- package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
- package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
- package/dist/agent-src/skills/api-design/SKILL.md +1 -1
- package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
- package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
- package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
- package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
- package/dist/agent-src/skills/code-review/SKILL.md +3 -4
- package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
- package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
- package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
- package/dist/agent-src/skills/context-document/SKILL.md +1 -1
- package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
- package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
- package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
- package/dist/agent-src/skills/database/SKILL.md +2 -1
- package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
- package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
- package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
- package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
- package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
- package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
- package/dist/agent-src/skills/flux/SKILL.md +10 -9
- package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
- package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
- package/dist/agent-src/skills/livewire/SKILL.md +10 -9
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
- package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
- package/dist/agent-src/skills/module-management/SKILL.md +2 -2
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
- package/dist/agent-src/skills/premortem/SKILL.md +1 -1
- package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
- package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
- package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
- package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
- package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
- package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
- package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
- package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
- package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
- package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
- package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
- package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
- package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
- package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
- package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
- package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
- package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
- package/dist/agent-src/templates/agent-settings.md +34 -25
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
- package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
- package/dist/agent-src/templates/agents/proposal.example.md +4 -4
- package/dist/agent-src/templates/copilot-instructions.md +1 -1
- package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
- package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
- package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
- package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
- package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
- package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
- package/dist/agent-src/templates/roadmaps.md +9 -4
- package/dist/agent-src/templates/rule.md +3 -3
- package/dist/agent-src/templates/scripts/README.md +6 -6
- package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
- package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
- package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
- package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
- package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
- package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
- package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
- package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
- package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
- package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
- package/dist/agent-src/templates/skill.md +2 -2
- package/dist/cli/python/knowledge_ingest.js +24 -3
- package/dist/cli/python/knowledge_ingest.js.map +1 -1
- package/dist/cli/python/workspace_analytics.js +23 -3
- package/dist/cli/python/workspace_analytics.js.map +1 -1
- package/dist/cli/python/workspace_crypto.js +23 -3
- package/dist/cli/python/workspace_crypto.js.map +1 -1
- package/dist/cli/python/workspace_documents.js +23 -3
- package/dist/cli/python/workspace_documents.js.map +1 -1
- package/dist/cli/python/workspace_drive.js +24 -3
- package/dist/cli/python/workspace_drive.js.map +1 -1
- package/dist/cli/python/workspace_drive_health.js +23 -3
- package/dist/cli/python/workspace_drive_health.js.map +1 -1
- package/dist/cli/python/workspace_explain.js +23 -3
- package/dist/cli/python/workspace_explain.js.map +1 -1
- package/dist/cli/python/workspace_hosts.js +23 -3
- package/dist/cli/python/workspace_hosts.js.map +1 -1
- package/dist/cli/python/workspace_inbox.js +23 -3
- package/dist/cli/python/workspace_inbox.js.map +1 -1
- package/dist/cli/python/workspace_render.js +23 -3
- package/dist/cli/python/workspace_render.js.map +1 -1
- package/dist/cli/python/workspace_roles.js +23 -3
- package/dist/cli/python/workspace_roles.js.map +1 -1
- package/dist/cli/python/workspace_sessions.js +23 -3
- package/dist/cli/python/workspace_sessions.js.map +1 -1
- package/dist/cli/python/workspace_skills.js +23 -3
- package/dist/cli/python/workspace_skills.js.map +1 -1
- package/dist/cli/registry.js +2 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +118 -118
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +2 -2
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +3 -3
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +3 -3
- package/dist/install/install.mjs +647 -408
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/server/routes/settings.js +4 -4
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/schemas/settings.js +1 -1
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +2 -2
- package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
- package/docs/benchmark.md +40 -0
- package/docs/contracts/CHANGELOG-conventions.md +8 -5
- package/docs/contracts/branch-protection-policy.md +14 -5
- package/docs/contracts/mcp-phase-1-scope.md +75 -0
- package/docs/contracts/mcp-tool-inventory.md +22 -15
- package/docs/contracts/release-pr-gating.md +22 -11
- package/docs/contracts/skill-bundled-assets.md +2 -2
- package/docs/customization.md +1 -1
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
- package/docs/decisions/ADR-111-canonical-glama-listing.md +97 -0
- package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +92 -0
- package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +201 -0
- package/docs/decisions/INDEX.md +3 -0
- package/docs/distribution/registry-submissions.md +1 -1
- package/docs/getting-started.md +8 -6
- package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
- package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
- package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
- package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
- package/docs/guidelines/agent-infra/layered-settings.md +4 -4
- package/docs/guidelines/agent-infra/memory-access.md +19 -18
- package/docs/guidelines/agent-infra/naming.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
- package/docs/guidelines/agent-infra/role-contracts.md +1 -1
- package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
- package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
- package/docs/guidelines/augment-portability-patterns.md +1 -1
- package/docs/installation.md +13 -14
- package/docs/mcp-server.md +32 -20
- package/docs/proof.md +1 -1
- package/docs/setup/mcp-cloud-endpoints.md +9 -2
- package/docs/setup/per-ide/claude-code.md +10 -4
- package/package.json +4 -3
- package/src/config/agent-settings.template.yml +31 -17
- package/src/config/host-capabilities.yml +25 -16
- package/src/config/profiles/balanced.ini +5 -3
- package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
- package/src/scripts/_cli/cmd_conformance.ts +23 -4
- package/src/scripts/_cli/cmd_doctor.ts +196 -8
- package/src/scripts/_cli/cmd_explain.ts +23 -4
- package/src/scripts/_cli/cmd_export.ts +23 -4
- package/src/scripts/_cli/cmd_fleet.ts +23 -4
- package/src/scripts/_cli/cmd_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_preflight.ts +24 -4
- package/src/scripts/_cli/cmd_prune.ts +23 -4
- package/src/scripts/_cli/cmd_refresh.ts +23 -4
- package/src/scripts/_cli/cmd_settings_check.ts +23 -4
- package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_sync.ts +23 -4
- package/src/scripts/_cli/cmd_uninstall.ts +45 -4
- package/src/scripts/_cli/cmd_update.ts +23 -4
- package/src/scripts/_cli/cmd_upgrade.ts +307 -17
- package/src/scripts/_cli/cmd_validate.ts +23 -4
- package/src/scripts/_cli/cmd_versions.ts +23 -4
- package/src/scripts/_dispatch.bash +62 -19
- package/src/scripts/_lib/claude_plugin.ts +83 -0
- package/src/scripts/_lib/claude_settings_hooks.ts +251 -0
- package/src/scripts/_lib/knowledge_global.ts +24 -2
- package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
- package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
- package/src/scripts/_lib/link_crypto.ts +24 -5
- package/src/scripts/_lib/pin_resolver.ts +24 -3
- package/src/scripts/adoption_report.ts +23 -4
- package/src/scripts/adoption_snapshot.ts +23 -1
- package/src/scripts/adoption_status.ts +23 -4
- package/src/scripts/adr/regenerate_index.ts +24 -3
- package/src/scripts/ai_council/airgap.ts +25 -2
- package/src/scripts/ai_council/compile_corpus.ts +24 -2
- package/src/scripts/ai_council/pricing.ts +11 -1
- package/src/scripts/analysis_freshness.ts +23 -4
- package/src/scripts/annotate_discovery.ts +23 -1
- package/src/scripts/apply_modules_config.ts +23 -4
- package/src/scripts/audit_adr_coverage.ts +23 -4
- package/src/scripts/audit_auto_rules.ts +23 -1
- package/src/scripts/audit_cloud_compatibility.ts +23 -4
- package/src/scripts/audit_command_surface.ts +23 -4
- package/src/scripts/audit_initial_context.ts +23 -3
- package/src/scripts/audit_likelihood.ts +23 -1
- package/src/scripts/audit_mcp_tools.ts +23 -3
- package/src/scripts/audit_overlap.ts +23 -1
- package/src/scripts/audit_skill_descriptions.ts +24 -2
- package/src/scripts/audit_skill_overlap.ts +23 -1
- package/src/scripts/audit_user_type_axis.ts +23 -4
- package/src/scripts/backfill_model_tier.ts +23 -4
- package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
- package/src/scripts/bench_ab_clone.ts +23 -1
- package/src/scripts/bench_ab_diff.ts +23 -1
- package/src/scripts/bench_ab_integrity.ts +23 -1
- package/src/scripts/bench_ab_run.ts +23 -2
- package/src/scripts/bench_ab_task_runner.ts +23 -1
- package/src/scripts/bench_ab_tracka_run.ts +23 -2
- package/src/scripts/bench_ab_v2_run.ts +23 -1
- package/src/scripts/bench_ab_v2_stats.ts +23 -1
- package/src/scripts/bench_baseline_ready.ts +23 -1
- package/src/scripts/bench_condense_memory.ts +23 -1
- package/src/scripts/bench_drift_check.ts +23 -2
- package/src/scripts/bench_matrix.ts +23 -4
- package/src/scripts/bench_per_tool.ts +23 -1
- package/src/scripts/bench_quality_run.ts +23 -2
- package/src/scripts/bench_rtk_savings.ts +23 -1
- package/src/scripts/bench_rule_load_latency.ts +23 -2
- package/src/scripts/bench_run.ts +23 -2
- package/src/scripts/bench_runner.ts +23 -1
- package/src/scripts/build_cloud_bundle.ts +23 -3
- package/src/scripts/build_discovery_manifest.ts +23 -4
- package/src/scripts/build_linear_digest.ts +23 -3
- package/src/scripts/build_mcp_registry_manifest.ts +23 -4
- package/src/scripts/build_rule_trigger_matrix.ts +23 -4
- package/src/scripts/capture_showcase_session.ts +23 -1
- package/src/scripts/chat_history.ts +24 -3
- package/src/scripts/check_always_budget.ts +23 -2
- package/src/scripts/check_artefact_checksums.ts +23 -4
- package/src/scripts/check_augment_description_cap.ts +23 -4
- package/src/scripts/check_augmentignore.ts +23 -4
- package/src/scripts/check_beta_review_markers.ts +23 -4
- package/src/scripts/check_cluster_patterns.ts +23 -4
- package/src/scripts/check_command_count_messaging.ts +23 -4
- package/src/scripts/check_comparison.ts +23 -1
- package/src/scripts/check_condensation.ts +24 -3
- package/src/scripts/check_condensed_paths.ts +23 -2
- package/src/scripts/check_context_paths.ts +23 -4
- package/src/scripts/check_council_config_location.ts +23 -4
- package/src/scripts/check_council_layout.ts +23 -4
- package/src/scripts/check_council_references.ts +23 -4
- package/src/scripts/check_discovery_determinism.ts +24 -4
- package/src/scripts/check_gate_paths.ts +23 -4
- package/src/scripts/check_generated_artefact_headers.ts +23 -4
- package/src/scripts/check_generator_output_coverage.ts +23 -4
- package/src/scripts/check_gitignore_freshness.ts +23 -4
- package/src/scripts/check_iron_law_prominence.ts +23 -4
- package/src/scripts/check_kernel_prefix_stability.ts +0 -0
- package/src/scripts/check_kernel_rule_bundle.ts +23 -4
- package/src/scripts/check_knowledge_cards.ts +23 -1
- package/src/scripts/check_md_language.ts +23 -4
- package/src/scripts/check_media_deps.ts +24 -1
- package/src/scripts/check_memory.ts +24 -2
- package/src/scripts/check_memory_proposal.ts +23 -4
- package/src/scripts/check_module_management_neutral.ts +23 -4
- package/src/scripts/check_no_conflict_markers.ts +23 -4
- package/src/scripts/check_no_external_sources.ts +23 -4
- package/src/scripts/check_no_local_settings_committed.ts +24 -4
- package/src/scripts/check_no_new_legacy_path.ts +23 -4
- package/src/scripts/check_no_roadmap_refs.ts +23 -4
- package/src/scripts/check_one_off_location.ts +23 -4
- package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
- package/src/scripts/check_portability.ts +24 -3
- package/src/scripts/check_proposal.ts +0 -0
- package/src/scripts/check_public_catalog_links.ts +23 -4
- package/src/scripts/check_public_links.ts +23 -4
- package/src/scripts/check_quality_regression.ts +23 -2
- package/src/scripts/check_references.ts +23 -4
- package/src/scripts/check_release_includes_discovery.ts +23 -4
- package/src/scripts/check_release_pr_shape.ts +23 -4
- package/src/scripts/check_release_published.ts +23 -4
- package/src/scripts/check_release_trunk_sync.ts +23 -4
- package/src/scripts/check_reply_consistency.ts +23 -4
- package/src/scripts/check_roadmap_trackable.ts +23 -4
- package/src/scripts/check_role_doc_links.ts +23 -4
- package/src/scripts/check_safety_floor_untouched.ts +24 -4
- package/src/scripts/check_site_links.ts +23 -1
- package/src/scripts/check_skill_gaps.ts +23 -1
- package/src/scripts/check_skill_requires.ts +23 -4
- package/src/scripts/check_structural_breaking.ts +24 -4
- package/src/scripts/check_surface_tiers.ts +23 -4
- package/src/scripts/check_template_pin_drift.ts +23 -4
- package/src/scripts/check_test_coverage_diff.ts +23 -4
- package/src/scripts/check_token_optimizer_freshness.ts +23 -4
- package/src/scripts/check_token_quality_golden.ts +23 -2
- package/src/scripts/check_token_regression.ts +23 -2
- package/src/scripts/check_tracked_but_ignored.ts +24 -4
- package/src/scripts/check_trigger_evals.ts +23 -4
- package/src/scripts/check_trunk_drift.ts +24 -1
- package/src/scripts/check_update_banner.ts +23 -4
- package/src/scripts/ci_summary.ts +23 -4
- package/src/scripts/ci_time_ratio.ts +23 -4
- package/src/scripts/cluster_near_miss_patterns.ts +0 -0
- package/src/scripts/compile_router.ts +23 -4
- package/src/scripts/condense.ts +30 -31
- package/src/scripts/condense_memory.ts +24 -2
- package/src/scripts/config/packs.ts +24 -4
- package/src/scripts/config/session_profiles.ts +23 -4
- package/src/scripts/context_hygiene_hook.ts +24 -3
- package/src/scripts/cost_by_conversation.ts +23 -4
- package/src/scripts/cost_summary.ts +23 -4
- package/src/scripts/council_cli.ts +35 -7
- package/src/scripts/council_prune.ts +25 -2
- package/src/scripts/cross_repo_retrieve.ts +23 -4
- package/src/scripts/discovery_stats.ts +23 -4
- package/src/scripts/evidence_report.ts +23 -1
- package/src/scripts/export_replay_corpus.ts +23 -2
- package/src/scripts/extract_audit_patterns.ts +23 -1
- package/src/scripts/first_run_gate_hook.ts +24 -3
- package/src/scripts/gen_discovery_baseline.ts +23 -4
- package/src/scripts/generate_capabilities_index.ts +24 -5
- package/src/scripts/generate_capability_matrix.ts +23 -4
- package/src/scripts/generate_catalog.ts +23 -1
- package/src/scripts/generate_command_flows.ts +23 -4
- package/src/scripts/generate_cookbook.ts +23 -4
- package/src/scripts/generate_index.ts +23 -4
- package/src/scripts/generate_ownership_matrix.ts +23 -1
- package/src/scripts/generate_pack_manifests.ts +24 -5
- package/src/scripts/generate_role_experiences_catalog.ts +23 -4
- package/src/scripts/hooks/block_no_verify.ts +23 -4
- package/src/scripts/hooks/design_slop_hook.ts +24 -3
- package/src/scripts/hooks/dispatch_hook.ts +47 -14
- package/src/scripts/hooks/replay_hook.ts +23 -2
- package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
- package/src/scripts/hooks_doctor.ts +23 -2
- package/src/scripts/hooks_status.ts +23 -2
- package/src/scripts/injection_scan_hook.ts +24 -5
- package/src/scripts/install +23 -4
- package/src/scripts/install.ts +102 -44
- package/src/scripts/inventory_abstraction_budget.ts +23 -1
- package/src/scripts/inventory_frontmatter.ts +23 -1
- package/src/scripts/inventory_meta_layers.ts +23 -1
- package/src/scripts/iron_law_sha.ts +23 -4
- package/src/scripts/janitor.ts +23 -4
- package/src/scripts/knowledge_global_cli.ts +24 -2
- package/src/scripts/linked_projects_list.ts +23 -4
- package/src/scripts/lint_agent_security.ts +23 -4
- package/src/scripts/lint_agent_skill_names.ts +23 -4
- package/src/scripts/lint_agents_layout.ts +23 -4
- package/src/scripts/lint_agents_md.ts +23 -4
- package/src/scripts/lint_archived_skills.ts +23 -4
- package/src/scripts/lint_artefact_frontmatter.ts +23 -4
- package/src/scripts/lint_bench_ab.ts +23 -4
- package/src/scripts/lint_bench_corpus.ts +23 -2
- package/src/scripts/lint_command_flow_coverage.ts +23 -4
- package/src/scripts/lint_command_routing.ts +23 -4
- package/src/scripts/lint_command_tiers.ts +23 -2
- package/src/scripts/lint_command_verbs.ts +23 -4
- package/src/scripts/lint_commit_subjects.ts +24 -4
- package/src/scripts/lint_confusables.ts +25 -5
- package/src/scripts/lint_context_spine_usage.ts +23 -4
- package/src/scripts/lint_discovery_manifest.ts +23 -4
- package/src/scripts/lint_discovery_vocabulary.ts +23 -4
- package/src/scripts/lint_empty_roadmaps.ts +23 -4
- package/src/scripts/lint_eval_freshness.ts +23 -4
- package/src/scripts/lint_examples.ts +23 -4
- package/src/scripts/lint_explain_trace.ts +23 -4
- package/src/scripts/lint_featured_skills.ts +0 -0
- package/src/scripts/lint_flows.ts +23 -4
- package/src/scripts/lint_framework_leakage.ts +23 -4
- package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
- package/src/scripts/lint_ghostwriter_source.ts +23 -4
- package/src/scripts/lint_glama_drift.ts +75 -0
- package/src/scripts/lint_global_paths.ts +23 -2
- package/src/scripts/lint_handoffs.ts +23 -4
- package/src/scripts/lint_hidden_unicode.ts +24 -5
- package/src/scripts/lint_hook_concern_budget.ts +23 -4
- package/src/scripts/lint_hook_manifest.ts +23 -2
- package/src/scripts/lint_instruction_smuggling.ts +25 -5
- package/src/scripts/lint_legal_pack.ts +23 -1
- package/src/scripts/lint_load_context.ts +23 -4
- package/src/scripts/lint_marketplace.ts +24 -3
- package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
- package/src/scripts/lint_mcp_config_security.ts +25 -5
- package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
- package/src/scripts/lint_media_policy_linkage.ts +23 -4
- package/src/scripts/lint_missions.ts +23 -4
- package/src/scripts/lint_model_tier_coverage.ts +23 -4
- package/src/scripts/lint_namespace.ts +23 -4
- package/src/scripts/lint_namespace_collisions.ts +23 -4
- package/src/scripts/lint_new_skill_gate.ts +23 -4
- package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
- package/src/scripts/lint_one_off_age.ts +23 -4
- package/src/scripts/lint_orchestration_dsl.ts +23 -4
- package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
- package/src/scripts/lint_pack_boundaries.ts +23 -4
- package/src/scripts/lint_pack_dependencies.ts +23 -2
- package/src/scripts/lint_pack_first_win.ts +23 -4
- package/src/scripts/lint_pack_risk_class.ts +23 -1
- package/src/scripts/lint_persona_governance.ts +23 -4
- package/src/scripts/lint_positioning.ts +23 -4
- package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
- package/src/scripts/lint_readme_jargon.ts +23 -4
- package/src/scripts/lint_readme_size.ts +23 -4
- package/src/scripts/lint_regression.ts +23 -4
- package/src/scripts/lint_roadmap_blockers.ts +23 -4
- package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
- package/src/scripts/lint_roadmap_complexity.ts +23 -4
- package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
- package/src/scripts/lint_role_experiences.ts +23 -4
- package/src/scripts/lint_rule_interactions.ts +23 -4
- package/src/scripts/lint_rule_tiers.ts +24 -3
- package/src/scripts/lint_showcase_sessions.ts +23 -4
- package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
- package/src/scripts/lint_skill_originality.ts +23 -4
- package/src/scripts/lint_skill_tools.ts +23 -4
- package/src/scripts/lint_subagent_determinism.ts +23 -4
- package/src/scripts/lint_ticket_buildable.ts +23 -4
- package/src/scripts/lint_topics_yaml.ts +23 -4
- package/src/scripts/lint_trust_coherence.ts +23 -4
- package/src/scripts/lint_value_dashboard.ts +23 -4
- package/src/scripts/lint_workflow_security.ts +23 -4
- package/src/scripts/lint_workspace_boundary.ts +23 -4
- package/src/scripts/mcp_exec/safety_envelope.ts +105 -0
- package/src/scripts/mcp_parity_smoke.ts +23 -2
- package/src/scripts/mcp_registry_submit.sh +14 -3
- package/src/scripts/mcp_render.ts +23 -4
- package/src/scripts/mcp_server/__main__.ts +6 -8
- package/src/scripts/mcp_server/consumer_tool_catalog.json +78 -3
- package/src/scripts/mcp_server/tools.ts +731 -0
- package/src/scripts/mcp_telemetry_health.ts +23 -4
- package/src/scripts/mcp_telemetry_query.ts +23 -4
- package/src/scripts/mcp_telemetry_store.ts +23 -4
- package/src/scripts/measure_augment_budget.ts +23 -1
- package/src/scripts/measure_density.ts +23 -1
- package/src/scripts/measure_frugality_savings.ts +23 -1
- package/src/scripts/measure_markitdown_lift.ts +23 -1
- package/src/scripts/measure_patterns.ts +23 -1
- package/src/scripts/measure_projection_bytes.ts +23 -1
- package/src/scripts/measure_rule_budget.ts +23 -4
- package/src/scripts/measure_skill_reduction.ts +23 -1
- package/src/scripts/memory_hash.ts +24 -2
- package/src/scripts/memory_lookup.ts +24 -2
- package/src/scripts/memory_report.ts +24 -2
- package/src/scripts/memory_signal.ts +24 -2
- package/src/scripts/memory_status.ts +26 -2
- package/src/scripts/migrate_command_suggestions.ts +23 -4
- package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
- package/src/scripts/migration_status.ts +25 -4
- package/src/scripts/mine_missing_guardrails.ts +23 -1
- package/src/scripts/mine_session.ts +23 -1
- package/src/scripts/minimal_safe_diff_hook.ts +24 -3
- package/src/scripts/new_skill.ts +23 -3
- package/src/scripts/onboarding_gate_hook.ts +24 -3
- package/src/scripts/parity/coverage_diff.ts +25 -3
- package/src/scripts/parity/phase_gate.ts +25 -4
- package/src/scripts/parity/replay.ts +25 -3
- package/src/scripts/pattern_share.ts +23 -4
- package/src/scripts/plan_physical_move.ts +23 -4
- package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
- package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
- package/src/scripts/prediction-pool/score_ev.ts +24 -3
- package/src/scripts/print_required_checks.ts +24 -4
- package/src/scripts/probe_host_compliance.ts +23 -2
- package/src/scripts/probe_projection_fidelity.ts +23 -1
- package/src/scripts/probe_skill_registration.ts +24 -2
- package/src/scripts/profile_staleness_hook.ts +24 -3
- package/src/scripts/profile_use.ts +23 -4
- package/src/scripts/project_thin_rules.ts +23 -3
- package/src/scripts/propose_modules_config.ts +23 -4
- package/src/scripts/prototype_lint_contradictions.ts +23 -1
- package/src/scripts/prove_pack_extractable.ts +23 -4
- package/src/scripts/readme_linter.ts +23 -3
- package/src/scripts/redact_hook_capture.ts +23 -4
- package/src/scripts/refine_ticket_detect.ts +23 -4
- package/src/scripts/release.ts +226 -43
- package/src/scripts/render_benchmark_composite.ts +23 -4
- package/src/scripts/render_benchmark_md.ts +23 -4
- package/src/scripts/roadmap_progress_hook.ts +46 -16
- package/src/scripts/run_skill_evals.ts +23 -4
- package/src/scripts/runtime_dispatcher.ts +23 -4
- package/src/scripts/runtime_registry.ts +23 -4
- package/src/scripts/score_skill_selection.ts +23 -1
- package/src/scripts/security_audit_config.ts +24 -5
- package/src/scripts/skill_collision_clusters.ts +23 -4
- package/src/scripts/skill_discovery.ts +23 -4
- package/src/scripts/skill_linter.ts +23 -2
- package/src/scripts/skill_preview.ts +23 -4
- package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
- package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
- package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
- package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
- package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
- package/src/scripts/skill_usage_collect.ts +23 -4
- package/src/scripts/smoke_path_resolution.ts +23 -4
- package/src/scripts/smoke_quickstart.ts +23 -4
- package/src/scripts/snapshot_agent_outputs.ts +23 -4
- package/src/scripts/spotcheck_thin_root.ts +23 -4
- package/src/scripts/sync_agent_settings.ts +23 -4
- package/src/scripts/sync_github_metadata.ts +23 -4
- package/src/scripts/sync_gitignore.ts +23 -4
- package/src/scripts/telegraph_stats.ts +23 -4
- package/src/scripts/tool_registry.ts +24 -4
- package/src/scripts/trigger_coverage.ts +23 -4
- package/src/scripts/update_counts.ts +23 -4
- package/src/scripts/update_prices.ts +23 -1
- package/src/scripts/validate_agent_settings.ts +23 -4
- package/src/scripts/validate_decision_engine.ts +23 -4
- package/src/scripts/validate_discovery_manifest.ts +23 -4
- package/src/scripts/validate_frontmatter.ts +23 -2
- package/src/scripts/validate_pack_yaml.ts +0 -0
- package/src/scripts/validate_safe_paths.ts +24 -4
- package/src/scripts/validate_telegraph_carveouts.ts +23 -4
- package/src/scripts/verify_before_complete_hook.ts +24 -3
- package/src/scripts/verify_physical_move.ts +23 -4
- package/src/scripts/wrapper_freshness_hook.ts +107 -8
- package/tests/fixtures/hooks/README.md +92 -0
- package/tests/fixtures/hooks/agent_error.json +7 -0
- package/tests/fixtures/hooks/post_tool_use.json +13 -0
- package/tests/fixtures/hooks/pre_compact.json +7 -0
- package/tests/fixtures/hooks/pre_tool_use.json +9 -0
- package/tests/fixtures/hooks/session_end.json +6 -0
- package/tests/fixtures/hooks/session_start.json +6 -0
- package/tests/fixtures/hooks/stop.json +6 -0
- package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
package/docs/benchmark.md
CHANGED
|
@@ -173,6 +173,46 @@ additionally gated on the P2 non-Claude replication.
|
|
|
173
173
|
|
|
174
174
|
- Report: `internal/bench/reports/ab-v2/2026-07-07T07-04-39Z-ab-v2-paired.json`.
|
|
175
175
|
|
|
176
|
+
### P2 gate — non-Claude weak host (`gpt-5-mini` via codex) — **REPLICATION FAILED**
|
|
177
|
+
|
|
178
|
+
> **The essential lift does NOT replicate on the first non-Claude weak host as
|
|
179
|
+
> shipped.** Full corpus, `vanilla` vs `rules-kernel-dc` × 3 seeds on
|
|
180
|
+
> `gpt-5-mini` driven by the codex CLI (n=90 pairs, 0 errored, frozen
|
|
181
|
+
> checkout). Corpus-wide discipline Δ=+0.024 (p=0.70). Critically, this is NOT
|
|
182
|
+
> a ceiling null: on the scope/downstream family the host has headroom
|
|
183
|
+
> (vanilla 0.533→ 0.733) yet the rules do not fill it — trapE 0.733 → 0.667
|
|
184
|
+
> (Δ=−0.067, 1 discordant pair). Capability trends negative (89% → 82%,
|
|
185
|
+
> McNemar p=0.07) — **not significant, so no harm is claimed**; it is a
|
|
186
|
+
> cautionary trend, not a validated effect. Cost factor 1.18x.
|
|
187
|
+
>
|
|
188
|
+
> **Honest scope / confound:** the codex CLI has no system-prompt injection
|
|
189
|
+
> surface, so the rules were prepended to the user prompt in a marked block —
|
|
190
|
+
> a weaker instruction surface than the claude arms' system prompt. The
|
|
191
|
+
> measurement cannot distinguish "discipline rules do not transplant to
|
|
192
|
+
> GPT-class hosts" from "user-surface injection is too weak". It DOES
|
|
193
|
+
> establish the decision-relevant fact: **as shipped, on this host, there is
|
|
194
|
+
> no measured lift.** A system-surface experiment (API-loop harness) is a
|
|
195
|
+
> non-gating backlog follow-up.
|
|
196
|
+
|
|
197
|
+
| axis | vanilla | rules-kernel-dc | Δ | test |
|
|
198
|
+
|---|---|---|---|---|
|
|
199
|
+
| capability (pass-rate) | 89% | 82% | −7pp | McNemar p=0.07 (n.s.) |
|
|
200
|
+
| discipline, full corpus (0–1) | 0.819 | 0.843 | +0.024 | Wilcoxon p=0.70, rb=0.09 (n≠0=23) |
|
|
201
|
+
| discipline, scope/downstream family (n=15) | 0.733 | 0.667 | −0.067 | 1 discordant pair (negative) |
|
|
202
|
+
| mean tokens/run | 302,655 | 358,326 | +55,671 (~1.18x) | — |
|
|
203
|
+
|
|
204
|
+
**P2-verdict disposition** (council claude-sonnet-4-5 + gpt-4o, 2026-07-07,
|
|
205
|
+
2-round debate — recorded in
|
|
206
|
+
`agents/settings/contexts/weak-host-lift-tiering-verdict.md`):
|
|
207
|
+
`gpt-5-mini` joins the measured NULL-lift disable-list; `unknown_defaults`
|
|
208
|
+
becomes vendor-granular (`anthropic: lift_enabled` — the one family with a
|
|
209
|
+
measured lift — `default: lift_disabled`); the `balanced` installer preset
|
|
210
|
+
fills `discipline_profile: auto`, so the lift enables only where measured.
|
|
211
|
+
The three-host evidence ledger: Claude weak = family-scoped lift · Claude
|
|
212
|
+
strong = ceiling null · GPT weak = failed replication (confounded surface).
|
|
213
|
+
|
|
214
|
+
- Report: `internal/bench/reports/ab-v2/2026-07-07T10-33-53Z-ab-v2-paired.json`.
|
|
215
|
+
|
|
176
216
|
## Strong host (`sonnet`, full 30-task corpus) — Gate verdict: **HONEST-NULL**
|
|
177
217
|
|
|
178
218
|
- capability lift significant: `False`
|
|
@@ -110,17 +110,20 @@ pre-X.Y.x` commit — never bundled with a feature release.
|
|
|
110
110
|
|
|
111
111
|
### Gate-vs-script contract
|
|
112
112
|
|
|
113
|
-
- **Canonical splitter** — `scripts/release.
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
- **Canonical splitter** — `src/scripts/release.ts`, run via `task release`
|
|
114
|
+
or the `release`-labeled-PR CI path
|
|
115
|
+
(`.github/workflows/release.yml`, see
|
|
116
|
+
[`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md)).
|
|
117
|
+
When a release crosses a minor/major boundary and the current era body
|
|
118
|
+
is at or over the 250-line cap, the release pipeline writes the
|
|
116
119
|
`chore(changelog): split era …` commit **first**, then the
|
|
117
120
|
`release: X.Y.Z` commit. The maintainer does not run the split by
|
|
118
121
|
hand for the release path.
|
|
119
|
-
- **Backstop** — `tests/
|
|
122
|
+
- **Backstop** — `tests/lib/changelog_eras.test.ts` (`test_current_era_body_under_cap`)
|
|
120
123
|
catches entries written **outside** the release script (hand-edited
|
|
121
124
|
Unreleased section, agent-authored hotfix entries, doc patches). The
|
|
122
125
|
failure message names `task release` as the auto-split path.
|
|
123
|
-
- **Shared cap constant** — `scripts/_lib/changelog_eras.
|
|
126
|
+
- **Shared cap constant** — `src/scripts/_lib/changelog_eras.ts` owns
|
|
124
127
|
`CURRENT_ERA_BODY_CAP` and the era-header regex. Both the test and
|
|
125
128
|
the release script import from there; no parallel copies.
|
|
126
129
|
- **Patch-release overflow** — a `patch` bump cannot cross an era
|
|
@@ -54,7 +54,14 @@ per branch name.
|
|
|
54
54
|
- **Feature PR** — head branch does not match `release/X.Y.Z` (the default).
|
|
55
55
|
- **Release PR** — head branch matches `^release/\d+\.\d+\.\d+$` AND the
|
|
56
56
|
diff stays within the version-bump allowlist (see `release-pr-gating.md`).
|
|
57
|
-
Either condition failing falls the PR back to feature-PR mode.
|
|
57
|
+
Either condition failing falls the PR back to feature-PR mode. Author is
|
|
58
|
+
either a maintainer (`task release`) or `github-actions[bot]` (the
|
|
59
|
+
`release`-labeled-PR CI path, `.github/workflows/release.yml`) — the
|
|
60
|
+
shape checks are author-agnostic. Verified live: this repo's branch
|
|
61
|
+
protection requires zero approving reviews and exactly one status check
|
|
62
|
+
(`Sync + Generate Tools Consistency`); the bot path's real friction is
|
|
63
|
+
GitHub's separate bot-created-PR approval gate, not a review requirement
|
|
64
|
+
— see [`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md).
|
|
58
65
|
- **Docs-only PR** — diff is entirely inside `docs/**` or matches only
|
|
59
66
|
top-level Markdown (`README.md`, `CHANGELOG.md`, `CONTRIBUTING.md`,
|
|
60
67
|
`AGENTS.md`). No code, tests, workflows, or scripts. This shape is
|
|
@@ -65,7 +72,7 @@ per branch name.
|
|
|
65
72
|
## Failure mode — the cut never silently lifts
|
|
66
73
|
|
|
67
74
|
If a release-PR's diff exits the allowlist mid-stream (e.g. a last-minute
|
|
68
|
-
CHANGELOG fixup that also touches `scripts/release.
|
|
75
|
+
CHANGELOG fixup that also touches `src/scripts/release.ts`):
|
|
69
76
|
|
|
70
77
|
1. `Release Validation / release-shape` exits non-zero.
|
|
71
78
|
2. The required-check set for the PR effectively flips back to the
|
|
@@ -125,6 +132,8 @@ its own protection rules:
|
|
|
125
132
|
- [`ci-cost-budget.md`](ci-cost-budget.md) — measured baseline durations
|
|
126
133
|
per job + quarterly review cadence (Phase C).
|
|
127
134
|
- `.github/workflows/release-validation.yml` — the three release-PR jobs.
|
|
128
|
-
- `scripts/check_release_pr_shape.
|
|
129
|
-
- `scripts/release.
|
|
130
|
-
by Conventional Commits, not CI cost.
|
|
135
|
+
- `src/scripts/check_release_pr_shape.ts` — the shape detector.
|
|
136
|
+
- `src/scripts/release.ts` — emits release PRs (both entry points); release
|
|
137
|
+
cadence stays driven by Conventional Commits, not CI cost.
|
|
138
|
+
- [`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md) — the
|
|
139
|
+
CI-native (`release`-label) entry point and the bot-PR-approval finding.
|
|
@@ -181,6 +181,81 @@ does not introduce a new tool, resource type, or protocol surface.
|
|
|
181
181
|
process per stdio session. Multi-tenancy lives with the future
|
|
182
182
|
bridge, not the kernel.
|
|
183
183
|
|
|
184
|
+
## Amendment — MCP Full Power (accepted 2026-07-07)
|
|
185
|
+
|
|
186
|
+
> **Status: Accepted.** Recorded by `road-to-mcp-full-power.md` Phase 3.
|
|
187
|
+
> User signoff on the `a0-amendment-signoff` blocker plus the council
|
|
188
|
+
> verdict in `agents/decisions/mcp-write-exec-cut-2026-07-07.md` both
|
|
189
|
+
> landed 2026-07-07. Existing Phase 1–6 sections above predate the TS
|
|
190
|
+
> migration (they still reference `scripts/mcp_server/*.py` and a
|
|
191
|
+
> two-tool allowlist) and are known-stale beyond what this amendment
|
|
192
|
+
> covers; a full contract refresh is a separate follow-up, out of scope
|
|
193
|
+
> here.
|
|
194
|
+
|
|
195
|
+
**Named consumer ask.** Operator, 2026-07-07: expose the CLI/script long
|
|
196
|
+
tail (roadmap, telemetry, capabilities, doctor, council, memory, …) through
|
|
197
|
+
MCP in safety tiers, not just the current 9-tool read-only/single-write set.
|
|
198
|
+
|
|
199
|
+
**Safety-tier model** (full classification:
|
|
200
|
+
[`agents/settings/contexts/mcp-tool-tier-map.md`](../../agents/settings/contexts/mcp-tool-tier-map.md)):
|
|
201
|
+
|
|
202
|
+
| Tier | Contract treatment |
|
|
203
|
+
|---|---|
|
|
204
|
+
| `read-only` | May be implemented without further gate — same bar as the existing 9 tools. |
|
|
205
|
+
| `fs-write-in-tree` | May be implemented once path-guarded via `_validateInTreePath` — same pattern as `chat_history_append`. |
|
|
206
|
+
| `shell-exec` | Requires the safety envelope: fixed argv (no shell interpolation of caller-supplied strings), timeout, output truncation, no network access from the spawned process. Implementation requires the Phase 3 council verdict naming it in the cut list. |
|
|
207
|
+
| `network` | Never silent-default. Every call surfaces cost/consequence before executing; billable calls (e.g. `council:run`) require the caller to pass an explicit confirmation flag echoed back in the tool result, not just be callable. |
|
|
208
|
+
| `long-running` | Structurally excluded — not tool-call-shaped (blocks or starts a server). |
|
|
209
|
+
| `hard-floor-never` | **Permanently excluded.** Secrets (`keys:install-*`), the global/outside-repo install (`upgrade`, `global`, `refresh`, `settings:migrate`), and bulk-destructive commands (`uninstall`, `prune`) are never reachable via any MCP tool, bridge, or allowlist entry, under any settings value. This list only grows, never shrinks, without a fresh A0 amendment of its own. |
|
|
210
|
+
|
|
211
|
+
**Deny-by-default, build-time only.** No consumer-settings allowlist ships
|
|
212
|
+
(a `mcp.tools.allow` runtime setting was considered and **rejected** by
|
|
213
|
+
the Phase 3 council — see below). A tool is reachable if and only if it
|
|
214
|
+
was generated into the build from an approved tier-map entry. Enabling a
|
|
215
|
+
new tool is a code change (add the entry, rebuild), never a settings
|
|
216
|
+
edit. `hard-floor-never` tier entries are never generated — the
|
|
217
|
+
exclusion is structural (the tool does not exist in `tools/list`), not a
|
|
218
|
+
runtime rejection.
|
|
219
|
+
|
|
220
|
+
**Bridge shape (Phase 5) — decided: pure build-time codegen.** Every
|
|
221
|
+
approved tool, in every tier including `shell-exec`, is generated at
|
|
222
|
+
build time from `src/cli/registry.ts` metadata plus the tier map — one
|
|
223
|
+
MCP tool per approved command, each with its own JSON Schema. A generic
|
|
224
|
+
`agent_config_cli` tool with a runtime-validated `subcommand` argument
|
|
225
|
+
was considered and rejected: the package's existing `chat_history_append`
|
|
226
|
+
pattern is already a compiled tool with a hardcoded path guard, not a
|
|
227
|
+
generic bridge gated by an editable setting, and the council verdict
|
|
228
|
+
(`agents/decisions/mcp-write-exec-cut-2026-07-07.md`) found the
|
|
229
|
+
runtime-allowlist approach strictly weaker on security grounds for no
|
|
230
|
+
countervailing benefit. Shell-exec tools additionally compile in their
|
|
231
|
+
safety envelope (fixed argv, timeout, output cap, no network) as
|
|
232
|
+
constants, not configuration.
|
|
233
|
+
|
|
234
|
+
**Shell-exec safety review (Phase 5, shipped pilot: `run_tests`).**
|
|
235
|
+
Lethal-trifecta pass for the one approved exec-tier tool:
|
|
236
|
+
|
|
237
|
+
- *Untrusted-content ingestion:* the tool's inputs (`filter`, `path`) come
|
|
238
|
+
from the MCP caller — the same principal that already holds the chat
|
|
239
|
+
surface; no fetched/external content selects what runs. Caller strings
|
|
240
|
+
become literal argv elements via
|
|
241
|
+
`src/scripts/mcp_exec/safety_envelope.ts` (`execFile`, no shell) — a
|
|
242
|
+
hostile string cannot become a second command.
|
|
243
|
+
- *Private-data access:* the spawned vitest run sees the consumer tree,
|
|
244
|
+
same as every fs tool; no credential paths are added to its env.
|
|
245
|
+
- *Egress:* the envelope adds no network I/O of its own. Arbitrary test
|
|
246
|
+
code MAY use the network — that is a property of the project's tests,
|
|
247
|
+
not of the tool; the envelope's guarantees are spawn-surface guarantees
|
|
248
|
+
(no shell, `SIGKILL` timeout, per-stream byte caps), stated as such and
|
|
249
|
+
never marketed as network isolation.
|
|
250
|
+
- *Compiled constants:* 120s timeout, 64KB per-stream cap — code-review
|
|
251
|
+
events, not settings.
|
|
252
|
+
|
|
253
|
+
**Long-running policy (Phase 5) — decided: synchronous truncation.** No
|
|
254
|
+
async job/poll pattern ships: an exec call that exceeds its compiled
|
|
255
|
+
timeout returns `timed_out: true` with the captured, capped output.
|
|
256
|
+
Revisit only if a council-approved tool genuinely cannot fit a
|
|
257
|
+
synchronous budget (e.g. a future `council:run`).
|
|
258
|
+
|
|
184
259
|
## Revision policy
|
|
185
260
|
|
|
186
261
|
This contract is **experimental** — breaking changes are allowed in any
|
|
@@ -14,21 +14,21 @@ keep-beta-until: 2026-08-14
|
|
|
14
14
|
|
|
15
15
|
## Summary
|
|
16
16
|
|
|
17
|
-
- **Total tools:**
|
|
18
|
-
- **By transport:** stdio=
|
|
19
|
-
- **By side-effect:** fs-write=
|
|
20
|
-
- **Discovery-only stubs (no implementation):**
|
|
17
|
+
- **Total tools:** 27
|
|
18
|
+
- **By transport:** stdio=18
|
|
19
|
+
- **By side-effect:** fs-write=8, ro=16, shell=3
|
|
20
|
+
- **Discovery-only stubs (no implementation):** 9
|
|
21
21
|
|
|
22
22
|
## Tools
|
|
23
23
|
|
|
24
24
|
| Tool | Side-effect | Transports | Catalog | Handler |
|
|
25
25
|
|---|---|---|---|---|
|
|
26
|
-
| `lint_skills` | `ro` | stdio | [`consumer_tool_catalog.json:7`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L7) | [`tools.ts:
|
|
27
|
-
| `chat_history_append` | `fs-write` | stdio | [`consumer_tool_catalog.json:24`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L24) | [`tools.ts:
|
|
28
|
-
| `chat_history_read` | `ro` | stdio | [`consumer_tool_catalog.json:43`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L43) | [`tools.ts:
|
|
29
|
-
| `memory_lookup` | `ro` | stdio | [`consumer_tool_catalog.json:59`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L59) | [`tools.ts:
|
|
30
|
-
| `memory_signal` | `fs-write` |
|
|
31
|
-
| `memory_status` | `ro` | stdio | [`consumer_tool_catalog.json:91`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L91) | [`tools.ts:
|
|
26
|
+
| `lint_skills` | `ro` | stdio | [`consumer_tool_catalog.json:7`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L7) | [`tools.ts:1102`](../../src/scripts/mcp_server/tools.ts#L1102) |
|
|
27
|
+
| `chat_history_append` | `fs-write` | stdio | [`consumer_tool_catalog.json:24`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L24) | [`tools.ts:1130`](../../src/scripts/mcp_server/tools.ts#L1130) |
|
|
28
|
+
| `chat_history_read` | `ro` | stdio | [`consumer_tool_catalog.json:43`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L43) | [`tools.ts:1191`](../../src/scripts/mcp_server/tools.ts#L1191) |
|
|
29
|
+
| `memory_lookup` | `ro` | stdio | [`consumer_tool_catalog.json:59`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L59) | [`tools.ts:1233`](../../src/scripts/mcp_server/tools.ts#L1233) |
|
|
30
|
+
| `memory_signal` | `fs-write` | stdio | [`consumer_tool_catalog.json:75`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L75) | [`tools.ts:1360`](../../src/scripts/mcp_server/tools.ts#L1360) |
|
|
31
|
+
| `memory_status` | `ro` | stdio | [`consumer_tool_catalog.json:91`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L91) | [`tools.ts:1275`](../../src/scripts/mcp_server/tools.ts#L1275) |
|
|
32
32
|
| `skill_trigger_eval` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:98`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L98) | _stub-only_ |
|
|
33
33
|
| `suggest_command` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:114`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L114) | _stub-only_ |
|
|
34
34
|
| `suggest_skill_for_task` | `ro` | _(stub)_ | [`consumer_tool_catalog.json:129`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L129) | _stub-only_ |
|
|
@@ -36,13 +36,20 @@ keep-beta-until: 2026-08-14
|
|
|
36
36
|
| `update_form_request_messages` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:158`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L158) | _stub-only_ |
|
|
37
37
|
| `sync_gitignore` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:173`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L173) | _stub-only_ |
|
|
38
38
|
| `sync_agent_settings` | `fs-write` | _(stub)_ | [`consumer_tool_catalog.json:186`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L186) | _stub-only_ |
|
|
39
|
-
| `run_tests` | `shell` |
|
|
39
|
+
| `run_tests` | `shell` | stdio | [`consumer_tool_catalog.json:200`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L200) | [`tools.ts:1535`](../../src/scripts/mcp_server/tools.ts#L1535) |
|
|
40
40
|
| `run_quality_checks` | `shell` | _(stub)_ | [`consumer_tool_catalog.json:214`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L214) | _stub-only_ |
|
|
41
|
-
| `list_skills` | `ro` | stdio | [`consumer_tool_catalog.json:227`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L227) | [`tools.ts:
|
|
42
|
-
| `list_commands` | `ro` | stdio | [`consumer_tool_catalog.json:234`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L234) | [`tools.ts:
|
|
43
|
-
| `list_rules` | `ro` | stdio | [`consumer_tool_catalog.json:241`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L241) | [`tools.ts:
|
|
41
|
+
| `list_skills` | `ro` | stdio | [`consumer_tool_catalog.json:227`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L227) | [`tools.ts:1289`](../../src/scripts/mcp_server/tools.ts#L1289) |
|
|
42
|
+
| `list_commands` | `ro` | stdio | [`consumer_tool_catalog.json:234`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L234) | [`tools.ts:1304`](../../src/scripts/mcp_server/tools.ts#L1304) |
|
|
43
|
+
| `list_rules` | `ro` | stdio | [`consumer_tool_catalog.json:241`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L241) | [`tools.ts:1319`](../../src/scripts/mcp_server/tools.ts#L1319) |
|
|
44
44
|
| `compile_router` | `shell` | _(stub)_ | [`consumer_tool_catalog.json:248`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L248) | _stub-only_ |
|
|
45
|
-
| `read_resource_body` | `ro` | stdio | [`consumer_tool_catalog.json:261`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L261) | [`tools.ts:
|
|
45
|
+
| `read_resource_body` | `ro` | stdio | [`consumer_tool_catalog.json:261`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L261) | [`tools.ts:1335`](../../src/scripts/mcp_server/tools.ts#L1335) |
|
|
46
|
+
| `roadmap_progress` | `fs-write` | stdio | [`consumer_tool_catalog.json:275`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L275) | [`tools.ts:1394`](../../src/scripts/mcp_server/tools.ts#L1394) |
|
|
47
|
+
| `roadmap_archive` | `fs-write` | stdio | [`consumer_tool_catalog.json:288`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L288) | [`tools.ts:1417`](../../src/scripts/mcp_server/tools.ts#L1417) |
|
|
48
|
+
| `capabilities_index` | `fs-write` | stdio | [`consumer_tool_catalog.json:295`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L295) | [`tools.ts:1433`](../../src/scripts/mcp_server/tools.ts#L1433) |
|
|
49
|
+
| `doctor_report` | `ro` | stdio | [`consumer_tool_catalog.json:308`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L308) | [`tools.ts:1456`](../../src/scripts/mcp_server/tools.ts#L1456) |
|
|
50
|
+
| `conformance_check` | `ro` | stdio | [`consumer_tool_catalog.json:315`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L315) | [`tools.ts:1470`](../../src/scripts/mcp_server/tools.ts#L1470) |
|
|
51
|
+
| `telemetry_report` | `ro` | stdio | [`consumer_tool_catalog.json:322`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L322) | [`tools.ts:1484`](../../src/scripts/mcp_server/tools.ts#L1484) |
|
|
52
|
+
| `council_estimate` | `ro` | stdio | [`consumer_tool_catalog.json:335`](../../src/scripts/mcp_server/consumer_tool_catalog.json#L335) | [`tools.ts:1506`](../../src/scripts/mcp_server/tools.ts#L1506) |
|
|
46
53
|
|
|
47
54
|
## Glossary
|
|
48
55
|
|
|
@@ -5,7 +5,14 @@ keep-beta-until: 2026-09-04
|
|
|
5
5
|
|
|
6
6
|
# Release-PR Gating Contract
|
|
7
7
|
|
|
8
|
-
> **Status:** active · **Owner:** maintainer (`scripts/release.
|
|
8
|
+
> **Status:** active · **Owner:** maintainer (`src/scripts/release.ts`) · **Opened:** 2026-05-26
|
|
9
|
+
>
|
|
10
|
+
> Release PRs are opened by either entry point into `release.ts`: `task
|
|
11
|
+
> release` (interactive, local) or `.github/workflows/release.yml` (the
|
|
12
|
+
> `release`-labeled-PR CI path, author `github-actions[bot]`) — see
|
|
13
|
+
> [`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md).
|
|
14
|
+
> This contract's shape checks are author-agnostic by design; both entry
|
|
15
|
+
> points produce the identical PR shape below.
|
|
9
16
|
>
|
|
10
17
|
> Source: `road-to-optimized-ci-and-release-gates.md` Phase A Step 1. Measured
|
|
11
18
|
> baseline (`gh run list --branch main --limit 50`): `Public Install Smoke`
|
|
@@ -22,21 +29,23 @@ A pull request qualifies as a **release PR** when **both** of the following
|
|
|
22
29
|
hold:
|
|
23
30
|
|
|
24
31
|
1. **Head branch matches** `^release/\d+\.\d+\.\d+$` — same regex as
|
|
25
|
-
`scripts/release.
|
|
32
|
+
`src/scripts/release.ts` § `_RELEASE_BRANCH_RE`.
|
|
26
33
|
2. **Diff file set is a subset of the version-bump allowlist:**
|
|
27
34
|
- `package.json`
|
|
28
35
|
- `CHANGELOG.md`
|
|
29
36
|
- `.claude-plugin/marketplace.json`
|
|
30
37
|
- `packages/*/pack.yaml`
|
|
31
38
|
- `packages/*/README.md`
|
|
32
|
-
- `docs/archive/CHANGELOG-pre-*.md` — emitted by `
|
|
39
|
+
- `docs/archive/CHANGELOG-pre-*.md` — emitted by `release.ts`'s
|
|
33
40
|
automatic CHANGELOG era split (see `docs/contracts/CHANGELOG-conventions.md`
|
|
34
41
|
§ Era splits) when the current era crosses its line cap on an
|
|
35
42
|
era-boundary release.
|
|
36
43
|
|
|
37
|
-
Both predicates are enforced by `scripts/check_release_pr_shape.
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
Both predicates are enforced by `src/scripts/check_release_pr_shape.ts`.
|
|
45
|
+
The script exits 0 when both hold; non-zero with a per-file diff naming any
|
|
46
|
+
out-of-allowlist entry otherwise. It reads the diff shape only — it does
|
|
47
|
+
not check the PR author, so it passes identically for a `task
|
|
48
|
+
release`-opened PR and a `release.yml`-opened one.
|
|
40
49
|
|
|
41
50
|
## Cut surface — heavy jobs that skip on release PRs
|
|
42
51
|
|
|
@@ -76,10 +85,10 @@ the feature-PR floor by adding:
|
|
|
76
85
|
|
|
77
86
|
The optimisation is **opt-in by shape, not by branch name**. A release-PR
|
|
78
87
|
whose diff contains a stray file outside the allowlist (e.g. a last-minute
|
|
79
|
-
CHANGELOG fixup that also touches `scripts/release.
|
|
88
|
+
CHANGELOG fixup that also touches `src/scripts/release.ts`) trips the shape
|
|
80
89
|
detector:
|
|
81
90
|
|
|
82
|
-
1. `check_release_pr_shape.
|
|
91
|
+
1. `check_release_pr_shape.ts` exits non-zero with a per-file diff.
|
|
83
92
|
2. The CI dashboard surfaces "release-shape" red.
|
|
84
93
|
3. The maintainer either narrows the diff (move the script edit to a
|
|
85
94
|
separate PR) or accepts the heavy matrix re-running on the next push.
|
|
@@ -95,7 +104,7 @@ name alone never bypasses the heavy matrix.
|
|
|
95
104
|
- **Not a coverage-reduction contract.** The release-validation jobs are
|
|
96
105
|
additive, not substitutive.
|
|
97
106
|
- **Not a release-velocity contract.** Release cadence is driven by
|
|
98
|
-
Conventional Commits in `scripts/release.
|
|
107
|
+
Conventional Commits in `src/scripts/release.ts`, not by CI cost.
|
|
99
108
|
- **Not a Hard-Floor lift.** No security check is removed.
|
|
100
109
|
`release-guard.yml`'s `assert-version-matches-tag` job is independent of
|
|
101
110
|
`Tests` / `Public Install Smoke` and stays mandatory on every tag.
|
|
@@ -108,6 +117,8 @@ name alone never bypasses the heavy matrix.
|
|
|
108
117
|
cadence (Phase C).
|
|
109
118
|
- `.github/workflows/release-validation.yml` — the tight release-shape
|
|
110
119
|
validation workflow (Phase B).
|
|
111
|
-
- `scripts/check_release_pr_shape.
|
|
112
|
-
- `scripts/release.
|
|
120
|
+
- `src/scripts/check_release_pr_shape.ts` — the shape detector (Phase A).
|
|
121
|
+
- `src/scripts/release.ts` § `_RELEASE_BRANCH_RE` — source of truth for the
|
|
113
122
|
release-branch naming convention.
|
|
123
|
+
- [`ADR-113`](../decisions/ADR-113-ci-native-release-label-trigger.md) — the
|
|
124
|
+
CI-native (`release`-label) entry point into the same script.
|
|
@@ -36,7 +36,7 @@ A BUNDLED SCRIPT RESOLVES EVERY SIBLING ASSET VIA ITS OWN FILE LOCATION
|
|
|
36
36
|
cwd-implicit locations, except where a flag explicitly defaults to cwd.
|
|
37
37
|
- Cross-skill references (one skill invoking another's bundled engine)
|
|
38
38
|
resolve via the common skills root (e.g. `design-intelligence` passing
|
|
39
|
-
its `data/manifest.json` to `corpus-grounding/scripts/ground.
|
|
39
|
+
its `data/manifest.json` to `corpus-grounding/scripts/ground.ts`).
|
|
40
40
|
Sibling deployment is guaranteed by stage 4 (whole-directory copies of
|
|
41
41
|
every installed skill into one root).
|
|
42
42
|
- Bundled scripts are **pure stdlib** unless the skill's frontmatter
|
|
@@ -45,7 +45,7 @@ A BUNDLED SCRIPT RESOLVES EVERY SIBLING ASSET VIA ITS OWN FILE LOCATION
|
|
|
45
45
|
|
|
46
46
|
## What this contract does NOT cover
|
|
47
47
|
|
|
48
|
-
- Repo-root `scripts/` (e.g. `council_cli.
|
|
48
|
+
- Repo-root `scripts/` (e.g. `council_cli.ts`) — **maintainer-only**,
|
|
49
49
|
never shipped to consumers. Do not confuse the two layers.
|
|
50
50
|
- `.md` files inside skills — they pass through condensation (prose is
|
|
51
51
|
rewritten); do not put load-bearing machine-read data in skill `.md`.
|
package/docs/customization.md
CHANGED
|
@@ -244,7 +244,7 @@ always-honoured surface, resolved at session start from `dist/router.json`
|
|
|
244
244
|
| `off` (legacy `minimal`) | kernel only | ~1x (lowest) | Hosts with a MEASURED null discipline lift (`src/config/host-capabilities.yml`); cost-sensitive sessions |
|
|
245
245
|
| `essential` | kernel + the lift-carrying rules (`downstream-changes`) | ~3.3x | Day-to-day work — keeps the measured weak-host discipline lift (+0.458, p=0.0135) |
|
|
246
246
|
| `full` | kernel + tier-1 + tier-2 (everything) | ~11.7x (highest) | EXPERIMENTAL opt-in — residual lift over `essential` not established (p=0.37); agent-config development |
|
|
247
|
-
| `auto` | resolved per session: measured-null host → `off
|
|
247
|
+
| `auto` | resolved per session: measured-null host → `off`; unmeasured Claude-family → `essential`; unmeasured non-Claude → `off` (P2 verdict, vendor-granular `unknown_defaults`) | varies | The balanced-preset default — lift only where measured |
|
|
248
248
|
| `custom` (legacy) | profile ignored — every matrix value must be set explicitly | varies | Power users with bespoke rule sets |
|
|
249
249
|
|
|
250
250
|
> **`balanced` was retired 2026-07-07** — the size cut (kernel + tier-1)
|
|
@@ -72,10 +72,15 @@ project is opened by Haiku one session and Fable the next, across vendors
|
|
|
72
72
|
guarantee: trigger semantics are configuration-independent.
|
|
73
73
|
4. **`discipline_profile` joins `MERGEABLE_KEYS`** (user-global cascade), as
|
|
74
74
|
the successor of the already-mergeable `rule_loading_tier`.
|
|
75
|
-
5. **Defaults are evidence-gated.**
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
5. **Defaults are evidence-gated.** *(Amended 2026-07-07 after both gates
|
|
76
|
+
ran — original wording: ship commented-out until P1 + P2 pass, flip
|
|
77
|
+
target `auto`.)* P1 passed family-scoped; P2 FAILED on the first
|
|
78
|
+
non-Claude weak host (`docs/benchmark.md § P2 gate`). Per the P2-verdict
|
|
79
|
+
council, the installer presets fill the key per profile (minimal→off,
|
|
80
|
+
balanced→`auto`, full→full) and `auto` resolves vendor-granularly
|
|
81
|
+
(measured-null → off; unmeasured Claude-family → essential; unmeasured
|
|
82
|
+
non-Claude → off) — the lift enables only where measured. Evidence trail:
|
|
83
|
+
`agents/roadmaps/archive/road-to-discipline-profile-tiering.md`.
|
|
79
84
|
|
|
80
85
|
## Consequences
|
|
81
86
|
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
adr: 111
|
|
3
|
+
status: accepted
|
|
4
|
+
date: 2026-07-07
|
|
5
|
+
decision: canonical-glama-listing
|
|
6
|
+
supersedes: —
|
|
7
|
+
superseded_by: —
|
|
8
|
+
phase: road-to-mcp-full-power
|
|
9
|
+
type: standing
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-111 — the kernel stdio server is the canonical Glama listing; the turnkey server stays unlisted
|
|
13
|
+
|
|
14
|
+
## Status
|
|
15
|
+
|
|
16
|
+
**Accepted** · 2026-07-07 · maintainer decision, Phase 2 of
|
|
17
|
+
`road-to-mcp-full-power.md`.
|
|
18
|
+
|
|
19
|
+
## Context
|
|
20
|
+
|
|
21
|
+
The package now ships two distinct stdio MCP servers with different
|
|
22
|
+
audiences and capability shapes:
|
|
23
|
+
|
|
24
|
+
1. **Kernel stdio server** (`src/scripts/mcp_server/`, started via
|
|
25
|
+
`agent-config mcp:run`) — requires a repo checkout (or the glama build
|
|
26
|
+
step), exposes 430 prompts / 232 resources / 27 catalogued tools (9
|
|
27
|
+
implemented as of Phase 1/4 of this roadmap). This is the server glama.ai
|
|
28
|
+
currently indexes and lists at
|
|
29
|
+
`glama.ai/mcp/servers/event4u-app/agent-config`.
|
|
30
|
+
2. **Turnkey stdio-lite server** (`src/cli/mcp/`, started via
|
|
31
|
+
`agent-config mcp-server`) — zero-setup, reads the bundled
|
|
32
|
+
`dist/agent-src/` + `docs/guidelines/` directly from the installed npm
|
|
33
|
+
package, no repo clone required. Read-only by design (ADR-085): zero
|
|
34
|
+
tools, prompts/resources only.
|
|
35
|
+
|
|
36
|
+
`road-to-glama-registry-listing.md` (archived) already converged on listing
|
|
37
|
+
only the stdio server for a contributor/agent-developer audience, before the
|
|
38
|
+
turnkey server existed in its current form. This ADR re-confirms that choice
|
|
39
|
+
now that both servers are live, and records why a second listing is not
|
|
40
|
+
added.
|
|
41
|
+
|
|
42
|
+
## Decision
|
|
43
|
+
|
|
44
|
+
1. **Glama lists the kernel server only.** `glama.json` and the committed
|
|
45
|
+
`internal/glama/{build,run}` scripts continue to target
|
|
46
|
+
`src/scripts/mcp_server/__main__.ts`. No change to the glama admin
|
|
47
|
+
configuration.
|
|
48
|
+
2. **The turnkey server is not submitted to glama.** Rationale:
|
|
49
|
+
- Glama's value proposition (repo-aware introspection, contributor
|
|
50
|
+
discovery) matches the kernel server's audience — people extending or
|
|
51
|
+
debugging the package itself.
|
|
52
|
+
- The turnkey server's audience (end users who `npx @event4u/agent-config
|
|
53
|
+
mcp-server` for zero-setup client config) is served better by direct
|
|
54
|
+
per-IDE config snippets (`docs/setup/mcp-client-config.md`,
|
|
55
|
+
`docs/getting-started-local-stdio.md`) than by a registry listing that
|
|
56
|
+
would advertise a read-only, tool-less server next to the fuller
|
|
57
|
+
kernel listing under the same package name — a likely source of
|
|
58
|
+
consumer confusion ("why does the glama listing show tools I don't
|
|
59
|
+
get?").
|
|
60
|
+
- Glama's schema (`glama.ai/mcp/schemas/server.json`) supports exactly one
|
|
61
|
+
manifest field (`maintainers`); there is no per-listing scoping
|
|
62
|
+
mechanism to distinguish two servers from the same repo without a
|
|
63
|
+
second, separately-hosted manifest — not worth the maintenance surface
|
|
64
|
+
for a zero-tool server.
|
|
65
|
+
3. **Revisit trigger.** Reopen this decision if either: (a) the turnkey
|
|
66
|
+
server gains tools (Phase 6 of this roadmap may bundle the kernel tool
|
|
67
|
+
surface into the npm package, per the ADR-085 revisit), making its
|
|
68
|
+
capability shape worth discovering separately; or (b) a named consumer
|
|
69
|
+
asks to discover the turnkey server via a registry specifically (not
|
|
70
|
+
just via npm/README).
|
|
71
|
+
|
|
72
|
+
## Consequences
|
|
73
|
+
|
|
74
|
+
- No glama configuration change required by this roadmap.
|
|
75
|
+
- `docs/mcp-registries.md` and `docs/setup/mcp-client-config.md` document
|
|
76
|
+
both entry points, but only one (the kernel server) appears in the glama
|
|
77
|
+
registry — this asymmetry is intentional, not an oversight.
|
|
78
|
+
- Official MCP-registry submission (Phase 2 Step 5 of this roadmap) is
|
|
79
|
+
free to list either or both servers, since that registry's schema is not
|
|
80
|
+
glama's single-manifest-per-repo constraint — evaluated separately.
|
|
81
|
+
|
|
82
|
+
## Alternatives
|
|
83
|
+
|
|
84
|
+
- **List both as separate glama entries.** Rejected — no such thing as
|
|
85
|
+
"the second manifest field" in glama's schema for this repo; would need a
|
|
86
|
+
second cloned/forked registration, disproportionate for a read-only
|
|
87
|
+
zero-tool server.
|
|
88
|
+
- **Drop the kernel listing, list only turnkey.** Rejected — the kernel
|
|
89
|
+
server's tool surface is the entire reason glama's introspection is
|
|
90
|
+
valuable here; a tool-less listing loses that value.
|
|
91
|
+
|
|
92
|
+
## References
|
|
93
|
+
|
|
94
|
+
- `road-to-glama-registry-listing.md` (archived) — original listing decision.
|
|
95
|
+
- `road-to-mcp-stdio-end-user-packaging.md` (archived) — turnkey server origin, ADR-085.
|
|
96
|
+
- `agents/settings/contexts/mcp-tool-tier-map.md` — capability-shape evidence for both servers.
|
|
97
|
+
- `internal/glama/README.md` — the build/run scripts this decision keeps unchanged.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
adr: 112
|
|
3
|
+
status: accepted
|
|
4
|
+
date: 2026-07-07
|
|
5
|
+
decision: stdio-lite-stays-read-only
|
|
6
|
+
supersedes: —
|
|
7
|
+
superseded_by: —
|
|
8
|
+
phase: road-to-mcp-full-power
|
|
9
|
+
type: standing
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-112 — the turnkey stdio-lite server stays read-only; tool users route to the kernel server
|
|
13
|
+
|
|
14
|
+
## Status
|
|
15
|
+
|
|
16
|
+
**Accepted** · 2026-07-07 · maintainer decision, Phase 6 of
|
|
17
|
+
`road-to-mcp-full-power.md`. Resolves the ADR-085 revisit trigger
|
|
18
|
+
("full-kernel bundling deferred — no demand"), which fired via this
|
|
19
|
+
roadmap's named consumer ask.
|
|
20
|
+
|
|
21
|
+
## Context
|
|
22
|
+
|
|
23
|
+
ADR-085 shipped `agent-config mcp-server` (stdio-lite, `src/cli/mcp/`) as
|
|
24
|
+
a read-only, zero-setup surface: prompts + resources from the bundled
|
|
25
|
+
`dist/agent-src/` + `docs/guidelines/`, `tools/list` empty, execution
|
|
26
|
+
deferred until demand existed. Demand now exists — but for the *kernel*
|
|
27
|
+
server: Phases 4–5 of this roadmap shipped 18 implemented tools
|
|
28
|
+
(write-tier + one shell-exec pilot) on `src/scripts/mcp_server/`, all
|
|
29
|
+
requiring a repo checkout and the full script tree
|
|
30
|
+
(`src/agent-src/scripts/`, `src/scripts/_cli/`, the council pricing
|
|
31
|
+
stack, the exec safety envelope).
|
|
32
|
+
|
|
33
|
+
The A1 option (bundle the kernel tool surface into the npm package so
|
|
34
|
+
`agent-config mcp-server` gains tools) was re-evaluated against that
|
|
35
|
+
shipped reality.
|
|
36
|
+
|
|
37
|
+
## Decision
|
|
38
|
+
|
|
39
|
+
1. **Stdio-lite stays read-only.** `agent-config mcp-server` keeps its
|
|
40
|
+
ADR-085 shape: prompts + resources, zero tools, zero setup. No kernel
|
|
41
|
+
bundling.
|
|
42
|
+
2. **Tool users route to the kernel server** (`agent-config mcp:run` on a
|
|
43
|
+
repo checkout). The per-IDE docs present this as the explicit
|
|
44
|
+
trade-off: zero-setup content surface vs. checkout-required execution
|
|
45
|
+
surface.
|
|
46
|
+
3. **Rationale:**
|
|
47
|
+
- The Phase 4/5 handlers import live repo modules (dashboard
|
|
48
|
+
regenerator, archival sweep, doctor/conformance internals, council
|
|
49
|
+
pricing, the exec envelope). Bundling them means shipping and
|
|
50
|
+
version-locking effectively the whole `src/` tree inside the npm
|
|
51
|
+
tarball — the "turnkey" story would inherit the kernel's full
|
|
52
|
+
dependency and drift surface while losing its one virtue:
|
|
53
|
+
nothing-to-break simplicity.
|
|
54
|
+
- The tools mutate the consumer's `agents/` tree and spawn vitest.
|
|
55
|
+
A zero-setup binary that writes and executes on first contact is
|
|
56
|
+
the wrong default posture for the entry-level surface; the kernel
|
|
57
|
+
path's checkout requirement is a natural consent step.
|
|
58
|
+
- Maintaining one execution surface (kernel) instead of two keeps the
|
|
59
|
+
A0 contract, the test suite, and the telemetry story single-homed.
|
|
60
|
+
4. **Revisit trigger:** a named end-user ask for MCP tools *without* a
|
|
61
|
+
repo checkout (e.g. a Claude Desktop user who wants `memory_signal`
|
|
62
|
+
but will not clone). That reopens A1 as its own roadmap with a fresh
|
|
63
|
+
council round — not a silent scope creep on this ADR.
|
|
64
|
+
|
|
65
|
+
## Consequences
|
|
66
|
+
|
|
67
|
+
- `docs/setup/mcp-client-config.md`'s two-entry-point table stays
|
|
68
|
+
accurate as written (local turnkey = read-only content; tools =
|
|
69
|
+
kernel).
|
|
70
|
+
- ADR-111 (Glama lists the kernel only) is reinforced — the listed
|
|
71
|
+
server is also the only tool-bearing one.
|
|
72
|
+
- The Worker remains read-only per `docs/contracts/mcp-cloud-scope.md`;
|
|
73
|
+
nothing in this ADR changes cloud scope.
|
|
74
|
+
|
|
75
|
+
## Alternatives
|
|
76
|
+
|
|
77
|
+
- **A1 full-kernel bundling** — rejected above (dependency surface,
|
|
78
|
+
write/exec-by-default posture, dual maintenance).
|
|
79
|
+
- **Partial bundling (read-only tools only in stdio-lite)** — rejected:
|
|
80
|
+
splits the tool catalog across two servers with different subsets,
|
|
81
|
+
making `implemented_on` client-visible behaviour diverge per entry
|
|
82
|
+
point; the discovery-first catalog would need a third transport
|
|
83
|
+
dimension for marginal gain.
|
|
84
|
+
|
|
85
|
+
## References
|
|
86
|
+
|
|
87
|
+
- ADR-085 — original stdio-lite shape (read-only, execution deferred).
|
|
88
|
+
- ADR-111 — canonical Glama listing (kernel only).
|
|
89
|
+
- `agents/decisions/mcp-write-exec-cut-2026-07-07.md` — the tool cut that
|
|
90
|
+
created the demand this ADR routes.
|
|
91
|
+
- `docs/contracts/mcp-phase-1-scope.md` § Amendment — the execution
|
|
92
|
+
surface this decision keeps single-homed.
|