@event4u/agent-config 8.4.1 → 8.6.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 +92 -0
- package/README.md +17 -5
- package/dist/agent-src/README.md +1 -1
- package/dist/agent-src/commands/{analyze-reference-repo.md → analyze/reference-repo.md} +3 -1
- package/dist/agent-src/commands/analyze.md +9 -6
- package/dist/agent-src/commands/{bug-fix.md → bug/fix.md} +3 -1
- package/dist/agent-src/commands/{bug-investigate.md → bug/investigate.md} +4 -2
- package/dist/agent-src/commands/bug.md +59 -0
- package/dist/agent-src/commands/{set-cost-profile.md → cost/profile.md} +9 -6
- package/dist/agent-src/commands/{cost-report.md → cost/report.md} +38 -17
- package/dist/agent-src/commands/cost.md +57 -0
- package/dist/agent-src/commands/evals/{review-changes.json → review.json} +12 -8
- package/dist/agent-src/commands/{quality-fix.md → fix/quality.md} +5 -2
- package/dist/agent-src/commands/fix.md +7 -4
- package/dist/agent-src/commands/optimize/project.md +250 -0
- package/dist/agent-src/commands/{optimize-prompt.md → optimize/prompt.md} +3 -2
- package/dist/agent-src/commands/optimize.md +17 -12
- package/dist/agent-src/commands/{package-reset.md → package/reset.md} +2 -0
- package/dist/agent-src/commands/{package-test.md → package/test.md} +3 -1
- package/dist/agent-src/commands/package.md +56 -0
- package/dist/agent-src/commands/{project-analyze.md → project/analyze.md} +10 -8
- package/dist/agent-src/commands/{project-health.md → project/health.md} +2 -0
- package/dist/agent-src/commands/project.md +60 -0
- package/dist/agent-src/commands/{review-changes.md → review/changes.md} +26 -24
- package/dist/agent-src/commands/{review-routing.md → review/routing.md} +21 -17
- package/dist/agent-src/commands/review.md +61 -0
- package/dist/agent-src/commands/security-audit-config.md +24 -23
- package/dist/agent-src/commands/{sync-agent-settings.md → sync/agent-settings.md} +11 -7
- package/dist/agent-src/commands/{sync-gitignore → sync/gitignore}/fix.md +36 -27
- package/dist/agent-src/commands/{sync-gitignore.md → sync/gitignore.md} +22 -21
- package/dist/agent-src/commands/sync.md +58 -0
- package/dist/agent-src/commands/{e2e-heal.md → tests/e2e-heal.md} +5 -2
- package/dist/agent-src/commands/{e2e-plan.md → tests/e2e-plan.md} +5 -2
- package/dist/agent-src/commands/tests.md +11 -5
- package/dist/agent-src/contexts/augment-infrastructure.md +3 -3
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +30 -0
- package/dist/agent-src/contexts/execution/orchestration-telemetry.md +15 -1
- package/dist/agent-src/contexts/execution/subagent-steering.md +54 -1
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +1 -1
- package/dist/agent-src/contexts/model-recommendations.md +19 -0
- package/dist/agent-src/contexts/skills-and-commands.md +2 -2
- package/dist/agent-src/contexts/subagent-configuration.md +8 -0
- package/dist/agent-src/rules/external-reference-deep-dive.md +1 -1
- package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +2 -2
- package/dist/agent-src/skills/judge-artifact-completeness/SKILL.md +1 -1
- package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +1 -1
- package/dist/agent-src/skills/judge-code-quality/SKILL.md +1 -1
- package/dist/agent-src/skills/judge-security-auditor/SKILL.md +1 -1
- package/dist/agent-src/skills/judge-synthesis/SKILL.md +1 -1
- package/dist/agent-src/skills/judge-test-coverage/SKILL.md +1 -1
- package/dist/agent-src/skills/markitdown/SKILL.md +1 -1
- package/dist/agent-src/skills/mobile-e2e-strategy/SKILL.md +5 -5
- package/dist/agent-src/skills/prompt-optimizer/SKILL.md +2 -2
- package/dist/agent-src/skills/quality-tools/SKILL.md +1 -1
- package/dist/agent-src/skills/repomix-packer/SKILL.md +1 -1
- package/dist/agent-src/skills/requesting-code-review/SKILL.md +2 -2
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
- package/dist/agent-src/templates/agent-settings.md +1 -1
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +2 -2
- package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +1 -1
- package/dist/cli/commands/config.js +44 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/uiServe.js +1 -0
- package/dist/cli/commands/uiServe.js.map +1 -1
- package/dist/cli/help.js +38 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/initRouting.js +16 -1
- package/dist/cli/initRouting.js.map +1 -1
- package/dist/cli/main.js +43 -37
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/registry.js +45 -44
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +419 -210
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +4 -4
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +31 -25
- package/dist/discovery/trust-report.md +2 -2
- package/dist/discovery/workspaces.json +30 -24
- package/dist/install/install.mjs +6064 -159
- package/dist/install/selectedTools.js +39 -10
- package/dist/install/selectedTools.js.map +1 -1
- package/dist/mcp/registry-manifest.json +3 -3
- package/dist/server/app.js +15 -3
- package/dist/server/app.js.map +1 -1
- package/dist/server/routes/ping.js +16 -0
- package/dist/server/routes/ping.js.map +1 -1
- package/dist/server/routes/settings.js +42 -6
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/routes/settingsChanges.js +55 -0
- package/dist/server/routes/settingsChanges.js.map +1 -0
- package/dist/server/routes/userMd.js +7 -2
- package/dist/server/routes/userMd.js.map +1 -1
- package/dist/server/routes/wizard.js +76 -14
- package/dist/server/routes/wizard.js.map +1 -1
- package/dist/server/writeRoot.js +17 -0
- package/dist/server/writeRoot.js.map +1 -1
- package/dist/shared/settingsSurface.js +120 -0
- package/dist/shared/settingsSurface.js.map +1 -0
- package/dist/ui/assets/index-BPFMZWUs.css +1 -0
- package/dist/ui/assets/index-BiEZiZ31.js +40 -0
- package/dist/ui/assets/index-BiEZiZ31.js.map +1 -0
- package/dist/ui/index.html +15 -2
- package/docs/CLAIMS.md +27 -15
- package/docs/architecture.md +1 -1
- package/docs/catalog.md +37 -31
- package/docs/command-flows.md +22 -16
- package/docs/contracts/command-clusters.md +39 -9
- package/docs/contracts/file-ownership-matrix.json +21 -0
- package/docs/contracts/frontmatter-contract.md +1 -1
- package/docs/contracts/gui-wizard.md +16 -4
- package/docs/contracts/iron-law-overrides.txt +1 -0
- package/docs/contracts/rule-classification.md +2 -2
- package/docs/contracts/settings-api.md +58 -2
- package/docs/contracts/surface-matrix.md +5 -0
- package/docs/cookbook.md +7 -7
- package/docs/decisions/ADR-114-commit-policy-iron-law-override.md +74 -0
- package/docs/decisions/ADR-115-command-cluster-consolidation-phase-4.md +91 -0
- package/docs/decisions/ADR-116-memory-tripwire-activation-path.md +125 -0
- package/docs/decisions/INDEX.md +3 -0
- package/docs/featured-commands.md +1 -1
- package/docs/featured-skills.md +4 -4
- package/docs/flows.md +2 -2
- package/docs/getting-started-by-role.md +1 -1
- package/docs/getting-started-laravel.md +1 -1
- package/docs/getting-started.md +6 -3
- package/docs/governance-advantage.md +1 -1
- package/docs/guidelines/agent-infra/5w2h-analysis.md +1 -1
- package/docs/guidelines/agent-infra/ios-simulator-guide.md +1 -1
- package/docs/proof.md +12 -2
- package/package.json +3 -1
- package/src/agent-src/README.md +1 -1
- package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +1 -1
- package/src/config/agent-settings.template.yml +1 -1
- package/src/install/selectedTools.ts +38 -10
- package/src/scripts/_cli/cmd_converge.ts +38 -0
- package/src/scripts/_cli/cmd_doctor.ts +113 -2
- package/src/scripts/_cli/cmd_explain.ts +2 -2
- package/src/scripts/_cli/cmd_export.ts +3 -3
- package/src/scripts/_cli/cmd_fleet.ts +13 -1
- package/src/scripts/_cli/cmd_migrate.ts +3 -3
- package/src/scripts/_cli/cmd_prune.ts +2 -2
- package/src/scripts/_cli/cmd_refresh.ts +4 -4
- package/src/scripts/_cli/cmd_settings_check.ts +2 -2
- package/src/scripts/_cli/cmd_settings_migrate.ts +2 -2
- package/src/scripts/_cli/cmd_sync.ts +2 -2
- package/src/scripts/_cli/cmd_uninstall.ts +2 -2
- package/src/scripts/_cli/cmd_update.ts +8 -8
- package/src/scripts/_cli/cmd_upgrade.ts +4 -3
- package/src/scripts/_cli/cmd_validate.ts +3 -3
- package/src/scripts/_cli/cmd_versions.ts +2 -2
- package/src/scripts/_cli/explain_last/assumptions.ts +2 -2
- package/src/scripts/_cli/explain_last/council.ts +2 -2
- package/src/scripts/_cli/explain_last/halt.ts +2 -2
- package/src/scripts/_cli/explain_last/index.ts +2 -2
- package/src/scripts/_cli/explain_last/inputs.ts +4 -4
- package/src/scripts/_cli/explain_last/memory.ts +2 -2
- package/src/scripts/_cli/explain_last/provider.ts +2 -2
- package/src/scripts/_cli/explain_last/render.ts +2 -2
- package/src/scripts/_cli/explain_last/route.ts +2 -2
- package/src/scripts/_cli/explain_last/scrubber.ts +2 -2
- package/src/scripts/_cli/explain_last/sections/assumptions.ts +2 -2
- package/src/scripts/_cli/explain_last/sections/council.ts +2 -2
- package/src/scripts/_cli/explain_last/sections/halt.ts +2 -2
- package/src/scripts/_cli/explain_last/sections/header.ts +2 -2
- package/src/scripts/_cli/explain_last/sections/index.ts +1 -1
- package/src/scripts/_cli/explain_last/sections/inputs.ts +2 -2
- package/src/scripts/_cli/explain_last/sections/memory.ts +2 -2
- package/src/scripts/_cli/explain_last/sections/pack.ts +2 -2
- package/src/scripts/_cli/explain_last/sections/provider.ts +2 -2
- package/src/scripts/_cli/explain_last/sections/route.ts +2 -2
- package/src/scripts/_cli/explain_last/state_loader.ts +2 -2
- package/src/scripts/_dispatch.bash +20 -1
- package/src/scripts/_lib/agent_settings.ts +1 -1
- package/src/scripts/_lib/agent_src.ts +7 -7
- package/src/scripts/_lib/agents_overlay.ts +1 -1
- package/src/scripts/_lib/auto_dispatch.ts +63 -0
- package/src/scripts/_lib/bench_ab_cache.ts +1 -1
- package/src/scripts/_lib/bench_ab_scoring.ts +1 -1
- package/src/scripts/_lib/bench_ab_scoring_v2.ts +3 -3
- package/src/scripts/_lib/bench_cost.ts +1 -1
- package/src/scripts/_lib/bench_quality.ts +3 -3
- package/src/scripts/_lib/bench_report.ts +4 -4
- package/src/scripts/_lib/bench_telegraph.ts +1 -1
- package/src/scripts/_lib/bench_telegraph_report.ts +4 -4
- package/src/scripts/_lib/changelog_eras.ts +1 -1
- package/src/scripts/_lib/claude_desktop_bundler.ts +1 -1
- package/src/scripts/_lib/cli_wrapper.ts +1 -1
- package/src/scripts/_lib/fs_atomic.ts +1 -1
- package/src/scripts/_lib/global_deploy_inventory.ts +1 -1
- package/src/scripts/_lib/install_layout.ts +1 -1
- package/src/scripts/_lib/install_regenerator.ts +1 -1
- package/src/scripts/_lib/installed_lock.ts +1 -1
- package/src/scripts/_lib/installed_tools.ts +1 -1
- package/src/scripts/_lib/json_pointers.ts +1 -1
- package/src/scripts/_lib/knowledge_global.ts +1 -1
- package/src/scripts/_lib/knowledge_global_promote.ts +2 -2
- package/src/scripts/_lib/knowledge_global_redaction.ts +2 -2
- package/src/scripts/_lib/link_crypto.ts +4 -4
- package/src/scripts/_lib/linked_projects.ts +4 -4
- package/src/scripts/_lib/model_tier.ts +1 -1
- package/src/scripts/_lib/module_detection.ts +2 -2
- package/src/scripts/_lib/pin_resolver.ts +1 -1
- package/src/scripts/_lib/script_output.ts +1 -1
- package/src/scripts/_lib/security_lint.ts +1 -1
- package/src/scripts/_lib/subagent_routing.ts +24 -0
- package/src/scripts/_lib/subagent_steering.ts +213 -3
- package/src/scripts/_lib/surface_tiers.ts +1 -1
- package/src/scripts/_lib/text_similarity.ts +1 -1
- package/src/scripts/_lib/update_check.ts +2 -2
- package/src/scripts/_lib/user_global_paths.ts +1 -1
- package/src/scripts/_lib/value_ladder.ts +1 -1
- package/src/scripts/_lib/value_report.ts +1 -1
- package/src/scripts/_lib/zip_min.ts +2 -2
- package/src/scripts/adoption_report.ts +3 -3
- package/src/scripts/adoption_snapshot.ts +3 -3
- package/src/scripts/adoption_status.ts +2 -2
- package/src/scripts/adr/regenerate_index.ts +3 -3
- package/src/scripts/ai_council/_default_prices.ts +2 -3
- package/src/scripts/ai_council/advisors.ts +1 -1
- package/src/scripts/ai_council/airgap.ts +1 -1
- package/src/scripts/ai_council/budget_guard.ts +1 -1
- package/src/scripts/ai_council/bundler.ts +1 -1
- package/src/scripts/ai_council/cli_hints.ts +1 -1
- package/src/scripts/ai_council/clients.ts +5 -5
- package/src/scripts/ai_council/compile_corpus.ts +1 -1
- package/src/scripts/ai_council/confidence_gate.ts +1 -1
- package/src/scripts/ai_council/config.ts +1 -1
- package/src/scripts/ai_council/consensus.ts +1 -1
- package/src/scripts/ai_council/events_log.ts +1 -1
- package/src/scripts/ai_council/learn_low_impact_preview.ts +1 -1
- package/src/scripts/ai_council/low_impact_corpus.ts +1 -1
- package/src/scripts/ai_council/low_impact_intake.ts +1 -1
- package/src/scripts/ai_council/modes.ts +1 -1
- package/src/scripts/ai_council/orchestrator.ts +3 -3
- package/src/scripts/ai_council/pricing.ts +2 -2
- package/src/scripts/ai_council/probation_gate.ts +2 -2
- package/src/scripts/ai_council/project_context.ts +1 -1
- package/src/scripts/ai_council/prompts.ts +1 -1
- package/src/scripts/ai_council/redact_low_impact_entry.ts +2 -2
- package/src/scripts/ai_council/session.ts +1 -1
- package/src/scripts/ai_council/shadow_dispatch.ts +1 -1
- package/src/scripts/ai_council/solo_dispatch.ts +1 -1
- package/src/scripts/analysis_freshness.ts +2 -2
- package/src/scripts/annotate_discovery.ts +2 -2
- package/src/scripts/apply_modules_config.ts +2 -2
- package/src/scripts/audit_adr_coverage.ts +3 -3
- package/src/scripts/audit_auto_rules.ts +2 -2
- package/src/scripts/audit_cloud_compatibility.ts +3 -3
- package/src/scripts/audit_command_surface.ts +2 -2
- package/src/scripts/audit_initial_context.ts +7 -6
- package/src/scripts/audit_likelihood.ts +5 -5
- package/src/scripts/audit_mcp_tools.ts +3 -3
- package/src/scripts/audit_overlap.ts +2 -2
- package/src/scripts/audit_skill_descriptions.ts +2 -2
- package/src/scripts/audit_skill_overlap.ts +5 -5
- package/src/scripts/audit_user_type_axis.ts +4 -4
- package/src/scripts/backfill_model_tier.ts +1 -1
- package/src/scripts/bench_ab_cache_dispatch.ts +2 -2
- package/src/scripts/bench_ab_clone.ts +2 -2
- package/src/scripts/bench_ab_diff.ts +3 -3
- package/src/scripts/bench_ab_integrity.ts +2 -2
- package/src/scripts/bench_ab_run.ts +4 -4
- package/src/scripts/bench_ab_task_runner.ts +1 -1
- package/src/scripts/bench_ab_tracka_run.ts +2 -2
- package/src/scripts/bench_ab_v2_run.ts +1 -1
- package/src/scripts/bench_ab_v2_stats.ts +2 -2
- package/src/scripts/bench_baseline_ready.ts +1 -1
- package/src/scripts/bench_condense_memory.ts +4 -4
- package/src/scripts/bench_drift_check.ts +3 -3
- package/src/scripts/bench_per_tool.ts +1 -1
- package/src/scripts/bench_rtk_savings.ts +4 -4
- package/src/scripts/bench_run.ts +4 -4
- package/src/scripts/bench_runner.ts +1 -1
- package/src/scripts/build_cloud_bundle.ts +3 -3
- package/src/scripts/build_discovery_manifest.ts +13 -15
- package/src/scripts/build_linear_digest.ts +2 -2
- package/src/scripts/build_mcp_registry_manifest.ts +3 -3
- package/src/scripts/build_proof.ts +6 -0
- package/src/scripts/build_rule_trigger_matrix.ts +2 -2
- package/src/scripts/capture_showcase_session.ts +3 -3
- package/src/scripts/chat_history.ts +1 -1
- package/src/scripts/check_always_budget.ts +1 -1
- package/src/scripts/check_artefact_checksums.ts +4 -4
- package/src/scripts/check_artefact_count_messaging.ts +197 -0
- package/src/scripts/check_augment_description_cap.ts +3 -3
- package/src/scripts/check_augmentignore.ts +1 -1
- package/src/scripts/check_beta_review_markers.ts +3 -3
- package/src/scripts/check_bite_sized_granularity.ts +1 -1
- package/src/scripts/check_cluster_patterns.ts +47 -3
- package/src/scripts/check_command_count_messaging.ts +2 -2
- package/src/scripts/check_condensation.ts +2 -2
- package/src/scripts/check_condensed_paths.ts +6 -6
- package/src/scripts/check_context_paths.ts +1 -1
- package/src/scripts/check_council_config_location.ts +3 -3
- package/src/scripts/check_council_layout.ts +2 -2
- package/src/scripts/check_council_references.ts +2 -2
- package/src/scripts/check_discovery_determinism.ts +3 -3
- package/src/scripts/check_gate_paths.ts +4 -4
- package/src/scripts/check_iron_law_prominence.ts +2 -2
- package/src/scripts/check_kernel_rule_bundle.ts +3 -3
- package/src/scripts/check_knowledge_cards.ts +4 -4
- package/src/scripts/check_knowledge_pages.ts +1 -1
- package/src/scripts/check_md_language.ts +3 -3
- package/src/scripts/check_memory.ts +3 -3
- package/src/scripts/check_memory_proposal.ts +2 -2
- package/src/scripts/check_module_management_neutral.ts +1 -1
- package/src/scripts/check_no_conflict_markers.ts +1 -1
- package/src/scripts/check_no_external_sources.ts +1 -1
- package/src/scripts/check_no_local_settings_committed.ts +2 -2
- package/src/scripts/check_no_new_legacy_path.ts +3 -3
- package/src/scripts/check_no_roadmap_refs.ts +3 -3
- package/src/scripts/check_one_off_location.ts +3 -3
- package/src/scripts/check_overlay_cascade_subdirs.ts +3 -3
- package/src/scripts/check_portability.ts +3 -3
- package/src/scripts/check_proposal.ts +0 -0
- package/src/scripts/check_public_catalog_links.ts +1 -1
- package/src/scripts/check_public_links.ts +2 -2
- package/src/scripts/check_references.ts +3 -3
- package/src/scripts/check_release_includes_discovery.ts +2 -2
- package/src/scripts/check_release_pr_shape.ts +2 -2
- package/src/scripts/check_release_published.ts +1 -1
- package/src/scripts/check_release_trunk_sync.ts +3 -3
- package/src/scripts/check_reply_consistency.ts +1 -1
- package/src/scripts/check_roadmap_trackable.ts +2 -2
- package/src/scripts/check_role_doc_links.ts +2 -2
- package/src/scripts/check_safety_floor_untouched.ts +3 -3
- package/src/scripts/check_skill_requires.ts +2 -2
- package/src/scripts/check_structural_breaking.ts +2 -2
- package/src/scripts/check_surface_tiers.ts +2 -2
- package/src/scripts/check_template_pin_drift.ts +1 -1
- package/src/scripts/check_test_coverage_diff.ts +2 -2
- package/src/scripts/check_token_optimizer_freshness.ts +3 -3
- package/src/scripts/check_trigger_evals.ts +2 -2
- package/src/scripts/check_update_banner.ts +1 -1
- package/src/scripts/ci_status.ts +0 -0
- package/src/scripts/ci_summary.ts +3 -3
- package/src/scripts/ci_time_ratio.ts +1 -1
- package/src/scripts/command_suggester/cooldown.ts +1 -1
- package/src/scripts/command_suggester/index.ts +1 -1
- package/src/scripts/command_suggester/loader.ts +1 -1
- package/src/scripts/command_suggester/match.ts +1 -1
- package/src/scripts/command_suggester/rank.ts +1 -1
- package/src/scripts/command_suggester/render.ts +1 -1
- package/src/scripts/command_suggester/sanitize.ts +1 -1
- package/src/scripts/command_suggester/settings.ts +1 -1
- package/src/scripts/command_suggester/types.ts +0 -0
- package/src/scripts/compile_router.ts +4 -4
- package/src/scripts/condense.ts +3 -3
- package/src/scripts/condense_memory.ts +1 -1
- package/src/scripts/config/index.ts +1 -1
- package/src/scripts/config/packs.ts +1 -1
- package/src/scripts/config/presets.ts +1 -1
- package/src/scripts/config/profile_explain.ts +1 -1
- package/src/scripts/config/profiles.ts +1 -1
- package/src/scripts/config/session_profiles.ts +1 -1
- package/src/scripts/context_hygiene_hook.ts +2 -2
- package/src/scripts/cost_by_conversation.ts +1 -1
- package/src/scripts/cost_summary.ts +2 -2
- package/src/scripts/council_cli.ts +1 -1
- package/src/scripts/council_prune.ts +1 -1
- package/src/scripts/cross_repo_retrieve.ts +2 -2
- package/src/scripts/discovery_stats.ts +3 -3
- package/src/scripts/evidence_report.ts +4 -4
- package/src/scripts/extract_audit_patterns.ts +2 -2
- package/src/scripts/first_run_gate_hook.ts +1 -1
- package/src/scripts/gen_discovery_baseline.ts +2 -2
- package/src/scripts/generate_capabilities_index.ts +2 -2
- package/src/scripts/generate_capability_matrix.ts +2 -2
- package/src/scripts/generate_catalog.ts +2 -2
- package/src/scripts/generate_command_flows.ts +2 -2
- package/src/scripts/generate_cookbook.ts +1 -1
- package/src/scripts/generate_index.ts +3 -3
- package/src/scripts/generate_ownership_matrix.ts +2 -2
- package/src/scripts/generate_pack_manifests.ts +2 -2
- package/src/scripts/generate_role_experiences_catalog.ts +3 -3
- package/src/scripts/hooks/block_no_verify.ts +2 -2
- package/src/scripts/hooks/dispatch_hook.ts +2 -2
- package/src/scripts/hooks/dispatch_issues.ts +1 -1
- package/src/scripts/hooks/envelope.ts +1 -1
- package/src/scripts/hooks/replay_hook.ts +1 -1
- package/src/scripts/hooks/state_io.ts +1 -1
- package/src/scripts/hooks_doctor.ts +1 -1
- package/src/scripts/hooks_status.ts +1 -1
- package/src/scripts/injection_scan_hook.ts +1 -1
- package/src/scripts/install.ts +145 -3
- package/src/scripts/inventory_abstraction_budget.ts +5 -5
- package/src/scripts/inventory_frontmatter.ts +1 -1
- package/src/scripts/inventory_meta_layers.ts +1 -1
- package/src/scripts/iron_law_sha.ts +1 -1
- package/src/scripts/knowledge_global_cli.ts +3 -3
- package/src/scripts/linked_projects_list.ts +1 -1
- package/src/scripts/lint_agent_security.ts +4 -4
- package/src/scripts/lint_agent_skill_names.ts +1 -1
- package/src/scripts/lint_agents_layout.ts +2 -2
- package/src/scripts/lint_agents_md.ts +3 -3
- package/src/scripts/lint_archived_skills.ts +2 -2
- package/src/scripts/lint_artefact_frontmatter.ts +2 -2
- package/src/scripts/lint_bench_ab.ts +2 -2
- package/src/scripts/lint_bench_corpus.ts +1 -1
- package/src/scripts/lint_command_flow_coverage.ts +1 -1
- package/src/scripts/lint_command_routing.ts +2 -2
- package/src/scripts/lint_command_tiers.ts +1 -1
- package/src/scripts/lint_command_verbs.ts +4 -4
- package/src/scripts/lint_commit_subjects.ts +2 -2
- package/src/scripts/lint_context_spine_usage.ts +3 -3
- package/src/scripts/lint_discovery_manifest.ts +4 -4
- package/src/scripts/lint_discovery_vocabulary.ts +2 -2
- package/src/scripts/lint_empty_roadmaps.ts +3 -3
- package/src/scripts/lint_eval_freshness.ts +2 -2
- package/src/scripts/lint_examples.ts +2 -2
- package/src/scripts/lint_explain_trace.ts +2 -2
- package/src/scripts/lint_featured_skills.ts +0 -0
- package/src/scripts/lint_flows.ts +5 -5
- package/src/scripts/lint_framework_leakage.ts +1 -1
- package/src/scripts/lint_framework_leakage_allowlist.json +10 -2
- package/src/scripts/lint_frontmatter_boilerplate.ts +2 -2
- package/src/scripts/lint_ghostwriter_source.ts +3 -3
- package/src/scripts/lint_global_paths.ts +1 -1
- package/src/scripts/lint_handoffs.ts +1 -1
- package/src/scripts/lint_hidden_unicode.ts +1 -1
- package/src/scripts/lint_hook_concern_budget.ts +2 -2
- package/src/scripts/lint_hook_manifest.ts +2 -2
- package/src/scripts/lint_instruction_smuggling.ts +1 -1
- package/src/scripts/lint_load_context.ts +2 -2
- package/src/scripts/lint_marketplace.ts +1 -1
- package/src/scripts/lint_marketplace_install_completeness.ts +2 -2
- package/src/scripts/lint_mcp_config_security.ts +1 -1
- package/src/scripts/lint_mcp_registry_manifest.ts +1 -1
- package/src/scripts/lint_media_policy_linkage.ts +3 -3
- package/src/scripts/lint_missions.ts +3 -3
- package/src/scripts/lint_model_tier_coverage.ts +3 -3
- package/src/scripts/lint_namespace.ts +2 -2
- package/src/scripts/lint_namespace_collisions.ts +2 -2
- package/src/scripts/lint_new_skill_gate.ts +3 -3
- package/src/scripts/lint_no_new_atomic_commands.ts +9 -6
- package/src/scripts/lint_no_python_twin_rationale.ts +102 -0
- package/src/scripts/lint_one_off_age.ts +2 -2
- package/src/scripts/lint_orchestration_dsl.ts +3 -3
- package/src/scripts/lint_orchestrator_auto_detect.ts +1 -1
- package/src/scripts/lint_pack_boundaries.ts +2 -2
- package/src/scripts/lint_pack_dependencies.ts +2 -2
- package/src/scripts/lint_pack_first_win.ts +2 -2
- package/src/scripts/lint_persona_governance.ts +3 -3
- package/src/scripts/lint_positioning.ts +1 -1
- package/src/scripts/lint_profile_overlay_set_only.ts +2 -2
- package/src/scripts/lint_readme_jargon.ts +2 -2
- package/src/scripts/lint_readme_size.ts +2 -2
- package/src/scripts/lint_regression.ts +3 -3
- package/src/scripts/lint_roadmap_ci_steps.ts +3 -3
- package/src/scripts/lint_roadmap_complexity.ts +1 -1
- package/src/scripts/lint_roadmap_later_disposition.ts +2 -2
- package/src/scripts/lint_role_experiences.ts +2 -2
- package/src/scripts/lint_rule_interactions.ts +1 -1
- package/src/scripts/lint_rule_tiers.ts +1 -1
- package/src/scripts/lint_showcase_sessions.ts +2 -2
- package/src/scripts/lint_skill_frontmatter_safety.ts +1 -1
- package/src/scripts/lint_skill_originality.ts +1 -1
- package/src/scripts/lint_skill_tools.ts +3 -3
- package/src/scripts/lint_ticket_buildable.ts +2 -2
- package/src/scripts/lint_topics_yaml.ts +3 -3
- package/src/scripts/lint_trust_coherence.ts +3 -3
- package/src/scripts/lint_value_dashboard.ts +3 -3
- package/src/scripts/lint_workflow_security.ts +3 -3
- package/src/scripts/lint_workspace_boundary.ts +2 -2
- package/src/scripts/mcp_parity_smoke.ts +1 -1
- package/src/scripts/mcp_render.ts +1 -1
- package/src/scripts/mcp_server/catalog.ts +1 -1
- package/src/scripts/mcp_server/index.ts +1 -1
- package/src/scripts/mcp_server/metadata.ts +1 -1
- package/src/scripts/mcp_server/prompts.ts +1 -1
- package/src/scripts/mcp_server/resources.ts +1 -1
- package/src/scripts/mcp_server/server.ts +1 -1
- package/src/scripts/mcp_server/telemetry.ts +1 -1
- package/src/scripts/mcp_server/tools.ts +1 -1
- package/src/scripts/mcp_telemetry_health.ts +1 -1
- package/src/scripts/mcp_telemetry_query.ts +3 -3
- package/src/scripts/mcp_telemetry_store.ts +3 -3
- package/src/scripts/measure_augment_budget.ts +2 -2
- package/src/scripts/measure_density.ts +2 -2
- package/src/scripts/measure_frugality_savings.ts +3 -3
- package/src/scripts/measure_markitdown_lift.ts +1 -1
- package/src/scripts/measure_patterns.ts +1 -1
- package/src/scripts/measure_projection_bytes.ts +1 -1
- package/src/scripts/measure_rule_budget.ts +1 -1
- package/src/scripts/measure_skill_reduction.ts +1 -1
- package/src/scripts/memory_hash.ts +1 -1
- package/src/scripts/memory_lookup.ts +6 -6
- package/src/scripts/memory_report.ts +1 -1
- package/src/scripts/memory_signal.ts +1 -1
- package/src/scripts/memory_status.ts +2 -2
- package/src/scripts/migrate_command_suggestions.ts +1 -1
- package/src/scripts/migrate_frontmatter_defaults.ts +1 -1
- package/src/scripts/mine_session.ts +3 -3
- package/src/scripts/minimal_safe_diff_hook.ts +2 -2
- package/src/scripts/move_artefact.ts +3 -3
- package/src/scripts/new_skill.ts +3 -3
- package/src/scripts/onboarding_gate_hook.ts +2 -2
- package/src/scripts/pack_mcp_content.ts +1 -1
- package/src/scripts/parity/replay.ts +3 -2
- package/src/scripts/pattern_share.ts +2 -2
- package/src/scripts/plan_physical_move.ts +3 -3
- package/src/scripts/prediction-pool/poisson_sim.ts +2 -2
- package/src/scripts/prediction-pool/pool_winsim.ts +2 -2
- package/src/scripts/prediction-pool/score_ev.ts +2 -2
- package/src/scripts/print_required_checks.ts +2 -2
- package/src/scripts/probe_projection_fidelity.ts +2 -2
- package/src/scripts/probe_skill_registration.ts +2 -2
- package/src/scripts/profile_staleness_hook.ts +2 -2
- package/src/scripts/profile_use.ts +2 -2
- package/src/scripts/project_thin_rules.ts +3 -3
- package/src/scripts/propose_modules_config.ts +2 -2
- package/src/scripts/prototype_lint_contradictions.ts +2 -2
- package/src/scripts/prove_pack_extractable.ts +1 -1
- package/src/scripts/readme_linter.ts +4 -4
- package/src/scripts/redact_hook_capture.ts +2 -2
- package/src/scripts/refine_ticket_detect.ts +1 -1
- package/src/scripts/release.ts +30 -19
- package/src/scripts/render_benchmark_md.ts +2 -2
- package/src/scripts/render_value_md.ts +2 -2
- package/src/scripts/roadmap_progress_hook.ts +1 -1
- package/src/scripts/router_telemetry.ts +1 -1
- package/src/scripts/run_skill_evals.ts +2 -2
- package/src/scripts/runtime_dispatcher.ts +1 -1
- package/src/scripts/runtime_handler.ts +1 -1
- package/src/scripts/runtime_registry.ts +3 -3
- package/src/scripts/score_skill_selection.ts +1 -1
- package/src/scripts/security_audit_config.ts +2 -2
- package/src/scripts/skill_collision_clusters.ts +1 -1
- package/src/scripts/skill_discovery.ts +1 -1
- package/src/scripts/skill_linter.ts +8 -7
- package/src/scripts/skill_overlap.ts +2 -2
- package/src/scripts/skill_preview.ts +1 -1
- package/src/scripts/skill_tools/audit_persona_coverage.ts +3 -3
- package/src/scripts/skill_tools/audit_user_type_coverage.ts +3 -3
- package/src/scripts/skill_tools/index.ts +1 -1
- package/src/scripts/skill_tools/run_block_d_eval.ts +3 -3
- package/src/scripts/skill_tools/score_skill_relevance.ts +3 -3
- package/src/scripts/skill_tools/suggest_skill_for_task.ts +3 -3
- package/src/scripts/skill_trigger_eval.ts +2 -2
- package/src/scripts/skill_usage_collect.ts +2 -2
- package/src/scripts/skill_usage_report.ts +2 -2
- package/src/scripts/smoke_path_resolution.ts +2 -2
- package/src/scripts/smoke_quickstart.ts +4 -4
- package/src/scripts/snapshot_agent_outputs.ts +2 -2
- package/src/scripts/spotcheck_thin_root.ts +2 -2
- package/src/scripts/surface-tiers.yml +1 -0
- package/src/scripts/sync_agent_settings.ts +2 -2
- package/src/scripts/sync_github_metadata.ts +4 -4
- package/src/scripts/sync_gitignore.ts +3 -3
- package/src/scripts/sync_yaml_rt.ts +2 -2
- package/src/scripts/telegraph_stats.ts +1 -1
- package/src/scripts/tool_registry.ts +2 -2
- package/src/scripts/tools/adapter_errors.ts +1 -1
- package/src/scripts/tools/base_adapter.ts +1 -1
- package/src/scripts/tools/github_adapter.ts +1 -1
- package/src/scripts/tools/jira_adapter.ts +1 -1
- package/src/scripts/trigger_coverage.ts +2 -2
- package/src/scripts/update_counts.ts +68 -6
- package/src/scripts/update_prices.ts +3 -3
- package/src/scripts/validate_agent_settings.ts +3 -3
- package/src/scripts/validate_decision_engine.ts +2 -2
- package/src/scripts/validate_discovery_manifest.ts +3 -3
- package/src/scripts/validate_frontmatter.ts +5 -5
- package/src/scripts/validate_pack_yaml.ts +0 -0
- package/src/scripts/validate_safe_paths.ts +2 -2
- package/src/scripts/validate_telegraph_carveouts.ts +3 -3
- package/src/scripts/verify_before_complete_hook.ts +2 -2
- package/src/scripts/verify_physical_move.ts +2 -2
- package/src/scripts/wrapper_freshness_hook.ts +3 -3
- package/src/server/schemas/settings.ts +426 -0
- package/src/shared/settingsSurface.ts +184 -0
- package/src/shared/userMd/formAdapter.ts +86 -0
- package/src/shared/userMd/schema.ts +59 -0
- package/src/shared/userMd/utils.ts +91 -0
- package/dist/agent-src/commands/optimize-project.md +0 -243
- package/dist/ui/assets/index-BbWWuFrF.css +0 -1
- package/dist/ui/assets/index-UjcTG_9O.js +0 -40
- package/dist/ui/assets/index-UjcTG_9O.js.map +0 -1
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* `agent-config migrate` — one-shot, opinionated migration off every legacy
|
|
3
3
|
* install / state shape (TypeScript twin).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* migration). The CLI contract
|
|
5
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_migrate.py` (ADR-200, py2ts
|
|
6
|
+
* migration). The CLI contract pins the historical contract exactly — same
|
|
7
7
|
* flags, same exit codes, same stdout/stderr split, byte-identical emitted
|
|
8
8
|
* output, same filesystem effects. No behaviour changes — latent quirks are
|
|
9
9
|
* replicated and flagged inline, not fixed.
|
|
@@ -82,7 +82,7 @@ import { resolve_project_root } from '../_lib/agent_settings.js';
|
|
|
82
82
|
// specifier into the uncompiled template tree (`.ts` only) and crash the whole
|
|
83
83
|
// CLI at module load — breaking every command (e.g. `agent-config init`).
|
|
84
84
|
// `_load_state_migrator` spawns it via tsx instead (the install orchestrator
|
|
85
|
-
// pattern), keeping the migrator lazy like the Python
|
|
85
|
+
// pattern), keeping the migrator lazy like the retired Python implementation.
|
|
86
86
|
|
|
87
87
|
const PACKAGE_NAME_NPM = '@event4u/agent-config';
|
|
88
88
|
const PACKAGE_NAME_COMPOSER = 'event4u/agent-config';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `agent-config prune` — remove orphaned project bridge markers (TypeScript twin).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* migration). The CLI contract
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_prune.py` (ADR-200, py2ts
|
|
5
|
+
* migration). The CLI contract pins the historical contract exactly — same
|
|
6
6
|
* flags, same exit codes, same stdout/stderr split, byte-identical emitted
|
|
7
7
|
* output, same filesystem effects. No behaviour changes — latent quirks are
|
|
8
8
|
* replicated and flagged inline, not fixed.
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* `agent-config refresh` — idempotent re-install, no version change
|
|
4
4
|
* (TypeScript twin).
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* migration). The CLI contract
|
|
6
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_refresh.py` (ADR-200, py2ts
|
|
7
|
+
* migration). The CLI contract pins the historical contract exactly — same
|
|
8
8
|
* flags, same exit codes, same stdout/stderr split, byte-identical emitted
|
|
9
9
|
* output, same filesystem effects, same subprocess argv/cwd/env. No behaviour
|
|
10
10
|
* changes — latent quirks are replicated and flagged inline, not fixed.
|
|
@@ -145,7 +145,7 @@ const CONSUMER_BRIDGE_MARKER_RELPATH = path.join('agents', '.event4u-bridge.yml'
|
|
|
145
145
|
* agent-config package source tree. Shared by the bridge-marker writer guard
|
|
146
146
|
* and the `_is_source_repo` monorepo probe so the literal lives in one place
|
|
147
147
|
* (the only other textual mention is the `_is_source_repo` docstring, matching
|
|
148
|
-
* the Python
|
|
148
|
+
* the retired Python implementation's two occurrences for the ADR-051 path-count parity).
|
|
149
149
|
*/
|
|
150
150
|
const SRC_MARKER_DIR = '.agent-src.uncondensed';
|
|
151
151
|
|
|
@@ -215,7 +215,7 @@ function atomicWrite0644(target: string, body: string, prefix: string): void {
|
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
/**
|
|
218
|
-
*
|
|
218
|
+
* Mirrors `install._write_consumer_bridge_marker` (module-private). Returns the
|
|
219
219
|
* written path, or `null` when skipped (dev mode / source repo).
|
|
220
220
|
*/
|
|
221
221
|
function _write_consumer_bridge_marker(
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* `agent-config settings:check` — validate `.agent-settings.yml` against the
|
|
3
3
|
* supported YAML subset (TypeScript twin).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* migration). The CLI contract
|
|
5
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_settings_check.py` (ADR-200, py2ts
|
|
6
|
+
* migration). The CLI contract pins the historical contract exactly — same
|
|
7
7
|
* flags, same exit codes, same stdout/stderr split, byte-identical emitted
|
|
8
8
|
* output. Read-only — no filesystem mutation, no network. No behaviour
|
|
9
9
|
* changes; latent quirks are replicated and flagged inline, not fixed.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* `agent-config settings:migrate` — lift project-local settings into the
|
|
3
3
|
* global store (TypeScript twin).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* py2ts migration). The CLI contract
|
|
5
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_settings_migrate.py` (ADR-200,
|
|
6
|
+
* py2ts migration). The CLI contract pins the historical contract exactly —
|
|
7
7
|
* same flags, same exit codes, same stdout/stderr split, byte-identical
|
|
8
8
|
* emitted output, same filesystem effects. No behaviour changes; latent quirks
|
|
9
9
|
* are replicated and flagged inline, not fixed.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* `agent-config sync` — replay the installed-tools manifest (ADR-008)
|
|
3
3
|
* (TypeScript twin).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* migration). The CLI contract
|
|
5
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_sync.py` (ADR-200, py2ts
|
|
6
|
+
* migration). The CLI contract pins the historical contract exactly — same
|
|
7
7
|
* flags, same exit codes, same stdout/stderr split, byte-identical emitted
|
|
8
8
|
* output, same installer invocation. No behaviour changes; latent quirks are
|
|
9
9
|
* replicated and flagged inline, not fixed.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `agent-config uninstall` — remove bridge markers (Phase 4.1) (TypeScript twin).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* migration). The CLI contract
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_uninstall.py` (ADR-200, py2ts
|
|
5
|
+
* migration). The CLI contract pins the historical contract exactly — same
|
|
6
6
|
* flags, same exit codes, same stdout/stderr split, byte-identical emitted
|
|
7
7
|
* output, same filesystem effects. No behaviour changes — latent quirks are
|
|
8
8
|
* replicated and flagged inline, not fixed.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* `agent-config update` — explicit, opt-in update of the version pin
|
|
3
3
|
* (TypeScript twin).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* migration). The CLI contract
|
|
5
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_update.py` (ADR-200, py2ts
|
|
6
|
+
* migration). The CLI contract pins the historical contract exactly — same
|
|
7
7
|
* flags, same exit codes, same stdout/stderr split, byte-identical emitted
|
|
8
8
|
* output, same filesystem effects, same subprocess argv/cwd/env. No behaviour
|
|
9
9
|
* changes — latent quirks are replicated and flagged inline, not fixed.
|
|
@@ -140,23 +140,23 @@ function _splitlinesKeepends(text: string): string[] {
|
|
|
140
140
|
// Replicated module-private helpers (see header parity note)
|
|
141
141
|
// ---------------------------------------------------------------------------
|
|
142
142
|
|
|
143
|
-
/**
|
|
143
|
+
/** Mirrors `agent_settings._canonical_settings_path` (file-local private). */
|
|
144
144
|
function _canonical_settings_path(project_root: string): string {
|
|
145
145
|
return path.join(project_root, ...LOCAL_PROJECT_SUBDIR, DEFAULT_PROJECT_FILE);
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
/**
|
|
148
|
+
/** Mirrors `agent_settings._local_settings_path` (file-local private). */
|
|
149
149
|
function _local_settings_path(project_root: string): string {
|
|
150
150
|
return path.join(project_root, ...LOCAL_PROJECT_SUBDIR, LOCAL_PROJECT_FILE);
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
/**
|
|
153
|
+
/** Mirrors `agent_settings._resolve` — absolute, normalised path. */
|
|
154
154
|
function _resolve(p: string): string {
|
|
155
155
|
return path.resolve(p);
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
/**
|
|
159
|
-
*
|
|
159
|
+
* Mirrors `agent_settings._resolve_cascade_paths` (file-local private).
|
|
160
160
|
*
|
|
161
161
|
* Returns the ordered cascade of in-project settings files (shallow → deep).
|
|
162
162
|
*/
|
|
@@ -199,7 +199,7 @@ function _resolve_cascade_paths(cwd: string | null, project_path: string | null)
|
|
|
199
199
|
return out;
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
-
/**
|
|
202
|
+
/** Mirrors `update_check._read_state` (module-private). */
|
|
203
203
|
function _read_state(state_path: string): Record<string, unknown> {
|
|
204
204
|
try {
|
|
205
205
|
const raw = fs.readFileSync(state_path, 'utf-8');
|
|
@@ -213,7 +213,7 @@ function _read_state(state_path: string): Record<string, unknown> {
|
|
|
213
213
|
return {};
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
-
/**
|
|
216
|
+
/** Mirrors `update_check._write_state` (module-private). */
|
|
217
217
|
function _write_state(state_path: string, payload: Record<string, unknown>): void {
|
|
218
218
|
const parent = path.dirname(state_path);
|
|
219
219
|
fs.mkdirSync(parent, { recursive: true });
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* `agent-config upgrade` — fetch + install the latest global binary + refresh
|
|
4
4
|
* (TypeScript twin).
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* migration). The CLI contract
|
|
6
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_upgrade.py` (ADR-200, py2ts
|
|
7
|
+
* migration). The CLI contract pins the historical contract exactly — same
|
|
8
8
|
* flags, same exit codes, same stdout/stderr split, byte-identical emitted
|
|
9
9
|
* output, same filesystem effects, same subprocess argv/cwd/env. No behaviour
|
|
10
10
|
* changes — latent quirks are replicated and flagged inline, not fixed.
|
|
@@ -644,7 +644,8 @@ export async function main(argv: string[] | null = null, options: MainOptions =
|
|
|
644
644
|
_print(
|
|
645
645
|
out,
|
|
646
646
|
'✅ agent-config upgraded' +
|
|
647
|
-
(doctor_rc === 0 ? ' — doctor green.' : ' — review the doctor findings above.')
|
|
647
|
+
(doctor_rc === 0 ? ' — doctor green.' : ' — review the doctor findings above.') +
|
|
648
|
+
' Tune settings any time with `agent-config config`.',
|
|
648
649
|
);
|
|
649
650
|
return 0;
|
|
650
651
|
}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* `agent-config validate` — drift detection for the installed-tools manifest
|
|
4
4
|
* (TypeScript twin).
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* migration). The CLI contract
|
|
6
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_validate.py` (ADR-200, py2ts
|
|
7
|
+
* migration). The CLI contract pins the historical contract exactly — same
|
|
8
8
|
* flags, same exit codes, same stdout/stderr split, byte-identical emitted
|
|
9
9
|
* output, same filesystem semantics. No behaviour changes — latent quirks are
|
|
10
10
|
* replicated, not fixed.
|
|
@@ -77,7 +77,7 @@ class ArgparseExit extends Error {
|
|
|
77
77
|
/**
|
|
78
78
|
* `pathlib.Path(p)` string form — collapse repeated separators and strip a
|
|
79
79
|
* trailing separator (Python `str(Path("~/.cursor/"))` → `~/.cursor`), keeping
|
|
80
|
-
* a lone root `/`. Mirrors how the Python
|
|
80
|
+
* a lone root `/`. Mirrors how the retired Python implementation wraps every marker/anchor in
|
|
81
81
|
* `Path(...)` before `str()`-ing it into a message.
|
|
82
82
|
*/
|
|
83
83
|
function pyPathStr(p: string): string {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `agent-config versions` — list available package versions (TypeScript twin).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* migration). The CLI contract
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_versions.py` (ADR-200, py2ts
|
|
5
|
+
* migration). The CLI contract pins the historical contract exactly — same
|
|
6
6
|
* flags, same exit codes, same stdout/stderr split, byte-identical emitted
|
|
7
7
|
* output, same subprocess invocation. Read-only (queries npm; never mutates).
|
|
8
8
|
* No behaviour changes; latent quirks are replicated and flagged inline.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve the `assumptions` why-slot for the trace.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (ADR-200). Behaviour
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/assumptions.py`
|
|
5
|
+
* (ADR-200). Behaviour pins the historical contract exactly — same string /
|
|
6
6
|
* dict normalisation, same 120-code-point id slice, same `or`-fallback
|
|
7
7
|
* order, same always-array return. No behaviour changes.
|
|
8
8
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve the `council` why-slot for the trace.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Behaviour
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/council.py` (ADR-200).
|
|
5
|
+
* Behaviour pins the historical contract exactly — same candidate glob,
|
|
6
6
|
* same ±1h run window, same most-recent pick, same member extraction
|
|
7
7
|
* (first stripped line, 200-code-point slice), and the same deliberate
|
|
8
8
|
* omission of cost-metadata fields. No behaviour changes.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Builder for the `trace.halt` slot.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Behaviour
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/halt.py` (ADR-200).
|
|
5
|
+
* Behaviour pins the historical contract exactly — same `halts[-1]` pick,
|
|
6
6
|
* same `None` branches, same scrub passes, same `step` empty-string
|
|
7
7
|
* fallback. No behaviour changes.
|
|
8
8
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `agent-config explain last` — execution-trace builder.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Behaviour
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/__init__.py` (ADR-200).
|
|
5
|
+
* Behaviour pins the historical contract exactly — same subject derivation,
|
|
6
6
|
* same run-id derivation (with the UTC-mtime ISO fallback), same slot
|
|
7
7
|
* aggregation order and key shape, same scrub pass on the run id. No
|
|
8
8
|
* behaviour changes.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve the `inputs` and `pack` why-slots for the trace.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Behaviour
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/inputs.py` (ADR-200).
|
|
5
|
+
* Behaviour pins the historical contract exactly — same resolver reuse,
|
|
6
6
|
* same `None`-on-error branches, same per-knob source attribution, same
|
|
7
7
|
* pack-marker discovery order and key shape. No behaviour changes.
|
|
8
8
|
*
|
|
@@ -30,9 +30,9 @@ const _SILENCED_LOGGERS: readonly string[] = [
|
|
|
30
30
|
];
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* Port of the retired Python `_silence_resolver_warnings` context manager.
|
|
34
34
|
*
|
|
35
|
-
*
|
|
35
|
+
* the retired Python implementation raises the level of the `scripts.config.profiles` /
|
|
36
36
|
* `scripts.config.presets` loggers to ERROR so a profile/preset read
|
|
37
37
|
* failure does not leak an absolute path on stderr. The TypeScript config
|
|
38
38
|
* twins funnel through a single shared `agent_settings.logger` that only
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve the `memory` why-slot for the trace.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Behaviour
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/memory.py` (ADR-200).
|
|
5
|
+
* Behaviour pins the historical contract exactly — same two sources, same
|
|
6
6
|
* coercion order, same `float()` semantics, same `None`-on-empty branch.
|
|
7
7
|
* No behaviour changes.
|
|
8
8
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Builder for the `trace.provider` slot.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Behaviour
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/provider.py` (ADR-200).
|
|
5
|
+
* Behaviour pins the historical contract exactly — same video-only gate,
|
|
6
6
|
* same `video_provider` / `contract.video_provider` extraction order, same
|
|
7
7
|
* `None` branches, same scrub passes. No behaviour changes.
|
|
8
8
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Deterministic Markdown projection of an `ExplainTrace`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Behaviour
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/render.py` (ADR-200).
|
|
5
|
+
* Behaviour pins the historical contract exactly — same fixed section
|
|
6
6
|
* order, same skip-empty-chunk join, same `rstrip()` + trailing newline,
|
|
7
7
|
* same tip-footer text and `with_footer` gate. No behaviour changes.
|
|
8
8
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve the `route` why-slot for the trace.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Behaviour
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/route.py` (ADR-200).
|
|
5
|
+
* Behaviour pins the historical contract exactly — same router lookup, same
|
|
6
6
|
* `None`-on-missing-router branch, same scrub passes, same key shape. No
|
|
7
7
|
* behaviour changes.
|
|
8
8
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* PII / cost-metadata scrubber for the `explain last` trace.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Behaviour
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/scrubber.py` (ADR-200).
|
|
5
|
+
* Behaviour pins the historical contract exactly — same regex sources, same
|
|
6
6
|
* resolution order, same idempotence, same long-string threshold and
|
|
7
7
|
* summary text. No behaviour changes — latent bugs are replicated, not
|
|
8
8
|
* fixed.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Render the `Assumptions` section.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Ported from the retired Python
|
|
5
5
|
* `src/scripts/_cli/explain_last/sections/assumptions.py` (ADR-200).
|
|
6
|
-
*
|
|
6
|
+
* byte-stable — downstream consumers and checksum gates pin these bytes — note the DOUBLE space before the
|
|
7
7
|
* em-dash in the item line (`{ident} — recorded`). No behaviour changes.
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Render the `Council` section.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (ADR-200).
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/sections/council.py`
|
|
5
|
+
* (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
function _pyTruthy(value: unknown): boolean {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Render the `Why halted?` section.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (ADR-200).
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/sections/halt.py`
|
|
5
|
+
* (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes — note the surface
|
|
6
6
|
* lines are indented by exactly two spaces (`f" {line}"`). No behaviour
|
|
7
7
|
* changes.
|
|
8
8
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Render the trace header (title + subject + started-at).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (ADR-200).
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/sections/header.py`
|
|
5
|
+
* (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
function _pyTruthy(value: unknown): boolean {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Section renderers for the `explain last` Markdown projection.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/sections/__init__.py`
|
|
5
5
|
* (ADR-200). Re-exports each section module under the same name so the
|
|
6
6
|
* orchestrator (`render.ts`) calls them in fixed order, keeping the
|
|
7
7
|
* Markdown output byte-deterministic for the same input `ExplainTrace`.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Render the `Why this profile / preset?` knob table.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (ADR-200).
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/sections/inputs.py`
|
|
5
|
+
* (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
function _pyTruthy(value: unknown): boolean {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Render the `Memory hits influencing this run` section.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (ADR-200).
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/sections/memory.py`
|
|
5
|
+
* (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes — same `:.2f` score
|
|
6
6
|
* formatting, same `score n/a` fallback for non-numeric scores. No
|
|
7
7
|
* behaviour changes.
|
|
8
8
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Render the `Active pack` section (Phase 4-discovery aware).
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (ADR-200).
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/sections/pack.py`
|
|
5
|
+
* (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
function _pyTruthy(value: unknown): boolean {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Render the `Why this provider?` section.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (ADR-200).
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/sections/provider.py`
|
|
5
|
+
* (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
|
|
6
6
|
*
|
|
7
7
|
* Only emitted when `trace.provider` is non-null (the v1 schema bounds this
|
|
8
8
|
* to `subject == "video"` runs where the engine wrote a provider selection
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Render the `Why this route?` section.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (ADR-200).
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/sections/route.py`
|
|
5
|
+
* (ADR-200). byte-stable — downstream consumers and checksum gates pin these bytes. No behaviour changes.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
function _pyTruthy(value: unknown): boolean {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Read and validate the persisted `.work-state.json` envelope.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* (ADR-200). Behaviour
|
|
4
|
+
* Ported from the retired Python `src/scripts/_cli/explain_last/state_loader.py`
|
|
5
|
+
* (ADR-200). Behaviour pins the historical contract exactly — the same
|
|
6
6
|
* three raising failure modes, the same exit codes (1 / 2 / 0), and the
|
|
7
7
|
* same byte-identical messages (including the `version={value!r}` Python
|
|
8
8
|
* repr). No behaviour changes.
|
|
@@ -64,6 +64,19 @@ Tier 0 — daily-driver (init → sync → validate → work):
|
|
|
64
64
|
(Option-A loop; called by the /implement-ticket command)
|
|
65
65
|
help Show this help (default Tier-0; --tier=1|all expands)
|
|
66
66
|
--version, -V Print package version
|
|
67
|
+
|
|
68
|
+
TS-shell native (run via the installed `agent-config` binary):
|
|
69
|
+
setup Open the onboarding wizard in the browser (UI server)
|
|
70
|
+
install Open the install wizard (UI server, Step 1 / AI tools)
|
|
71
|
+
config Open the configuration GUI (global default; --project for the project surface)
|
|
72
|
+
settings Open the local Settings GUI (alias of config)
|
|
73
|
+
ui:serve Start the local UI server (127.0.0.1, auto-picked port)
|
|
74
|
+
workspaces ls List workspaces from the discovery manifest
|
|
75
|
+
packs ls List packs from the discovery manifest
|
|
76
|
+
commands [ls|explain] List/explain the command surface from the discovery manifest
|
|
77
|
+
mcp-server Turnkey read-only stdio MCP server (no repo clone; ADR-085)
|
|
78
|
+
doctor-shell Probe the TS-shell environment
|
|
79
|
+
eval:record Record a live trigger-eval result into a corpus manifest
|
|
67
80
|
EOF
|
|
68
81
|
|
|
69
82
|
if [[ "$tier" == "1" || "$tier" == "all" ]]; then
|
|
@@ -110,6 +123,11 @@ Tier 1 — power-user (release shape, audit, migration):
|
|
|
110
123
|
user-authored files; persists standing consent
|
|
111
124
|
(install.auto_converge) on first use.
|
|
112
125
|
Flags: --dry-run | --yes
|
|
126
|
+
conformance Consumer conformance contract: doctor --ci +
|
|
127
|
+
installed-and-firing checks. Exits non-zero on
|
|
128
|
+
a failed check.
|
|
129
|
+
use Switch the active experience/profile
|
|
130
|
+
(writes profile.id). Usage: use <profile-id>
|
|
113
131
|
explain Read-only decision-chain trace.
|
|
114
132
|
Usage: explain config | explain rule <name>
|
|
115
133
|
| explain route "<text>"
|
|
@@ -206,13 +224,14 @@ Tier 2 — maintenance / internal (hooks, MCP, memory, telemetry):
|
|
|
206
224
|
telemetry:record Append one artefact-engagement event (default-off)
|
|
207
225
|
telemetry:status Print artefact-engagement telemetry status (read-only)
|
|
208
226
|
telemetry:report Aggregate the engagement log into a quartile report
|
|
227
|
+
analyze-session Read-only post-session report from on-disk runtime state
|
|
209
228
|
EOF
|
|
210
229
|
fi
|
|
211
230
|
|
|
212
231
|
if [[ "$tier" == "0" ]]; then
|
|
213
232
|
cat <<'EOF'
|
|
214
233
|
|
|
215
|
-
(Hidden:
|
|
234
|
+
(Hidden: Tier-1 and Tier-2 commands. Run `./agent-config --help --tier=1`
|
|
216
235
|
or `--tier=all` to see them. Tier criteria: docs/contracts/command-surface-tiers.md.)
|
|
217
236
|
EOF
|
|
218
237
|
fi
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Centralized loader for `.agent-settings.yml` with user-global fallback.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Ported from the retired Python `src/scripts/_lib/agent_settings.py` (ADR-200,
|
|
5
5
|
* Phase 2 / Wave 2a). Mirrors the Python module's public API exactly —
|
|
6
6
|
* same exported snake_case names, same semantics, same cascade / anchor /
|
|
7
7
|
* whitelist / merge behavior, same YAML load tolerance, same error types.
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Locate artefact source roots across the monorepo physical layout.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Wave 2a). The public API
|
|
4
|
+
* Ported from the retired Python `src/scripts/_lib/agent_src.py` (ADR-200, Phase 2
|
|
5
|
+
* Wave 2a). The public API pins the historical contract exactly — same
|
|
6
6
|
* exported snake_case names, same root ordering, same logical-relpath
|
|
7
7
|
* computation, same first-win precedence when a logical path resolves
|
|
8
8
|
* across multiple roots, and the same error behaviour
|
|
9
9
|
* (`logical_relpath` throws when a path is under no known root; the
|
|
10
10
|
* collision guard in `_root_specs` throws on duplicate non-empty
|
|
11
|
-
* prefixes).
|
|
11
|
+
* prefixes). Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
12
12
|
*
|
|
13
13
|
* Phase 4 of the monorepo migration (ADR-017) physically moves source
|
|
14
14
|
* artefacts out of the flat `.agent-src.uncondensed/` directory into
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
* but accepts repo-relative POSIX strings (used by the condenseor's
|
|
33
33
|
* output-path computation and the LEGACY_SRC_PREFIX logic).
|
|
34
34
|
*
|
|
35
|
-
* Path handling note: the Python
|
|
35
|
+
* Path handling note: the retired Python implementation uses `pathlib.Path` objects.
|
|
36
36
|
* This twin uses absolute POSIX path strings as the `Path` equivalent
|
|
37
37
|
* (the host filesystem on the supported platforms is POSIX). All public
|
|
38
|
-
* functions that the Python
|
|
38
|
+
* functions that the retired Python implementation typed as `Path` accept/return
|
|
39
39
|
* strings here; semantics — `.relative_to`, `.as_posix`, `.resolve`,
|
|
40
40
|
* `.rglob`, `.is_dir`, `.is_file`, `.exists` — are reproduced via the
|
|
41
41
|
* helpers below.
|
|
@@ -46,7 +46,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
46
46
|
|
|
47
47
|
// --- Path-root configuration (mutable to mirror Python module attributes) ----
|
|
48
48
|
//
|
|
49
|
-
//
|
|
49
|
+
// the retired Python implementation derives ROOT from `Path(__file__).resolve().parents[3]`
|
|
50
50
|
// and every other root from it as module-level constants. Tests in
|
|
51
51
|
// `tests/test_agent_src_domains.py` reassign `agent_src.SRC_DOMAINS` directly
|
|
52
52
|
// and clear `agent_src._slug_prefix_cache` to point the resolver at a tmp
|
|
@@ -474,7 +474,7 @@ export function* iter_all_sources(): Generator<[string, string]> {
|
|
|
474
474
|
if (!_isFile(p)) {
|
|
475
475
|
continue;
|
|
476
476
|
}
|
|
477
|
-
//
|
|
477
|
+
// the retired Python implementation guards `relative_to` with try/except
|
|
478
478
|
// ValueError; here `p` is always under `root` by construction, but
|
|
479
479
|
// we mirror the guard for fidelity.
|
|
480
480
|
if (p !== root && !_isUnder(p, root)) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve files under `agents/<kind>/<name>.md` via the cascade.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Ported from the retired Python `src/scripts/_lib/agents_overlay.py` (ADR-200,
|
|
5
5
|
* Phase 2 / Wave 2b). Companion to `agent_settings`: where the settings
|
|
6
6
|
* loader merges YAML, this resolves single-file overlays — overrides,
|
|
7
7
|
* contexts, decisions — to a single deepest match across the in-project
|