@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
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
// invocation. stdlib-only; reads (never writes) the DB via Node's
|
|
13
13
|
// built-in `node:sqlite`, imported lazily.
|
|
14
14
|
//
|
|
15
|
-
// TS
|
|
15
|
+
// TS port of the retired Python mcp_telemetry_query.py (ADR-200). Mirrors the full public
|
|
16
16
|
// surface: ToolRow, summarise, main.
|
|
17
17
|
import * as fs from 'node:fs';
|
|
18
18
|
import * as path from 'node:path';
|
|
@@ -51,8 +51,8 @@ class FileNotFoundLikeError extends Error {}
|
|
|
51
51
|
// Python's stdlib sqlite3 emits nothing on stderr; node:sqlite is flagged
|
|
52
52
|
// experimental on node 22 and prints an `ExperimentalWarning: SQLite …` line
|
|
53
53
|
// to stderr on first import (stable / silent on node >= 23). Drop only that
|
|
54
|
-
// specific warning so
|
|
55
|
-
//
|
|
54
|
+
// specific warning so stderr stays byte-stable across node versions (tests
|
|
55
|
+
// pin the exact bytes). Installed once, narrowly matched.
|
|
56
56
|
let _sqliteWarningSilenced = false;
|
|
57
57
|
function _silenceSqliteExperimentalWarning(): void {
|
|
58
58
|
if (_sqliteWarningSilenced) return;
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
//
|
|
16
16
|
// Phase 2 K2 (`scripts/mcp_telemetry_query.ts`) reads from this store.
|
|
17
17
|
//
|
|
18
|
-
// TS
|
|
18
|
+
// TS port of the retired Python mcp_telemetry_store.py (ADR-200). Mirrors the full public
|
|
19
19
|
// surface: IngestReport, resolve_source, resolve_db, ingest, main.
|
|
20
20
|
import * as crypto from 'node:crypto';
|
|
21
21
|
import * as fs from 'node:fs';
|
|
@@ -176,8 +176,8 @@ export function resolve_db(consumer_root?: string | null): string {
|
|
|
176
176
|
// Python's stdlib sqlite3 emits nothing on stderr; node:sqlite is flagged
|
|
177
177
|
// experimental on node 22 and prints an `ExperimentalWarning: SQLite …` line
|
|
178
178
|
// to stderr on first import (stable / silent on node >= 23). Drop only that
|
|
179
|
-
// specific warning so
|
|
180
|
-
//
|
|
179
|
+
// specific warning so stderr stays byte-stable across node versions (tests
|
|
180
|
+
// pin the exact bytes). Installed once, narrowly matched.
|
|
181
181
|
let _sqliteWarningSilenced = false;
|
|
182
182
|
function _silenceSqliteExperimentalWarning(): void {
|
|
183
183
|
if (_sqliteWarningSilenced) return;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Measure the Augment workspace-guidelines budget (Phase 1.1 of
|
|
4
4
|
* road-to-augment-limit-fit).
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* Phase 8 Wave 8a).
|
|
6
|
+
* Ported from the retired Python `src/scripts/measure_augment_budget.py` (ADR-200,
|
|
7
|
+
* Phase 8 Wave 8a). The CLI contract is pinned — flags
|
|
8
8
|
* (`--json`, `--trend-append`, `--check`), exit codes (0 / 1 / 3),
|
|
9
9
|
* byte-identical stdout (text summary + `json.dumps(indent=2,
|
|
10
10
|
* sort_keys=True)`), and the byte-identical JSONL trend record
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Measure structural density across the artifact corpus.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/measure_density.py` (ADR-200 —
|
|
6
6
|
* Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract
|
|
7
7
|
* EXACTLY: flags (`--json`, `--snapshot`), exit code 0, byte-identical
|
|
8
8
|
* stdout (report or `json.dumps(sort_keys=True, indent=2)`), and the same
|
|
9
9
|
* snapshot JSONL (`json.dumps(sort_keys=True)` per line). No behaviour
|
|
10
|
-
* changes —
|
|
10
|
+
* changes — historical quirks preserved (consumers pin the exact behaviour).
|
|
11
11
|
*
|
|
12
12
|
* Phase 1.1 of `agents/roadmaps/road-to-structural-linter-reform.md`.
|
|
13
13
|
*
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Phase 0 baseline harness for road-to-trim-frugality-canon.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 8 Wave 8a).
|
|
5
|
+
* Ported from the retired Python `src/scripts/measure_frugality_savings.py` (ADR-200,
|
|
6
|
+
* Phase 8 Wave 8a). The CLI contract is pinned — exit code 0,
|
|
7
7
|
* byte-identical stdout (`json.dumps(record, indent=2, ensure_ascii=False)`
|
|
8
8
|
* + the `appended → …` line), and the byte-identical JSONL baseline row
|
|
9
9
|
* (`json.dumps(record, ensure_ascii=False)`).
|
|
@@ -337,7 +337,7 @@ export function main(): number {
|
|
|
337
337
|
|
|
338
338
|
const out = path.join(root, 'agents', 'runtime', 'frugality', 'baseline.jsonl');
|
|
339
339
|
// with out.open("a") — does NOT mkdir parents; mirror that (will throw if
|
|
340
|
-
// the directory is missing, exactly like the Python
|
|
340
|
+
// the directory is missing, exactly like the retired Python implementation).
|
|
341
341
|
fs.appendFileSync(out, pyJsonDumps(record, null) + '\n');
|
|
342
342
|
process.stdout.write(pyJsonDumps(record, 2) + '\n');
|
|
343
343
|
const rel = path.relative(root, out).split(path.sep).join('/');
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Measure markitdown's token-saving lift on the bundled corpus.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/measure_markitdown_lift.py` (ADR-200 —
|
|
6
6
|
* Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract EXACTLY:
|
|
7
7
|
* flags (`--convert`, `--binary`), exit codes (0 baseline / 2 corpus missing /
|
|
8
8
|
* 3 --convert without the binary on PATH), byte-identical stdout/stderr. No
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Measure presence of the eight Phase-3.1 judge patterns across all skills.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/measure_patterns.py` (ADR-200 — Python→TS
|
|
6
6
|
* migration, Phase 8 / Wave 8c). Mirrors the CLI contract EXACTLY: flags
|
|
7
7
|
* (`--json`, `--tier`, `--diff-baseline`), exit codes (0 / 3 when the skills
|
|
8
8
|
* dir is missing), byte-identical stdout/stderr. No behaviour changes.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Measure per-tool projection bytes.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/measure_projection_bytes.py` (ADR-200 —
|
|
6
6
|
* Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract EXACTLY:
|
|
7
7
|
* flags (`--json`, `--regenerate`), exit codes (0 / 2 when `task` is missing
|
|
8
8
|
* for --regenerate), byte-identical stdout/stderr. No behaviour changes.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Measure rule-bucket char counts (kernel + auto) for the rule-kernel roadmap.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/measure_rule_budget.py` (ADR-200 —
|
|
6
6
|
* Python→TS migration, Phase 8 / Wave 8a). The CLI contract is mirrored
|
|
7
7
|
* EXACTLY: same flags (`--json`, `--kernel-budget-check`,
|
|
8
8
|
* `--trend-append`), same exit codes, same byte-identical stdout table /
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Skill-count reduction measurement — step-12 Phase 3 L74 deliverable.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/measure_skill_reduction.py` (ADR-200 —
|
|
6
6
|
* Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract EXACTLY:
|
|
7
7
|
* flag (`--json`), exit codes (0 pass / 1 fail / 2 no-skills), byte-identical
|
|
8
8
|
* stdout (report or `json.dumps(indent=2)`) and stderr. No behaviour changes.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Content-addressed hash for a curated memory entry.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/memory_hash.py` (ADR-200, Phase 7 /
|
|
6
6
|
* dev-side memory CORE). The public API and CLI contract mirror the Python
|
|
7
7
|
* original EXACTLY — same exported names (snake_case kept deliberately),
|
|
8
8
|
* same canonical-JSON serialisation (sorted keys, no whitespace,
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* File-first memory retrieval.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* API and CLI contract mirror the Python
|
|
5
|
+
* Ported from the retired Python `src/scripts/memory_lookup.py` (ADR-200). The public
|
|
6
|
+
* API and CLI contract mirror the retired Python implementation EXACTLY — same exported
|
|
7
7
|
* names (snake_case kept deliberately, especially `retrieve(...)` whose
|
|
8
8
|
* signature/return shape is cited by rules), same exit codes, stdout/stderr
|
|
9
9
|
* split, byte-identical messages, same memory-file scan + ranking + JSON
|
|
@@ -40,7 +40,7 @@ import YAML, { parseDocument } from 'yaml';
|
|
|
40
40
|
// timestamp into a `datetime.datetime`. The `yaml` npm parses both to JS Date
|
|
41
41
|
// objects whose String()/JSON form differs, so `json.dumps(..., default=str)`
|
|
42
42
|
// in the CLI would not match. This marker preserves PyYAML's str() form so
|
|
43
|
-
// JSON output and as_dict() are byte-
|
|
43
|
+
// JSON output and as_dict() are byte-stable — downstream consumers and checksum gates pin these bytes.
|
|
44
44
|
const PYYAML_DATE_ONLY_RE = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
|
|
45
45
|
const PYYAML_TIMESTAMP_RE =
|
|
46
46
|
/^(?:[0-9]{4}-[0-9]{2}-[0-9]{2}|[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}(?:[Tt]|[ \t]+)[0-9]{1,2}:[0-9]{2}:[0-9]{2}(?:\.[0-9]*)?(?:[ \t]*(?:Z|[-+][0-9]{1,2}(?::[0-9]{2})?))?)$/;
|
|
@@ -191,7 +191,7 @@ function _load_yaml(p: string): unknown {
|
|
|
191
191
|
const raw = text.slice(node.range[0], node.range[1]);
|
|
192
192
|
// Under YAML 1.1 the `yaml` lib resolves plain timestamp scalars to
|
|
193
193
|
// JS Date objects. Recover PyYAML's str() form from the original
|
|
194
|
-
// source so JSON output / as_dict() match the Python
|
|
194
|
+
// source so JSON output / as_dict() match the retired Python implementation.
|
|
195
195
|
if (node.value instanceof Date) {
|
|
196
196
|
if (PYYAML_DATE_ONLY_RE.test(raw)) {
|
|
197
197
|
(node as { value: unknown }).value = new PyTimestamp(raw);
|
|
@@ -476,10 +476,10 @@ export function _score(entry: Record<string, unknown>, keys: string[]): number {
|
|
|
476
476
|
/**
|
|
477
477
|
* Project cross-repo matches into discounted, tagged Hits.
|
|
478
478
|
*
|
|
479
|
-
* Lazy + guarded: the Python
|
|
479
|
+
* Lazy + guarded: the retired Python implementation imports `cross_repo_retrieve` on
|
|
480
480
|
* demand and swallows any failure (script absent, no opted-in siblings) so
|
|
481
481
|
* the cross-repo type degrades to zero hits rather than breaking retrieval.
|
|
482
|
-
* The
|
|
482
|
+
* The Ported from the retired Python `cross_repo_retrieve` is unported in this phase, so
|
|
483
483
|
* this always degrades to zero hits — flagged as a divergence candidate.
|
|
484
484
|
* Scores sit below curated/knowledge (0.85× floor, then a small per-rank
|
|
485
485
|
* decrement) so cross-repo context never outranks the project's own truth.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* One-shot memory observability report.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/memory_report.py` (ADR-200, Phase 7 /
|
|
6
6
|
* dev-side memory). The public API and CLI contract mirror the Python
|
|
7
7
|
* original EXACTLY — same exported names (snake_case kept deliberately),
|
|
8
8
|
* same exit codes, stdout/stderr split, byte-identical messages, and
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Write-side helper: drop an engineering-memory signal.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/memory_signal.py` (ADR-200, Phase 7 /
|
|
6
6
|
* dev-side memory). The public API and CLI contract mirror the Python
|
|
7
7
|
* original EXACTLY — same exported names (snake_case kept deliberately),
|
|
8
8
|
* same exit codes, stdout/stderr split, byte-identical messages, same
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* File-backed memory status (no external backend).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* API and CLI contract mirror the Python
|
|
5
|
+
* Ported from the retired Python `src/scripts/memory_status.py` (ADR-200). The public
|
|
6
|
+
* API and CLI contract mirror the retired Python implementation EXACTLY — same exported
|
|
7
7
|
* names (snake_case kept deliberately), same exit codes, stdout/stderr
|
|
8
8
|
* split, byte-identical messages and JSON shape. No behaviour changes.
|
|
9
9
|
*
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* One-shot migration: inject the `suggestion:` frontmatter block into every
|
|
4
4
|
* command under `.agent-src.uncondensed/commands/`.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* Ported from the retired Python `src/scripts/migrate_command_suggestions.py` (ADR-200 —
|
|
7
7
|
* Python→TS migration, Phase 8 / Wave 8e). Faithful twin: the legacy
|
|
8
8
|
* `.agent-src.uncondensed/commands/` path is part of the original module's
|
|
9
9
|
* contract and is reproduced verbatim. Public surface mirrors the Python module
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Migrate artefact frontmatter to omit fields equal to their schema default.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/migrate_frontmatter_defaults.py` (ADR-200 —
|
|
6
6
|
* Python→TS migration, Phase 8 / Wave 8e). Public surface mirrors the Python
|
|
7
7
|
* module exactly: same CLI flags (`--dry-run`, `--deltas PATH`), same exit code
|
|
8
8
|
* (0), same stdout summary, and byte-identical rewritten files + dry-run delta
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Mine a session for memory signals — the engine behind `/memory mine`.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* migration, Phase 8 / Wave 8g).
|
|
5
|
+
* Ported from the retired Python `src/scripts/mine_session.py` (ADR-200 — Python→TS
|
|
6
|
+
* migration, Phase 8 / Wave 8g). The CLI contract is pinned —
|
|
7
7
|
* every flag, exit code (0), the stdout/stderr split, byte-identical
|
|
8
8
|
* messages, byte-identical preview Markdown, and byte-identical
|
|
9
9
|
* `json.dumps(..., ensure_ascii=False)` intake JSONL lines.
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
*
|
|
27
27
|
* Auto-resolved transcript discovery (`rglob` sorted by mtime) is
|
|
28
28
|
* intrinsically non-deterministic; golden parity supplies a fixed
|
|
29
|
-
* `--transcript`.
|
|
29
|
+
* `--transcript`. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
30
30
|
*/
|
|
31
31
|
import * as crypto from 'node:crypto';
|
|
32
32
|
import * as fs from 'node:fs';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Platform-agnostic hook for the `minimal-safe-diff` rule.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/minimal_safe_diff_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
|
*
|
|
@@ -39,7 +39,7 @@ import { atomic_write_json } from "./hooks/state_io.js";
|
|
|
39
39
|
|
|
40
40
|
// NOTE: the Python docstring says `agents/runtime/state/`, but the code
|
|
41
41
|
// constant is `agents/state/`. Replicated verbatim — latent docstring/code
|
|
42
|
-
// divergence in the Python
|
|
42
|
+
// divergence in the retired Python implementation (ADR-200 § replicate latent bugs).
|
|
43
43
|
export const STATE_FILE = path.join("agents", "state", "minimal-safe-diff.json");
|
|
44
44
|
export const SETTINGS_FILE = ".agent-settings.yml";
|
|
45
45
|
export const DEFAULT_THRESHOLD = 5;
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Move a single artefact between packs via `git mv` (history-preserving).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/move_artefact.py` (ADR-200, Phase 8 /
|
|
6
6
|
* Wave 8b). The public surface, CLI contract, exit codes, stdout/stderr
|
|
7
|
-
* split, byte-for-byte messages, and the `git mv` semantics
|
|
8
|
-
*
|
|
7
|
+
* split, byte-for-byte messages, and the `git mv` semantics are pinned by
|
|
8
|
+
* tests. The frontmatter rewrite reproduces PyYAML's
|
|
9
9
|
* `safe_dump(..., sort_keys=False, allow_unicode=True)` output through a
|
|
10
10
|
* faithful port of the PyYAML emitter (scalar-style resolution, plain /
|
|
11
11
|
* single-quoted / double-quoted writers with the same best-width=80
|
package/src/scripts/new_skill.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Interactive scaffolder for new skills under the packages/ layout.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* migration, Phase 8 / Wave 8b). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/new_skill.py` (ADR-200 — Python→TS
|
|
6
|
+
* migration, Phase 8 / Wave 8b). The CLI contract is pinned —
|
|
7
7
|
* the `--pack` / `--type` / `--name` / `--description` / `--workspace`
|
|
8
8
|
* (repeatable) / `--force` flags, exit codes (0 ok · 1 file exists · 2
|
|
9
9
|
* usage / validation), the stdout/stderr split, byte-identical messages,
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - rule → rules/<name>.md
|
|
16
16
|
* - command → commands/<name>.md
|
|
17
17
|
*
|
|
18
|
-
*
|
|
18
|
+
* Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
19
19
|
*/
|
|
20
20
|
import * as fs from 'node:fs';
|
|
21
21
|
import * as path from 'node:path';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Platform-agnostic hook for the `onboarding-gate` rule.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/onboarding_gate_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
|
export const SETTINGS_FILE = ".agent-settings.yml";
|
|
41
41
|
// NOTE: the Python docstring says `agents/runtime/state/`, but the code
|
|
42
42
|
// constant is `agents/state/`. Replicated verbatim — this is a latent
|
|
43
|
-
// docstring/code divergence in the Python
|
|
43
|
+
// docstring/code divergence in the retired Python implementation (ADR-200 § replicate
|
|
44
44
|
// latent bugs), and `STATE_FILE` is what the test suite asserts against.
|
|
45
45
|
export const STATE_DIR = path.join("agents", "state");
|
|
46
46
|
export const STATE_FILE = path.join(STATE_DIR, "onboarding-gate.json");
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
//
|
|
24
24
|
// Governed by `docs/contracts/mcp-cloud-scope.md` §A0-cloud invariant 5.
|
|
25
25
|
//
|
|
26
|
-
// TS
|
|
26
|
+
// TS port of the retired Python pack_mcp_content.py (ADR-200). Byte-identical
|
|
27
27
|
// twin: same five scanners, same wire shape, same compact-JSON / indent=2
|
|
28
28
|
// manifest serialization, same gzip archival copy (mtime=0, level 9, with
|
|
29
29
|
// Python's OS=0xFF header byte). The .py stays the deploy entrypoint until
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Golden-replay runner — proves a TypeScript port behaves identically to
|
|
3
|
-
* Python
|
|
2
|
+
* Golden-replay runner — proves a TypeScript port behaves identically to the
|
|
3
|
+
* retired Python implementation it replaced (golden transcripts were captured
|
|
4
|
+
* before the teardown).
|
|
4
5
|
*
|
|
5
6
|
* CLI:
|
|
6
7
|
* tsx src/scripts/parity/replay.ts \
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Maintainer dev script — export / import file-first patterns across projects.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/pattern_share.py` (ADR-200). Mirrors the
|
|
6
6
|
* Python CLI contract EXACTLY — the `export` / `import` subcommands, their
|
|
7
7
|
* positional + flag args (`--out`, `--force`), exit codes (0 / 1 / 2),
|
|
8
8
|
* stdout/stderr split, the byte-identical refusal/success lines (`❌ …` /
|
|
@@ -245,7 +245,7 @@ function _isFlag(a: string): boolean {
|
|
|
245
245
|
return a.startsWith('-') && a !== '-';
|
|
246
246
|
}
|
|
247
247
|
|
|
248
|
-
// argparse precedence (verified against the Python
|
|
248
|
+
// argparse precedence (verified against the retired Python implementation):
|
|
249
249
|
// 1. an optional that needs a value but is missing it → SUB-level error
|
|
250
250
|
// "argument --out: expected one argument" (during consumption).
|
|
251
251
|
// 2. a missing required positional → SUB-level error
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Plan + apply the physical monorepo migration (Phase 4).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/plan_physical_move.py` (ADR-200, Phase 8 /
|
|
6
6
|
* Wave 8b). Mirrors the CLI contract EXACTLY — the `--apply`, `--out` flags,
|
|
7
7
|
* exit codes (0 clean dry-run / 1 dry-run-with-conflicts / 2 refuse-apply /
|
|
8
8
|
* 3 source-missing / 4 git-mv-failed), the stdout/stderr split, byte-identical
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
* destination under `packages/core/` or `packages/pack-<id>/`, and emits
|
|
14
14
|
* `dist/migration/move-plan.json`. `--apply` executes the moves via `git mv`.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
16
|
+
* Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour. (The dry-run path
|
|
17
17
|
* writes the plan JSON to BOTH the default location and `--out`; when they
|
|
18
|
-
* coincide the file is written twice, exactly as the Python
|
|
18
|
+
* coincide the file is written twice, exactly as the retired Python implementation does.)
|
|
19
19
|
*/
|
|
20
20
|
import { spawnSync } from 'node:child_process';
|
|
21
21
|
import * as fs from 'node:fs';
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Poisson tournament simulator for prediction-pool-optimizer.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/prediction-pool/poisson_sim.py` (ADR-200).
|
|
6
|
+
* The CLI contract is pinned — the positional `config` JSON file,
|
|
7
7
|
* `--runs` / `--seed`, exit codes, the stdout/stderr split, and byte-identical
|
|
8
8
|
* output. No behaviour changes.
|
|
9
9
|
*
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Field model + P(finish 1st) simulator for prediction-pool-optimizer.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/prediction-pool/pool_winsim.py` (ADR-200).
|
|
6
|
+
* The CLI contract is pinned — the positional `config` JSON file,
|
|
7
7
|
* `--runs` / `--max-flips` / `--max-opponents` / `--top-flip` / `--seed` /
|
|
8
8
|
* `--json`, exit codes, the stdout/stderr split, and byte-identical text AND
|
|
9
9
|
* `--json` output. No behaviour changes.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Exact-score EV optimiser for prediction-pool-optimizer.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 8). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/prediction-pool/score_ev.py` (ADR-200,
|
|
6
|
+
* Phase 8). The CLI contract is pinned — the positional `matches`
|
|
7
7
|
* JSON file, `--lh` / `--la` / `--exact` / `--diff` / `--tendency` /
|
|
8
8
|
* `--max-tip` / `--top` / `--json`, exit codes, the stdout/stderr split, and
|
|
9
9
|
* byte-identical text AND `--json` output. No behaviour changes.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Print the expected required-check set for the current branch.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 8 / Wave 8g).
|
|
5
|
+
* Ported from the retired Python `src/scripts/print_required_checks.py` (ADR-200,
|
|
6
|
+
* Phase 8 / Wave 8g). The CLI contract is pinned — `--branch`
|
|
7
7
|
* / `--base` flags, PR-shape classification (release / docs-only / feature),
|
|
8
8
|
* exit codes (0 ok, 1 release-shape OUT-OF-SHAPE fallback-to-feature, 2 usage),
|
|
9
9
|
* stdout/stderr split, byte-identical messages. Reuses the release-shape
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Phase 4.2 — Probe per-tool projection fidelity against the fixture.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/probe_projection_fidelity.py` (ADR-200 —
|
|
6
6
|
* Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract
|
|
7
7
|
* EXACTLY: flags (`--fixture`, `--report`), exit codes (0 when no fail, 1
|
|
8
8
|
* when any check fails, 2 when the YAML dependency is missing — replicated
|
|
9
9
|
* via a try/catch import), byte-identical stdout, and the byte-identical
|
|
10
10
|
* written report (`json.dumps(report, indent=2) + "\n"`). No behaviour
|
|
11
|
-
* changes —
|
|
11
|
+
* changes — historical quirks preserved (consumers pin the exact behaviour).
|
|
12
12
|
*
|
|
13
13
|
* Reads tests/fixtures/projection_fidelity/fixtures.yml, walks the
|
|
14
14
|
* projected trees (.augment/, .claude/, .cursor/, .clinerules/,
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Tool-agnostic skill-registration probe.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/probe_skill_registration.py` (ADR-090 —
|
|
6
6
|
* Python→TS migration, Phase 8 / Wave 8c). Mirrors the CLI contract
|
|
7
7
|
* EXACTLY: flags (`--tool`, `--scope`, `--format`, `--strict`, `--home`,
|
|
8
8
|
* `--project`), exit codes (0 informational / 0 when strict & clean, 2
|
|
9
9
|
* when strict & findings), byte-identical text + JSON stdout, and the same
|
|
10
|
-
* dataclass field order.
|
|
10
|
+
* dataclass field order. Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
11
11
|
*
|
|
12
12
|
* Roadmap: road-to-clean-skill-distribution-channels.md § Phase C.
|
|
13
13
|
* Contract: docs/contracts/skill-distribution-channels.md.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Session-profile staleness notice — `session_start` hook.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/profile_staleness_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
|
*
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* notice is derived from the overlay file), emits at most one stderr line,
|
|
19
19
|
* returns 0 on every path.
|
|
20
20
|
*
|
|
21
|
-
* NOTE (ADR-200): the Python
|
|
21
|
+
* NOTE (ADR-200): the retired Python implementation imports `scripts.config.session_profiles`,
|
|
22
22
|
* which is UNPORTED. The only entry point this hook touches is
|
|
23
23
|
* `session_profiles.stale_notice(root)`, a fail-open read of the overlay file
|
|
24
24
|
* (`agents/settings/.agent-settings.local.yml` → `runtime.active_packs`) plus a
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* `agent-config use --profile=<id>` — switch the active experience.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* migration, Phase 8 / Wave 8e). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/profile_use.py` (ADR-200 — Python→TS
|
|
6
|
+
* migration, Phase 8 / Wave 8e). The CLI contract is pinned:
|
|
7
7
|
* same flags (`--profile=<id>` / `--profile <id>`), same exit codes
|
|
8
8
|
* (0 success, 2 on missing/unknown profile), same byte-identical
|
|
9
9
|
* stdout / stderr prose, and byte-identical surgical text edits of the
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Thin-projection of the rule layer (lean-initial-context build-out, Phase 3.1).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/project_thin_rules.py` (ADR-200 —
|
|
6
6
|
* Python→TS migration, Phase 8 / Wave 8b). The CLI contract is mirrored
|
|
7
7
|
* EXACTLY — the `--measure` / `--out` / `--json` flags, exit codes, the
|
|
8
8
|
* stdout/stderr split, byte-identical messages, and byte-identical JSON
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
*
|
|
21
21
|
* NOTE (faithful literal): the thin-entry pointer keeps the verbatim
|
|
22
22
|
* `Body: [`{rule_id}`](../../.agent-src.uncondensed/rules/{rule_id}.md)`
|
|
23
|
-
* Markdown link from the Python
|
|
23
|
+
* Markdown link from the retired Python implementation. The same-basename `.py` twin
|
|
24
24
|
* carries that literal, so the ADR-051 legacy-path guard exempts this `.ts`
|
|
25
25
|
* file by twin-parity.
|
|
26
26
|
*
|
|
27
|
-
*
|
|
27
|
+
* Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
28
28
|
*
|
|
29
29
|
* Usage:
|
|
30
30
|
* project_thin_rules --measure # measure delta, no write
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Propose a `modules:` block for `.agent-project-settings.yml`.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* Phase 8 / Wave 8g).
|
|
5
|
+
* Ported from the retired Python `src/scripts/propose_modules_config.py` (ADR-200,
|
|
6
|
+
* Phase 8 / Wave 8g). The CLI contract is pinned — `--project`
|
|
7
7
|
* / `--json` flags, the interactive numbered-options TTY block, the
|
|
8
8
|
* machine-readable JSON envelope (byte-identical to `json.dump(indent=2)`),
|
|
9
9
|
* exit codes (0 always on success, 2 unreachable path), stdout/stderr split.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Prototype contradiction linter (P1.1 of road-to-package-optimization).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `src/scripts/prototype_lint_contradictions.py` (ADR-200 —
|
|
6
6
|
* Python→TS migration, Phase 8 / Wave 8g). Mirrors the Python CLI contract
|
|
7
7
|
* EXACTLY — no flags, exit codes (0 clean / 1 contradictions found), the
|
|
8
8
|
* stdout JSON shape (`json.dump(report, indent=2)`, insertion order, NO
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*
|
|
18
18
|
* Heuristic family — two deterministic checks (routing + imperative conflict)
|
|
19
19
|
* across rules, skills, commands, and contexts. No behaviour changes —
|
|
20
|
-
*
|
|
20
|
+
* historical quirks preserved (consumers pin the exact behaviour).
|
|
21
21
|
*/
|
|
22
22
|
import * as fs from 'node:fs';
|
|
23
23
|
import * as path from 'node:path';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Prove a pack + its declared dependency closure is self-contained.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Ported from the retired Python `prove_pack_extractable.py` (Phase 8 / Wave 8g).
|
|
6
6
|
*
|
|
7
7
|
* road-to-6.0.0-D Phase 1 Step 6 — the *extraction proof*. It de-risks the
|
|
8
8
|
* monorepo collapse (Phase 3) by proving that a pack moved into the flat
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* README quality linter for agent-config repositories.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* migration, Phase 8 / Wave 8b). The CLI contract is
|
|
5
|
+
* Ported from the retired Python `src/scripts/readme_linter.py` (ADR-200 — Python→TS
|
|
6
|
+
* migration, Phase 8 / Wave 8b). The CLI contract is pinned —
|
|
7
7
|
* the positional `readme` arg, the `--root` / `--format` / `--strict`
|
|
8
8
|
* flags, exit codes (0 pass · 1 warnings · 2 errors / strict-warnings ·
|
|
9
9
|
* 3 README-not-found / internal error), the stdout/stderr split, and
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* Detects weak, misleading, or incomplete READMEs by cross-checking
|
|
15
15
|
* against actual repository files (Taskfile.yml, package.json, etc.).
|
|
16
16
|
*
|
|
17
|
-
*
|
|
17
|
+
* Historical quirks are preserved deliberately — tests and downstream consumers pin the exact behaviour.
|
|
18
18
|
*/
|
|
19
19
|
import * as fs from 'node:fs';
|
|
20
20
|
import * as path from 'node:path';
|
|
@@ -46,7 +46,7 @@ const BUILTIN_COMMANDS = new Set<string>([
|
|
|
46
46
|
'php artisan', 'cargo build', 'cargo test', 'go build', 'go test',
|
|
47
47
|
'git clone', 'git submodule',
|
|
48
48
|
]);
|
|
49
|
-
// Referenced to mirror the module-level constant in the Python
|
|
49
|
+
// Referenced to mirror the module-level constant in the retired Python implementation
|
|
50
50
|
// (it is defined but unused there); keeps the symbol "live" for the linter.
|
|
51
51
|
void BUILTIN_COMMANDS;
|
|
52
52
|
|