@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
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
#!/usr/bin/env tsx
|
|
2
|
+
/**
|
|
3
|
+
* Python-twin rationale guard (road-to-truth-and-reference-hygiene Phase 2).
|
|
4
|
+
*
|
|
5
|
+
* The py2ts migration (ADR-200) is closed and its Python originals are
|
|
6
|
+
* deleted; the parity scaffolding comments ("TypeScript twin of …", "latent
|
|
7
|
+
* Python quirks replicated", "byte-identical to the Python original") were
|
|
8
|
+
* swept on 2026-07-08 and re-attributed to their live consumers (tests,
|
|
9
|
+
* checksum gates, pinned CLI contracts). This lint keeps the residue from
|
|
10
|
+
* creeping back: a NEW comment that rationalises behaviour by fidelity to
|
|
11
|
+
* the deleted Python twin fails CI.
|
|
12
|
+
*
|
|
13
|
+
* Scope: comment lines in `src/scripts/**\/*.ts`. Historical provenance
|
|
14
|
+
* mentions ("ported from the retired Python `x.py` (ADR-200)") are fine —
|
|
15
|
+
* they state history, not a live contract; only the twin-rationale shapes
|
|
16
|
+
* below are banned.
|
|
17
|
+
*
|
|
18
|
+
* Exit codes: 0 clean · 1 findings.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import * as fs from 'node:fs';
|
|
22
|
+
import * as path from 'node:path';
|
|
23
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
24
|
+
|
|
25
|
+
const _HERE = fileURLToPath(import.meta.url);
|
|
26
|
+
export const ROOT = path.resolve(path.dirname(_HERE), '..', '..');
|
|
27
|
+
const SCOPE = path.join(ROOT, 'src', 'scripts');
|
|
28
|
+
|
|
29
|
+
/** Banned rationale shapes (case-insensitive). */
|
|
30
|
+
export const BANNED: ReadonlyArray<[string, RegExp]> = [
|
|
31
|
+
['twin-of', /\btwin of\b/i],
|
|
32
|
+
['latent-quirks', /latent (?:python )?(?:quirks|bugs) replicated/i],
|
|
33
|
+
['byte-identical-python', /byte-identical to the python/i],
|
|
34
|
+
['python-original', /\bthe python original\b/i],
|
|
35
|
+
];
|
|
36
|
+
|
|
37
|
+
const COMMENT = /^\s*(\/\/|\*|\/\*)/;
|
|
38
|
+
|
|
39
|
+
function* walk(dir: string): Generator<string> {
|
|
40
|
+
for (const e of fs.readdirSync(dir, { withFileTypes: true }).sort((a, b) =>
|
|
41
|
+
a.name < b.name ? -1 : 1,
|
|
42
|
+
)) {
|
|
43
|
+
const full = path.join(dir, e.name);
|
|
44
|
+
if (e.isDirectory()) yield* walk(full);
|
|
45
|
+
else if (e.name.endsWith('.ts')) yield full;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function scan_file(rel: string, text: string): string[] {
|
|
50
|
+
const findings: string[] = [];
|
|
51
|
+
const lines = text.split('\n');
|
|
52
|
+
for (let i = 0; i < lines.length; i++) {
|
|
53
|
+
const line = lines[i]!;
|
|
54
|
+
if (!COMMENT.test(line)) continue;
|
|
55
|
+
for (const [name, pat] of BANNED) {
|
|
56
|
+
if (pat.test(line)) {
|
|
57
|
+
findings.push(`${rel}:${i + 1}: ${name} — ${line.trim().slice(0, 100)}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return findings;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function main(argv: readonly string[] = process.argv.slice(2)): number {
|
|
65
|
+
const QUIET = argv.includes('--quiet');
|
|
66
|
+
const findings: string[] = [];
|
|
67
|
+
for (const f of walk(SCOPE)) {
|
|
68
|
+
if (path.resolve(f) === path.resolve(_HERE)) continue; // this guard documents the shapes
|
|
69
|
+
const rel = path.relative(ROOT, f).split(path.sep).join('/');
|
|
70
|
+
findings.push(...scan_file(rel, fs.readFileSync(f, 'utf-8')));
|
|
71
|
+
}
|
|
72
|
+
if (findings.length === 0) {
|
|
73
|
+
if (!QUIET) process.stdout.write('✅ No Python-twin rationale in src/scripts comments.\n');
|
|
74
|
+
return 0;
|
|
75
|
+
}
|
|
76
|
+
process.stdout.write(`❌ Python-twin rationale reintroduced — ${findings.length} finding(s):\n`);
|
|
77
|
+
for (const f of findings) process.stdout.write(` ${f}\n`);
|
|
78
|
+
process.stdout.write(
|
|
79
|
+
'\nFix: state the LIVE contract instead (which test/gate/consumer pins the\n' +
|
|
80
|
+
'behaviour) — never fidelity to the deleted Python original. See\n' +
|
|
81
|
+
'road-to-truth-and-reference-hygiene Phase 2.\n',
|
|
82
|
+
);
|
|
83
|
+
return 1;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function _isCliEntry(): boolean {
|
|
87
|
+
if (process.argv[1] === undefined) return false;
|
|
88
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
89
|
+
if (import.meta.url === argvUrl) return true;
|
|
90
|
+
try {
|
|
91
|
+
return (
|
|
92
|
+
fs.realpathSync(fileURLToPath(import.meta.url)) ===
|
|
93
|
+
fs.realpathSync(path.resolve(process.argv[1]))
|
|
94
|
+
);
|
|
95
|
+
} catch {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
101
|
+
process.exit(main(process.argv.slice(2)));
|
|
102
|
+
}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* One-off-script age linter.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_one_off_age.py` (ADR-200, Phase 4 /
|
|
6
6
|
* Wave 4b). Mirrors the CLI contract EXACTLY — `--format {text,json}` /
|
|
7
7
|
* `--root` argparse flags, exit codes (0 clean incl. warnings, 1 hard
|
|
8
8
|
* fail, 3 internal error), stdout/stderr split, byte-identical finding
|
|
9
9
|
* messages, the same scan tree (`<root>/scripts/_one_off`) and ordering
|
|
10
|
-
* (sorted iterdir).
|
|
10
|
+
* (sorted iterdir). Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
11
11
|
* (e.g. `scan` walks `scripts/_one_off`, NOT the module-level
|
|
12
12
|
* `ONE_OFF_DIR = src/scripts/_one_off`, which is unused).
|
|
13
13
|
*
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Lint `.agent-config/orchestrations/*.yaml` pipeline files.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4b). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_orchestration_dsl.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4b). The CLI contract is pinned — `--dir` /
|
|
7
7
|
* `--file` flags, exit codes (0 clean, 1 hard failure, 2 file/schema-load
|
|
8
8
|
* error), stdout/stderr split (all findings on stderr), byte-identical
|
|
9
9
|
* finding messages, same scan order, same `resolve_logical` ref resolution,
|
|
@@ -51,7 +51,7 @@ const SUBAGENT_MODES = new Set([
|
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
53
|
* Reuse the dispatcher's loader so the linter sees what the runtime sees.
|
|
54
|
-
*
|
|
54
|
+
* the retired Python implementation calls `hooks.dispatch_hook._load_yaml`, which prefers
|
|
55
55
|
* PyYAML (present in this environment) and falls back to a flat mini-parser
|
|
56
56
|
* only when PyYAML is unavailable. Orchestration files use full nested YAML,
|
|
57
57
|
* so the PyYAML path is the live one — `yaml` (npm) reproduces it.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env tsx
|
|
2
2
|
// Auto-detection contract linter for command orchestrators (6.1.0 Step 1).
|
|
3
3
|
//
|
|
4
|
-
// TypeScript
|
|
4
|
+
// TypeScript port of the retired Python src/scripts/lint_orchestrator_auto_detect.py. Every
|
|
5
5
|
// command source under src/domains/**/command.md that opts into auto-detection
|
|
6
6
|
// (front-matter `auto_detect: true`) MUST honor the non-interactive contract:
|
|
7
7
|
// a body link to the contract doc + the `## Non-interactive & auto-detection`
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Enforce cross-pack reference boundaries.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_pack_boundaries.py` (ADR-200, Phase 4 /
|
|
6
6
|
* Wave 4b). Mirrors the Python CLI contract exactly: `--format text|json`,
|
|
7
7
|
* `--quiet`, same scan scope (packages/*\/.agent-src.uncondensed/), file
|
|
8
8
|
* ordering, link regex, resolution semantics, finding messages, stdout/stderr
|
|
9
9
|
* split, and exit codes (0 clean / skipped, 1 violations). No behaviour
|
|
10
|
-
* changes —
|
|
10
|
+
* changes — historical quirks preserved (consumers pin the exact behaviour).
|
|
11
11
|
*
|
|
12
12
|
* Walks every markdown link in every artefact under
|
|
13
13
|
* `packages/*\/.agent-src.uncondensed/` and verifies the link target's pack is
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Pack dependency + pack-graph lints.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_pack_dependencies.py` (ADR-200,
|
|
6
6
|
* Phase 4 / Wave 4b). Mirrors the Python CLI contract exactly: same checks,
|
|
7
7
|
* finding messages, stdout/stderr split, and exit codes.
|
|
8
8
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* Exit codes: 0 = clean · 1 = drift and/or a cycle · 3 = internal error.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
18
|
+
* the retired Python implementation imports generate_pack_manifests (`gpm`) for the manifest
|
|
19
19
|
* derivation. `gpm` has no TS twin yet (out of this batch's scope), so the
|
|
20
20
|
* needed gpm internals are ported as private helpers below, mirroring the
|
|
21
21
|
* Python source 1:1. They are prefixed `_gpm_` to mark their provenance.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Pack first-win linter.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4b). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_pack_first_win.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4b). The CLI contract is pinned — `main()`
|
|
7
7
|
* IGNORES argv entirely (any flag, including the `--quiet` the Taskfile
|
|
8
8
|
* passes, is silently accepted), exit codes (0 clean, 1 violations),
|
|
9
9
|
* stdout/stderr split, byte-identical finding messages.
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Lint persona governance — per-domain cap (hard) + citation floor (warn).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4b).
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_persona_governance.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
|
|
7
7
|
* flag read from argv at module load, persona enumeration + sorted ordering,
|
|
8
8
|
* finding messages, output channel (emit → stdout; overflow summary on
|
|
9
|
-
* stderr), exit codes.
|
|
9
|
+
* stderr), exit codes. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
10
10
|
*
|
|
11
11
|
* Enforces the mechanical checks in
|
|
12
12
|
* `.agent-src.uncondensed/rules/persona-governance.md`:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Positioning consistency lint for event4u/agent-config.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_positioning.py` (ADR-200, Phase 4 /
|
|
6
6
|
* Wave 4b). Mirrors the CLI contract EXACTLY — the `--quiet` argparse flag,
|
|
7
7
|
* exit codes (0 clean, 1 drift, 2 missing PyYAML — inert here since `yaml`
|
|
8
8
|
* is always present), byte-identical stdout (success line) and stderr
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* lint_profile_overlay_set_only — freeze the set-only overlay invariant.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4b).
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_profile_overlay_set_only.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
|
|
7
7
|
* flag from argv at module load, four YAML surfaces + sorted *.yml ordering,
|
|
8
8
|
* finding messages (incl. Python `type(x).__name__` and `{x!r}` rendering),
|
|
9
9
|
* stdout/stderr split, exit codes. No behaviour changes — latent bugs
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* CI guard for README.md above-fold jargon density.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Wave 4b). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_readme_jargon.py` (ADR-200, Phase 4 /
|
|
6
|
+
* Wave 4b). The CLI contract is pinned — `--quiet` flag, exit
|
|
7
7
|
* codes (0 within budget, 1 over budget / missing), stdout/stderr split,
|
|
8
8
|
* byte-identical finding messages, same noise-stripping order, same
|
|
9
9
|
* whole-word watchlist matching.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* CI guard for README.md line budget.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Wave 4b). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_readme_size.py` (ADR-200, Phase 4 /
|
|
6
|
+
* Wave 4b). The CLI contract is pinned — `--quiet` flag, exit
|
|
7
7
|
* codes (0 within budget, 1 over budget / missing), stdout/stderr split,
|
|
8
8
|
* byte-identical finding messages.
|
|
9
9
|
*
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Detect lint regressions between the current branch and a baseline.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4b). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_regression.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4b). The CLI contract is pinned — `--baseline`
|
|
7
7
|
* / `--format` / `--repo-root` flags, exit codes (0 clean, 1 regressions /
|
|
8
8
|
* new-files, 2 bad baseline / disjoint-result guard), stdout/stderr split,
|
|
9
9
|
* byte-identical report text (text / json / markdown), the same disjoint
|
|
10
10
|
* sanity guard, and the same worktree-based baseline strategy. snake_case
|
|
11
|
-
* kept.
|
|
11
|
+
* kept. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
12
12
|
*
|
|
13
13
|
* Runs skill_linter --all --format json on both the baseline (via a temp
|
|
14
14
|
* `git worktree`) and the working tree, then compares results to find new
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Hard-Gate linter for the `roadmap-ci-steps-policy` rule.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4b). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_roadmap_ci_steps.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
|
|
7
7
|
* detected by argv membership (no argparse), exit codes (0 / 1),
|
|
8
8
|
* stdout/stderr split, byte-identical messages, same scan scope
|
|
9
9
|
* (`agents/roadmaps/*.md`, sorted) and detection order. No behaviour
|
|
10
|
-
* changes —
|
|
10
|
+
* changes — historical quirks preserved (consumers pin the exact behaviour).
|
|
11
11
|
*
|
|
12
12
|
* Forbids full-pipeline CI literals (`task ci`, `make test`, `npm run check`
|
|
13
13
|
* etc.) inside `agents/roadmaps/*.md` checkbox steps or fenced bash blocks
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Phase 5.2 roadmap-complexity linter.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_roadmap_complexity.py` (ADR-200,
|
|
6
6
|
* Phase 4 / Wave 4b). Mirrors the CLI contract EXACTLY — `--quiet` is a
|
|
7
7
|
* bare `sys.argv` membership check (computed at import, NOT argparse, so
|
|
8
8
|
* there is no real `-h`/`--help`), the per-roadmap `✅`/`❌` lines, the
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* CI guard for the `later/` roadmap disposition.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Python→TypeScript migration). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_roadmap_later_disposition.py` (ADR-200,
|
|
6
|
+
* Python→TypeScript migration). The CLI contract is pinned — the
|
|
7
7
|
* `--json` flag, the argparse usage / error text (`-h`/`--help` → exit 0,
|
|
8
8
|
* unknown arg → exit 2), the scan order (`sorted(root.rglob("*.md"))` —
|
|
9
9
|
* pathlib component-wise), byte-identical human + `--json` output
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Linter for `agents/roles/<slug>/` role experiences.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4b). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_role_experiences.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4b). The CLI contract is pinned —
|
|
7
7
|
* `--plain-language` flag, exit codes (0 pass / roles-dir-absent,
|
|
8
8
|
* 1 failures), stdout/stderr split (all output on stdout), byte-identical
|
|
9
9
|
* finding messages (including Python `sorted(set)` list repr), same scan
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Lint docs/contracts/rule-interactions.yml.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_rule_interactions.py` (ADR-200,
|
|
6
6
|
* Phase 4 / Wave 4b). Mirrors the CLI contract EXACTLY — the `--quiet`
|
|
7
7
|
* flag is a bare `sys.argv` membership check (NOT argparse, so there is no
|
|
8
8
|
* real `-h`/`--help`), exit codes (1 on any failure, 0 clean), the
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Lint rule frontmatter for the `tier:` key.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_rule_tiers.py` (ADR-200, Phase 4 /
|
|
6
6
|
* Wave 4b). Mirrors the Python CLI contract exactly: same scan scope, file
|
|
7
7
|
* ordering, finding messages, stdout/stderr split, and exit codes.
|
|
8
8
|
*
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Showcase-sessions linter.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_showcase_sessions.py` (ADR-200,
|
|
6
6
|
* Phase 4 / Wave 4b). Gates `docs/showcase.md` ↔ `docs/showcase/sessions/`.
|
|
7
|
-
* The CLI contract is
|
|
7
|
+
* The CLI contract is pinned — no flags (argv ignored), exit
|
|
8
8
|
* codes (0 clean, 1 violations), stdout/stderr split, byte-identical
|
|
9
9
|
* finding messages, same reference regex and the same hand-rolled
|
|
10
10
|
* frontmatter parser (including the `_<key>_nested` mapping trick).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// P1.4 — dangerous-frontmatter linter (road-to-security-pillar.md).
|
|
2
2
|
//
|
|
3
|
-
//
|
|
3
|
+
// Ported from the retired Python `src/scripts/lint_skill_frontmatter_safety.py` (ADR-200 —
|
|
4
4
|
// Python→TS migration). Behaviour mirrors the Python module byte-for-byte.
|
|
5
5
|
//
|
|
6
6
|
// Enforces the execution-safety contract from the `runtime-safety` rule at the
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Anti-duplicate originality gate (road-to-competitive-borrow P1.1).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_skill_originality.py` (ADR-096). The CLI
|
|
6
6
|
* contract is mirrored EXACTLY — the `--strict` / `--json` / `--quiet` flags
|
|
7
7
|
* (argparse; `-h`/`--help` exit 0, an unrecognized arg exits 2), exit codes
|
|
8
8
|
* (0 = warn-only or strict-clean, 1 = strict + same-domain violation OR no
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Block D · D1 meta-linter for `scripts/skill_tools/*.py`.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4b). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_skill_tools.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4b). The CLI contract is pinned — `--json`
|
|
7
7
|
* / `--quiet` / `--tools-dir` flags, exit codes (0 clean, 1 violations,
|
|
8
8
|
* 2 usage / missing-dir), stdout split (JSON or human), byte-identical
|
|
9
9
|
* violation strings, same glob + sort order, same `_SAMPLE`/`__main__`
|
|
10
10
|
* detection.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
12
|
+
* the retired Python implementation parses each tool with `ast` to find imports and
|
|
13
13
|
* syntax errors. We replicate the import discovery with a focused
|
|
14
14
|
* Python-import line scanner (handles `import a, b.c`, `from x.y import z`,
|
|
15
15
|
* relative `from . import x`). It covers the real tools and the test
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Lint ticket bundles for build-readiness.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_ticket_buildable.py` (ADR-200,
|
|
6
6
|
* Python→TypeScript migration). The behaviour is mirrored EXACTLY — NO argparse
|
|
7
7
|
* (the entry point is `lint()`, which ignores argv entirely; an unknown flag is
|
|
8
8
|
* silently ignored and the lint runs), the scan order
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* Exit codes: 0 = clean, 1 = lint failures, 3 = IO/setup error. Failures print as
|
|
27
27
|
* ``path:reason``.
|
|
28
28
|
*
|
|
29
|
-
*
|
|
29
|
+
* the retired Python implementation uses `jsonschema.Draft7Validator`; this twin hand-rolls a
|
|
30
30
|
* Draft-07 validator covering exactly the keyword set the two ticket schemas use
|
|
31
31
|
* (type [string | array], required, additionalProperties [false], properties,
|
|
32
32
|
* patternProperties, anyOf, pattern, enum, minLength, minItems, items, minimum,
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Linter for `.github/topics.yml`.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Wave 4b).
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_topics_yaml.py` (ADR-200, Phase 4 /
|
|
6
|
+
* Wave 4b). The CLI contract is pinned — same scan target,
|
|
7
7
|
* finding messages (incl. Python `repr()` rendering of offending values),
|
|
8
8
|
* stdout/stderr split, exit codes, and the `--quiet` flag read directly
|
|
9
|
-
* from argv at module load.
|
|
9
|
+
* from argv at module load. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
10
10
|
*
|
|
11
11
|
* Asserts:
|
|
12
12
|
* * file exists and parses as YAML
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Lint trust/safety coherence across the discovery manifest.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4b).
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_trust_coherence.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
|
|
7
7
|
* / `--manifest` / `--router` / `--compiled-src` flags, finding messages,
|
|
8
8
|
* stdout/stderr split (errors + summary on stderr; success on stdout),
|
|
9
9
|
* SystemExit-on-missing-file semantics, exit codes. No behaviour changes —
|
|
10
|
-
*
|
|
10
|
+
* historical quirks preserved (consumers pin the exact behaviour).
|
|
11
11
|
*
|
|
12
12
|
* Walks the discovery manifest and asserts three invariants:
|
|
13
13
|
* 1. advisory/restricted packs ship a `*safety-floor*` rule;
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Lint `docs/value.md` for structural invariants.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 4 / Wave 4b). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_value_dashboard.py` (ADR-200,
|
|
6
|
+
* Phase 4 / Wave 4b). The CLI contract is pinned — `--quiet`
|
|
7
7
|
* flag, exit codes (0 / 1), stdout/stderr split, byte-identical messages,
|
|
8
|
-
* same check order.
|
|
8
|
+
* same check order. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
9
9
|
*
|
|
10
10
|
* Output: one violation per line in non-quiet mode; one-line summary in
|
|
11
11
|
* quiet mode. Exit 0 on clean, 1 on any violation.
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* WARN-ONLY GitHub Actions workflow security linter.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Python→TypeScript migration). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_workflow_security.py` (ADR-200,
|
|
6
|
+
* Python→TypeScript migration). The CLI contract is pinned —
|
|
7
7
|
* argparse flags (`--strict` / `--quiet` / `--json PATH`, `-h`/`--help`
|
|
8
8
|
* exit 0, unknown arg → exit 2), the scan order (`sorted(glob("*.yml"))`
|
|
9
9
|
* then `sorted(glob("*.yaml"))`), byte-identical finding lines, the
|
|
10
10
|
* `json.dumps(..., indent=2)` (ensure_ascii) `--json` write, the allowlist
|
|
11
11
|
* cap (exit 2 over 20 entries), the stdout/stderr split, and exit codes
|
|
12
12
|
* (0 advisory / 1 strict+HIGH). snake_case kept; PyYAML `on:`→boolean-True
|
|
13
|
-
* key quirk replicated.
|
|
13
|
+
* key quirk replicated. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
14
14
|
*
|
|
15
15
|
* Severity model (council-locked 2026-06-13):
|
|
16
16
|
* HIGH — pull_request_target / workflow_run + checkout of untrusted ref;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Workspace-boundary drift check — import-edge enforcement.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Python→TypeScript migration). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/lint_workspace_boundary.py` (ADR-200,
|
|
6
|
+
* Python→TypeScript migration). The CLI contract is pinned — the
|
|
7
7
|
* `--quiet` flag, the `sorted(repo.glob(WORKSPACE_GLOB))` scan order (pathlib
|
|
8
8
|
* component-wise), the FORBIDDEN-pattern set (Python `re` → JS `RegExp`, all
|
|
9
9
|
* ASCII so a 1:1 translation), the `# boundary-exception:` pragma skip, the
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
// Phase 5.1 of `road-to-cloudflare-mcp-hosting.md`. Governed by
|
|
18
18
|
// `docs/contracts/mcp-cloud-scope.md` §A0-cloud.
|
|
19
19
|
//
|
|
20
|
-
// TS
|
|
20
|
+
// TS port of the retired Python mcp_parity_smoke.py (ADR-200). Mirrors the
|
|
21
21
|
// Python wire surface byte-for-byte: stdout lines, the ✅ / ❌ / ⏭️ markers, the
|
|
22
22
|
// argparse usage / error text (exit 2), and the exit codes. Imports resolve to
|
|
23
23
|
// the already-ported mcp_server/{catalog,prompts,resources,tools}.ts twins —
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* MCP config renderer — one `mcp.json` → per-tool output files.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `mcp_render.py` (Phase 8 / Wave 8g).
|
|
6
6
|
*
|
|
7
7
|
* Reads `mcp.json` at repo root (`{ "servers": { <name>: { command, args,
|
|
8
8
|
* env, cwd } } }`), substitutes `${env:VAR}` placeholders from the
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// `not_implemented` envelope contract live in
|
|
11
11
|
// `docs/contracts/mcp-tool-stub-envelope.md`.
|
|
12
12
|
//
|
|
13
|
-
// TS
|
|
13
|
+
// TS port of the retired Python catalog.py (ADR-200). Preserves the full public surface:
|
|
14
14
|
// - NOT_IMPLEMENTED_CODE, CatalogEntry, load_catalog, load_raw,
|
|
15
15
|
// install_hint, not_implemented_envelope.
|
|
16
16
|
import * as fs from 'node:fs';
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
// Stability: experimental. Contract: `docs/contracts/mcp-phase-1-scope.md`.
|
|
14
14
|
// Promotion to beta gated on `docs/contracts/mcp-beta-criteria.md`.
|
|
15
15
|
//
|
|
16
|
-
// TS
|
|
16
|
+
// TS port of the retired Python __init__.py (ADR-200). The Python package barrel exposes
|
|
17
17
|
// exactly two module-level names: `__version__` and `SERVER_NAME`. Mirrored
|
|
18
18
|
// here as `__version__` (Python wire-surface SemVer name preserved) and
|
|
19
19
|
// SERVER_NAME.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
// Stderr is the canonical surface in Phase 6; a wire-surface lift can
|
|
20
20
|
// follow once the SDK supports it.
|
|
21
21
|
//
|
|
22
|
-
// TS
|
|
22
|
+
// TS port of the retired Python metadata.py (ADR-200). Preserves the full public surface:
|
|
23
23
|
// - Signature type, read_package_version, compute_skill_set_signature,
|
|
24
24
|
// boot_log_line.
|
|
25
25
|
import * as crypto from 'node:crypto';
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
// are skipped and surfaced in the second tuple element of `scan_*`
|
|
17
17
|
// helpers (caller decides whether to log).
|
|
18
18
|
//
|
|
19
|
-
// TS
|
|
19
|
+
// TS port of the retired Python prompts.py (ADR-200). Preserves the full public surface:
|
|
20
20
|
// PHASE_1_SKILLS, PromptKind, UserTypeMatch, SkillPrompt, load_skill,
|
|
21
21
|
// load_phase_1_prompts, scan_skills, scan_commands, load_all_prompts,
|
|
22
22
|
// to_mcp_prompt_meta, PromptCache. The leading-underscore helpers
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
// first H1 line (`# Title`) is used as a title-style fallback, else the
|
|
16
16
|
// filename-derived stem.
|
|
17
17
|
//
|
|
18
|
-
// TS
|
|
18
|
+
// TS port of the retired Python resources.py (ADR-200). Preserves the full public surface:
|
|
19
19
|
// ResourceKind, MIME_MARKDOWN, Resource, scan_rules, scan_guidelines,
|
|
20
20
|
// scan_contexts, load_all_resources, to_mcp_resource_meta, ResourceCache.
|
|
21
21
|
// Imports `_project_root` + `_strip_frontmatter` from prompts.ts
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
// `build_server` still accepts a plain `SkillPrompt[]` so the Phase-1
|
|
22
22
|
// contract tests keep passing without touching their fixtures.
|
|
23
23
|
//
|
|
24
|
-
// TS
|
|
24
|
+
// TS port of the retired Python server.py (ADR-200). The Python module builds on the
|
|
25
25
|
// `mcp` Python SDK (`mcp.server.Server`) and registers handlers via the
|
|
26
26
|
// SDK decorators; the tests poke `server.request_handlers[...]`. There is
|
|
27
27
|
// no `mcp` Python SDK in the TS runtime and the npm
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
// `record_call` helper swallows OSError + ValueError and emits a single
|
|
20
20
|
// warning to stderr.
|
|
21
21
|
//
|
|
22
|
-
// TS
|
|
22
|
+
// TS port of the retired Python telemetry.py (ADR-200). Preserves the full public surface:
|
|
23
23
|
// - Outcome type, TELEMETRY_REL_DIR, TELEMETRY_FILENAME, hash_client_id,
|
|
24
24
|
// build_record, record_call.
|
|
25
25
|
import * as crypto from 'node:crypto';
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
// TextContent block with the JSON-serialized payload, so MCP clients
|
|
28
28
|
// can render structured output.
|
|
29
29
|
//
|
|
30
|
-
// TS
|
|
30
|
+
// TS port of the retired Python tools.py (ADR-200). Preserves the full public surface:
|
|
31
31
|
// STDIO_TRANSPORT, BuiltinTool, ToolHandler, ALLOWLIST, to_mcp_tool_meta,
|
|
32
32
|
// CATALOG_STUBS, STUB_NAMES, REGISTRY, ToolCache, boot_log_line.
|
|
33
33
|
import * as fs from 'node:fs';
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
// ./scripts-run src/scripts/mcp_telemetry_health --allow-missing # CI mode
|
|
19
19
|
// ./scripts-run src/scripts/mcp_telemetry_health --json # machine-readable
|
|
20
20
|
//
|
|
21
|
-
// TS
|
|
21
|
+
// TS port of the retired Python mcp_telemetry_health.py (ADR-200). Mirrors the full public
|
|
22
22
|
// surface: HealthReport, resolve_log_path, evaluate, main.
|
|
23
23
|
import * as fs from 'node:fs';
|
|
24
24
|
import * as path from 'node:path';
|