@event4u/agent-config 8.1.0 → 8.2.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 +50 -297
- package/dist/agent-src/commands/agents/init.md +3 -3
- package/dist/agent-src/commands/chat-history/import.md +5 -5
- package/dist/agent-src/commands/chat-history.md +1 -1
- package/dist/agent-src/commands/condense.md +1 -1
- package/dist/agent-src/commands/context/create.md +1 -1
- package/dist/agent-src/commands/council/analysis.md +2 -2
- package/dist/agent-src/commands/council/default.md +3 -3
- package/dist/agent-src/commands/council/design.md +2 -2
- package/dist/agent-src/commands/council/optimize.md +1 -1
- package/dist/agent-src/commands/council/pr.md +2 -2
- package/dist/agent-src/commands/council.md +1 -1
- package/dist/agent-src/commands/feature/plan.md +1 -1
- package/dist/agent-src/commands/ghostwriter/list.md +1 -1
- package/dist/agent-src/commands/ghostwriter/write.md +1 -1
- package/dist/agent-src/commands/ghostwriter.md +1 -1
- package/dist/agent-src/commands/implement-ticket.md +2 -2
- package/dist/agent-src/commands/judge/on-diff.md +1 -1
- package/dist/agent-src/commands/judge/steps.md +3 -1
- package/dist/agent-src/commands/memory/add.md +2 -2
- package/dist/agent-src/commands/memory/learn-low-impact.md +1 -1
- package/dist/agent-src/commands/memory/load.md +1 -1
- package/dist/agent-src/commands/memory/mine-session.md +1 -1
- package/dist/agent-src/commands/memory/promote.md +1 -1
- package/dist/agent-src/commands/memory/propose.md +1 -1
- package/dist/agent-src/commands/mission/upgrade.md +1 -1
- package/dist/agent-src/commands/module/explore.md +3 -3
- package/dist/agent-src/commands/optimize/agents-dir.md +1 -1
- package/dist/agent-src/commands/optimize/skills.md +1 -1
- package/dist/agent-src/commands/optimize-project.md +1 -1
- package/dist/agent-src/commands/orchestrate.md +2 -2
- package/dist/agent-src/commands/project-analyze.md +1 -1
- package/dist/agent-src/commands/project-health.md +1 -1
- package/dist/agent-src/commands/roadmap/ai-council.md +1 -1
- package/dist/agent-src/commands/roadmap/create.md +2 -2
- package/dist/agent-src/commands/roadmap/process-full.md +3 -1
- package/dist/agent-src/commands/roadmap/process-phase.md +4 -2
- package/dist/agent-src/commands/roadmap/process-step.md +3 -1
- package/dist/agent-src/commands/security-audit-config.md +1 -1
- package/dist/agent-src/commands/sync-agent-settings.md +7 -7
- package/dist/agent-src/commands/sync-gitignore/fix.md +3 -3
- package/dist/agent-src/commands/sync-gitignore.md +4 -4
- package/dist/agent-src/commands/work.md +3 -3
- package/dist/agent-src/contexts/communication/rules-auto/skill-quality-mechanics.md +1 -1
- package/dist/agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +2 -2
- package/dist/agent-src/contexts/contracts/artifact-engagement-flow.md +1 -1
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -7
- package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +9 -4
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +10 -9
- package/dist/agent-src/contexts/execution/verification-mechanics.md +13 -1
- package/dist/agent-src/packs/README.md +1 -1
- package/dist/agent-src/presets/README.md +1 -1
- package/dist/agent-src/profiles/README.md +1 -1
- package/dist/agent-src/rules/architecture.md +2 -2
- package/dist/agent-src/rules/context-hygiene.md +2 -2
- package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -1
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +1 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +1 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +3 -3
- package/dist/agent-src/rules/media-governance-routing.md +1 -1
- package/dist/agent-src/rules/no-roadmap-references.md +3 -3
- package/dist/agent-src/rules/preservation-guard.md +2 -2
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +6 -5
- package/dist/agent-src/rules/roadmap-progress-sync.md +3 -3
- package/dist/agent-src/rules/security-sensitive-stop.md +7 -9
- package/dist/agent-src/rules/source-confidentiality.md +1 -1
- package/dist/agent-src/rules/telegraph-speak.md +1 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +1 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -1
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +22 -4
- package/dist/agent-src/scripts/update_roadmap_progress.ts +29 -1
- package/dist/agent-src/skills/accessibility-auditor/SKILL.md +3 -2
- package/dist/agent-src/skills/adr-create/SKILL.md +8 -6
- package/dist/agent-src/skills/agent-docs-writing/SKILL.md +1 -1
- package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +2 -2
- package/dist/agent-src/skills/ai-council/SKILL.md +15 -15
- package/dist/agent-src/skills/api-design/SKILL.md +1 -1
- package/dist/agent-src/skills/api-endpoint/SKILL.md +2 -1
- package/dist/agent-src/skills/authz-review/SKILL.md +1 -1
- package/dist/agent-src/skills/blade-ui/SKILL.md +11 -10
- package/dist/agent-src/skills/blameless-post-mortem/SKILL.md +9 -8
- package/dist/agent-src/skills/code-review/SKILL.md +3 -4
- package/dist/agent-src/skills/command-routing/SKILL.md +3 -3
- package/dist/agent-src/skills/command-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/condense-memory/SKILL.md +2 -2
- package/dist/agent-src/skills/context-authoring/SKILL.md +1 -1
- package/dist/agent-src/skills/context-document/SKILL.md +1 -1
- package/dist/agent-src/skills/copilot-agents-optimization/SKILL.md +1 -1
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +16 -11
- package/dist/agent-src/skills/corpus-grounding/scripts/ground.ts +24 -3
- package/dist/agent-src/skills/dashboard-design/SKILL.md +2 -1
- package/dist/agent-src/skills/database/SKILL.md +2 -1
- package/dist/agent-src/skills/description-assist/SKILL.md +6 -6
- package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -5
- package/dist/agent-src/skills/design-tokens/SKILL.md +5 -5
- package/dist/agent-src/skills/design-tokens/scripts/tokens.ts +24 -3
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +3 -3
- package/dist/agent-src/skills/fe-design/SKILL.md +7 -7
- package/dist/agent-src/skills/finishing-a-development-branch/SKILL.md +11 -4
- package/dist/agent-src/skills/flux/SKILL.md +10 -9
- package/dist/agent-src/skills/git-workflow/SKILL.md +4 -5
- package/dist/agent-src/skills/guideline-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/learning-to-rule-or-skill/SKILL.md +2 -2
- package/dist/agent-src/skills/livewire/SKILL.md +10 -9
- package/dist/agent-src/skills/memory-consolidation/SKILL.md +2 -2
- package/dist/agent-src/skills/module-detect-on-the-fly/SKILL.md +5 -5
- package/dist/agent-src/skills/module-management/SKILL.md +2 -2
- package/dist/agent-src/skills/prediction-pool-optimizer/SKILL.md +11 -11
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/ev-fixtures.md +6 -6
- package/dist/agent-src/skills/prediction-pool-optimizer/reference/odds-and-bonus.md +1 -1
- package/dist/agent-src/skills/premortem/SKILL.md +1 -1
- package/dist/agent-src/skills/project-docs/SKILL.md +1 -1
- package/dist/agent-src/skills/quality-tools/SKILL.md +26 -2
- package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +8 -7
- package/dist/agent-src/skills/react-shadcn-ui/scripts/shadcn_add.ts +31 -10
- package/dist/agent-src/skills/refine-prompt/SKILL.md +14 -14
- package/dist/agent-src/skills/refine-ticket/SKILL.md +24 -25
- package/dist/agent-src/skills/refine-ticket/detection-map.yml +1 -1
- package/dist/agent-src/skills/review-routing/SKILL.md +6 -7
- package/dist/agent-src/skills/roadmap-management/SKILL.md +11 -6
- package/dist/agent-src/skills/rule-refactor/SKILL.md +1 -1
- package/dist/agent-src/skills/rule-writing/SKILL.md +5 -5
- package/dist/agent-src/skills/script-writing/SKILL.md +28 -41
- package/dist/agent-src/skills/skill-writing/SKILL.md +3 -3
- package/dist/agent-src/skills/source-discovery/SKILL.md +3 -3
- package/dist/agent-src/skills/sql-writing/SKILL.md +2 -1
- package/dist/agent-src/skills/subagent-orchestration/SKILL.md +1 -1
- package/dist/agent-src/skills/systematic-debugging/SKILL.md +5 -7
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +2 -2
- package/dist/agent-src/skills/tailwind-engineer/scripts/tailwind_config_gen.ts +25 -4
- package/dist/agent-src/skills/token-optimizer/SKILL.md +1 -1
- package/dist/agent-src/skills/typography-system/SKILL.md +1 -1
- package/dist/agent-src/skills/validate-feature-fit/SKILL.md +5 -7
- package/dist/agent-src/skills/verify-completion-evidence/SKILL.md +13 -1
- package/dist/agent-src/templates/agent-settings.md +34 -25
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
- package/dist/agent-src/templates/agents/memory/incident-learnings.example.yml +1 -1
- package/dist/agent-src/templates/agents/proposal.example.md +4 -4
- package/dist/agent-src/templates/copilot-instructions.md +1 -1
- package/dist/agent-src/templates/github-workflows/memory-hygiene.yml +10 -10
- package/dist/agent-src/templates/github-workflows/pr-risk-review.yml +19 -8
- package/dist/agent-src/templates/github-workflows/proposal-drift.yml +11 -8
- package/dist/agent-src/templates/github-workflows/roadmap-progress-check.yml +10 -12
- package/dist/agent-src/templates/hooks/pre-commit-frontmatter +21 -11
- package/dist/agent-src/templates/hooks/pre-commit-roadmap-progress +43 -29
- package/dist/agent-src/templates/roadmaps.md +9 -4
- package/dist/agent-src/templates/rule.md +3 -3
- package/dist/agent-src/templates/scripts/README.md +6 -6
- package/dist/agent-src/templates/scripts/check_memory.ts +24 -2
- package/dist/agent-src/templates/scripts/check_memory_proposal.ts +23 -4
- package/dist/agent-src/templates/scripts/historical-bug-patterns.example.yml +1 -1
- package/dist/agent-src/templates/scripts/memory_hash.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_lookup.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_report.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_signal.ts +24 -2
- package/dist/agent-src/templates/scripts/memory_status.ts +26 -2
- package/dist/agent-src/templates/scripts/ownership-map.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr-risk-config.example.yml +1 -1
- package/dist/agent-src/templates/scripts/pr_review_routing.ts +24 -3
- package/dist/agent-src/templates/scripts/pr_risk_review.ts +0 -0
- package/dist/agent-src/templates/scripts/telemetry_record.ts +24 -3
- package/dist/agent-src/templates/scripts/telemetry_report.ts +25 -3
- package/dist/agent-src/templates/scripts/telemetry_status.ts +24 -3
- package/dist/agent-src/templates/scripts/tier_usage_report.ts +24 -2
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +44 -10
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/_chat_history_base.ts +26 -13
- package/dist/agent-src/templates/skill.md +2 -2
- package/dist/cli/python/knowledge_ingest.js +24 -3
- package/dist/cli/python/knowledge_ingest.js.map +1 -1
- package/dist/cli/python/workspace_analytics.js +23 -3
- package/dist/cli/python/workspace_analytics.js.map +1 -1
- package/dist/cli/python/workspace_crypto.js +23 -3
- package/dist/cli/python/workspace_crypto.js.map +1 -1
- package/dist/cli/python/workspace_documents.js +23 -3
- package/dist/cli/python/workspace_documents.js.map +1 -1
- package/dist/cli/python/workspace_drive.js +24 -3
- package/dist/cli/python/workspace_drive.js.map +1 -1
- package/dist/cli/python/workspace_drive_health.js +23 -3
- package/dist/cli/python/workspace_drive_health.js.map +1 -1
- package/dist/cli/python/workspace_explain.js +23 -3
- package/dist/cli/python/workspace_explain.js.map +1 -1
- package/dist/cli/python/workspace_hosts.js +23 -3
- package/dist/cli/python/workspace_hosts.js.map +1 -1
- package/dist/cli/python/workspace_inbox.js +23 -3
- package/dist/cli/python/workspace_inbox.js.map +1 -1
- package/dist/cli/python/workspace_render.js +23 -3
- package/dist/cli/python/workspace_render.js.map +1 -1
- package/dist/cli/python/workspace_roles.js +23 -3
- package/dist/cli/python/workspace_roles.js.map +1 -1
- package/dist/cli/python/workspace_sessions.js +23 -3
- package/dist/cli/python/workspace_sessions.js.map +1 -1
- package/dist/cli/python/workspace_skills.js +23 -3
- package/dist/cli/python/workspace_skills.js.map +1 -1
- package/dist/cli/registry.js +2 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +118 -118
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +2 -2
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +3 -3
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +3 -3
- package/dist/install/install.mjs +67 -28
- package/dist/mcp/registry-manifest.json +2 -2
- package/dist/server/routes/settings.js +4 -4
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/schemas/settings.js +1 -1
- package/dist/server/schemas/settings.js.map +1 -1
- package/docs/CLAIMS.md +2 -2
- package/docs/archive/CHANGELOG-pre-8.1.0.md +316 -0
- package/docs/benchmark.md +40 -0
- package/docs/contracts/skill-bundled-assets.md +2 -2
- package/docs/customization.md +1 -1
- package/docs/decisions/ADR-110-discipline-profile-resolution-locus.md +9 -4
- package/docs/guidelines/agent-infra/corpus-grounding-authoring.md +2 -2
- package/docs/guidelines/agent-infra/engineering-memory-data-format.md +4 -4
- package/docs/guidelines/agent-infra/installed-tools-manifest.md +3 -3
- package/docs/guidelines/agent-infra/language-and-tone-examples.md +2 -2
- package/docs/guidelines/agent-infra/layered-settings.md +4 -4
- package/docs/guidelines/agent-infra/memory-access.md +19 -18
- package/docs/guidelines/agent-infra/naming.md +1 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +5 -5
- package/docs/guidelines/agent-infra/role-contracts.md +1 -1
- package/docs/guidelines/agent-infra/security-lint-containment.md +2 -2
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +1 -1
- package/docs/guidelines/agent-infra/size-and-scope.md +1 -1
- package/docs/guidelines/agent-infra/skill-quality-checklist.md +5 -5
- package/docs/guidelines/augment-portability-patterns.md +1 -1
- package/docs/proof.md +1 -1
- package/docs/setup/per-ide/claude-code.md +10 -4
- package/package.json +3 -2
- package/src/config/agent-settings.template.yml +31 -17
- package/src/config/host-capabilities.yml +25 -16
- package/src/config/profiles/balanced.ini +5 -3
- package/src/scripts/_cli/cmd_analyze_session.ts +23 -4
- package/src/scripts/_cli/cmd_conformance.ts +23 -4
- package/src/scripts/_cli/cmd_doctor.ts +96 -8
- package/src/scripts/_cli/cmd_explain.ts +23 -4
- package/src/scripts/_cli/cmd_export.ts +23 -4
- package/src/scripts/_cli/cmd_fleet.ts +23 -4
- package/src/scripts/_cli/cmd_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_preflight.ts +24 -4
- package/src/scripts/_cli/cmd_prune.ts +23 -4
- package/src/scripts/_cli/cmd_refresh.ts +23 -4
- package/src/scripts/_cli/cmd_settings_check.ts +23 -4
- package/src/scripts/_cli/cmd_settings_migrate.ts +23 -4
- package/src/scripts/_cli/cmd_sync.ts +23 -4
- package/src/scripts/_cli/cmd_uninstall.ts +23 -4
- package/src/scripts/_cli/cmd_update.ts +23 -4
- package/src/scripts/_cli/cmd_upgrade.ts +238 -9
- package/src/scripts/_cli/cmd_validate.ts +23 -4
- package/src/scripts/_cli/cmd_versions.ts +23 -4
- package/src/scripts/_dispatch.bash +62 -19
- package/src/scripts/_lib/claude_plugin.ts +83 -0
- package/src/scripts/_lib/knowledge_global.ts +24 -2
- package/src/scripts/_lib/knowledge_global_promote.ts +24 -2
- package/src/scripts/_lib/knowledge_global_redaction.ts +24 -2
- package/src/scripts/_lib/link_crypto.ts +24 -5
- package/src/scripts/_lib/pin_resolver.ts +24 -3
- package/src/scripts/adoption_report.ts +23 -4
- package/src/scripts/adoption_snapshot.ts +23 -1
- package/src/scripts/adoption_status.ts +23 -4
- package/src/scripts/adr/regenerate_index.ts +24 -3
- package/src/scripts/ai_council/airgap.ts +25 -2
- package/src/scripts/ai_council/compile_corpus.ts +24 -2
- package/src/scripts/ai_council/pricing.ts +11 -1
- package/src/scripts/analysis_freshness.ts +23 -4
- package/src/scripts/annotate_discovery.ts +23 -1
- package/src/scripts/apply_modules_config.ts +23 -4
- package/src/scripts/audit_adr_coverage.ts +23 -4
- package/src/scripts/audit_auto_rules.ts +23 -1
- package/src/scripts/audit_cloud_compatibility.ts +23 -4
- package/src/scripts/audit_command_surface.ts +23 -4
- package/src/scripts/audit_initial_context.ts +23 -3
- package/src/scripts/audit_likelihood.ts +23 -1
- package/src/scripts/audit_mcp_tools.ts +23 -3
- package/src/scripts/audit_overlap.ts +23 -1
- package/src/scripts/audit_skill_descriptions.ts +24 -2
- package/src/scripts/audit_skill_overlap.ts +23 -1
- package/src/scripts/audit_user_type_axis.ts +23 -4
- package/src/scripts/backfill_model_tier.ts +23 -4
- package/src/scripts/bench_ab_cache_dispatch.ts +23 -1
- package/src/scripts/bench_ab_clone.ts +23 -1
- package/src/scripts/bench_ab_diff.ts +23 -1
- package/src/scripts/bench_ab_integrity.ts +23 -1
- package/src/scripts/bench_ab_run.ts +23 -2
- package/src/scripts/bench_ab_task_runner.ts +23 -1
- package/src/scripts/bench_ab_tracka_run.ts +23 -2
- package/src/scripts/bench_ab_v2_run.ts +23 -1
- package/src/scripts/bench_ab_v2_stats.ts +23 -1
- package/src/scripts/bench_baseline_ready.ts +23 -1
- package/src/scripts/bench_condense_memory.ts +23 -1
- package/src/scripts/bench_drift_check.ts +23 -2
- package/src/scripts/bench_matrix.ts +23 -4
- package/src/scripts/bench_per_tool.ts +23 -1
- package/src/scripts/bench_quality_run.ts +23 -2
- package/src/scripts/bench_rtk_savings.ts +23 -1
- package/src/scripts/bench_rule_load_latency.ts +23 -2
- package/src/scripts/bench_run.ts +23 -2
- package/src/scripts/bench_runner.ts +23 -1
- package/src/scripts/build_cloud_bundle.ts +23 -3
- package/src/scripts/build_discovery_manifest.ts +23 -4
- package/src/scripts/build_linear_digest.ts +23 -3
- package/src/scripts/build_mcp_registry_manifest.ts +23 -4
- package/src/scripts/build_rule_trigger_matrix.ts +23 -4
- package/src/scripts/capture_showcase_session.ts +23 -1
- package/src/scripts/chat_history.ts +24 -3
- package/src/scripts/check_always_budget.ts +23 -2
- package/src/scripts/check_artefact_checksums.ts +23 -4
- package/src/scripts/check_augment_description_cap.ts +23 -4
- package/src/scripts/check_augmentignore.ts +23 -4
- package/src/scripts/check_beta_review_markers.ts +23 -4
- package/src/scripts/check_cluster_patterns.ts +23 -4
- package/src/scripts/check_command_count_messaging.ts +23 -4
- package/src/scripts/check_comparison.ts +23 -1
- package/src/scripts/check_condensation.ts +24 -3
- package/src/scripts/check_condensed_paths.ts +23 -2
- package/src/scripts/check_context_paths.ts +23 -4
- package/src/scripts/check_council_config_location.ts +23 -4
- package/src/scripts/check_council_layout.ts +23 -4
- package/src/scripts/check_council_references.ts +23 -4
- package/src/scripts/check_discovery_determinism.ts +24 -4
- package/src/scripts/check_gate_paths.ts +23 -4
- package/src/scripts/check_generated_artefact_headers.ts +23 -4
- package/src/scripts/check_generator_output_coverage.ts +23 -4
- package/src/scripts/check_gitignore_freshness.ts +23 -4
- package/src/scripts/check_iron_law_prominence.ts +23 -4
- package/src/scripts/check_kernel_prefix_stability.ts +0 -0
- package/src/scripts/check_kernel_rule_bundle.ts +23 -4
- package/src/scripts/check_knowledge_cards.ts +23 -1
- package/src/scripts/check_md_language.ts +23 -4
- package/src/scripts/check_media_deps.ts +24 -1
- package/src/scripts/check_memory.ts +24 -2
- package/src/scripts/check_memory_proposal.ts +23 -4
- package/src/scripts/check_module_management_neutral.ts +23 -4
- package/src/scripts/check_no_conflict_markers.ts +23 -4
- package/src/scripts/check_no_external_sources.ts +23 -4
- package/src/scripts/check_no_local_settings_committed.ts +24 -4
- package/src/scripts/check_no_new_legacy_path.ts +23 -4
- package/src/scripts/check_no_roadmap_refs.ts +23 -4
- package/src/scripts/check_one_off_location.ts +23 -4
- package/src/scripts/check_overlay_cascade_subdirs.ts +23 -4
- package/src/scripts/check_portability.ts +24 -3
- package/src/scripts/check_proposal.ts +0 -0
- package/src/scripts/check_public_catalog_links.ts +23 -4
- package/src/scripts/check_public_links.ts +23 -4
- package/src/scripts/check_quality_regression.ts +23 -2
- package/src/scripts/check_references.ts +23 -4
- package/src/scripts/check_release_includes_discovery.ts +23 -4
- package/src/scripts/check_release_pr_shape.ts +23 -4
- package/src/scripts/check_release_published.ts +23 -4
- package/src/scripts/check_release_trunk_sync.ts +23 -4
- package/src/scripts/check_reply_consistency.ts +23 -4
- package/src/scripts/check_roadmap_trackable.ts +23 -4
- package/src/scripts/check_role_doc_links.ts +23 -4
- package/src/scripts/check_safety_floor_untouched.ts +24 -4
- package/src/scripts/check_site_links.ts +23 -1
- package/src/scripts/check_skill_gaps.ts +23 -1
- package/src/scripts/check_skill_requires.ts +23 -4
- package/src/scripts/check_structural_breaking.ts +24 -4
- package/src/scripts/check_surface_tiers.ts +23 -4
- package/src/scripts/check_template_pin_drift.ts +23 -4
- package/src/scripts/check_test_coverage_diff.ts +23 -4
- package/src/scripts/check_token_optimizer_freshness.ts +23 -4
- package/src/scripts/check_token_quality_golden.ts +23 -2
- package/src/scripts/check_token_regression.ts +23 -2
- package/src/scripts/check_tracked_but_ignored.ts +24 -4
- package/src/scripts/check_trigger_evals.ts +23 -4
- package/src/scripts/check_trunk_drift.ts +24 -1
- package/src/scripts/check_update_banner.ts +23 -4
- package/src/scripts/ci_summary.ts +23 -4
- package/src/scripts/ci_time_ratio.ts +23 -4
- package/src/scripts/cluster_near_miss_patterns.ts +0 -0
- package/src/scripts/compile_router.ts +23 -4
- package/src/scripts/condense.ts +23 -2
- package/src/scripts/condense_memory.ts +24 -2
- package/src/scripts/config/packs.ts +24 -4
- package/src/scripts/config/session_profiles.ts +23 -4
- package/src/scripts/context_hygiene_hook.ts +24 -3
- package/src/scripts/cost_by_conversation.ts +23 -4
- package/src/scripts/cost_summary.ts +23 -4
- package/src/scripts/council_cli.ts +35 -7
- package/src/scripts/council_prune.ts +25 -2
- package/src/scripts/cross_repo_retrieve.ts +23 -4
- package/src/scripts/discovery_stats.ts +23 -4
- package/src/scripts/evidence_report.ts +23 -1
- package/src/scripts/export_replay_corpus.ts +23 -2
- package/src/scripts/extract_audit_patterns.ts +23 -1
- package/src/scripts/first_run_gate_hook.ts +24 -3
- package/src/scripts/gen_discovery_baseline.ts +23 -4
- package/src/scripts/generate_capabilities_index.ts +24 -5
- package/src/scripts/generate_capability_matrix.ts +23 -4
- package/src/scripts/generate_catalog.ts +23 -1
- package/src/scripts/generate_command_flows.ts +23 -4
- package/src/scripts/generate_cookbook.ts +23 -4
- package/src/scripts/generate_index.ts +23 -4
- package/src/scripts/generate_ownership_matrix.ts +23 -1
- package/src/scripts/generate_pack_manifests.ts +24 -5
- package/src/scripts/generate_role_experiences_catalog.ts +23 -4
- package/src/scripts/hooks/block_no_verify.ts +23 -4
- package/src/scripts/hooks/design_slop_hook.ts +24 -3
- package/src/scripts/hooks/dispatch_hook.ts +47 -14
- package/src/scripts/hooks/replay_hook.ts +23 -2
- package/src/scripts/hooks/rtk_wrap_hook.ts +24 -5
- package/src/scripts/hooks_doctor.ts +23 -2
- package/src/scripts/hooks_status.ts +23 -2
- package/src/scripts/injection_scan_hook.ts +24 -5
- package/src/scripts/install.ts +72 -44
- package/src/scripts/inventory_abstraction_budget.ts +23 -1
- package/src/scripts/inventory_frontmatter.ts +23 -1
- package/src/scripts/inventory_meta_layers.ts +23 -1
- package/src/scripts/iron_law_sha.ts +23 -4
- package/src/scripts/janitor.ts +23 -4
- package/src/scripts/knowledge_global_cli.ts +24 -2
- package/src/scripts/linked_projects_list.ts +23 -4
- package/src/scripts/lint_agent_security.ts +23 -4
- package/src/scripts/lint_agent_skill_names.ts +23 -4
- package/src/scripts/lint_agents_layout.ts +23 -4
- package/src/scripts/lint_agents_md.ts +23 -4
- package/src/scripts/lint_archived_skills.ts +23 -4
- package/src/scripts/lint_artefact_frontmatter.ts +23 -4
- package/src/scripts/lint_bench_ab.ts +23 -4
- package/src/scripts/lint_bench_corpus.ts +23 -2
- package/src/scripts/lint_command_flow_coverage.ts +23 -4
- package/src/scripts/lint_command_routing.ts +23 -4
- package/src/scripts/lint_command_tiers.ts +23 -2
- package/src/scripts/lint_command_verbs.ts +23 -4
- package/src/scripts/lint_commit_subjects.ts +24 -4
- package/src/scripts/lint_confusables.ts +25 -5
- package/src/scripts/lint_context_spine_usage.ts +23 -4
- package/src/scripts/lint_discovery_manifest.ts +23 -4
- package/src/scripts/lint_discovery_vocabulary.ts +23 -4
- package/src/scripts/lint_empty_roadmaps.ts +23 -4
- package/src/scripts/lint_eval_freshness.ts +23 -4
- package/src/scripts/lint_examples.ts +23 -4
- package/src/scripts/lint_explain_trace.ts +23 -4
- package/src/scripts/lint_featured_skills.ts +0 -0
- package/src/scripts/lint_flows.ts +23 -4
- package/src/scripts/lint_framework_leakage.ts +23 -4
- package/src/scripts/lint_frontmatter_boilerplate.ts +23 -4
- package/src/scripts/lint_ghostwriter_source.ts +23 -4
- package/src/scripts/lint_global_paths.ts +23 -2
- package/src/scripts/lint_handoffs.ts +23 -4
- package/src/scripts/lint_hidden_unicode.ts +24 -5
- package/src/scripts/lint_hook_concern_budget.ts +23 -4
- package/src/scripts/lint_hook_manifest.ts +23 -2
- package/src/scripts/lint_instruction_smuggling.ts +25 -5
- package/src/scripts/lint_legal_pack.ts +23 -1
- package/src/scripts/lint_load_context.ts +23 -4
- package/src/scripts/lint_marketplace.ts +24 -3
- package/src/scripts/lint_marketplace_install_completeness.ts +23 -4
- package/src/scripts/lint_mcp_config_security.ts +25 -5
- package/src/scripts/lint_mcp_registry_manifest.ts +23 -4
- package/src/scripts/lint_media_policy_linkage.ts +23 -4
- package/src/scripts/lint_missions.ts +23 -4
- package/src/scripts/lint_model_tier_coverage.ts +23 -4
- package/src/scripts/lint_namespace.ts +23 -4
- package/src/scripts/lint_namespace_collisions.ts +23 -4
- package/src/scripts/lint_new_skill_gate.ts +23 -4
- package/src/scripts/lint_no_new_atomic_commands.ts +23 -4
- package/src/scripts/lint_one_off_age.ts +23 -4
- package/src/scripts/lint_orchestration_dsl.ts +23 -4
- package/src/scripts/lint_orchestrator_auto_detect.ts +23 -4
- package/src/scripts/lint_pack_boundaries.ts +23 -4
- package/src/scripts/lint_pack_dependencies.ts +23 -2
- package/src/scripts/lint_pack_first_win.ts +23 -4
- package/src/scripts/lint_pack_risk_class.ts +23 -1
- package/src/scripts/lint_persona_governance.ts +23 -4
- package/src/scripts/lint_positioning.ts +23 -4
- package/src/scripts/lint_profile_overlay_set_only.ts +23 -4
- package/src/scripts/lint_readme_jargon.ts +23 -4
- package/src/scripts/lint_readme_size.ts +23 -4
- package/src/scripts/lint_regression.ts +23 -4
- package/src/scripts/lint_roadmap_blockers.ts +23 -4
- package/src/scripts/lint_roadmap_ci_steps.ts +23 -4
- package/src/scripts/lint_roadmap_complexity.ts +23 -4
- package/src/scripts/lint_roadmap_later_disposition.ts +23 -4
- package/src/scripts/lint_role_experiences.ts +23 -4
- package/src/scripts/lint_rule_interactions.ts +23 -4
- package/src/scripts/lint_rule_tiers.ts +24 -3
- package/src/scripts/lint_showcase_sessions.ts +23 -4
- package/src/scripts/lint_skill_frontmatter_safety.ts +25 -5
- package/src/scripts/lint_skill_originality.ts +23 -4
- package/src/scripts/lint_skill_tools.ts +23 -4
- package/src/scripts/lint_subagent_determinism.ts +23 -4
- package/src/scripts/lint_ticket_buildable.ts +23 -4
- package/src/scripts/lint_topics_yaml.ts +23 -4
- package/src/scripts/lint_trust_coherence.ts +23 -4
- package/src/scripts/lint_value_dashboard.ts +23 -4
- package/src/scripts/lint_workflow_security.ts +23 -4
- package/src/scripts/lint_workspace_boundary.ts +23 -4
- package/src/scripts/mcp_parity_smoke.ts +23 -2
- package/src/scripts/mcp_render.ts +23 -4
- package/src/scripts/mcp_telemetry_health.ts +23 -4
- package/src/scripts/mcp_telemetry_query.ts +23 -4
- package/src/scripts/mcp_telemetry_store.ts +23 -4
- package/src/scripts/measure_augment_budget.ts +23 -1
- package/src/scripts/measure_density.ts +23 -1
- package/src/scripts/measure_frugality_savings.ts +23 -1
- package/src/scripts/measure_markitdown_lift.ts +23 -1
- package/src/scripts/measure_patterns.ts +23 -1
- package/src/scripts/measure_projection_bytes.ts +23 -1
- package/src/scripts/measure_rule_budget.ts +23 -4
- package/src/scripts/measure_skill_reduction.ts +23 -1
- package/src/scripts/memory_hash.ts +24 -2
- package/src/scripts/memory_lookup.ts +24 -2
- package/src/scripts/memory_report.ts +24 -2
- package/src/scripts/memory_signal.ts +24 -2
- package/src/scripts/memory_status.ts +26 -2
- package/src/scripts/migrate_command_suggestions.ts +23 -4
- package/src/scripts/migrate_frontmatter_defaults.ts +23 -4
- package/src/scripts/migration_status.ts +25 -4
- package/src/scripts/mine_missing_guardrails.ts +23 -1
- package/src/scripts/mine_session.ts +23 -1
- package/src/scripts/minimal_safe_diff_hook.ts +24 -3
- package/src/scripts/new_skill.ts +23 -3
- package/src/scripts/onboarding_gate_hook.ts +24 -3
- package/src/scripts/parity/coverage_diff.ts +25 -3
- package/src/scripts/parity/phase_gate.ts +25 -4
- package/src/scripts/parity/replay.ts +25 -3
- package/src/scripts/pattern_share.ts +23 -4
- package/src/scripts/plan_physical_move.ts +23 -4
- package/src/scripts/prediction-pool/poisson_sim.ts +24 -3
- package/src/scripts/prediction-pool/pool_winsim.ts +24 -3
- package/src/scripts/prediction-pool/score_ev.ts +24 -3
- package/src/scripts/print_required_checks.ts +24 -4
- package/src/scripts/probe_host_compliance.ts +23 -2
- package/src/scripts/probe_projection_fidelity.ts +23 -1
- package/src/scripts/probe_skill_registration.ts +24 -2
- package/src/scripts/profile_staleness_hook.ts +24 -3
- package/src/scripts/profile_use.ts +23 -4
- package/src/scripts/project_thin_rules.ts +23 -3
- package/src/scripts/propose_modules_config.ts +23 -4
- package/src/scripts/prototype_lint_contradictions.ts +23 -1
- package/src/scripts/prove_pack_extractable.ts +23 -4
- package/src/scripts/readme_linter.ts +23 -3
- package/src/scripts/redact_hook_capture.ts +23 -4
- package/src/scripts/refine_ticket_detect.ts +23 -4
- package/src/scripts/release.ts +23 -4
- package/src/scripts/render_benchmark_composite.ts +23 -4
- package/src/scripts/render_benchmark_md.ts +23 -4
- package/src/scripts/roadmap_progress_hook.ts +46 -16
- package/src/scripts/run_skill_evals.ts +23 -4
- package/src/scripts/runtime_dispatcher.ts +23 -4
- package/src/scripts/runtime_registry.ts +23 -4
- package/src/scripts/score_skill_selection.ts +23 -1
- package/src/scripts/security_audit_config.ts +24 -5
- package/src/scripts/skill_collision_clusters.ts +23 -4
- package/src/scripts/skill_discovery.ts +23 -4
- package/src/scripts/skill_linter.ts +23 -2
- package/src/scripts/skill_preview.ts +23 -4
- package/src/scripts/skill_tools/audit_persona_coverage.ts +23 -1
- package/src/scripts/skill_tools/audit_user_type_coverage.ts +23 -1
- package/src/scripts/skill_tools/run_block_d_eval.ts +23 -1
- package/src/scripts/skill_tools/score_skill_relevance.ts +23 -1
- package/src/scripts/skill_tools/suggest_skill_for_task.ts +24 -1
- package/src/scripts/skill_usage_collect.ts +23 -4
- package/src/scripts/smoke_path_resolution.ts +23 -4
- package/src/scripts/smoke_quickstart.ts +23 -4
- package/src/scripts/snapshot_agent_outputs.ts +23 -4
- package/src/scripts/spotcheck_thin_root.ts +23 -4
- package/src/scripts/sync_agent_settings.ts +23 -4
- package/src/scripts/sync_github_metadata.ts +23 -4
- package/src/scripts/sync_gitignore.ts +23 -4
- package/src/scripts/telegraph_stats.ts +23 -4
- package/src/scripts/tool_registry.ts +24 -4
- package/src/scripts/trigger_coverage.ts +23 -4
- package/src/scripts/update_counts.ts +23 -4
- package/src/scripts/update_prices.ts +23 -1
- package/src/scripts/validate_agent_settings.ts +23 -4
- package/src/scripts/validate_decision_engine.ts +23 -4
- package/src/scripts/validate_discovery_manifest.ts +23 -4
- package/src/scripts/validate_frontmatter.ts +23 -2
- package/src/scripts/validate_pack_yaml.ts +0 -0
- package/src/scripts/validate_safe_paths.ts +24 -4
- package/src/scripts/validate_telegraph_carveouts.ts +23 -4
- package/src/scripts/verify_before_complete_hook.ts +24 -3
- package/src/scripts/verify_physical_move.ts +23 -4
- package/src/scripts/wrapper_freshness_hook.ts +107 -8
- package/tests/fixtures/hooks/README.md +92 -0
- package/tests/fixtures/hooks/agent_error.json +7 -0
- package/tests/fixtures/hooks/post_tool_use.json +13 -0
- package/tests/fixtures/hooks/pre_compact.json +7 -0
- package/tests/fixtures/hooks/pre_tool_use.json +9 -0
- package/tests/fixtures/hooks/session_end.json +6 -0
- package/tests/fixtures/hooks/session_start.json +6 -0
- package/tests/fixtures/hooks/stop.json +6 -0
- package/tests/fixtures/hooks/user_prompt_submit.json +7 -0
|
@@ -244,10 +244,29 @@ function main(argv?: readonly string[]): number {
|
|
|
244
244
|
return 0;
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
-
|
|
248
|
-
process.argv[1]
|
|
249
|
-
|
|
250
|
-
|
|
247
|
+
function _isCliEntry(): boolean {
|
|
248
|
+
if (process.argv[1] === undefined) {
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
252
|
+
if (import.meta.url === argvUrl) {
|
|
253
|
+
return true;
|
|
254
|
+
}
|
|
255
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
256
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
257
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
258
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
259
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
260
|
+
try {
|
|
261
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
262
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
263
|
+
return here === argv;
|
|
264
|
+
} catch {
|
|
265
|
+
return false;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
251
270
|
process.exit(main());
|
|
252
271
|
}
|
|
253
272
|
|
|
@@ -269,10 +269,29 @@ function main(): number {
|
|
|
269
269
|
return rc;
|
|
270
270
|
}
|
|
271
271
|
|
|
272
|
-
|
|
273
|
-
process.argv[1]
|
|
274
|
-
|
|
275
|
-
|
|
272
|
+
function _isCliEntry(): boolean {
|
|
273
|
+
if (process.argv[1] === undefined) {
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
277
|
+
if (import.meta.url === argvUrl) {
|
|
278
|
+
return true;
|
|
279
|
+
}
|
|
280
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
281
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
282
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
283
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
284
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
285
|
+
try {
|
|
286
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
287
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
288
|
+
return here === argv;
|
|
289
|
+
} catch {
|
|
290
|
+
return false;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
276
295
|
process.exit(main());
|
|
277
296
|
}
|
|
278
297
|
|
|
@@ -289,10 +289,29 @@ function _sortedListRepr(s: Set<string>): string {
|
|
|
289
289
|
return '[' + items.map((x) => `'${x}'`).join(', ') + ']';
|
|
290
290
|
}
|
|
291
291
|
|
|
292
|
-
|
|
293
|
-
process.argv[1]
|
|
294
|
-
|
|
295
|
-
|
|
292
|
+
function _isCliEntry(): boolean {
|
|
293
|
+
if (process.argv[1] === undefined) {
|
|
294
|
+
return false;
|
|
295
|
+
}
|
|
296
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
297
|
+
if (import.meta.url === argvUrl) {
|
|
298
|
+
return true;
|
|
299
|
+
}
|
|
300
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
301
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
302
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
303
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
304
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
305
|
+
try {
|
|
306
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
307
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
308
|
+
return here === argv;
|
|
309
|
+
} catch {
|
|
310
|
+
return false;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
296
315
|
process.exit(main());
|
|
297
316
|
}
|
|
298
317
|
|
|
@@ -339,10 +339,29 @@ function _sortedListRepr(s: Set<string>): string {
|
|
|
339
339
|
return '[' + [...s].sort().map((x) => `'${x}'`).join(', ') + ']';
|
|
340
340
|
}
|
|
341
341
|
|
|
342
|
-
|
|
343
|
-
process.argv[1]
|
|
344
|
-
|
|
345
|
-
|
|
342
|
+
function _isCliEntry(): boolean {
|
|
343
|
+
if (process.argv[1] === undefined) {
|
|
344
|
+
return false;
|
|
345
|
+
}
|
|
346
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
347
|
+
if (import.meta.url === argvUrl) {
|
|
348
|
+
return true;
|
|
349
|
+
}
|
|
350
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
351
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
352
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
353
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
354
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
355
|
+
try {
|
|
356
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
357
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
358
|
+
return here === argv;
|
|
359
|
+
} catch {
|
|
360
|
+
return false;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
346
365
|
process.exit(main());
|
|
347
366
|
}
|
|
348
367
|
|
|
@@ -300,10 +300,29 @@ function isPlainObject(v: unknown): v is Record<string, unknown> {
|
|
|
300
300
|
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
-
|
|
304
|
-
process.argv[1]
|
|
305
|
-
|
|
306
|
-
|
|
303
|
+
function _isCliEntry(): boolean {
|
|
304
|
+
if (process.argv[1] === undefined) {
|
|
305
|
+
return false;
|
|
306
|
+
}
|
|
307
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
308
|
+
if (import.meta.url === argvUrl) {
|
|
309
|
+
return true;
|
|
310
|
+
}
|
|
311
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
312
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
313
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
314
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
315
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
316
|
+
try {
|
|
317
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
318
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
319
|
+
return here === argv;
|
|
320
|
+
} catch {
|
|
321
|
+
return false;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
307
326
|
process.exit(main());
|
|
308
327
|
}
|
|
309
328
|
|
|
@@ -413,9 +413,30 @@ function pyRepr(v: YamlValue | undefined): string {
|
|
|
413
413
|
return JSON.stringify(v);
|
|
414
414
|
}
|
|
415
415
|
|
|
416
|
+
function _isCliEntry(): boolean {
|
|
417
|
+
if (process.argv[1] === undefined) {
|
|
418
|
+
return false;
|
|
419
|
+
}
|
|
420
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
421
|
+
if (import.meta.url === argvUrl) {
|
|
422
|
+
return true;
|
|
423
|
+
}
|
|
424
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
425
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
426
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
427
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
428
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
429
|
+
try {
|
|
430
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
431
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
432
|
+
return here === argv;
|
|
433
|
+
} catch {
|
|
434
|
+
return false;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
|
|
416
438
|
const isCliEntry =
|
|
417
|
-
|
|
418
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
439
|
+
_isCliEntry();
|
|
419
440
|
if (isCliEntry) {
|
|
420
441
|
process.exit(main());
|
|
421
442
|
}
|
|
@@ -221,10 +221,29 @@ function _setDiff(a: Set<string>, b: Set<string>): Set<string> {
|
|
|
221
221
|
return out;
|
|
222
222
|
}
|
|
223
223
|
|
|
224
|
-
|
|
225
|
-
process.argv[1]
|
|
226
|
-
|
|
227
|
-
|
|
224
|
+
function _isCliEntry(): boolean {
|
|
225
|
+
if (process.argv[1] === undefined) {
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
229
|
+
if (import.meta.url === argvUrl) {
|
|
230
|
+
return true;
|
|
231
|
+
}
|
|
232
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
233
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
234
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
235
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
236
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
237
|
+
try {
|
|
238
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
239
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
240
|
+
return here === argv;
|
|
241
|
+
} catch {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
228
247
|
process.exit(main());
|
|
229
248
|
}
|
|
230
249
|
|
|
@@ -356,10 +356,29 @@ function parse_args(argv: readonly string[]): void {
|
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
358
|
|
|
359
|
-
|
|
360
|
-
process.argv[1]
|
|
361
|
-
|
|
362
|
-
|
|
359
|
+
function _isCliEntry(): boolean {
|
|
360
|
+
if (process.argv[1] === undefined) {
|
|
361
|
+
return false;
|
|
362
|
+
}
|
|
363
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
364
|
+
if (import.meta.url === argvUrl) {
|
|
365
|
+
return true;
|
|
366
|
+
}
|
|
367
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
368
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
369
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
370
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
371
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
372
|
+
try {
|
|
373
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
374
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
375
|
+
return here === argv;
|
|
376
|
+
} catch {
|
|
377
|
+
return false;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
363
382
|
process.exit(main());
|
|
364
383
|
}
|
|
365
384
|
|
|
@@ -337,9 +337,30 @@ export function main(): number {
|
|
|
337
337
|
return rc;
|
|
338
338
|
}
|
|
339
339
|
|
|
340
|
+
function _isCliEntry(): boolean {
|
|
341
|
+
if (process.argv[1] === undefined) {
|
|
342
|
+
return false;
|
|
343
|
+
}
|
|
344
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
345
|
+
if (import.meta.url === argvUrl) {
|
|
346
|
+
return true;
|
|
347
|
+
}
|
|
348
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
349
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
350
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
351
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
352
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
353
|
+
try {
|
|
354
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
355
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
356
|
+
return here === argv;
|
|
357
|
+
} catch {
|
|
358
|
+
return false;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
340
362
|
const isCliEntry =
|
|
341
|
-
|
|
342
|
-
import.meta.url === pathToFileURL(path.resolve(process.argv[1])).href;
|
|
363
|
+
_isCliEntry();
|
|
343
364
|
if (isCliEntry) {
|
|
344
365
|
process.exit(main());
|
|
345
366
|
}
|
|
@@ -357,10 +357,29 @@ function main(): number {
|
|
|
357
357
|
return 0;
|
|
358
358
|
}
|
|
359
359
|
|
|
360
|
-
|
|
361
|
-
process.argv[1]
|
|
362
|
-
|
|
363
|
-
|
|
360
|
+
function _isCliEntry(): boolean {
|
|
361
|
+
if (process.argv[1] === undefined) {
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
365
|
+
if (import.meta.url === argvUrl) {
|
|
366
|
+
return true;
|
|
367
|
+
}
|
|
368
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
369
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
370
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
371
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
372
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
373
|
+
try {
|
|
374
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
375
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
376
|
+
return here === argv;
|
|
377
|
+
} catch {
|
|
378
|
+
return false;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
364
383
|
process.exit(main());
|
|
365
384
|
}
|
|
366
385
|
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
import { spawnSync } from 'node:child_process';
|
|
27
27
|
import * as path from 'node:path';
|
|
28
|
+
import * as fs from 'node:fs';
|
|
28
29
|
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
29
30
|
|
|
30
31
|
const _HERE = fileURLToPath(import.meta.url);
|
|
@@ -223,10 +224,29 @@ function main(argv?: readonly string[]): number {
|
|
|
223
224
|
return 0;
|
|
224
225
|
}
|
|
225
226
|
|
|
226
|
-
|
|
227
|
-
process.argv[1]
|
|
228
|
-
|
|
229
|
-
|
|
227
|
+
function _isCliEntry(): boolean {
|
|
228
|
+
if (process.argv[1] === undefined) {
|
|
229
|
+
return false;
|
|
230
|
+
}
|
|
231
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
232
|
+
if (import.meta.url === argvUrl) {
|
|
233
|
+
return true;
|
|
234
|
+
}
|
|
235
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
236
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
237
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
238
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
239
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
240
|
+
try {
|
|
241
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
242
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
243
|
+
return here === argv;
|
|
244
|
+
} catch {
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
230
250
|
process.exit(main());
|
|
231
251
|
}
|
|
232
252
|
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
// Usage: ./scripts-run src/scripts/lint_confusables [--json]
|
|
31
31
|
|
|
32
32
|
import * as path from 'node:path';
|
|
33
|
-
import
|
|
33
|
+
import * as fs from 'node:fs';
|
|
34
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
34
35
|
|
|
35
36
|
import * as sl from './_lib/security_lint.js';
|
|
36
37
|
|
|
@@ -189,9 +190,28 @@ export function main(argv: readonly string[] | null = null): number {
|
|
|
189
190
|
return sl.report(findings, { check_label: 'mixed-script-confusable' });
|
|
190
191
|
}
|
|
191
192
|
|
|
192
|
-
|
|
193
|
-
process.argv[1]
|
|
194
|
-
|
|
195
|
-
|
|
193
|
+
function _isCliEntry(): boolean {
|
|
194
|
+
if (process.argv[1] === undefined) {
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
198
|
+
if (import.meta.url === argvUrl) {
|
|
199
|
+
return true;
|
|
200
|
+
}
|
|
201
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
202
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
203
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
204
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
205
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
206
|
+
try {
|
|
207
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
208
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
209
|
+
return here === argv;
|
|
210
|
+
} catch {
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
if (_isCliEntry()) {
|
|
196
216
|
process.exitCode = main();
|
|
197
217
|
}
|
|
@@ -178,10 +178,29 @@ function main(): number {
|
|
|
178
178
|
return 0;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
|
|
182
|
-
process.argv[1]
|
|
183
|
-
|
|
184
|
-
|
|
181
|
+
function _isCliEntry(): boolean {
|
|
182
|
+
if (process.argv[1] === undefined) {
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
186
|
+
if (import.meta.url === argvUrl) {
|
|
187
|
+
return true;
|
|
188
|
+
}
|
|
189
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
190
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
191
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
192
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
193
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
194
|
+
try {
|
|
195
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
196
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
197
|
+
return here === argv;
|
|
198
|
+
} catch {
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
185
204
|
process.exit(main());
|
|
186
205
|
}
|
|
187
206
|
|
|
@@ -518,10 +518,29 @@ function _pyListRepr(items: readonly string[]): string {
|
|
|
518
518
|
return `[${items.map((i) => _pyRepr(i)).join(', ')}]`;
|
|
519
519
|
}
|
|
520
520
|
|
|
521
|
-
|
|
522
|
-
process.argv[1]
|
|
523
|
-
|
|
524
|
-
|
|
521
|
+
function _isCliEntry(): boolean {
|
|
522
|
+
if (process.argv[1] === undefined) {
|
|
523
|
+
return false;
|
|
524
|
+
}
|
|
525
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
526
|
+
if (import.meta.url === argvUrl) {
|
|
527
|
+
return true;
|
|
528
|
+
}
|
|
529
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
530
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
531
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
532
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
533
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
534
|
+
try {
|
|
535
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
536
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
537
|
+
return here === argv;
|
|
538
|
+
} catch {
|
|
539
|
+
return false;
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
525
544
|
process.exit(main());
|
|
526
545
|
}
|
|
527
546
|
|
|
@@ -375,10 +375,29 @@ function main(): number {
|
|
|
375
375
|
}
|
|
376
376
|
}
|
|
377
377
|
|
|
378
|
-
|
|
379
|
-
process.argv[1]
|
|
380
|
-
|
|
381
|
-
|
|
378
|
+
function _isCliEntry(): boolean {
|
|
379
|
+
if (process.argv[1] === undefined) {
|
|
380
|
+
return false;
|
|
381
|
+
}
|
|
382
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
383
|
+
if (import.meta.url === argvUrl) {
|
|
384
|
+
return true;
|
|
385
|
+
}
|
|
386
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
387
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
388
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
389
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
390
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
391
|
+
try {
|
|
392
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
393
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
394
|
+
return here === argv;
|
|
395
|
+
} catch {
|
|
396
|
+
return false;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
382
401
|
process.exit(main());
|
|
383
402
|
}
|
|
384
403
|
|
|
@@ -137,10 +137,29 @@ function main(): number {
|
|
|
137
137
|
return 1;
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
|
|
141
|
-
process.argv[1]
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
function _isCliEntry(): boolean {
|
|
141
|
+
if (process.argv[1] === undefined) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
145
|
+
if (import.meta.url === argvUrl) {
|
|
146
|
+
return true;
|
|
147
|
+
}
|
|
148
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
149
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
150
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
151
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
152
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
153
|
+
try {
|
|
154
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
155
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
156
|
+
return here === argv;
|
|
157
|
+
} catch {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
144
163
|
process.exitCode = main();
|
|
145
164
|
}
|
|
146
165
|
|
|
@@ -325,10 +325,29 @@ function main(argv?: readonly string[]): number {
|
|
|
325
325
|
return 0;
|
|
326
326
|
}
|
|
327
327
|
|
|
328
|
-
|
|
329
|
-
process.argv[1]
|
|
330
|
-
|
|
331
|
-
|
|
328
|
+
function _isCliEntry(): boolean {
|
|
329
|
+
if (process.argv[1] === undefined) {
|
|
330
|
+
return false;
|
|
331
|
+
}
|
|
332
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
333
|
+
if (import.meta.url === argvUrl) {
|
|
334
|
+
return true;
|
|
335
|
+
}
|
|
336
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
337
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
338
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
339
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
340
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
341
|
+
try {
|
|
342
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
343
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
344
|
+
return here === argv;
|
|
345
|
+
} catch {
|
|
346
|
+
return false;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
332
351
|
process.exitCode = main();
|
|
333
352
|
}
|
|
334
353
|
|
|
@@ -173,10 +173,29 @@ export function main(): number {
|
|
|
173
173
|
return 0;
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
-
|
|
177
|
-
process.argv[1]
|
|
178
|
-
|
|
179
|
-
|
|
176
|
+
function _isCliEntry(): boolean {
|
|
177
|
+
if (process.argv[1] === undefined) {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
181
|
+
if (import.meta.url === argvUrl) {
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
185
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
186
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
187
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
188
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
189
|
+
try {
|
|
190
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
191
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
192
|
+
return here === argv;
|
|
193
|
+
} catch {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
180
199
|
process.exit(main());
|
|
181
200
|
}
|
|
182
201
|
|