@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,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Sync `.agent-settings.yml` against the template + profile (additive merge).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/sync_agent_settings.py` (ADR-200).
|
|
6
6
|
* Applies the section-aware merge rules documented in
|
|
7
7
|
* `docs/guidelines/agent-infra/layered-settings.md`:
|
|
8
8
|
*
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
* 0 — already in sync, or changes applied (or --dry-run ran cleanly)
|
|
33
33
|
* 2 — drift detected under --check, or invalid arguments / missing files
|
|
34
34
|
*
|
|
35
|
-
* No behaviour changes vs. the Python
|
|
35
|
+
* No behaviour changes vs. the retired Python implementation — historical quirks preserved (consumers pin the exact behaviour).
|
|
36
36
|
*/
|
|
37
37
|
|
|
38
38
|
import * as fs from 'node:fs';
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Sync `.github/topics.yml` + `.github/about.yml` to the GitHub repo.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/sync_github_metadata.py` (ADR-200).
|
|
6
|
+
* The CLI contract is pinned — every flag (`--apply`, `--strict`,
|
|
7
7
|
* `--quiet`, `--repo`), exit codes (0 = synced / applied; 2 = drift under
|
|
8
8
|
* `--strict` dry-run; 1 = error via SystemExit — missing token, unresolvable
|
|
9
9
|
* repo, HTTP/transport error), the stdout/stderr split, byte-identical
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* against a stub with zero network. Error-swallowing is mirrored exactly:
|
|
15
15
|
* any HTTP / transport failure raises `ExitError` → message to stderr, exit 1.
|
|
16
16
|
*
|
|
17
|
-
*
|
|
17
|
+
* Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour. NOTE: the audit log
|
|
18
18
|
* path mirrors the CODE constant (`agents/notes/visibility-sync-audit.md`),
|
|
19
19
|
* not the docstring's `agents/evidence/notes/…` — DIVERGENCE CANDIDATE below.
|
|
20
20
|
*
|
|
@@ -32,7 +32,7 @@ type Json = unknown;
|
|
|
32
32
|
type JsonObject = Record<string, Json>;
|
|
33
33
|
|
|
34
34
|
const _HERE = fileURLToPath(import.meta.url);
|
|
35
|
-
// _HERE === <repo>/src/scripts/sync_github_metadata.ts ; the Python
|
|
35
|
+
// _HERE === <repo>/src/scripts/sync_github_metadata.ts ; the retired Python implementation
|
|
36
36
|
// derives ROOT = <file>.parents[2] — two dirs up from src/scripts.
|
|
37
37
|
export const ROOT = path.resolve(path.dirname(_HERE), '..', '..');
|
|
38
38
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Sync the `event4u/agent-config` block in a project's `.gitignore`.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/sync_gitignore.py` (ADR-200). The
|
|
6
6
|
* CLI contract is mirrored EXACTLY — every flag (`--path`, `--template`,
|
|
7
7
|
* `--dry-run`, `--replace`, `--cleanup-legacy`, `--quiet`), exit codes
|
|
8
8
|
* (0 = no change / changed / dry-run; 2 = invalid args / template missing),
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* unified-diff format). Exported helpers keep their Python snake_case names so
|
|
12
12
|
* the ported pytest suite can call them 1:1.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
14
|
+
* Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
15
15
|
*
|
|
16
16
|
* Reads the canonical block body from `src/config/gitignore-block.txt` and
|
|
17
17
|
* ensures every managed entry is present in `.gitignore` between the
|
|
@@ -37,7 +37,7 @@ export const DEFAULT_GITIGNORE = '.gitignore';
|
|
|
37
37
|
|
|
38
38
|
const _HERE = fileURLToPath(import.meta.url);
|
|
39
39
|
// _HERE === <repo>/src/scripts/sync_gitignore.ts ; parents[2] of the .py file
|
|
40
|
-
// is the repo root — two dirs up from src/scripts.
|
|
40
|
+
// is the repo root — two dirs up from src/scripts. the retired Python implementation derives
|
|
41
41
|
// DEFAULT_TEMPLATE = <file>.parent.parent.parent / "src" / "config" /
|
|
42
42
|
// "gitignore-block.txt".
|
|
43
43
|
export const DEFAULT_TEMPLATE = path.join(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Round-trip YAML layer for `.agent-settings.yml` syncs.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Ported from the retired Python `src/scripts/sync_yaml_rt.py` (ADR-200). Self-
|
|
5
5
|
* contained, zero-dependency. Implements a narrow YAML subset with the
|
|
6
6
|
* property *user-line preservation*: every line in the user input that
|
|
7
7
|
* `parse` attaches to a `Node` is reproduced character-for-character by
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
* - `heal_user_block(user, template) -> Node`
|
|
36
36
|
* - `sync(user_text, template_text) -> string`
|
|
37
37
|
*
|
|
38
|
-
* No behaviour changes vs. the Python
|
|
38
|
+
* No behaviour changes vs. the retired Python implementation — historical quirks preserved (consumers pin the exact behaviour).
|
|
39
39
|
*/
|
|
40
40
|
|
|
41
41
|
// --- Public node ----------------------------------------------------
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Telegraph per-session / per-conversation / lifetime token-delta lens.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/telegraph_stats.py` (ADR-200 — Python→TS
|
|
6
6
|
* migration, Phase 8 / Wave 8e). Public surface mirrors the Python module
|
|
7
7
|
* exactly: same CLI flags (`--input`, `--format`), same exit code (0), same
|
|
8
8
|
* stdout, and byte-identical `json.dumps(..., indent=2)` output.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Tool Registry — manages available external tools and their permissions.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* migration, Phase 8 / Wave 8e). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/tool_registry.py` (ADR-200 — Python→TS
|
|
6
|
+
* migration, Phase 8 / Wave 8e). The CLI contract is pinned:
|
|
7
7
|
* same flags (`--format text|json`, `--validate-tools [...]`), same exit
|
|
8
8
|
* codes (0 on success / valid, 1 when validation finds errors), same
|
|
9
9
|
* byte-identical text + JSON output (json.dumps indent=2), same emoji
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared error types for tool adapters.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Ported from the retired Python `src/scripts/tools/adapter_errors.py` (ADR-200 —
|
|
5
5
|
* Python→TS migration, Phase 1 / tools adapter cluster). Public API mirrors
|
|
6
6
|
* the Python module exactly (snake_case kept deliberately — fidelity over TS
|
|
7
7
|
* idiom): the `AdapterErrorType` string enum, the `AdapterError` value shape
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* No real API calls are made by the base — adapters return structured results.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
12
|
+
* Ported from the retired Python `src/scripts/tools/base_adapter.py` (ADR-200 — Python→TS
|
|
13
13
|
* migration, Phase 1 / tools adapter cluster). Public API mirrors the Python
|
|
14
14
|
* module exactly (snake_case kept deliberately — fidelity over TS idiom):
|
|
15
15
|
* the `ToolAction` / `ToolResult` value shapes, `ToolResult.to_dict()` with
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Write actions remain scaffold-only (never auto-executed).
|
|
6
6
|
* Falls back to scaffold data when no token is present.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* Ported from the retired Python `src/scripts/tools/github_adapter.py` (ADR-200 —
|
|
9
9
|
* Python→TS migration, Phase 1 / tools adapter cluster). Public API mirrors
|
|
10
10
|
* the Python module exactly (snake_case kept deliberately): the
|
|
11
11
|
* `read_pr` / `read_issue` / `list_files` / `read_commit` / `create_pr`
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* set. Write actions remain scaffold-only (never auto-executed). Falls back to
|
|
6
6
|
* scaffold data when no credentials are present.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* Ported from the retired Python `src/scripts/tools/jira_adapter.py` (ADR-200 — Python→TS
|
|
9
9
|
* migration, Phase 1 / tools adapter cluster). Public API mirrors the Python
|
|
10
10
|
* module exactly (snake_case kept deliberately): the
|
|
11
11
|
* `read_ticket` / `search_tickets` / `add_comment` / `transition_ticket`
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Trigger-coverage suite (roadmap Phase 2.1 / 2.2).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/trigger_coverage.py` (ADR-200, Phase 8 /
|
|
6
6
|
* Wave 8b). Mirrors the CLI contract EXACTLY — the `--json` flag, exit codes
|
|
7
7
|
* (0 pass / 1 miss / 2 missing-router-or-PyYAML), the stdout/stderr split,
|
|
8
8
|
* byte-identical human + JSON report.
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* A case fails when an expected rule is NOT in the fired set. Exit 1 on any
|
|
26
26
|
* miss → the merge that would have shrunk the rule is blocked (2.2).
|
|
27
27
|
*
|
|
28
|
-
*
|
|
28
|
+
* Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
29
29
|
*/
|
|
30
30
|
import * as fs from 'node:fs';
|
|
31
31
|
import * as path from 'node:path';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Sync package-content counts (skills/rules/commands/guidelines) across docs.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/update_counts.py` (ADR-200). The
|
|
6
6
|
* CLI contract is mirrored EXACTLY — the single `--check` flag, exit codes
|
|
7
7
|
* (0 = synced / updated; 1 = stale under --check, missing target), the
|
|
8
8
|
* stdout/stderr split, and byte-identical messages AND byte-identical rewritten
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
* call them 1:1.
|
|
12
12
|
*
|
|
13
13
|
* Imports the `_lib/agent_src` twin (`artefact_roots`, `iter_commands`) — the
|
|
14
|
-
* SAME functions the Python
|
|
14
|
+
* SAME functions the retired Python implementation imports.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
16
|
+
* Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
17
17
|
*
|
|
18
18
|
* Source of truth: `.agent-src.uncondensed/`.
|
|
19
19
|
*
|
|
@@ -28,7 +28,7 @@ import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
|
28
28
|
import { artefact_roots, iter_commands } from './_lib/agent_src.js';
|
|
29
29
|
|
|
30
30
|
const _HERE = fileURLToPath(import.meta.url);
|
|
31
|
-
// _HERE === <repo>/src/scripts/update_counts.ts ; the Python
|
|
31
|
+
// _HERE === <repo>/src/scripts/update_counts.ts ; the retired Python implementation derives
|
|
32
32
|
// REPO_ROOT = <file>.parent.parent.parent — two dirs up from src/scripts.
|
|
33
33
|
export const REPO_ROOT = path.resolve(path.dirname(_HERE), '..', '..');
|
|
34
34
|
|
|
@@ -78,6 +78,23 @@ function _exists(p: string): boolean {
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
export function count(kind: string): number {
|
|
81
|
+
if (kind === 'router_rules') {
|
|
82
|
+
// Routed rule entries in the compiled router (kernel + tier_1 +
|
|
83
|
+
// tier_2). Read from dist/router.json — the artifact hosts consume —
|
|
84
|
+
// so prose citing "the router routes N rules" tracks the compiled
|
|
85
|
+
// truth, not a hand-typed snapshot.
|
|
86
|
+
const routerPath = path.join(REPO_ROOT, 'dist', 'router.json');
|
|
87
|
+
const router = JSON.parse(fs.readFileSync(routerPath, 'utf-8')) as {
|
|
88
|
+
kernel?: unknown[];
|
|
89
|
+
tier_1?: unknown[];
|
|
90
|
+
tier_2?: unknown[];
|
|
91
|
+
};
|
|
92
|
+
return (
|
|
93
|
+
(router.kernel?.length ?? 0) +
|
|
94
|
+
(router.tier_1?.length ?? 0) +
|
|
95
|
+
(router.tier_2?.length ?? 0)
|
|
96
|
+
);
|
|
97
|
+
}
|
|
81
98
|
if (kind === 'guidelines') {
|
|
82
99
|
// Guidelines live under docs/guidelines/{topic}/ — they are reference
|
|
83
100
|
// material, not packaged artefacts. Recursive walk to count every .md.
|
|
@@ -150,6 +167,51 @@ export const TARGETS: ReadonlyArray<[string, ReadonlyArray<[string, string]>]> =
|
|
|
150
167
|
['(/badge/Rules-)(\\d+)(-)', 'rules'],
|
|
151
168
|
['(/badge/Guidelines-)(\\d+)(-)', 'guidelines'],
|
|
152
169
|
['(/badge/Personas-)(\\d+)(-)', 'personas'],
|
|
170
|
+
// Hero prose sentence: `**N skills, N commands, N governed rules**`
|
|
171
|
+
// (road-to-truth-and-reference-hygiene Phase 1: prose counts are
|
|
172
|
+
// generated, never hand-typed).
|
|
173
|
+
['(\\*\\*)(\\d+)( skills, )', 'skills'],
|
|
174
|
+
['( skills, )(\\d+)( commands, )', 'commands'],
|
|
175
|
+
['( commands, )(\\d+)( governed rules\\*\\*)', 'rules'],
|
|
176
|
+
// Feature-list line: `— N skills + N commands, with a capability router`
|
|
177
|
+
['(— )(\\d+)( skills \\+ )', 'skills'],
|
|
178
|
+
['( skills \\+ )(\\d+)( commands,)', 'commands'],
|
|
179
|
+
// Work-journey line: `You don't memorize N commands`
|
|
180
|
+
['(memorize )(\\d+)( commands)', 'commands'],
|
|
181
|
+
],
|
|
182
|
+
],
|
|
183
|
+
[
|
|
184
|
+
'docs/CLAIMS.md',
|
|
185
|
+
[
|
|
186
|
+
// The three count claims — their numbers are generated from the
|
|
187
|
+
// same source the gate checks, closing the ledger's own
|
|
188
|
+
// "count-source binding" debt (B1.2).
|
|
189
|
+
['(- claim: )(\\d+)( skills \\(README hero)', 'skills'],
|
|
190
|
+
['(- claim: )(\\d+)( commands\\.)', 'commands'],
|
|
191
|
+
['(- claim: )(\\d+)( governed rules\\.)', 'rules'],
|
|
192
|
+
],
|
|
193
|
+
],
|
|
194
|
+
[
|
|
195
|
+
'docs/getting-started-by-role.md',
|
|
196
|
+
[
|
|
197
|
+
['(ships )(\\d+)( skills, )', 'skills'],
|
|
198
|
+
['( skills, )(\\d+)( governed rules, and )', 'rules'],
|
|
199
|
+
['( governed rules, and )(\\d+)( commands\\.)', 'commands'],
|
|
200
|
+
],
|
|
201
|
+
],
|
|
202
|
+
[
|
|
203
|
+
'docs/featured-skills.md',
|
|
204
|
+
[
|
|
205
|
+
['(subset of the )(\\d+)( skills)', 'skills'],
|
|
206
|
+
['(Browse all )(\\d+)( skills)', 'skills'],
|
|
207
|
+
['(all )(\\d+)( commands: \\[)', 'commands'],
|
|
208
|
+
],
|
|
209
|
+
],
|
|
210
|
+
[
|
|
211
|
+
'docs/governance-advantage.md',
|
|
212
|
+
[
|
|
213
|
+
['(load all )(\\d+)( skills)', 'skills'],
|
|
214
|
+
['(\\()(\\d+)( routed rules,)', 'router_rules'],
|
|
153
215
|
],
|
|
154
216
|
],
|
|
155
217
|
[
|
|
@@ -204,7 +266,7 @@ export function apply_to_text(
|
|
|
204
266
|
return [new_text, drifts];
|
|
205
267
|
}
|
|
206
268
|
|
|
207
|
-
const KINDS = ['skills', 'rules', 'commands', 'guidelines', 'personas'] as const;
|
|
269
|
+
const KINDS = ['skills', 'rules', 'commands', 'guidelines', 'personas', 'router_rules'] as const;
|
|
208
270
|
|
|
209
271
|
function parse_args(argv: readonly string[]): { check: boolean } {
|
|
210
272
|
const args = { check: false };
|
|
@@ -234,7 +296,7 @@ export function main(argv: readonly string[] = process.argv.slice(2)): number {
|
|
|
234
296
|
process.stdout.write(
|
|
235
297
|
`📊 Truth: skills=${counts['skills']} rules=${counts['rules']} ` +
|
|
236
298
|
`commands=${counts['commands']} guidelines=${counts['guidelines']} ` +
|
|
237
|
-
`personas=${counts['personas']}\n`,
|
|
299
|
+
`personas=${counts['personas']} router_rules=${counts['router_rules']}\n`,
|
|
238
300
|
);
|
|
239
301
|
|
|
240
302
|
let any_drift = false;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Refresh `agents/runtime/.agent-prices.md` from the LiteLLM model-prices feed.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* migration, Phase 8 / Wave 8g).
|
|
5
|
+
* Ported from the retired Python `src/scripts/update_prices.py` (ADR-200 — Python→TS
|
|
6
|
+
* migration, Phase 8 / Wave 8g). The CLI contract is pinned —
|
|
7
7
|
* the `--check` / `--path` flags, exit codes (0 ok / 1 stale-or-missing in
|
|
8
8
|
* --check), the stdout/stderr split, byte-identical messages, and the
|
|
9
9
|
* byte-identical written `agents/runtime/.agent-prices.md`.
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* Network fetch + `today` (UTC date) are non-deterministic; golden parity
|
|
16
16
|
* exercises `--check` (no network, fixed fixture) and the no-network write
|
|
17
17
|
* path with `--path` to a temp file (timestamp line excluded). No behaviour
|
|
18
|
-
* changes —
|
|
18
|
+
* changes — historical quirks preserved (consumers pin the exact behaviour).
|
|
19
19
|
*/
|
|
20
20
|
import * as fs from 'node:fs';
|
|
21
21
|
import * as https from 'node:https';
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Agent-settings schema validator (rule_loading_tier untangle, 2026-06-01).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4c). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/validate_agent_settings.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4c). The CLI contract is pinned — no flags,
|
|
7
7
|
* exit codes (0 every file validates, 1 schema violation, 3 bootstrap
|
|
8
8
|
* failure), stdout output (GitHub `::error::` annotations + summary line),
|
|
9
9
|
* the same template-placeholder substitution, the same checked-file set
|
|
10
10
|
* (template + local settings via the `_lib/agent_settings` twin), and the
|
|
11
11
|
* same Draft-07 enum/type constraints from the shared schema JSON. No
|
|
12
|
-
* behaviour changes —
|
|
12
|
+
* behaviour changes — historical quirks preserved (consumers pin the exact behaviour).
|
|
13
13
|
*
|
|
14
14
|
* DIVERGENCE NOTE (documented per ADR-200 §6): the underlying jsonschema
|
|
15
15
|
* error PROSE is Python-version-dependent. This twin reproduces the schema's
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Decision-engine settings validator (road-to-productization P2).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4c).
|
|
5
|
+
* Ported from the retired Python `src/scripts/validate_decision_engine.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4c). The CLI contract is pinned — no flags,
|
|
7
7
|
* exit codes (0 clean/warn, 1 hard error, 3 internal), stdout (the
|
|
8
8
|
* `::error::` / `::warning::` GitHub-annotation lines + the summary), same
|
|
9
9
|
* file set (template + project local settings) and order. No behaviour
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* Stale-manifest guard — re-builds the manifest in memory and diffs it
|
|
4
4
|
* against the committed `dist/discovery/discovery-manifest.json`.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* Phase 4 / Wave 4c). The CLI contract is
|
|
6
|
+
* Ported from the retired Python `src/scripts/validate_discovery_manifest.py` (ADR-200,
|
|
7
|
+
* Phase 4 / Wave 4c). The CLI contract is pinned — `--quiet`
|
|
8
8
|
* flag, exit codes (0 match, 1 drift / missing committed manifest),
|
|
9
9
|
* stdout/stderr split, byte-identical messages, and the same `generated_at`
|
|
10
10
|
* normalization + sorted-key JSON comparison + first-diff-line report. The
|
|
11
11
|
* scanner (`build_discovery_manifest.ts`) is run via the repo-local `tsx`
|
|
12
|
-
* binary, mirroring how the Python
|
|
12
|
+
* binary, mirroring how the retired Python implementation invoked the scanner via
|
|
13
13
|
* `sys.executable`. No behaviour changes.
|
|
14
14
|
*
|
|
15
15
|
* Exit codes:
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* validate_frontmatter.ts — frontmatter validator (Draft-07 subset).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/validate_frontmatter.py` (ADR-200 —
|
|
6
6
|
* Python→TS migration, Phase 4 / Wave 4a). The public surface, CLI flags,
|
|
7
|
-
* exit codes, stdout/stderr split, and finding-message strings
|
|
8
|
-
*
|
|
7
|
+
* exit codes, stdout/stderr split, and finding-message strings are pinned
|
|
8
|
+
* byte-for-byte by tests. The retired Python implementation was deleted in the same
|
|
9
9
|
* PR; the dispatcher resolves this `.ts`.
|
|
10
10
|
*
|
|
11
11
|
* Validates the YAML frontmatter of an agent artefact (skill, rule, command,
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* - apply_schema_defaults(data, schema) -> data (in place)
|
|
20
20
|
* - validate(data, schema) -> SchemaError[]
|
|
21
21
|
*
|
|
22
|
-
*
|
|
22
|
+
* Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour. The lenient subset
|
|
23
23
|
* parser (used for schema validation) supports scalar / boolean / integer /
|
|
24
24
|
* inline-list / block-list / one-level-nested-block. The `strict_yaml_error`
|
|
25
25
|
* gate uses the `yaml` package as the source of truth (same parser real
|
|
@@ -835,7 +835,7 @@ export function _iter_artefacts(root: string): Array<[string, string]> {
|
|
|
835
835
|
return targets;
|
|
836
836
|
}
|
|
837
837
|
|
|
838
|
-
// argparse parity. `prog` matches the Python
|
|
838
|
+
// argparse parity. `prog` matches the retired Python implementation's `sys.argv[0]` basename
|
|
839
839
|
// (`validate_frontmatter.py`) so the usage/error text is byte-identical to the
|
|
840
840
|
// pre-migration CLI the golden corpus captured.
|
|
841
841
|
const _PROG = 'validate_frontmatter.py';
|
|
Binary file
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Sensitive-path denylist — refuses files that almost certainly hold secrets or PII.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/validate_safe_paths.py` (ADR-200, Phase 4 /
|
|
6
6
|
* Wave 4c). The public API and CLI contract are mirrored EXACTLY — same
|
|
7
7
|
* exported snake_case names (`is_sensitive`, `assert_safe`,
|
|
8
8
|
* `SensitivePathError`), same denylist regex / component set / token list,
|
|
9
9
|
* same CLI exit codes (0 safe, 2 sensitive / usage), stdout/stderr split, and
|
|
10
|
-
* byte-identical messages.
|
|
10
|
+
* byte-identical messages. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
11
11
|
*
|
|
12
12
|
* Phase 0 of step-16-telegraph-substance. Gates Phase 2 (`scripts/condense_memory.py`):
|
|
13
13
|
* any consumer-supplied path must pass `assert_safe()` before bytes are read or
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Mechanical carve-out validator for telegraph-condensed replies.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4c). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/validate_telegraph_carveouts.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4c). The CLI contract is pinned — two positional
|
|
7
7
|
* `pre` / `post` file args, exit codes (0 preserved, 1 drift, 2 missing
|
|
8
8
|
* file), stdout/stderr split, byte-identical messages, the same carve-out
|
|
9
9
|
* extractors and the same `difflib.unified_diff` rendering. No behaviour
|
|
10
|
-
* changes —
|
|
10
|
+
* changes — historical quirks preserved (consumers pin the exact behaviour).
|
|
11
11
|
*
|
|
12
12
|
* Given a pre-condensation reply and a post-condensation reply, assert that
|
|
13
13
|
* every carve-out region from `.agent-src.uncondensed/rules/telegraph-speak.md`
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Platform-agnostic hook for the `verify-before-complete` rule.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/verify_before_complete_hook.py` (ADR-200 —
|
|
6
6
|
* Python→TS migration, Phase 6 / hooks). Public API mirrors the Python
|
|
7
7
|
* module exactly (snake_case kept deliberately — fidelity over TS idiom).
|
|
8
8
|
*
|
|
@@ -40,7 +40,7 @@ import { atomic_write_json } from "./hooks/state_io.js";
|
|
|
40
40
|
|
|
41
41
|
// NOTE: the Python docstring says `agents/runtime/state/`, but the code
|
|
42
42
|
// constant is `agents/state/`. Replicated verbatim — latent docstring/code
|
|
43
|
-
// divergence in the Python
|
|
43
|
+
// divergence in the retired Python implementation (ADR-200 § replicate latent bugs).
|
|
44
44
|
export const STATE_FILE = path.join("agents", "state", "verify-before-complete.json");
|
|
45
45
|
|
|
46
46
|
// Tool names across platforms whose `command` / `tool_input.command` field
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Verify the post-move state matches the pre-move snapshot byte-for-byte.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/verify_physical_move.py` (ADR-200, Phase 8 /
|
|
6
6
|
* Wave 8b). Mirrors the CLI contract EXACTLY — the `--snapshot`, `--json`
|
|
7
7
|
* flags, exit codes (0 OK / 1 regression / 2 snapshot-missing), the
|
|
8
8
|
* stdout/stderr split, byte-identical human + JSON output.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* this script), then loads the fresh outputs and compares them against
|
|
12
12
|
* `dist/migration/pre-move-snapshot.json`.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
14
|
+
* Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
15
15
|
*/
|
|
16
16
|
import * as fs from 'node:fs';
|
|
17
17
|
import * as path from 'node:path';
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* session_start concern — keep the project-local `./agent-config` wrapper
|
|
4
4
|
* AND the installed `.git/hooks/pre-commit` gate fresh.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* Ported from the retired Python `src/scripts/wrapper_freshness_hook.py` (ADR-200 —
|
|
7
7
|
* Python→TS migration, Phase 6 / hooks). Public API mirrors the Python
|
|
8
8
|
* module exactly (snake_case kept deliberately — fidelity over TS idiom).
|
|
9
9
|
*
|
|
10
|
-
* Defense-in-depth
|
|
10
|
+
* Defense-in-depth companion of the update-command refresh (`upgrade` /
|
|
11
11
|
* `refresh --project`). On every session_start the dispatcher runs this in
|
|
12
12
|
* the consumer workspace; if a `./agent-config` wrapper exists there and
|
|
13
13
|
* differs from the canonical template, it is re-stamped so an outdated,
|
|
@@ -70,7 +70,7 @@ function _isFile(p: string): boolean {
|
|
|
70
70
|
/**
|
|
71
71
|
* True when project_root is the agent-config package itself.
|
|
72
72
|
*
|
|
73
|
-
*
|
|
73
|
+
* Ported from the retired Python `src/scripts/_cli/cmd_refresh.py::_is_source_repo`
|
|
74
74
|
* (unported standalone — inlined here so the hook stays dependency-free
|
|
75
75
|
* and crash-safe). The broader check (condensed output, packaged source,
|
|
76
76
|
* or the package's own `package.json` name) makes the freshness self-heal
|