@event4u/agent-config 8.1.0 → 8.3.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 +3 -3
- package/CHANGELOG.md +83 -292
- package/MIGRATION.md +18 -0
- package/README.md +86 -3
- 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 +647 -408
- package/dist/mcp/registry-manifest.json +3 -3
- 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/CHANGELOG-conventions.md +8 -5
- package/docs/contracts/branch-protection-policy.md +14 -5
- package/docs/contracts/mcp-phase-1-scope.md +75 -0
- package/docs/contracts/mcp-tool-inventory.md +22 -15
- package/docs/contracts/release-pr-gating.md +22 -11
- 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/decisions/ADR-111-canonical-glama-listing.md +97 -0
- package/docs/decisions/ADR-112-stdio-lite-stays-read-only.md +92 -0
- package/docs/decisions/ADR-113-ci-native-release-label-trigger.md +201 -0
- package/docs/decisions/INDEX.md +3 -0
- package/docs/distribution/registry-submissions.md +1 -1
- package/docs/getting-started.md +8 -6
- 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/installation.md +13 -14
- package/docs/mcp-server.md +32 -20
- package/docs/proof.md +1 -1
- package/docs/setup/mcp-cloud-endpoints.md +9 -2
- package/docs/setup/per-ide/claude-code.md +10 -4
- package/package.json +4 -3
- 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 +196 -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 +45 -4
- package/src/scripts/_cli/cmd_update.ts +23 -4
- package/src/scripts/_cli/cmd_upgrade.ts +307 -17
- 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/claude_settings_hooks.ts +251 -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 +30 -31
- 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 +23 -4
- package/src/scripts/install.ts +102 -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_glama_drift.ts +75 -0
- 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_exec/safety_envelope.ts +105 -0
- package/src/scripts/mcp_parity_smoke.ts +23 -2
- package/src/scripts/mcp_registry_submit.sh +14 -3
- package/src/scripts/mcp_render.ts +23 -4
- package/src/scripts/mcp_server/__main__.ts +6 -8
- package/src/scripts/mcp_server/consumer_tool_catalog.json +78 -3
- package/src/scripts/mcp_server/tools.ts +731 -0
- 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 +226 -43
- 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
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
# under `.augment/templates/scripts/pr-risk-config.example.yml`). Without a
|
|
10
10
|
# config file the script falls back to sensible cross-stack defaults.
|
|
11
11
|
#
|
|
12
|
+
# Runtime: Node/tsx (py2ts migration) — the classifiers ship inside the
|
|
13
|
+
# `@event4u/agent-config` package and run through the package's own tsx
|
|
14
|
+
# runner; no Python and no consumer-local script copy required.
|
|
15
|
+
#
|
|
12
16
|
# This workflow is purely informational — it does NOT block merges. Gate the
|
|
13
17
|
# PR on a separate required check if you want a hard stop.
|
|
14
18
|
|
|
@@ -34,21 +38,26 @@ jobs:
|
|
|
34
38
|
with:
|
|
35
39
|
fetch-depth: 0
|
|
36
40
|
|
|
37
|
-
- name: Set up
|
|
38
|
-
uses: actions/setup-
|
|
41
|
+
- name: Set up Node
|
|
42
|
+
uses: actions/setup-node@v4
|
|
39
43
|
with:
|
|
40
|
-
|
|
44
|
+
node-version: "22"
|
|
41
45
|
|
|
42
|
-
- name: Install
|
|
43
|
-
run:
|
|
46
|
+
- name: Install agent-config
|
|
47
|
+
run: npm install -g @event4u/agent-config
|
|
44
48
|
|
|
45
49
|
- name: Classify risk
|
|
46
50
|
id: risk
|
|
47
51
|
env:
|
|
48
52
|
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
|
49
53
|
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
|
54
|
+
# Runs the packaged classifier via the package's own tsx runner; a
|
|
55
|
+
# consumer-local `scripts/pr_risk_review.ts` customization wins.
|
|
50
56
|
run: |
|
|
51
|
-
|
|
57
|
+
PKG="$(npm root -g)/@event4u/agent-config"
|
|
58
|
+
SCRIPT="$PKG/dist/agent-src/templates/scripts/pr_risk_review.ts"
|
|
59
|
+
[ -f scripts/pr_risk_review.ts ] && SCRIPT=scripts/pr_risk_review.ts
|
|
60
|
+
node "$PKG/node_modules/tsx/dist/cli.mjs" "$SCRIPT" \
|
|
52
61
|
--base "$BASE_SHA" \
|
|
53
62
|
--head "$HEAD_SHA" \
|
|
54
63
|
--config .github/pr-risk-config.yml \
|
|
@@ -100,7 +109,6 @@ jobs:
|
|
|
100
109
|
|
|
101
110
|
- name: Classify review routing
|
|
102
111
|
id: routing
|
|
103
|
-
if: hashFiles('scripts/pr_review_routing.py') != ''
|
|
104
112
|
env:
|
|
105
113
|
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
|
106
114
|
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
|
@@ -109,7 +117,10 @@ jobs:
|
|
|
109
117
|
# back to agents/ — matching the reviewer-awareness rule.
|
|
110
118
|
# Missing data files emit a generic fallback, not an error.
|
|
111
119
|
run: |
|
|
112
|
-
|
|
120
|
+
PKG="$(npm root -g)/@event4u/agent-config"
|
|
121
|
+
SCRIPT="$PKG/dist/agent-src/templates/scripts/pr_review_routing.ts"
|
|
122
|
+
[ -f scripts/pr_review_routing.ts ] && SCRIPT=scripts/pr_review_routing.ts
|
|
123
|
+
node "$PKG/node_modules/tsx/dist/cli.mjs" "$SCRIPT" \
|
|
113
124
|
--base "$BASE_SHA" \
|
|
114
125
|
--head "$HEAD_SHA" \
|
|
115
126
|
--output routing-report.md \
|
|
@@ -15,9 +15,12 @@
|
|
|
15
15
|
# This workflow is intentionally read-only — it never blocks a PR and
|
|
16
16
|
# never modifies the repo. It only opens / updates a tracking issue.
|
|
17
17
|
#
|
|
18
|
+
# Runtime: Node/tsx (py2ts migration) — the report runs through the
|
|
19
|
+
# repo's own tsx runner (`./scripts-run`); no Python required.
|
|
20
|
+
#
|
|
18
21
|
# Prerequisites:
|
|
19
|
-
# - `scripts/memory_report.
|
|
20
|
-
# package).
|
|
22
|
+
# - `dist/agent-src/templates/scripts/memory_report.ts` present in the
|
|
23
|
+
# repo (ships with the package).
|
|
21
24
|
# - Proposals live under `agents/proposals/` with the schema defined
|
|
22
25
|
# in `dist/agent-src/templates/agents/proposal.example.md`.
|
|
23
26
|
|
|
@@ -45,13 +48,13 @@ jobs:
|
|
|
45
48
|
with:
|
|
46
49
|
fetch-depth: 0
|
|
47
50
|
|
|
48
|
-
- name: Set up
|
|
49
|
-
uses: actions/setup-
|
|
51
|
+
- name: Set up Node
|
|
52
|
+
uses: actions/setup-node@v4
|
|
50
53
|
with:
|
|
51
|
-
|
|
54
|
+
node-version: "22"
|
|
52
55
|
|
|
53
|
-
- name: Install
|
|
54
|
-
run:
|
|
56
|
+
- name: Install dependencies
|
|
57
|
+
run: npm ci
|
|
55
58
|
|
|
56
59
|
- name: Build quarterly report
|
|
57
60
|
id: report
|
|
@@ -63,7 +66,7 @@ jobs:
|
|
|
63
66
|
echo "Accepted vs. retired for the last quarter."
|
|
64
67
|
echo
|
|
65
68
|
echo '```'
|
|
66
|
-
|
|
69
|
+
./scripts-run dist/agent-src/templates/scripts/memory_report --format text
|
|
67
70
|
echo '```'
|
|
68
71
|
echo
|
|
69
72
|
echo "Open proposals by stage:"
|
|
@@ -9,12 +9,10 @@
|
|
|
9
9
|
# A green check here proves the dashboard reflects reality on every PR
|
|
10
10
|
# that touches roadmaps.
|
|
11
11
|
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
-
#
|
|
16
|
-
# short-circuits the check with a passing exit (consumer projects
|
|
17
|
-
# that haven't adopted roadmaps stay green).
|
|
12
|
+
# Runtime: Node/tsx (py2ts migration) — the check runs through the
|
|
13
|
+
# `@event4u/agent-config` package via npx; no Python, no local install
|
|
14
|
+
# required. Absence of `agents/roadmaps/` short-circuits with a passing
|
|
15
|
+
# exit (consumer projects that haven't adopted roadmaps stay green).
|
|
18
16
|
#
|
|
19
17
|
# This workflow is intentionally narrow: it only runs when relevant
|
|
20
18
|
# files change, so it adds zero overhead to unrelated PRs.
|
|
@@ -27,12 +25,12 @@ on:
|
|
|
27
25
|
paths:
|
|
28
26
|
- "agents/roadmaps/**"
|
|
29
27
|
- "agents/roadmaps-progress.md"
|
|
30
|
-
- ".augment/scripts/update_roadmap_progress.
|
|
28
|
+
- ".augment/scripts/update_roadmap_progress.ts"
|
|
31
29
|
pull_request:
|
|
32
30
|
paths:
|
|
33
31
|
- "agents/roadmaps/**"
|
|
34
32
|
- "agents/roadmaps-progress.md"
|
|
35
|
-
- ".augment/scripts/update_roadmap_progress.
|
|
33
|
+
- ".augment/scripts/update_roadmap_progress.ts"
|
|
36
34
|
workflow_dispatch: {}
|
|
37
35
|
|
|
38
36
|
permissions:
|
|
@@ -45,12 +43,12 @@ jobs:
|
|
|
45
43
|
steps:
|
|
46
44
|
- uses: actions/checkout@v4
|
|
47
45
|
|
|
48
|
-
- uses: actions/setup-
|
|
46
|
+
- uses: actions/setup-node@v4
|
|
49
47
|
with:
|
|
50
|
-
|
|
48
|
+
node-version: "22"
|
|
51
49
|
|
|
52
50
|
- name: Run roadmap progress check
|
|
53
|
-
run:
|
|
51
|
+
run: npx --yes @event4u/agent-config roadmap:progress-check
|
|
54
52
|
|
|
55
53
|
- name: Remediation hint on failure
|
|
56
54
|
if: failure()
|
|
@@ -58,6 +56,6 @@ jobs:
|
|
|
58
56
|
echo "::error::roadmaps-progress.md is stale."
|
|
59
57
|
echo "Regenerate locally with one of:"
|
|
60
58
|
echo " ./agent-config roadmap:progress"
|
|
59
|
+
echo " agent-config roadmap:progress"
|
|
61
60
|
echo " task roadmap-progress"
|
|
62
|
-
echo " python3 .augment/scripts/update_roadmap_progress.py"
|
|
63
61
|
echo "Then commit and push the updated agents/roadmaps-progress.md."
|
|
@@ -16,22 +16,23 @@
|
|
|
16
16
|
set -e
|
|
17
17
|
|
|
18
18
|
# Only act on commits that touch the source-of-truth artefact tree
|
|
19
|
-
# (or the linter / vocabulary that govern it).
|
|
19
|
+
# (or the linter / vocabulary that govern it). The runtime is Node/tsx
|
|
20
|
+
# (py2ts migration) — the linter runs through the package tsx runner,
|
|
21
|
+
# never python3.
|
|
20
22
|
staged="$(git diff --cached --name-only --diff-filter=ACMR 2>/dev/null || true)"
|
|
21
23
|
case "$staged" in
|
|
22
|
-
*.agent-src.uncondensed/*.md*|*config/discovery/*.yml*|*scripts/lint_artefact_frontmatter.
|
|
24
|
+
*.agent-src.uncondensed/*.md*|*src/agent-src/*.md*|*config/discovery/*.yml*|*scripts/lint_artefact_frontmatter.ts*)
|
|
23
25
|
: ;;
|
|
24
26
|
*)
|
|
25
27
|
exit 0 ;;
|
|
26
28
|
esac
|
|
27
29
|
|
|
28
|
-
# Resolve the linter —
|
|
29
|
-
# the source
|
|
30
|
+
# Resolve the linter — a source-repo artefact (the frontmatter contract
|
|
31
|
+
# governs the source tree; consumer repos have nothing to lint).
|
|
30
32
|
script=""
|
|
31
33
|
for cand in \
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"scripts/lint_artefact_frontmatter.py"; do
|
|
34
|
+
"src/scripts/lint_artefact_frontmatter.ts" \
|
|
35
|
+
".augment/scripts/lint_artefact_frontmatter.ts"; do
|
|
35
36
|
if [ -f "$cand" ]; then
|
|
36
37
|
script="$cand"
|
|
37
38
|
break
|
|
@@ -39,17 +40,26 @@ for cand in \
|
|
|
39
40
|
done
|
|
40
41
|
|
|
41
42
|
if [ -z "$script" ]; then
|
|
42
|
-
echo "⚠️ pre-commit-frontmatter: lint_artefact_frontmatter.
|
|
43
|
-
echo " Run \`task install\` (or \`./agent-config install\`) and retry." >&2
|
|
43
|
+
echo "⚠️ pre-commit-frontmatter: lint_artefact_frontmatter.ts not found." >&2
|
|
44
44
|
echo " Skipping check — letting commit through." >&2
|
|
45
45
|
exit 0
|
|
46
46
|
fi
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
run_lint() {
|
|
49
|
+
if [ -x "./scripts-run" ]; then
|
|
50
|
+
./scripts-run src/scripts/lint_artefact_frontmatter --quiet
|
|
51
|
+
elif [ -x "node_modules/.bin/tsx" ]; then
|
|
52
|
+
node_modules/.bin/tsx "$script" --quiet
|
|
53
|
+
else
|
|
54
|
+
npx tsx "$script" --quiet
|
|
55
|
+
fi
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if ! run_lint >/dev/null 2>&1; then
|
|
49
59
|
echo "❌ Artefact frontmatter lint failed (ADR-013 contract violation)." >&2
|
|
50
60
|
echo "" >&2
|
|
51
61
|
echo " Re-run for details:" >&2
|
|
52
|
-
echo "
|
|
62
|
+
echo " ./scripts-run src/scripts/lint_artefact_frontmatter" >&2
|
|
53
63
|
echo " task lint-artefact-frontmatter" >&2
|
|
54
64
|
echo "" >&2
|
|
55
65
|
echo " Common fixes:" >&2
|
|
@@ -5,11 +5,14 @@
|
|
|
5
5
|
# Two opt-in checks run on relevant staged paths and short-circuit
|
|
6
6
|
# otherwise:
|
|
7
7
|
# 1. agents/roadmaps-progress.md sync (against agents/roadmaps/*.md)
|
|
8
|
-
# 2. ADR-013 per-artefact frontmatter contract (
|
|
8
|
+
# 2. ADR-013 per-artefact frontmatter contract (source repo only)
|
|
9
|
+
#
|
|
10
|
+
# The runtime is Node/tsx (py2ts migration) — both checks run through the
|
|
11
|
+
# `agent-config` CLI / the package tsx runner, never python3.
|
|
9
12
|
#
|
|
10
13
|
# To run manually:
|
|
11
14
|
# ./agent-config roadmap:progress-check
|
|
12
|
-
#
|
|
15
|
+
# ./scripts-run src/scripts/lint_artefact_frontmatter
|
|
13
16
|
#
|
|
14
17
|
# To uninstall:
|
|
15
18
|
# rm .git/hooks/pre-commit
|
|
@@ -20,11 +23,11 @@ staged="$(git diff --cached --name-only --diff-filter=ACMR 2>/dev/null || true)"
|
|
|
20
23
|
roadmap_relevant=false
|
|
21
24
|
frontmatter_relevant=false
|
|
22
25
|
case "$staged" in
|
|
23
|
-
*agents/roadmaps/*.md*|*agents/roadmaps-progress.md*|*.augment/scripts/update_roadmap_progress.
|
|
26
|
+
*agents/roadmaps/*.md*|*agents/roadmaps-progress.md*|*.augment/scripts/update_roadmap_progress.ts*)
|
|
24
27
|
roadmap_relevant=true ;;
|
|
25
28
|
esac
|
|
26
29
|
case "$staged" in
|
|
27
|
-
*.agent-src.uncondensed/*.md*|*config/discovery/*.yml*|*scripts/lint_artefact_frontmatter.
|
|
30
|
+
*.agent-src.uncondensed/*.md*|*src/agent-src/*.md*|*config/discovery/*.yml*|*scripts/lint_artefact_frontmatter.ts*)
|
|
28
31
|
frontmatter_relevant=true ;;
|
|
29
32
|
esac
|
|
30
33
|
|
|
@@ -32,33 +35,32 @@ if ! $roadmap_relevant && ! $frontmatter_relevant; then
|
|
|
32
35
|
exit 0
|
|
33
36
|
fi
|
|
34
37
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
# Resolve the agent-config CLI: project wrapper first (customization wins),
|
|
39
|
+
# then the global binary (ADR-020 global-only consumers).
|
|
40
|
+
agent_config_bin() {
|
|
41
|
+
if [ -x "./agent-config" ]; then
|
|
42
|
+
printf '%s\n' "./agent-config"
|
|
43
|
+
return 0
|
|
44
|
+
fi
|
|
45
|
+
if command -v agent-config >/dev/null 2>&1; then
|
|
46
|
+
printf '%s\n' "agent-config"
|
|
47
|
+
return 0
|
|
48
|
+
fi
|
|
43
49
|
return 1
|
|
44
50
|
}
|
|
45
51
|
|
|
46
52
|
# --- Check 1: roadmap progress dashboard sync --------------------------
|
|
47
53
|
if $roadmap_relevant; then
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
|
|
53
|
-
if [ -z "$rp_script" ]; then
|
|
54
|
-
echo "⚠️ pre-commit: update_roadmap_progress.py not found — skipping roadmap check." >&2
|
|
55
|
-
elif ! python3 "$rp_script" --check >/dev/null 2>&1; then
|
|
54
|
+
ac_bin="$(agent_config_bin || true)"
|
|
55
|
+
if [ -z "$ac_bin" ]; then
|
|
56
|
+
echo "⚠️ pre-commit: agent-config CLI not found — skipping roadmap check." >&2
|
|
57
|
+
echo " Install it: npm install -g @event4u/agent-config" >&2
|
|
58
|
+
elif ! "$ac_bin" roadmap:progress-check >/dev/null 2>&1; then
|
|
56
59
|
echo "❌ agents/roadmaps-progress.md is stale relative to your staged changes." >&2
|
|
57
60
|
echo "" >&2
|
|
58
61
|
echo " Regenerate the dashboard with one of:" >&2
|
|
59
|
-
echo "
|
|
62
|
+
echo " $ac_bin roadmap:progress" >&2
|
|
60
63
|
echo " task roadmap-progress" >&2
|
|
61
|
-
echo " python3 $rp_script" >&2
|
|
62
64
|
echo "" >&2
|
|
63
65
|
echo " Then \`git add agents/roadmaps-progress.md\` and retry the commit." >&2
|
|
64
66
|
echo "" >&2
|
|
@@ -69,19 +71,31 @@ if $roadmap_relevant; then
|
|
|
69
71
|
fi
|
|
70
72
|
|
|
71
73
|
# --- Check 2: ADR-013 artefact frontmatter contract --------------------
|
|
74
|
+
# Source-repo concern: the linter and the artefact tree only exist in the
|
|
75
|
+
# agent-config source repo; consumer repos skip silently.
|
|
72
76
|
if $frontmatter_relevant; then
|
|
73
|
-
fm_script="
|
|
74
|
-
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
+
fm_script=""
|
|
78
|
+
if [ -f "src/scripts/lint_artefact_frontmatter.ts" ]; then
|
|
79
|
+
fm_script="src/scripts/lint_artefact_frontmatter.ts"
|
|
80
|
+
fi
|
|
81
|
+
|
|
82
|
+
run_fm() {
|
|
83
|
+
if [ -x "./scripts-run" ]; then
|
|
84
|
+
./scripts-run src/scripts/lint_artefact_frontmatter --quiet
|
|
85
|
+
elif [ -x "node_modules/.bin/tsx" ]; then
|
|
86
|
+
node_modules/.bin/tsx "$fm_script" --quiet
|
|
87
|
+
else
|
|
88
|
+
npx tsx "$fm_script" --quiet
|
|
89
|
+
fi
|
|
90
|
+
}
|
|
77
91
|
|
|
78
92
|
if [ -z "$fm_script" ]; then
|
|
79
|
-
|
|
80
|
-
elif !
|
|
93
|
+
: # not the source repo — frontmatter contract does not apply
|
|
94
|
+
elif ! run_fm >/dev/null 2>&1; then
|
|
81
95
|
echo "❌ Artefact frontmatter lint failed (ADR-013 contract violation)." >&2
|
|
82
96
|
echo "" >&2
|
|
83
97
|
echo " Re-run for details:" >&2
|
|
84
|
-
echo "
|
|
98
|
+
echo " ./scripts-run src/scripts/lint_artefact_frontmatter" >&2
|
|
85
99
|
echo " task lint-artefact-frontmatter" >&2
|
|
86
100
|
echo "" >&2
|
|
87
101
|
echo " Common fixes:" >&2
|
|
@@ -158,15 +158,20 @@ Templates for roadmap files stored in `agents/roadmaps/` or `{module_root}/{Modu
|
|
|
158
158
|
|
|
159
159
|
---
|
|
160
160
|
|
|
161
|
-
## Quality Gates (
|
|
161
|
+
## Quality Gates (remote CI by default)
|
|
162
162
|
|
|
163
163
|
Every roadmap must pass the project's quality pipeline before it is
|
|
164
|
-
considered done. **
|
|
164
|
+
considered done. **Where** that gate runs depends on
|
|
165
|
+
`quality.local_auto_run`: `false` or missing (default) → agent does NOT
|
|
166
|
+
run the pipeline locally — user runs it manually, remote CI on the PR
|
|
167
|
+
is the authoritative gate; run-end report says *"quality gates
|
|
168
|
+
delegated to remote CI"*, never that the tools passed. When
|
|
169
|
+
`local_auto_run: true`, **when** the local pipeline runs during
|
|
165
170
|
`/roadmap:process-step|phase|full` is governed by
|
|
166
171
|
`roadmap.quality_cadence` in `.agent-settings.yml`
|
|
167
172
|
(`end_of_roadmap` default → once before archival; `per_phase` → after
|
|
168
|
-
every phase; `per_step` → after every step)
|
|
169
|
-
|
|
173
|
+
every phase; `per_step` → after every step), with a final fresh run
|
|
174
|
+
before "complete" per `verify-before-complete`.
|
|
170
175
|
|
|
171
176
|
Common commands:
|
|
172
177
|
|
|
@@ -22,9 +22,9 @@ consumer's `.augment/`.
|
|
|
22
22
|
|
|
23
23
|
Use **logical names** rooted at the source — never the
|
|
24
24
|
`.agent-src.uncondensed/` prefix. The condense-time rewriter
|
|
25
|
-
(`scripts/condense.
|
|
25
|
+
(`scripts/condense.ts::_rewrite_paths`) resolves logical names to
|
|
26
26
|
deployment-correct relative paths; the schema regex
|
|
27
|
-
(`scripts/schemas/rule.schema.json`) and `scripts/lint_load_context.
|
|
27
|
+
(`scripts/schemas/rule.schema.json`) and `scripts/lint_load_context.ts`
|
|
28
28
|
both reject the legacy prefix.
|
|
29
29
|
|
|
30
30
|
| Write this (logical) | Forbidden (legacy) |
|
|
@@ -121,7 +121,7 @@ for full detail; rules are pointers, not playbooks.}
|
|
|
121
121
|
| `tier` | yes | `kernel` (Iron Law floor), `tier-1` (default), `tier-2` (full profile only). Legacy values still accepted. |
|
|
122
122
|
| `description` | yes | One sentence, ≤ 500 chars. Trigger-clarity wins over poetry. |
|
|
123
123
|
| `source` | yes | `package` (this repo) or `project` (consumer override). |
|
|
124
|
-
| `load_context` | no | Lazy context list — logical names only. Budget enforced by `lint_load_context.
|
|
124
|
+
| `load_context` | no | Lazy context list — logical names only. Budget enforced by `lint_load_context.ts`. |
|
|
125
125
|
| `load_context_eager` | no | Eager context list — counts against per-rule char budget. |
|
|
126
126
|
| `triggers` | no | Required on non-kernel rules per `rule-router.md`. |
|
|
127
127
|
| `routes_to` | no | `skill:`, `guideline:`, `command:`, `contract:` targets. Forbidden on kernel rules. |
|
|
@@ -18,8 +18,8 @@ high-risk PRs.
|
|
|
18
18
|
| File in package | Copy to | Purpose |
|
|
19
19
|
|---|---|---|
|
|
20
20
|
| `templates/github-workflows/pr-risk-review.yml` | `.github/workflows/pr-risk-review.yml` | GitHub Actions workflow |
|
|
21
|
-
| `templates/scripts/pr_risk_review.ts` | `scripts/pr_risk_review.
|
|
22
|
-
| `templates/scripts/pr_review_routing.ts` | `scripts/pr_review_routing.
|
|
21
|
+
| `templates/scripts/pr_risk_review.ts` | `scripts/pr_risk_review.ts` | Risk classifier (TypeScript, run via tsx) |
|
|
22
|
+
| `templates/scripts/pr_review_routing.ts` | `scripts/pr_review_routing.ts` | Routing classifier |
|
|
23
23
|
| `templates/scripts/pr-risk-config.example.yml` | `.github/pr-risk-config.yml` | Risk patterns (optional) |
|
|
24
24
|
| `templates/scripts/ownership-map.example.yml` | `.github/ownership-map.yml` | Ownership entries (optional) |
|
|
25
25
|
| `templates/scripts/historical-bug-patterns.example.yml` | `.github/historical-bug-patterns.yml` | Registered failure modes (optional) |
|
|
@@ -37,7 +37,7 @@ cp .augment/templates/scripts/historical-bug-patterns.example.yml .github/histor
|
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
The routing step in the workflow is **conditional** — it only runs if
|
|
40
|
-
`scripts/pr_review_routing.
|
|
40
|
+
`scripts/pr_review_routing.ts` exists, so risk classification alone works
|
|
41
41
|
without routing being installed.
|
|
42
42
|
|
|
43
43
|
Create the three labels once (or let them be auto-created on first run):
|
|
@@ -118,8 +118,8 @@ the full schema.
|
|
|
118
118
|
|
|
119
119
|
```bash
|
|
120
120
|
rm .github/workflows/pr-risk-review.yml
|
|
121
|
-
rm scripts/pr_risk_review.
|
|
122
|
-
rm scripts/pr_review_routing.
|
|
121
|
+
rm scripts/pr_risk_review.ts
|
|
122
|
+
rm scripts/pr_review_routing.ts
|
|
123
123
|
rm .github/pr-risk-config.yml .github/ownership-map.yml .github/historical-bug-patterns.yml
|
|
124
124
|
gh label delete risk:low risk:medium risk:high
|
|
125
125
|
```
|
|
@@ -168,7 +168,7 @@ PRs.
|
|
|
168
168
|
| File in package | Copy to | Purpose |
|
|
169
169
|
|---|---|---|
|
|
170
170
|
| `templates/github-workflows/memory-hygiene.yml` | `.github/workflows/memory-hygiene.yml` | Weekly staleness workflow |
|
|
171
|
-
| `templates/scripts/check_memory.ts` | `scripts/check_memory.
|
|
171
|
+
| `templates/scripts/check_memory.ts` | `scripts/check_memory.ts` | YAML schema + staleness validator |
|
|
172
172
|
|
|
173
173
|
## Install
|
|
174
174
|
|
|
@@ -53,7 +53,7 @@ import { spawnSync } from 'node:child_process';
|
|
|
53
53
|
import * as fs from 'node:fs';
|
|
54
54
|
import * as path from 'node:path';
|
|
55
55
|
import process from 'node:process';
|
|
56
|
-
import { pathToFileURL } from 'node:url';
|
|
56
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
57
57
|
import YAML, { parseDocument } from 'yaml';
|
|
58
58
|
|
|
59
59
|
type Severity = 'error' | 'warning' | 'info';
|
|
@@ -631,8 +631,30 @@ function _emit(findings: Finding[], fmt: string): number {
|
|
|
631
631
|
return errors.length > 0 ? 1 : 0;
|
|
632
632
|
}
|
|
633
633
|
|
|
634
|
+
function _isCliEntry(): boolean {
|
|
635
|
+
if (process.argv[1] === undefined) {
|
|
636
|
+
return false;
|
|
637
|
+
}
|
|
638
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
639
|
+
if (import.meta.url === argvUrl) {
|
|
640
|
+
return true;
|
|
641
|
+
}
|
|
642
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
643
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
644
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
645
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
646
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
647
|
+
try {
|
|
648
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
649
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
650
|
+
return here === argv;
|
|
651
|
+
} catch {
|
|
652
|
+
return false;
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
|
|
634
656
|
const _isMain =
|
|
635
|
-
|
|
657
|
+
_isCliEntry();
|
|
636
658
|
if (_isMain) {
|
|
637
659
|
process.exit(main());
|
|
638
660
|
}
|
|
@@ -332,10 +332,29 @@ function _set_intake_root_for_test(root: string): void {
|
|
|
332
332
|
INTAKE_ROOT = root;
|
|
333
333
|
}
|
|
334
334
|
|
|
335
|
-
|
|
336
|
-
process.argv[1]
|
|
337
|
-
|
|
338
|
-
|
|
335
|
+
function _isCliEntry(): boolean {
|
|
336
|
+
if (process.argv[1] === undefined) {
|
|
337
|
+
return false;
|
|
338
|
+
}
|
|
339
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
340
|
+
if (import.meta.url === argvUrl) {
|
|
341
|
+
return true;
|
|
342
|
+
}
|
|
343
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
344
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
345
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
346
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
347
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
348
|
+
try {
|
|
349
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
350
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
351
|
+
return here === argv;
|
|
352
|
+
} catch {
|
|
353
|
+
return false;
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
if (_isCliEntry() || process.argv[1] === _HERE) {
|
|
339
358
|
process.exit(main());
|
|
340
359
|
}
|
|
341
360
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Historical bug patterns — consumed by scripts/pr_review_routing.
|
|
1
|
+
# Historical bug patterns — consumed by scripts/pr_review_routing.ts
|
|
2
2
|
#
|
|
3
3
|
# Copy this file to `.github/historical-bug-patterns.yml` (preferred) or
|
|
4
4
|
# `agents/historical-bug-patterns.yml` and curate the patterns from your
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
import { createHash } from 'node:crypto';
|
|
29
29
|
import * as fs from 'node:fs';
|
|
30
30
|
import process from 'node:process';
|
|
31
|
-
import { pathToFileURL } from 'node:url';
|
|
31
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
32
32
|
import * as path from 'node:path';
|
|
33
33
|
import YAML, { parseDocument } from 'yaml';
|
|
34
34
|
|
|
@@ -326,8 +326,30 @@ function _parseArgs(argv: string[]): ParsedArgs {
|
|
|
326
326
|
return args;
|
|
327
327
|
}
|
|
328
328
|
|
|
329
|
+
function _isCliEntry(): boolean {
|
|
330
|
+
if (process.argv[1] === undefined) {
|
|
331
|
+
return false;
|
|
332
|
+
}
|
|
333
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
334
|
+
if (import.meta.url === argvUrl) {
|
|
335
|
+
return true;
|
|
336
|
+
}
|
|
337
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
338
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
339
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
340
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
341
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
342
|
+
try {
|
|
343
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
344
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
345
|
+
return here === argv;
|
|
346
|
+
} catch {
|
|
347
|
+
return false;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
|
|
329
351
|
const _isMain =
|
|
330
|
-
|
|
352
|
+
_isCliEntry();
|
|
331
353
|
if (_isMain) {
|
|
332
354
|
process.exit(main());
|
|
333
355
|
}
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
import * as fs from 'node:fs';
|
|
34
34
|
import * as path from 'node:path';
|
|
35
35
|
import process from 'node:process';
|
|
36
|
-
import { pathToFileURL } from 'node:url';
|
|
36
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
37
37
|
import YAML, { parseDocument } from 'yaml';
|
|
38
38
|
|
|
39
39
|
|
|
@@ -1060,8 +1060,30 @@ function _escapeNonAscii(s: string): string {
|
|
|
1060
1060
|
return out;
|
|
1061
1061
|
}
|
|
1062
1062
|
|
|
1063
|
+
function _isCliEntry(): boolean {
|
|
1064
|
+
if (process.argv[1] === undefined) {
|
|
1065
|
+
return false;
|
|
1066
|
+
}
|
|
1067
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
1068
|
+
if (import.meta.url === argvUrl) {
|
|
1069
|
+
return true;
|
|
1070
|
+
}
|
|
1071
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
1072
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
1073
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
1074
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
1075
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
1076
|
+
try {
|
|
1077
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
1078
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
1079
|
+
return here === argv;
|
|
1080
|
+
} catch {
|
|
1081
|
+
return false;
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1063
1085
|
const _isMain =
|
|
1064
|
-
|
|
1086
|
+
_isCliEntry();
|
|
1065
1087
|
if (_isMain) {
|
|
1066
1088
|
process.exit(main());
|
|
1067
1089
|
}
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
import * as fs from 'node:fs';
|
|
31
31
|
import * as path from 'node:path';
|
|
32
32
|
import process from 'node:process';
|
|
33
|
-
import { pathToFileURL } from 'node:url';
|
|
33
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
34
34
|
import YAML, { parseDocument } from 'yaml';
|
|
35
35
|
|
|
36
36
|
import * as memory_status from './memory_status.js';
|
|
@@ -839,8 +839,30 @@ export function main(): number {
|
|
|
839
839
|
return 0;
|
|
840
840
|
}
|
|
841
841
|
|
|
842
|
+
function _isCliEntry(): boolean {
|
|
843
|
+
if (process.argv[1] === undefined) {
|
|
844
|
+
return false;
|
|
845
|
+
}
|
|
846
|
+
const argvUrl = pathToFileURL(path.resolve(process.argv[1])).href;
|
|
847
|
+
if (import.meta.url === argvUrl) {
|
|
848
|
+
return true;
|
|
849
|
+
}
|
|
850
|
+
// A symlinked invocation (e.g. via an installed `.augment/` projection,
|
|
851
|
+
// or macOS /var → /private/var temp dirs) makes the raw URLs differ:
|
|
852
|
+
// import.meta.url is the resolved real path while argv[1] keeps the
|
|
853
|
+
// symlink path. Compare realpaths so the entry guard still fires
|
|
854
|
+
// (without this the CLI silently no-ops when run through a symlink).
|
|
855
|
+
try {
|
|
856
|
+
const here = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
857
|
+
const argv = fs.realpathSync(path.resolve(process.argv[1]));
|
|
858
|
+
return here === argv;
|
|
859
|
+
} catch {
|
|
860
|
+
return false;
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
|
|
842
864
|
const _isMain =
|
|
843
|
-
|
|
865
|
+
_isCliEntry();
|
|
844
866
|
if (_isMain) {
|
|
845
867
|
process.exit(main());
|
|
846
868
|
}
|