@event4u/agent-config 16.2.0 → 16.4.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/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +337 -234
- package/README.md +15 -13
- package/agents/templates/.ai-council.yml.example +26 -8
- package/dist/agent-src/commands/analyze/inbox.md +11 -8
- package/dist/agent-src/commands/analyze/roadmap-repos.md +1 -1
- package/dist/agent-src/commands/bug/fix.md +17 -2
- package/dist/agent-src/commands/bug/investigate.md +1 -1
- package/dist/agent-src/commands/commit/in-chunks.md +40 -31
- package/dist/agent-src/commands/commit.md +72 -33
- package/dist/agent-src/commands/condense.md +2 -8
- package/dist/agent-src/commands/council/debate.md +11 -7
- package/dist/agent-src/commands/council/default.md +10 -9
- package/dist/agent-src/commands/council.md +1 -1
- package/dist/agent-src/commands/estimate-ticket.md +1 -1
- package/dist/agent-src/commands/feature/explore.md +3 -3
- package/dist/agent-src/commands/feature/plan.md +2 -2
- package/dist/agent-src/commands/feature/roadmap.md +1 -1
- package/dist/agent-src/commands/fix/ci.md +18 -4
- package/dist/agent-src/commands/fix/commit-messages.md +48 -23
- package/dist/agent-src/commands/fix/pr-comments.md +3 -6
- package/dist/agent-src/commands/implement-ticket.md +4 -4
- package/dist/agent-src/commands/jira-ticket.md +1 -1
- package/dist/agent-src/commands/memory/add.md +4 -16
- package/dist/agent-src/commands/memory/load.md +5 -6
- package/dist/agent-src/commands/memory/promote.md +3 -16
- package/dist/agent-src/commands/mission/upgrade.md +3 -2
- package/dist/agent-src/commands/optimize/agents-dir.md +2 -2
- package/dist/agent-src/commands/optimize/deep.md +4 -2
- package/dist/agent-src/commands/optimize/rtk.md +4 -26
- package/dist/agent-src/commands/pr/create/description-only.md +18 -15
- package/dist/agent-src/commands/pr/create.md +42 -34
- package/dist/agent-src/commands/pr/merge.md +136 -9
- package/dist/agent-src/commands/prepare-for-review.md +13 -11
- package/dist/agent-src/commands/project/analyze.md +7 -35
- package/dist/agent-src/commands/refine-ticket.md +1 -1
- package/dist/agent-src/commands/review/changes.md +14 -19
- package/dist/agent-src/commands/roadmap/create.md +1 -1
- package/dist/agent-src/commands/roadmap/materialize.md +1 -1
- package/dist/agent-src/commands/roadmap/next.md +10 -1
- package/dist/agent-src/commands/roadmap/process-full.md +56 -42
- package/dist/agent-src/commands/roadmap/resolve-blockers.md +411 -0
- package/dist/agent-src/commands/roadmap/triage-parked.md +325 -0
- package/dist/agent-src/commands/roadmap.md +18 -4
- package/dist/agent-src/commands/tests/create.md +17 -3
- package/dist/agent-src/commands/tests/execute.md +22 -5
- package/dist/agent-src/commands/worktree/create.md +7 -3
- package/dist/agent-src/commands/worktree/verify.md +2 -1
- package/dist/agent-src/contexts/authority/decision-revisit-gate-enforcement.md +43 -0
- package/dist/agent-src/contexts/communication/rules-auto/design-fidelity-enforcement.md +24 -0
- package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +5 -3
- package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +7 -9
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -6
- package/dist/agent-src/contexts/contracts/frugality-charter.md +8 -5
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +7 -7
- package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +0 -1
- package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
- package/dist/agent-src/contexts/execution/non-interactive-contract.md +5 -8
- package/dist/agent-src/contexts/execution/rdp-gate.md +4 -4
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +9 -8
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +99 -54
- package/dist/agent-src/contexts/execution/session-canary-enforcement-history.md +67 -0
- package/dist/agent-src/contexts/execution/subagent-routing.md +8 -8
- package/dist/agent-src/contexts/execution/subagent-steering.md +6 -4
- package/dist/agent-src/contexts/execution/terminal-states.md +2 -2
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +95 -7
- package/dist/agent-src/contexts/subagent-configuration.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
- package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
- package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
- package/dist/agent-src/guidelines/agent-infra/layered-settings.md +13 -1
- package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
- package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +36 -0
- package/dist/agent-src/guidelines/php/git.md +15 -2
- package/dist/agent-src/rules/active-remediation.md +1 -2
- package/dist/agent-src/rules/analysis-skill-routing.md +0 -1
- package/dist/agent-src/rules/architecture.md +0 -1
- package/dist/agent-src/rules/artifact-drafting-protocol.md +0 -1
- package/dist/agent-src/rules/artifact-engagement-recording.md +0 -1
- package/dist/agent-src/rules/augment-edit-discipline.md +0 -1
- package/dist/agent-src/rules/autonomous-execution.md +1 -1
- package/dist/agent-src/rules/brand-consistency.md +0 -1
- package/dist/agent-src/rules/brand-source-of-truth.md +0 -1
- package/dist/agent-src/rules/broken-access-control.md +1 -1
- package/dist/agent-src/rules/cli-output-handling.md +0 -1
- package/dist/agent-src/rules/code-comment-discipline.md +0 -1
- package/dist/agent-src/rules/code-provenance.md +0 -1
- package/dist/agent-src/rules/command-suggestion-policy.md +1 -1
- package/dist/agent-src/rules/commit-conventions.md +1 -2
- package/dist/agent-src/rules/communication-through-line.md +1 -2
- package/dist/agent-src/rules/content-quoting-floor.md +1 -2
- package/dist/agent-src/rules/context-hygiene.md +6 -6
- package/dist/agent-src/rules/copilot-routing.md +1 -2
- package/dist/agent-src/rules/council-availability.md +4 -4
- package/dist/agent-src/rules/cross-source-consistency.md +4 -6
- package/dist/agent-src/rules/decision-revisit-gate.md +17 -35
- package/dist/agent-src/rules/delegation-policy.md +2 -3
- package/dist/agent-src/rules/design-fidelity.md +12 -16
- package/dist/agent-src/rules/design-review-after-ui-write.md +3 -3
- package/dist/agent-src/rules/devcontainer-routing.md +1 -2
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +1 -1
- package/dist/agent-src/rules/docker-commands.md +0 -1
- package/dist/agent-src/rules/domain-adoption-policy.md +0 -1
- package/dist/agent-src/rules/domain-safety-disclaimer.md +1 -1
- package/dist/agent-src/rules/domain-safety-pii.md +1 -1
- package/dist/agent-src/rules/domain-safety-retention.md +1 -1
- package/dist/agent-src/rules/downstream-changes.md +0 -1
- package/dist/agent-src/rules/engineering-safety-floor.md +1 -1
- package/dist/agent-src/rules/evaluator-independence.md +3 -2
- package/dist/agent-src/rules/external-code-graph-interop.md +0 -1
- package/dist/agent-src/rules/external-reference-deep-dive.md +0 -1
- package/dist/agent-src/rules/fast-path-marker-visibility.md +2 -2
- package/dist/agent-src/rules/finance-safety-floor.md +1 -1
- package/dist/agent-src/rules/fix-what-you-see.md +6 -32
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +0 -1
- package/dist/agent-src/rules/git-history-discipline.md +2 -2
- package/dist/agent-src/rules/guidelines.md +0 -1
- package/dist/agent-src/rules/history-discipline.md +0 -1
- package/dist/agent-src/rules/icon-consistency.md +0 -1
- package/dist/agent-src/rules/image-likeness-and-rights.md +1 -1
- package/dist/agent-src/rules/improve-before-implement.md +0 -1
- package/dist/agent-src/rules/invite-challenge.md +0 -1
- package/dist/agent-src/rules/laravel-routing.md +1 -2
- package/dist/agent-src/rules/laravel-translations.md +0 -1
- package/dist/agent-src/rules/legal-safety-floor.md +3 -3
- package/dist/agent-src/rules/lethal-trifecta-guard.md +1 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +1 -1
- package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
- package/dist/agent-src/rules/media-governance-routing.md +13 -17
- package/dist/agent-src/rules/media-sync-ground-truth.md +0 -1
- package/dist/agent-src/rules/minimal-safe-diff.md +0 -1
- package/dist/agent-src/rules/missing-skill-recovery.md +0 -1
- package/dist/agent-src/rules/missing-tool-handling.md +0 -1
- package/dist/agent-src/rules/model-recommendation.md +0 -1
- package/dist/agent-src/rules/neighbour-precedence.md +64 -0
- package/dist/agent-src/rules/no-attribution-footers.md +0 -1
- package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +0 -1
- package/dist/agent-src/rules/no-pr-progress-comments.md +0 -1
- package/dist/agent-src/rules/no-roadmap-references.md +0 -1
- package/dist/agent-src/rules/notes-first-reasoning.md +0 -1
- package/dist/agent-src/rules/onboarding-gate.md +0 -1
- package/dist/agent-src/rules/output-discipline.md +0 -1
- package/dist/agent-src/rules/package-ci-checks.md +0 -1
- package/dist/agent-src/rules/persona-governance.md +4 -5
- package/dist/agent-src/rules/php-coding.md +0 -1
- package/dist/agent-src/rules/prefer-enums-over-literals.md +0 -1
- package/dist/agent-src/rules/preservation-guard.md +0 -1
- package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -4
- package/dist/agent-src/rules/question-not-instruction.md +1 -1
- package/dist/agent-src/rules/reviewer-awareness.md +0 -1
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -1
- package/dist/agent-src/rules/roadmap-progress-sync.md +4 -7
- package/dist/agent-src/rules/role-mode-adherence.md +0 -1
- package/dist/agent-src/rules/rule-type-governance.md +0 -1
- package/dist/agent-src/rules/runtime-safety.md +1 -1
- package/dist/agent-src/rules/scale-discipline.md +0 -1
- package/dist/agent-src/rules/secret-vcs-guard.md +1 -1
- package/dist/agent-src/rules/security-sensitive-stop.md +3 -3
- package/dist/agent-src/rules/self-repair-loop.md +0 -1
- package/dist/agent-src/rules/senior-engineering-discipline.md +0 -1
- package/dist/agent-src/rules/session-canary.md +7 -62
- package/dist/agent-src/rules/settings-ask-protocol.md +6 -6
- package/dist/agent-src/rules/size-enforcement.md +0 -1
- package/dist/agent-src/rules/skill-improvement-trigger.md +2 -3
- package/dist/agent-src/rules/skill-quality.md +0 -1
- package/dist/agent-src/rules/slash-command-routing-policy.md +0 -1
- package/dist/agent-src/rules/source-confidentiality.md +1 -1
- package/dist/agent-src/rules/source-discovery-gate.md +0 -1
- package/dist/agent-src/rules/source-of-truth.md +0 -1
- package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -2
- package/dist/agent-src/rules/strategy-safety-floor.md +1 -1
- package/dist/agent-src/rules/symfony-routing.md +1 -2
- package/dist/agent-src/rules/think-before-action.md +0 -1
- package/dist/agent-src/rules/token-budget-discipline.md +12 -46
- package/dist/agent-src/rules/token-efficiency.md +0 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +0 -1
- package/dist/agent-src/rules/tool-safety.md +1 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -2
- package/dist/agent-src/rules/untrusted-input-defense.md +1 -1
- package/dist/agent-src/rules/upstream-proposal.md +0 -1
- package/dist/agent-src/rules/user-interaction.md +0 -1
- package/dist/agent-src/rules/user-interrupt-priority.md +1 -1
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +115 -20
- package/dist/agent-src/scripts/deferral_carry.ts +339 -0
- package/dist/agent-src/scripts/gate_budget.ts +47 -23
- package/dist/agent-src/scripts/gate_execute.ts +12 -4
- package/dist/agent-src/scripts/update_roadmap_progress.ts +4 -1
- package/dist/agent-src/skills/ai-council/SKILL.md +7 -4
- package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +21 -11
- package/dist/agent-src/skills/ai-council/references/procedure.md +12 -6
- package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
- package/dist/agent-src/skills/api-design/data/manifest.json +2 -2
- package/dist/agent-src/skills/api-testing/SKILL.md +17 -0
- package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/code-intelligence/SKILL.md +14 -2
- package/dist/agent-src/skills/command-routing/SKILL.md +3 -4
- package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +127 -139
- package/dist/agent-src/skills/corpus-grounding/ATTRIBUTION.md +39 -0
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +8 -2
- package/dist/agent-src/skills/database/data/manifest.json +2 -2
- package/dist/agent-src/skills/database/data/query-tuning.csv +13 -13
- package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
- package/dist/agent-src/skills/design-system-capture/references/import-procedure.md +1 -1
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +2 -2
- package/dist/agent-src/skills/fe-design/SKILL.md +1 -1
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/git-workflow/SKILL.md +44 -44
- package/dist/agent-src/skills/git-workflow/references/branch-update.md +312 -0
- package/dist/agent-src/skills/git-workflow/references/commit-subject.md +205 -0
- package/dist/agent-src/skills/iconography/SKILL.md +1 -1
- package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
- package/dist/agent-src/skills/js-library-packaging/SKILL.md +2 -2
- package/dist/agent-src/skills/merge-conflicts/SKILL.md +10 -4
- package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
- package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/quality-tools/SKILL.md +11 -1
- package/dist/agent-src/skills/quality-tools/references/go-tools.md +76 -0
- package/dist/agent-src/skills/quality-tools/references/python-tools.md +104 -0
- package/dist/agent-src/skills/refine-ticket/SKILL.md +4 -4
- package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +5 -3
- package/dist/agent-src/skills/source-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/storybook-workshop/SKILL.md +3 -3
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +4 -2
- package/dist/agent-src/skills/test-case-discovery/SKILL.md +7 -0
- package/dist/agent-src/skills/test-driven-development/SKILL.md +17 -0
- package/dist/agent-src/skills/test-performance/SKILL.md +19 -1
- package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/ui-component-architect/SKILL.md +2 -2
- package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -1
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
- package/dist/agent-src/templates/AGENTS.md +1 -1
- package/dist/agent-src/templates/agent-settings.md +46 -129
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
- package/dist/agent-src/templates/command.md +2 -2
- package/dist/agent-src/templates/roadmaps.md +6 -1
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +48 -6
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
- package/dist/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
- package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
- package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
- package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +774 -109
- package/dist/agent-src/templates/skill.md +1 -1
- package/dist/cli/registry.js +2 -1
- package/dist/cli-delegate/archive_completed_roadmaps.js +92 -12
- package/dist/cli-delegate/check_update_banner.js +207 -120
- package/dist/cli-delegate/chunk-523HCFYO.js +90 -0
- package/dist/cli-delegate/{chunk-FP36SWJD.js → chunk-5GPULQBE.js} +2797 -338
- package/dist/cli-delegate/{chunk-IGD6ERX6.js → chunk-6SRJTYJS.js} +42 -176
- package/dist/cli-delegate/chunk-6V5FMA3P.js +186 -0
- package/dist/cli-delegate/{chunk-M2DPGFZ4.js → chunk-6V6TA25H.js} +22 -152
- package/dist/cli-delegate/chunk-6YQC2HLF.js +415 -0
- package/dist/cli-delegate/{chunk-E4XIZDIB.js → chunk-7HKRE54K.js} +1 -64
- package/dist/cli-delegate/chunk-7IQE3D5S.js +191 -0
- package/dist/cli-delegate/{chunk-YJ72UIAK.js → chunk-AED2VQGM.js} +1245 -249
- package/dist/cli-delegate/{chunk-7HQ52DHU.js → chunk-AL3RZ22D.js} +1 -1
- package/dist/cli-delegate/chunk-DEIV7XP7.js +108 -0
- package/dist/cli-delegate/{chunk-DBH4AHDK.js → chunk-ED7KCMLB.js} +9 -11
- package/dist/cli-delegate/chunk-F3QDG2GT.js +2569 -0
- package/dist/cli-delegate/{chunk-6KFEC3G7.js → chunk-G5VVIZRC.js} +3 -3
- package/dist/cli-delegate/{chunk-FC75PGJE.js → chunk-H76PHZBI.js} +149 -61
- package/dist/cli-delegate/chunk-IAYTIIQW.js +67 -0
- package/dist/cli-delegate/chunk-JQOM7TTM.js +1201 -0
- package/dist/cli-delegate/chunk-KB5FZ655.js +208 -0
- package/dist/cli-delegate/{chunk-7RQP4UDH.js → chunk-KR6EM23A.js} +235 -1455
- package/dist/cli-delegate/{chunk-LTYVIY76.js → chunk-KXXWJTDO.js} +6 -11
- package/dist/cli-delegate/{chunk-T7L2QK3K.js → chunk-LQOCRFWT.js} +1 -1
- package/dist/cli-delegate/{chunk-6KM6ORRY.js → chunk-MDPPKQCQ.js} +58 -9
- package/dist/cli-delegate/{chunk-4XFP2Y3E.js → chunk-MSUL5NYP.js} +5 -5
- package/dist/cli-delegate/chunk-OAFSJBHH.js +272 -0
- package/dist/cli-delegate/{chunk-4E2W63DA.js → chunk-OKJUIAPS.js} +62 -1
- package/dist/cli-delegate/{chunk-QAJS5YWY.js → chunk-PHD7OOLE.js} +2 -1
- package/dist/cli-delegate/{chunk-P6ZHP5W2.js → chunk-PWX7CKMD.js} +4 -4
- package/dist/cli-delegate/{chunk-NDJLNC6Q.js → chunk-T6BP34WI.js} +1 -0
- package/dist/cli-delegate/{chunk-7XGBX6ZH.js → chunk-T7XSJSUQ.js} +1144 -589
- package/dist/cli-delegate/chunk-ULQRUR23.js +208 -0
- package/dist/cli-delegate/chunk-WQWXGIWB.js +1779 -0
- package/dist/cli-delegate/{chunk-RGNIWTEA.js → chunk-XQTPXKFA.js} +1 -1
- package/dist/cli-delegate/{chunk-NUHLI2RX.js → chunk-YCU3TIXH.js} +2 -0
- package/dist/cli-delegate/chunk-ZBZV2G5R.js +210 -0
- package/dist/cli-delegate/{chunk-WGXTVKCQ.js → chunk-ZUZKZYCN.js} +5 -3
- package/dist/cli-delegate/cmd_analyze_session.js +223 -43
- package/dist/cli-delegate/cmd_brand_status.js +3 -2
- package/dist/cli-delegate/cmd_conformance.js +1252 -249
- package/dist/cli-delegate/cmd_converge.js +3 -3
- package/dist/cli-delegate/cmd_doctor.js +19 -9
- package/dist/cli-delegate/cmd_doctor_neighbours.js +30 -0
- package/dist/cli-delegate/cmd_explain.js +45 -21
- package/dist/cli-delegate/cmd_export.js +13 -10
- package/dist/cli-delegate/cmd_fleet.js +3 -3
- package/dist/cli-delegate/cmd_git_convention.js +1851 -0
- package/dist/cli-delegate/cmd_handoff.js +44 -22
- package/dist/cli-delegate/cmd_mcp_available.js +3 -2
- package/dist/cli-delegate/cmd_memory_get.js +3 -1
- package/dist/cli-delegate/cmd_migrate.js +3 -3
- package/dist/cli-delegate/cmd_packs_active.js +5 -4
- package/dist/cli-delegate/cmd_preflight.js +6 -6
- package/dist/cli-delegate/cmd_prune.js +14 -11
- package/dist/cli-delegate/cmd_refresh.js +2 -1
- package/dist/cli-delegate/cmd_route_audit.js +10 -8
- package/dist/cli-delegate/cmd_route_explain.js +4 -4
- package/dist/cli-delegate/cmd_session_recycle.js +10 -7
- package/dist/cli-delegate/cmd_settings_check.js +54 -7
- package/dist/cli-delegate/cmd_settings_get.js +18 -8
- package/dist/cli-delegate/cmd_settings_migrate.js +13 -10
- package/dist/cli-delegate/cmd_settings_set.js +4 -4
- package/dist/cli-delegate/cmd_sync.js +14 -11
- package/dist/cli-delegate/cmd_uninstall.js +15 -12
- package/dist/cli-delegate/cmd_update.js +7 -7
- package/dist/cli-delegate/cmd_upgrade.js +9 -8
- package/dist/cli-delegate/cmd_validate.js +15 -12
- package/dist/cli-delegate/cmd_versions.js +5 -5
- package/dist/cli-delegate/deferral_carry.js +16 -0
- package/dist/cli-delegate/gate_budget.js +1 -1
- package/dist/cli-delegate/gate_execute.js +3 -3
- package/dist/cli-delegate/roadmap_gates.js +6 -6
- package/dist/cli-delegate/update_roadmap_progress.js +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +232 -141
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +26 -9
- package/dist/discovery/trust-report.md +3 -3
- package/dist/discovery/workspaces.json +7 -4
- package/dist/hooks/dispatch.js +5655 -6623
- package/dist/hooks/dispatch.sha256 +1 -1
- package/dist/install/claudePathsPlan.js +47 -6
- package/dist/install/claudeRuleRewrite.js +7 -0
- package/dist/install/emit_host_rules_cli.js +39 -36
- package/dist/install/globalRuleScope.js +87 -0
- package/dist/install/host_rule_ownership.js +160 -0
- package/dist/install/install.mjs +2336 -1249
- package/dist/install/installThinLayer.js +289 -0
- package/dist/install/installedRuleLinks.js +262 -0
- package/dist/install/wizard-plan.js +24 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
- package/dist/mcp/registry-manifest.json +5 -5
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +36504 -30986
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +26 -120
- package/dist/scripts/_lib/claude_settings_hooks.js +10 -8
- package/dist/scripts/_lib/compile_time_toggles.js +12 -21
- package/dist/scripts/_lib/git_convention.js +232 -0
- package/dist/scripts/_lib/global_deploy_inventory.js +730 -0
- package/dist/scripts/_lib/installed_layer.js +704 -0
- package/dist/scripts/_lib/lean_projection_mode.js +218 -15
- package/dist/scripts/_lib/package_root.js +68 -0
- package/dist/scripts/_lib/rule_consequence_class.js +45 -0
- package/dist/scripts/_lib/rule_injection.js +67 -10
- package/dist/scripts/_lib/rule_law_section.js +122 -0
- package/dist/scripts/_lib/settings_removed_keys.js +168 -0
- package/dist/scripts/_lib/thin_rules.js +535 -0
- package/dist/scripts/_lib/windsurf_render.js +60 -0
- package/dist/scripts/condense.js +14 -26
- package/dist/scripts/project_thin_rules.js +14 -294
- package/dist/server/app.js +2 -1
- package/dist/server/gitKeysGate.js +105 -0
- package/dist/server/routes/settings.js +67 -8
- package/dist/server/routes/wizard.js +4 -0
- package/dist/server/schemas/settings.js +29 -81
- package/dist/shared/skillRanking.js +103 -16
- package/dist/ui/assets/{index-Cwq4d0hX.js → index-C3djEJah.js} +2 -2
- package/dist/ui/index.html +1 -1
- package/docs/MIGRATION.md +72 -1
- package/docs/contracts/settings-classes.md +39 -67
- package/docs/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
- package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
- package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
- package/docs/guidelines/agent-infra/layered-settings.md +13 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
- package/docs/guidelines/agent-infra/size-and-scope.md +36 -0
- package/docs/guidelines/php/git.md +15 -2
- package/package.json +1 -1
- package/src/agent-src/scripts/archive_completed_roadmaps.ts +115 -20
- package/src/agent-src/scripts/deferral_carry.ts +339 -0
- package/src/agent-src/scripts/gate_budget.ts +47 -23
- package/src/agent-src/scripts/gate_execute.ts +12 -4
- package/src/agent-src/scripts/update_roadmap_progress.ts +4 -1
- package/src/agent-src/templates/AGENTS.md +1 -1
- package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
- package/src/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
- package/src/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +48 -6
- package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
- package/src/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
- package/src/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
- package/src/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
- package/src/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
- package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +774 -109
- package/src/config/agent-settings.template.yml +141 -334
- package/src/config/agents-paths.yml +16 -0
- package/src/config/assurance-capability-registry.json +7 -3
- package/src/config/ci-local-parity.yml +3 -0
- package/src/config/continuity-surface.json +10 -3
- package/src/config/discovery/packs.yml +17 -1
- package/src/config/evaluator-budgets.json +23 -10
- package/src/config/gate-coverage.yml +138 -3
- package/src/config/gate-violation-baselines.json +64 -16
- package/src/config/gitignore-block.txt +19 -0
- package/src/config/hook-bundle-budget.json +25 -0
- package/src/config/hook-token-budget.json +6 -1
- package/src/config/host-instruction-limits.json +33 -0
- package/src/config/release-gate-locality.yml +2 -1
- package/src/config/routing-coverage-seed.json +67 -4
- package/src/config/rule-activation-census.json +7 -3
- package/src/config/rule-consequence-class.json +161 -0
- package/src/config/rule-law-ceilings.json +105 -0
- package/src/config/rule-obligations.json +833 -0
- package/src/install/claudePathsPlan.ts +46 -4
- package/src/install/claudeRuleRewrite.ts +10 -1
- package/src/install/emit_host_rules_cli.ts +43 -34
- package/src/install/globalRuleScope.ts +109 -0
- package/src/install/host_rule_ownership.ts +170 -0
- package/src/install/installThinLayer.ts +378 -0
- package/src/install/installedRuleLinks.ts +308 -0
- package/src/install/wizard-plan.ts +24 -0
- package/src/scripts/_cli/cmd_analyze_session.ts +9 -15
- package/src/scripts/_cli/cmd_conformance.ts +13 -2
- package/src/scripts/_cli/cmd_doctor.ts +33 -81
- package/src/scripts/_cli/cmd_doctor_neighbours.ts +426 -0
- package/src/scripts/_cli/cmd_explain.ts +72 -14
- package/src/scripts/_cli/cmd_git_convention.ts +637 -0
- package/src/scripts/_cli/cmd_settings_check.ts +66 -8
- package/src/scripts/_cli/cmd_settings_get.ts +18 -3
- package/src/scripts/_cli/doctor_execution.ts +72 -1
- package/src/scripts/_dispatch.bash +53 -4
- package/src/scripts/_lib/agent_settings.ts +26 -124
- package/src/scripts/_lib/blocked_by_marker.ts +1 -1
- package/src/scripts/_lib/claude_settings_hooks.ts +10 -8
- package/src/scripts/_lib/compile_time_toggles.ts +12 -21
- package/src/scripts/_lib/dispatch_import_closure.ts +163 -0
- package/src/scripts/_lib/estate_offsets.ts +241 -0
- package/src/scripts/_lib/exemption_shape.ts +143 -0
- package/src/scripts/_lib/fnv.ts +23 -0
- package/src/scripts/_lib/foreign_scan.ts +106 -0
- package/src/scripts/_lib/git_base_ref.ts +92 -0
- package/src/scripts/_lib/git_convention.ts +291 -0
- package/src/scripts/_lib/git_convention_carrier.ts +389 -0
- package/src/scripts/_lib/git_convention_grammar.ts +246 -0
- package/src/scripts/_lib/git_convention_measure.ts +344 -0
- package/src/scripts/_lib/gitignore_block.ts +314 -0
- package/src/scripts/_lib/global_deploy_inventory.ts +106 -0
- package/src/scripts/_lib/graph_feeder_record.ts +437 -0
- package/src/scripts/_lib/hook_settings.ts +73 -0
- package/src/scripts/_lib/host_capability.ts +40 -19
- package/src/scripts/_lib/host_hook_merge.ts +165 -0
- package/src/scripts/_lib/installed_layer.ts +963 -0
- package/src/scripts/_lib/json_merge.ts +82 -0
- package/src/scripts/_lib/json_pointers.ts +93 -11
- package/src/scripts/_lib/knowledge_global.ts +14 -1
- package/src/scripts/_lib/lean_projection_mode.ts +275 -15
- package/src/scripts/_lib/machine_wake.ts +16 -3
- package/src/scripts/_lib/module_reach.ts +456 -0
- package/src/scripts/_lib/neighbour_census.ts +760 -0
- package/src/scripts/_lib/neighbour_contradictions.ts +236 -0
- package/src/scripts/_lib/neighbour_scan.ts +122 -0
- package/src/scripts/_lib/neighbour_tool_use.ts +187 -0
- package/src/scripts/_lib/prompt_shape.ts +46 -0
- package/src/scripts/_lib/ratification_artifact.ts +220 -1
- package/src/scripts/_lib/ratification_subject.ts +92 -0
- package/src/scripts/_lib/release_findings_ingest.ts +15 -7
- package/src/scripts/_lib/release_highlights.ts +5 -0
- package/src/scripts/_lib/release_migration_gate.ts +19 -3
- package/src/scripts/_lib/reserved_name_sweep.ts +73 -0
- package/src/scripts/_lib/review_coverage.ts +134 -0
- package/src/scripts/_lib/rule_consequence_class.ts +71 -0
- package/src/scripts/_lib/rule_injection.ts +130 -10
- package/src/scripts/_lib/rule_law_section.ts +147 -0
- package/src/scripts/_lib/rule_layer_overlap.ts +58 -0
- package/src/scripts/_lib/rule_obligations.ts +205 -0
- package/src/scripts/_lib/self_repair.ts +1 -1
- package/src/scripts/_lib/settings_removed_keys.ts +173 -0
- package/src/scripts/_lib/skill_origin.ts +254 -0
- package/src/scripts/_lib/structured_ask.ts +64 -21
- package/src/scripts/_lib/test_red_state.ts +5 -0
- package/src/scripts/_lib/thin_rules.ts +620 -0
- package/src/scripts/_lib/touched_file_quality.ts +570 -0
- package/src/scripts/_lib/turn_end_refusals.ts +77 -2
- package/src/scripts/_lib/windsurf_render.ts +63 -0
- package/src/scripts/_lib/worker_budget.ts +1 -1
- package/src/scripts/adr/regenerate_index.ts +16 -1
- package/src/scripts/ai_council/cli_call_budget.ts +13 -5
- package/src/scripts/ai_council/clients.ts +26 -57
- package/src/scripts/ai_council/config.ts +8 -8
- package/src/scripts/ai_council/modification_review.ts +100 -0
- package/src/scripts/ai_council/modification_review_questions.ts +90 -0
- package/src/scripts/ai_council/orchestrator.ts +5 -5
- package/src/scripts/ai_council/spend_gate.ts +18 -7
- package/src/scripts/ai_council/vendor_defaults.ts +45 -0
- package/src/scripts/ai_team/config.ts +11 -16
- package/src/scripts/audit_skill_overlap.ts +261 -0
- package/src/scripts/audit_user_type_axis.ts +20 -8
- package/src/scripts/before_complete_hook.ts +243 -12
- package/src/scripts/bench_ab_clone.ts +1 -2
- package/src/scripts/bench_concern_spawn_path.ts +129 -0
- package/src/scripts/bench_graph_feeder_latency.ts +584 -0
- package/src/scripts/bench_touched_file_quality.ts +238 -0
- package/src/scripts/check_agent_artifact_location.ts +36 -0
- package/src/scripts/check_branch_freshness.ts +147 -24
- package/src/scripts/check_enforcement_coverage.ts +130 -0
- package/src/scripts/check_enforcement_matrix.ts +377 -20
- package/src/scripts/check_estate_count.ts +130 -153
- package/src/scripts/check_evaluator_budgets.ts +4 -0
- package/src/scripts/check_finding_dispositions.ts +196 -21
- package/src/scripts/check_gate_coverage.ts +4 -3
- package/src/scripts/check_gate_reachability.ts +48 -1
- package/src/scripts/check_generator_sync.ts +48 -0
- package/src/scripts/check_hook_bundle_composition.ts +477 -0
- package/src/scripts/check_kernel_edit_ratified.ts +132 -14
- package/src/scripts/check_memory.ts +7 -1
- package/src/scripts/check_pack_size.ts +1 -1
- package/src/scripts/check_release_highlights.ts +10 -0
- package/src/scripts/check_release_manifest_content.ts +189 -0
- package/src/scripts/check_release_pr_shape.ts +38 -15
- package/src/scripts/check_standing_rule_delivery.ts +129 -13
- package/src/scripts/check_suppression_hygiene.ts +2 -5
- package/src/scripts/check_verify_expectation_delta.ts +521 -0
- package/src/scripts/ci_settle.ts +42 -5
- package/src/scripts/classify_merge_risk.ts +320 -0
- package/src/scripts/closure_scan.ts +91 -1
- package/src/scripts/code_graph/detect.ts +127 -7
- package/src/scripts/code_graph/foreign.ts +194 -0
- package/src/scripts/code_graph/query.ts +217 -4
- package/src/scripts/code_graph/types.ts +26 -2
- package/src/scripts/code_graph/validate.ts +3 -1
- package/src/scripts/code_graph/verbs.ts +103 -0
- package/src/scripts/command_suggester/settings.ts +8 -108
- package/src/scripts/command_suggester/types.ts +4 -5
- package/src/scripts/compile_hook_manifest.ts +33 -1
- package/src/scripts/condense.ts +14 -27
- package/src/scripts/consumer_matrix.ts +102 -0
- package/src/scripts/context_hygiene_hook.ts +13 -23
- package/src/scripts/cost/preflight.mjs +12 -1
- package/src/scripts/council_cli.ts +7 -7
- package/src/scripts/dispatch_r2_reviewer.ts +24 -11
- package/src/scripts/estate_exemption_shape.ts +202 -0
- package/src/scripts/explain_run.ts +8 -13
- package/src/scripts/generate_git_convention_grammar.ts +127 -0
- package/src/scripts/generate_host_cost_table.ts +21 -4
- package/src/scripts/handoff_context_hook.ts +86 -37
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +175 -15
- package/src/scripts/hooks/block_config_weakening.ts +115 -7
- package/src/scripts/hooks/block_plumbing_writes.ts +37 -5
- package/src/scripts/hooks/code_graph_context_hook.ts +252 -23
- package/src/scripts/hooks/concern_failure_policy.ts +280 -0
- package/src/scripts/hooks/concern_registry.ts +2 -0
- package/src/scripts/hooks/delegation_nudge_hook.ts +2 -3
- package/src/scripts/hooks/dispatch_hook.ts +52 -52
- package/src/scripts/hooks/evidence_independence.ts +12 -4
- package/src/scripts/hooks/exit_codes.ts +2 -1
- package/src/scripts/hooks/host_lowering.json +1 -1
- package/src/scripts/hooks/host_lowering.ts +19 -1
- package/src/scripts/hooks/mcp_usage_observation_hook.ts +121 -0
- package/src/scripts/hooks/one_question_per_ask_hook.ts +41 -25
- package/src/scripts/hooks/payload_stub.ts +10 -1
- package/src/scripts/hooks/push_settle_hook.ts +4 -3
- package/src/scripts/hooks/rule_inject_hook.ts +795 -60
- package/src/scripts/hooks/state_io.ts +8 -4
- package/src/scripts/hooks/table_fingerprint.ts +21 -0
- package/src/scripts/hooks/telemetry_usage_hook.ts +24 -7
- package/src/scripts/hooks/turn_end_gate_hook.ts +85 -0
- package/src/scripts/hooks_status.ts +112 -0
- package/src/scripts/injection_scan_hook.ts +7 -0
- package/src/scripts/install-hooks.sh +42 -14
- package/src/scripts/install.ts +78 -215
- package/src/scripts/installed_layer_report.ts +103 -0
- package/src/scripts/language_mirror_hook.ts +15 -6
- package/src/scripts/learning_sidecar.ts +119 -8
- package/src/scripts/lint_blocker_citations.ts +198 -0
- package/src/scripts/lint_evidence_artifacts.ts +9 -0
- package/src/scripts/lint_hook_concern_budget.ts +10 -21
- package/src/scripts/lint_hook_manifest.ts +53 -0
- package/src/scripts/lint_major_migration_sections.ts +156 -26
- package/src/scripts/lint_pack_boundaries.ts +465 -29
- package/src/scripts/lint_roadmap_blockers.ts +282 -29
- package/src/scripts/lint_roadmap_complexity.ts +4 -2
- package/src/scripts/lint_rule_law_section.ts +647 -0
- package/src/scripts/lint_rule_skill_pack_reach.ts +17 -0
- package/src/scripts/lint_settings_classes.ts +1 -1
- package/src/scripts/lint_ticked_unmet_criteria.ts +165 -0
- package/src/scripts/lint_workflow_security.ts +173 -6
- package/src/scripts/mcp_server/consumer_tool_catalog.json +53 -0
- package/src/scripts/mcp_server/graph_tools.ts +72 -3
- package/src/scripts/measure_routing_signal.ts +54 -16
- package/src/scripts/measure_skill_ranker_baseline.ts +221 -8
- package/src/scripts/memory_learn_hook.ts +91 -6
- package/src/scripts/model_rule_injection.ts +55 -8
- package/src/scripts/onboarding_gate_hook.ts +7 -6
- package/src/scripts/print_required_checks.ts +15 -3
- package/src/scripts/probe_host_compliance.ts +33 -5
- package/src/scripts/probe_turnaround.ts +183 -3
- package/src/scripts/project_thin_rules.ts +34 -327
- package/src/scripts/ratification_header.ts +77 -0
- package/src/scripts/refusal_envelope.ts +138 -0
- package/src/scripts/release_publication.ts +29 -3
- package/src/scripts/report_dispatch_import_closure.ts +76 -0
- package/src/scripts/report_evidence_temperature.ts +657 -0
- package/src/scripts/report_installed_rule_links.ts +274 -0
- package/src/scripts/report_label_agreement.ts +233 -0
- package/src/scripts/report_module_reach.ts +212 -0
- package/src/scripts/report_obligation_mechanism.ts +228 -0
- package/src/scripts/report_parked_blockers.ts +222 -0
- package/src/scripts/report_required_checks_drift.ts +196 -0
- package/src/scripts/report_single_token_triggers.ts +277 -0
- package/src/scripts/report_skill_ranker_confusion.ts +543 -0
- package/src/scripts/report_standing_payload_by_host.ts +188 -15
- package/src/scripts/report_verification_record_coverage.ts +306 -0
- package/src/scripts/routing_doctor.ts +2 -2
- package/src/scripts/rule_activation_census.ts +5 -2
- package/src/scripts/rule_trigger_eval.ts +9 -9
- package/src/scripts/schemas/agent-settings.schema.json +17 -31
- package/src/scripts/schemas/command.schema.json +1 -1
- package/src/scripts/schemas/review-findings.schema.json +3 -2
- package/src/scripts/schemas/rule.schema.json +5 -0
- package/src/scripts/schemas/skill.schema.json +1 -1
- package/src/scripts/self_review_gate.ts +101 -9
- package/src/scripts/skill_tools/score_skill_relevance.ts +314 -40
- package/src/scripts/sweep_skill_ranker_signals.ts +129 -0
- package/src/scripts/sync_gitignore.ts +29 -235
- package/src/scripts/sync_pr_branch.ts +403 -132
- package/src/scripts/trigger_eval_grandfather.json +0 -21
- package/src/server/schemas/settings.ts +42 -176
- package/src/shared/skillRanking.ts +169 -14
- package/dist/cli-delegate/chunk-5R7HOLAF.js +0 -99
- package/dist/cli-delegate/chunk-JNMVLWLR.js +0 -4457
- package/dist/cli-delegate/chunk-YDPILCOL.js +0 -152
- package/src/scripts/_lib/config_chain.ts +0 -477
- package/src/scripts/_lib/conformance_report.ts +0 -403
- package/src/scripts/_lib/eval_discrimination.ts +0 -95
- package/src/scripts/_lib/evaluator_promotion.ts +0 -225
- package/src/scripts/_lib/file_slicer.ts +0 -117
- package/src/scripts/_lib/legacy_boundary_map.ts +0 -228
- package/src/scripts/_lib/minimality_tiebreak.ts +0 -168
- package/src/scripts/_lib/overbuild_lens_contract.ts +0 -196
- package/src/scripts/_lib/role_split.ts +0 -338
|
@@ -2,29 +2,58 @@
|
|
|
2
2
|
import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
|
|
3
3
|
|
|
4
4
|
// src/scripts/check_update_banner.ts
|
|
5
|
-
import * as
|
|
6
|
-
import * as
|
|
5
|
+
import * as fs6 from "node:fs";
|
|
6
|
+
import * as path6 from "node:path";
|
|
7
7
|
import { fileURLToPath as fileURLToPath2, pathToFileURL } from "node:url";
|
|
8
8
|
|
|
9
9
|
// src/scripts/_lib/agent_settings.ts
|
|
10
10
|
import { createRequire } from "node:module";
|
|
11
|
-
import * as
|
|
12
|
-
import * as
|
|
11
|
+
import * as fs3 from "node:fs";
|
|
12
|
+
import * as path3 from "node:path";
|
|
13
|
+
|
|
14
|
+
// src/scripts/_lib/package_root.ts
|
|
15
|
+
import * as fs from "node:fs";
|
|
16
|
+
import * as path from "node:path";
|
|
13
17
|
import { fileURLToPath } from "node:url";
|
|
18
|
+
var PACKAGE_NAME = "@event4u/agent-config";
|
|
19
|
+
var MAX_ASCENT = 16;
|
|
20
|
+
function resolvePackageRoot(fromUrlOrPath, legacyHops = 3) {
|
|
21
|
+
const start = fromUrlOrPath.startsWith("file:") ? fileURLToPath(fromUrlOrPath) : fromUrlOrPath;
|
|
22
|
+
const startDir = path.dirname(start);
|
|
23
|
+
let dir = startDir;
|
|
24
|
+
for (let i = 0; i < MAX_ASCENT; i++) {
|
|
25
|
+
const manifest = path.join(dir, "package.json");
|
|
26
|
+
if (fs.existsSync(manifest)) {
|
|
27
|
+
try {
|
|
28
|
+
const parsed = JSON.parse(fs.readFileSync(manifest, "utf8"));
|
|
29
|
+
if (parsed.name === PACKAGE_NAME) {
|
|
30
|
+
return dir;
|
|
31
|
+
}
|
|
32
|
+
} catch {
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const parent = path.dirname(dir);
|
|
36
|
+
if (parent === dir) {
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
dir = parent;
|
|
40
|
+
}
|
|
41
|
+
return path.resolve(startDir, ...Array.from({ length: legacyHops }, () => ".."));
|
|
42
|
+
}
|
|
14
43
|
|
|
15
44
|
// src/scripts/_lib/user_global_paths.ts
|
|
16
|
-
import * as
|
|
45
|
+
import * as fs2 from "node:fs";
|
|
17
46
|
import * as os from "node:os";
|
|
18
|
-
import * as
|
|
47
|
+
import * as path2 from "node:path";
|
|
19
48
|
var EVENT4U_HOME_ENV = "EVENT4U_CONFIG_HOME";
|
|
20
|
-
var DEFAULT_EVENT4U_ROOT_RELATIVE =
|
|
21
|
-
var LEGACY_XDG_ROOT_RELATIVE =
|
|
49
|
+
var DEFAULT_EVENT4U_ROOT_RELATIVE = path2.join(".event4u", "agent-config");
|
|
50
|
+
var LEGACY_XDG_ROOT_RELATIVE = path2.join(".config", "agent-config");
|
|
22
51
|
function expanduser(p) {
|
|
23
52
|
if (p === "~") {
|
|
24
53
|
return os.homedir();
|
|
25
54
|
}
|
|
26
55
|
if (p.startsWith("~/") || process.platform === "win32" && p.startsWith("~\\")) {
|
|
27
|
-
return
|
|
56
|
+
return path2.join(os.homedir(), p.slice(2));
|
|
28
57
|
}
|
|
29
58
|
return p;
|
|
30
59
|
}
|
|
@@ -40,10 +69,10 @@ function event4u_root(env) {
|
|
|
40
69
|
if (override) {
|
|
41
70
|
return expanduser(override);
|
|
42
71
|
}
|
|
43
|
-
return
|
|
72
|
+
return path2.join(os.homedir(), DEFAULT_EVENT4U_ROOT_RELATIVE);
|
|
44
73
|
}
|
|
45
74
|
function legacy_xdg_root() {
|
|
46
|
-
return
|
|
75
|
+
return path2.join(os.homedir(), LEGACY_XDG_ROOT_RELATIVE);
|
|
47
76
|
}
|
|
48
77
|
function resolve_with_fallback(relative_name, options = {}) {
|
|
49
78
|
if (is_absolute_like_python(relative_name)) {
|
|
@@ -51,12 +80,12 @@ function resolve_with_fallback(relative_name, options = {}) {
|
|
|
51
80
|
`resolve_with_fallback expects a relative path, got '${relative_name}'`
|
|
52
81
|
);
|
|
53
82
|
}
|
|
54
|
-
const new_path =
|
|
55
|
-
if (
|
|
83
|
+
const new_path = path2.join(event4u_root(options.env ?? null), relative_name);
|
|
84
|
+
if (fs2.existsSync(new_path)) {
|
|
56
85
|
return new_path;
|
|
57
86
|
}
|
|
58
|
-
const legacy_path =
|
|
59
|
-
if (
|
|
87
|
+
const legacy_path = path2.join(legacy_xdg_root(), relative_name);
|
|
88
|
+
if (fs2.existsSync(legacy_path)) {
|
|
60
89
|
return legacy_path;
|
|
61
90
|
}
|
|
62
91
|
return null;
|
|
@@ -65,7 +94,7 @@ function write_target(relative_name, options = {}) {
|
|
|
65
94
|
if (is_absolute_like_python(relative_name)) {
|
|
66
95
|
throw new Error(`write_target expects a relative path, got '${relative_name}'`);
|
|
67
96
|
}
|
|
68
|
-
return
|
|
97
|
+
return path2.join(event4u_root(options.env ?? null), relative_name);
|
|
69
98
|
}
|
|
70
99
|
|
|
71
100
|
// src/shared/settingsCarveOut.ts
|
|
@@ -161,6 +190,102 @@ function applyRenamedKeys(layer) {
|
|
|
161
190
|
return layer;
|
|
162
191
|
}
|
|
163
192
|
|
|
193
|
+
// src/scripts/_lib/settings_removed_keys.ts
|
|
194
|
+
var REMOVED_KEYS = /* @__PURE__ */ new Map([
|
|
195
|
+
["subagents.enabled", "always-on orchestration"],
|
|
196
|
+
["subagents.auto", "always-on orchestration"],
|
|
197
|
+
["subagents.host_capabilities", "always-on orchestration"],
|
|
198
|
+
["subagents.budget_routing", "always-on orchestration"],
|
|
199
|
+
["ai_team.enabled", "always-on orchestration"],
|
|
200
|
+
["hooks.turn_end_gate.enabled", "the turn-end gate is always armed"],
|
|
201
|
+
["hooks.turn_end_gate.promissory", "the turn-end gate is always armed"],
|
|
202
|
+
["hooks.turn_end_gate.language", "the turn-end gate is always armed"],
|
|
203
|
+
["hooks.turn_end_gate.verification", "the turn-end gate is always armed"],
|
|
204
|
+
["telegraph.speak_scope", "the rule body states its own scope; compile_time_toggles decides whether the rule ships"],
|
|
205
|
+
["chat_history.max_size_kb", "the rotate command takes --max-kb from argv; session-count pruning bounds the file"],
|
|
206
|
+
["chat_history.on_overflow", "the overflow mode comes from the rotate command --mode argv"],
|
|
207
|
+
["quality.wait_for_remote_ci", "whether to poll follows from the push plus a detectable remote pipeline"],
|
|
208
|
+
["legal_review_prep.consented_at", "the provenance sidecar settings:set writes and consentVerdict reads"],
|
|
209
|
+
["worktrees.mode", "the user asking for a worktree in the chat; creation is instruction-only and hardcoded"],
|
|
210
|
+
// 2026-10-09 — output and tone
|
|
211
|
+
["personal.minimal_output", "direct-answers Iron Law 3 mandates terse replies; there is no verbose mode"],
|
|
212
|
+
["personal.play_by_play", "direct-answers: no narration unless the user asks for it in the turn"],
|
|
213
|
+
["personal.pr_comment_bot_icon", "no-decorative-emojis-in-git-surfaces forbids the \u{1F916} prefix"],
|
|
214
|
+
["verbosity.intent_announcements", 'direct-answers: act and emit the result, no "Let me\u2026" openers'],
|
|
215
|
+
["verbosity.preview_artifacts", "generated content is used directly; preview-on-error and the Iron-Law gates decide when a preview shows"],
|
|
216
|
+
["verbosity.routine_confirmations", "the no-cheap-questions Pre-Send Self-Check; Iron-Law gates always ask"],
|
|
217
|
+
["verbosity.post_action_reports", "direct-answers Iron Law 3: a one-line confirmation and one end-summary"],
|
|
218
|
+
["telegraph.speak", "the telegraph-speak predicate in compile_time_toggles.ts; the bench verdict is package-level (ADR telegraph/0002)"],
|
|
219
|
+
["tokens.rich_skills", "the skill's own token_budget_class: rich plus the lint_token_budget_discipline ceiling"],
|
|
220
|
+
// 2026-10-09 — reasoning protocol switches
|
|
221
|
+
["reasoning.auto_gate", "the RDP gate task signal plus the host self-assessment in rdp-gate.md"],
|
|
222
|
+
["reasoning.components.orchestrator", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
223
|
+
["reasoning.components.notes_first", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
224
|
+
["reasoning.components.grounding", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
225
|
+
["reasoning.components.intent", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
226
|
+
["reasoning.components.complexity_first", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
227
|
+
["reasoning.components.verifier_default", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
228
|
+
["reasoning.components.prediction_tracking", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
229
|
+
["reasoning.components.decision_ledger", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
230
|
+
["reasoning.components.uncertainty_budget", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
231
|
+
// 2026-10-09 — roadmap cadence
|
|
232
|
+
["roadmap.skip_pre_run_gate", "the command name names the scope; only an ambiguous roadmap or an unresolvable conflict shows the gate"],
|
|
233
|
+
["roadmap.dashboard_regen_cadence", "a fixed cadence: every 5th closed step, every phase boundary, reply end and any file-shape touch"],
|
|
234
|
+
// 2026-10-09 — command suggestion and PR creation
|
|
235
|
+
["commands.auto_detect", "an orchestrator's own auto_detect front-matter and the --no-auto-detect flag"],
|
|
236
|
+
["commands.suggestion.enabled", "the suggester match-score floor and cooldown; /command-suggestion-off silences one conversation"],
|
|
237
|
+
["commands.suggestion.confidence_floor", "the suggester's fixed 0.6 floor; a command's own suggestion frontmatter can tighten it"],
|
|
238
|
+
["commands.suggestion.cooldown_seconds", "the suggester's fixed 600-second cooldown; a command's own suggestion frontmatter can lengthen it"],
|
|
239
|
+
["commands.suggestion.max_options", "the fixed cap of 4 suggestions plus the always-present as-is option"],
|
|
240
|
+
["commands.create_pr.api_examples", "/create-pr's grounding rule: an example only from a real source, otherwise a one-line pointer"],
|
|
241
|
+
["commands.create_pr.ui_paths", "/create-pr's light frontend heuristic, which fails open"],
|
|
242
|
+
["commands.create_pr.api_paths", "/create-pr's light API-endpoint heuristic, which fails open"],
|
|
243
|
+
// 2026-10-09 — memory and knowledge sharing
|
|
244
|
+
["memory.cadence", "a fixed cadence: the memory line renders whenever a memory type was asked; memory.visibility: off still silences it"],
|
|
245
|
+
["memory.review_threshold", "/memory load's fixed preview threshold of 10 unreviewed intake signals"],
|
|
246
|
+
["knowledge.global_sharing.redaction.enabled", "the write-time redaction scan, which always runs before a card goes global"],
|
|
247
|
+
["knowledge.global_sharing.redaction.halt_on_trigger", "the redaction gate, which always halts on a confidential-pattern hit"],
|
|
248
|
+
["knowledge.global_sharing.auto_promote_threshold", "the fixed two-repo sighting count that triggers a promotion suggestion"],
|
|
249
|
+
["knowledge.global_sharing.freshness.hypothesis_after_days", "the card's age over last_verified against the fixed 90-day lead-only window"],
|
|
250
|
+
["knowledge.global_sharing.freshness.stale_after_days", "the card's age over last_verified against the fixed 180-day skip window"],
|
|
251
|
+
// 2026-10-09 — hooks and engine
|
|
252
|
+
["hooks.concern_budget.max_per_event", "the concern-budget gate's own constant of 8 per (platform, event) cell"],
|
|
253
|
+
["hooks.concern_budget.hard_fail", "the concern-budget gate's --strict argv; without it the gate warns"],
|
|
254
|
+
["decision_engine.surface_traces", "nothing: the per-phase decision trace stays off, the old default"],
|
|
255
|
+
["decision_engine.on_block_fallback", "the fail-safe: an on_block ask that times out always stops"],
|
|
256
|
+
["explain.enable_last", "the presence of a work-state trace; explain last always renders it"],
|
|
257
|
+
// 2026-10-09 — remaining
|
|
258
|
+
["project.pr_template", "/create-pr, which reads .github/pull_request_template.md"],
|
|
259
|
+
["pipelines.skill_improvement", "the skill-improvement-trigger rule; the capture is a proposal the user confirms"],
|
|
260
|
+
["consistency.cross_source", "the cross-source-consistency rule, always on; batching and the no-cheap-questions floor bound the noise"],
|
|
261
|
+
["subagents.downshift", "the model_tier each sub-task declares; downshift is always on"],
|
|
262
|
+
["ai_team.suppress_setup_hint", "nothing: the one-line team-mode setup hint is always shown"]
|
|
263
|
+
]);
|
|
264
|
+
var _warnedRemovedKeys = /* @__PURE__ */ new Set();
|
|
265
|
+
function _readDotted(root, dotted) {
|
|
266
|
+
let node = root;
|
|
267
|
+
for (const part of dotted.split(".")) {
|
|
268
|
+
if (typeof node !== "object" || node === null || Array.isArray(node)) {
|
|
269
|
+
return void 0;
|
|
270
|
+
}
|
|
271
|
+
node = node[part];
|
|
272
|
+
}
|
|
273
|
+
return node;
|
|
274
|
+
}
|
|
275
|
+
function warnRemovedKeys(merged) {
|
|
276
|
+
for (const [key, reason] of REMOVED_KEYS) {
|
|
277
|
+
if (_warnedRemovedKeys.has(key)) {
|
|
278
|
+
continue;
|
|
279
|
+
}
|
|
280
|
+
if (_readDotted(merged, key) === void 0) {
|
|
281
|
+
continue;
|
|
282
|
+
}
|
|
283
|
+
_warnedRemovedKeys.add(key);
|
|
284
|
+
process.stderr.write(`${key} was removed (${reason}); ignored.
|
|
285
|
+
`);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
|
|
164
289
|
// src/scripts/_lib/agent_settings.ts
|
|
165
290
|
var _require = createRequire(import.meta.url);
|
|
166
291
|
var Logger = class {
|
|
@@ -201,10 +326,10 @@ var DEFAULT_PROJECT_FILE = ".agent-settings.yml";
|
|
|
201
326
|
var LOCAL_PROJECT_FILE = ".agent-settings.local.yml";
|
|
202
327
|
var LOCAL_PROJECT_SUBDIR = ["agents", "settings"];
|
|
203
328
|
function _local_settings_path(project_root) {
|
|
204
|
-
return
|
|
329
|
+
return path3.join(project_root, ...LOCAL_PROJECT_SUBDIR, LOCAL_PROJECT_FILE);
|
|
205
330
|
}
|
|
206
331
|
function _canonical_settings_path(project_root) {
|
|
207
|
-
return
|
|
332
|
+
return path3.join(project_root, ...LOCAL_PROJECT_SUBDIR, DEFAULT_PROJECT_FILE);
|
|
208
333
|
}
|
|
209
334
|
var USER_GLOBAL_FILENAME = "agent-settings.yml";
|
|
210
335
|
function DEFAULT_USER_GLOBAL_FILE() {
|
|
@@ -227,13 +352,13 @@ function user_global_settings_paths() {
|
|
|
227
352
|
return paths;
|
|
228
353
|
}
|
|
229
354
|
var MERGEABLE_KEYS = [
|
|
230
|
-
// `name
|
|
231
|
-
// `
|
|
232
|
-
//
|
|
233
|
-
//
|
|
234
|
-
//
|
|
235
|
-
//
|
|
236
|
-
//
|
|
355
|
+
// `name` and `ide` are the PRE-MIGRATION spellings. `install.ts` migrates
|
|
356
|
+
// `ide` → `personal.ide`, and this list was never moved with it — so the
|
|
357
|
+
// whitelist named a key the template does not have while the key it does
|
|
358
|
+
// have was filtered out silently (road-to-capability-answerability 4.3,
|
|
359
|
+
// ADR-219). `personal.bot_icon` / `personal.pr_comment_bot_icon` left with
|
|
360
|
+
// the key itself (2026-10-09): a whitelisted key nothing reads would carry a
|
|
361
|
+
// user-global value into a tree that ignores it.
|
|
237
362
|
//
|
|
238
363
|
// Both spellings are listed rather than replaced: a legacy file that still
|
|
239
364
|
// uses the old name keeps working, and nothing that resolved before
|
|
@@ -243,20 +368,12 @@ var MERGEABLE_KEYS = [
|
|
|
243
368
|
"ide",
|
|
244
369
|
"personal.ide",
|
|
245
370
|
"rule_loading_tier",
|
|
246
|
-
"memory.cadence",
|
|
247
|
-
"personal.bot_icon",
|
|
248
|
-
"personal.pr_comment_bot_icon",
|
|
249
371
|
"personal.autonomy",
|
|
250
372
|
// Knowledge-card global cross-project sharing is a USER-GLOBAL setting
|
|
251
373
|
// (ADR-100 / road-to-structure-grounding-v2). Whitelisted so the
|
|
252
374
|
// ~/.event4u/agent-config/agent-settings.yml values are honoured.
|
|
253
375
|
"knowledge.global_sharing.enabled",
|
|
254
376
|
"knowledge.global_sharing.allowed_tiers",
|
|
255
|
-
"knowledge.global_sharing.redaction.enabled",
|
|
256
|
-
"knowledge.global_sharing.redaction.halt_on_trigger",
|
|
257
|
-
"knowledge.global_sharing.auto_promote_threshold",
|
|
258
|
-
"knowledge.global_sharing.freshness.hypothesis_after_days",
|
|
259
|
-
"knowledge.global_sharing.freshness.stale_after_days",
|
|
260
377
|
// `design.fidelity_mode` is a per-DEVELOPER working preference, not a
|
|
261
378
|
// per-project one: whether an agent may deviate from a handed-over design
|
|
262
379
|
// is a property of how that person works, and a designer who sets it once
|
|
@@ -267,12 +384,23 @@ var MERGEABLE_KEYS = [
|
|
|
267
384
|
// be followed. Class C, so a user still sets it by hand or through the
|
|
268
385
|
// GUI; whitelisting decides only whether the value SURVIVES the merge
|
|
269
386
|
// (ADR-271, road-to-design-intent-conformance 2.3).
|
|
270
|
-
"design.fidelity_mode"
|
|
387
|
+
"design.fidelity_mode",
|
|
388
|
+
// `lean_projection.*` is a per-MACHINE setting and the install it governs is
|
|
389
|
+
// a user-scope one: the layer being thinned is `~/.claude/rules`, which
|
|
390
|
+
// belongs to the machine and not to any checkout. Without these two rows a
|
|
391
|
+
// consumer who wrote the opt-in into the user-global file got no error, no
|
|
392
|
+
// warning and no effect — the same silent-filter defect the two entries
|
|
393
|
+
// above repair, reaching a third key, and unsatisfiable-by-construction on
|
|
394
|
+
// an ADR-020 global-only install, where no project layer exists to carry it.
|
|
395
|
+
// Whitelisting decides only whether a value SURVIVES the merge: it sets
|
|
396
|
+
// nothing, and `installerThinsHost` still refuses a template-only value.
|
|
397
|
+
"lean_projection.mode",
|
|
398
|
+
"lean_projection.hosts"
|
|
271
399
|
];
|
|
272
|
-
var TEMPLATE_RELATIVE =
|
|
273
|
-
var _PACKAGE_ROOT =
|
|
400
|
+
var TEMPLATE_RELATIVE = path3.join("src", "config", "agent-settings.template.yml");
|
|
401
|
+
var _PACKAGE_ROOT = resolvePackageRoot(import.meta.url);
|
|
274
402
|
function default_template_path() {
|
|
275
|
-
return
|
|
403
|
+
return path3.join(_PACKAGE_ROOT, TEMPLATE_RELATIVE);
|
|
276
404
|
}
|
|
277
405
|
function _is_placeholder(value) {
|
|
278
406
|
return typeof value === "string" && /^__[A-Z0-9_]+__$/.test(value);
|
|
@@ -323,8 +451,8 @@ var _AGENTS_DIR_MARKERS = [
|
|
|
323
451
|
var _LEGACY_ANCHOR_ENV = "AGENT_CONFIG_LEGACY_ANCHOR";
|
|
324
452
|
function _exists(p) {
|
|
325
453
|
try {
|
|
326
|
-
|
|
327
|
-
|
|
454
|
+
fs3.lstatSync(p);
|
|
455
|
+
fs3.statSync(p);
|
|
328
456
|
return true;
|
|
329
457
|
} catch {
|
|
330
458
|
return false;
|
|
@@ -332,22 +460,22 @@ function _exists(p) {
|
|
|
332
460
|
}
|
|
333
461
|
function _is_dir(p) {
|
|
334
462
|
try {
|
|
335
|
-
return
|
|
463
|
+
return fs3.statSync(p).isDirectory();
|
|
336
464
|
} catch {
|
|
337
465
|
return false;
|
|
338
466
|
}
|
|
339
467
|
}
|
|
340
468
|
function _is_file(p) {
|
|
341
469
|
try {
|
|
342
|
-
return
|
|
470
|
+
return fs3.statSync(p).isFile();
|
|
343
471
|
} catch {
|
|
344
472
|
return false;
|
|
345
473
|
}
|
|
346
474
|
}
|
|
347
475
|
function _resolve(p) {
|
|
348
|
-
const absolute =
|
|
476
|
+
const absolute = path3.resolve(p);
|
|
349
477
|
try {
|
|
350
|
-
return
|
|
478
|
+
return fs3.realpathSync(absolute);
|
|
351
479
|
} catch {
|
|
352
480
|
return absolute;
|
|
353
481
|
}
|
|
@@ -357,7 +485,7 @@ function _ancestor_chain(start) {
|
|
|
357
485
|
let cursor = start;
|
|
358
486
|
for (; ; ) {
|
|
359
487
|
chain.push(cursor);
|
|
360
|
-
const parent =
|
|
488
|
+
const parent = path3.dirname(cursor);
|
|
361
489
|
if (parent === cursor) {
|
|
362
490
|
break;
|
|
363
491
|
}
|
|
@@ -366,15 +494,15 @@ function _ancestor_chain(start) {
|
|
|
366
494
|
return chain;
|
|
367
495
|
}
|
|
368
496
|
function _boundary_anchor_at(dir) {
|
|
369
|
-
const agents_dir =
|
|
497
|
+
const agents_dir = path3.join(dir, "agents");
|
|
370
498
|
if (_is_dir(agents_dir)) {
|
|
371
499
|
for (const marker of _AGENTS_DIR_MARKERS) {
|
|
372
|
-
if (_exists(
|
|
500
|
+
if (_exists(path3.join(agents_dir, marker))) {
|
|
373
501
|
return ANCHOR_AGENTS_DIR;
|
|
374
502
|
}
|
|
375
503
|
}
|
|
376
504
|
}
|
|
377
|
-
if (_exists(
|
|
505
|
+
if (_exists(path3.join(dir, ".git"))) {
|
|
378
506
|
return ANCHOR_GIT;
|
|
379
507
|
}
|
|
380
508
|
return null;
|
|
@@ -385,7 +513,7 @@ function find_project_root_with_anchor(start) {
|
|
|
385
513
|
const chain = _ancestor_chain(current);
|
|
386
514
|
if (legacy) {
|
|
387
515
|
for (const candidate of chain) {
|
|
388
|
-
if (_exists(
|
|
516
|
+
if (_exists(path3.join(candidate, ".git"))) {
|
|
389
517
|
return [candidate, ANCHOR_GIT];
|
|
390
518
|
}
|
|
391
519
|
}
|
|
@@ -399,7 +527,7 @@ function find_project_root_with_anchor(start) {
|
|
|
399
527
|
}
|
|
400
528
|
let outermost = null;
|
|
401
529
|
for (const candidate of chain) {
|
|
402
|
-
if (_exists(
|
|
530
|
+
if (_exists(path3.join(candidate, DEFAULT_PROJECT_FILE))) {
|
|
403
531
|
outermost = candidate;
|
|
404
532
|
}
|
|
405
533
|
}
|
|
@@ -415,13 +543,13 @@ function find_project_root(start) {
|
|
|
415
543
|
function _resolve_cascade_paths(cwd, project_path) {
|
|
416
544
|
if (cwd === null) {
|
|
417
545
|
const legacy = project_path ? project_path : DEFAULT_PROJECT_FILE;
|
|
418
|
-
const parent =
|
|
546
|
+
const parent = path3.dirname(legacy);
|
|
419
547
|
return [legacy, _canonical_settings_path(parent), _local_settings_path(parent)];
|
|
420
548
|
}
|
|
421
549
|
const root = find_project_root(cwd);
|
|
422
550
|
if (root === null) {
|
|
423
551
|
const legacy = project_path ? project_path : DEFAULT_PROJECT_FILE;
|
|
424
|
-
const parent =
|
|
552
|
+
const parent = path3.dirname(legacy);
|
|
425
553
|
return [legacy, _canonical_settings_path(parent), _local_settings_path(parent)];
|
|
426
554
|
}
|
|
427
555
|
const cwd_resolved = _resolve(cwd);
|
|
@@ -432,7 +560,7 @@ function _resolve_cascade_paths(cwd, project_path) {
|
|
|
432
560
|
if (cursor === root) {
|
|
433
561
|
break;
|
|
434
562
|
}
|
|
435
|
-
const parent =
|
|
563
|
+
const parent = path3.dirname(cursor);
|
|
436
564
|
if (parent === cursor) {
|
|
437
565
|
break;
|
|
438
566
|
}
|
|
@@ -440,7 +568,7 @@ function _resolve_cascade_paths(cwd, project_path) {
|
|
|
440
568
|
}
|
|
441
569
|
chain.reverse();
|
|
442
570
|
return [
|
|
443
|
-
...chain.map((d) =>
|
|
571
|
+
...chain.map((d) => path3.join(d, DEFAULT_PROJECT_FILE)),
|
|
444
572
|
_canonical_settings_path(root),
|
|
445
573
|
_local_settings_path(root)
|
|
446
574
|
];
|
|
@@ -471,50 +599,9 @@ function load_agent_settings(options = {}) {
|
|
|
471
599
|
_deep_merge(merged, layer);
|
|
472
600
|
}
|
|
473
601
|
}
|
|
474
|
-
|
|
602
|
+
warnRemovedKeys(merged);
|
|
475
603
|
return merged;
|
|
476
604
|
}
|
|
477
|
-
var REMOVED_KEYS = /* @__PURE__ */ new Map([
|
|
478
|
-
["subagents.enabled", "always-on orchestration"],
|
|
479
|
-
["subagents.auto", "always-on orchestration"],
|
|
480
|
-
["subagents.host_capabilities", "always-on orchestration"],
|
|
481
|
-
["subagents.budget_routing", "always-on orchestration"],
|
|
482
|
-
["ai_team.enabled", "always-on orchestration"],
|
|
483
|
-
["hooks.turn_end_gate.enabled", "the turn-end gate is always armed"],
|
|
484
|
-
["hooks.turn_end_gate.promissory", "the turn-end gate is always armed"],
|
|
485
|
-
["hooks.turn_end_gate.language", "the turn-end gate is always armed"],
|
|
486
|
-
["hooks.turn_end_gate.verification", "the turn-end gate is always armed"],
|
|
487
|
-
["telegraph.speak_scope", "the rule body states its own scope; compile_router gates on telegraph.speak alone"],
|
|
488
|
-
["chat_history.max_size_kb", "the rotate command takes --max-kb from argv; session-count pruning bounds the file"],
|
|
489
|
-
["chat_history.on_overflow", "the overflow mode comes from the rotate command --mode argv"],
|
|
490
|
-
["quality.wait_for_remote_ci", "whether to poll follows from the push plus a detectable remote pipeline"],
|
|
491
|
-
["legal_review_prep.consented_at", "the provenance sidecar settings:set writes and consentVerdict reads"],
|
|
492
|
-
["worktrees.mode", "the user asking for a worktree in the chat; creation is instruction-only and hardcoded"]
|
|
493
|
-
]);
|
|
494
|
-
var _warnedRemovedKeys = /* @__PURE__ */ new Set();
|
|
495
|
-
function _readDottedSettingsPath(root, dotted) {
|
|
496
|
-
let node = root;
|
|
497
|
-
for (const part of dotted.split(".")) {
|
|
498
|
-
if (typeof node !== "object" || node === null || Array.isArray(node)) {
|
|
499
|
-
return void 0;
|
|
500
|
-
}
|
|
501
|
-
node = node[part];
|
|
502
|
-
}
|
|
503
|
-
return node;
|
|
504
|
-
}
|
|
505
|
-
function _warn_removed_always_on_keys(merged) {
|
|
506
|
-
for (const [key, reason] of REMOVED_KEYS) {
|
|
507
|
-
if (_warnedRemovedKeys.has(key)) {
|
|
508
|
-
continue;
|
|
509
|
-
}
|
|
510
|
-
if (_readDottedSettingsPath(merged, key) === void 0) {
|
|
511
|
-
continue;
|
|
512
|
-
}
|
|
513
|
-
_warnedRemovedKeys.add(key);
|
|
514
|
-
process.stderr.write(`${key} was removed (${reason}); ignored.
|
|
515
|
-
`);
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
605
|
function _read_yaml(p) {
|
|
519
606
|
if (!_is_file(p)) {
|
|
520
607
|
return null;
|
|
@@ -527,7 +614,7 @@ function _read_yaml(p) {
|
|
|
527
614
|
}
|
|
528
615
|
let data;
|
|
529
616
|
try {
|
|
530
|
-
const text =
|
|
617
|
+
const text = fs3.readFileSync(p, "utf-8");
|
|
531
618
|
data = YAML.parse(text, { version: "1.1" });
|
|
532
619
|
if (data === null || data === void 0) {
|
|
533
620
|
data = {};
|
|
@@ -627,8 +714,8 @@ function _is_plain_dict(value) {
|
|
|
627
714
|
}
|
|
628
715
|
|
|
629
716
|
// src/scripts/_lib/scan_scope.ts
|
|
630
|
-
import * as
|
|
631
|
-
import * as
|
|
717
|
+
import * as fs4 from "node:fs";
|
|
718
|
+
import * as path4 from "node:path";
|
|
632
719
|
var DeadScopeError = class extends Error {
|
|
633
720
|
gate;
|
|
634
721
|
constructor(gate, message) {
|
|
@@ -640,7 +727,7 @@ var DeadScopeError = class extends Error {
|
|
|
640
727
|
function assertWatchlistResolves(opts) {
|
|
641
728
|
const resolved = opts.candidates.filter((rel) => {
|
|
642
729
|
try {
|
|
643
|
-
return
|
|
730
|
+
return fs4.statSync(path4.join(opts.repoRoot, rel)).isFile();
|
|
644
731
|
} catch {
|
|
645
732
|
return false;
|
|
646
733
|
}
|
|
@@ -656,10 +743,10 @@ function assertWatchlistResolves(opts) {
|
|
|
656
743
|
|
|
657
744
|
// src/scripts/_lib/update_check.ts
|
|
658
745
|
import { randomBytes } from "node:crypto";
|
|
659
|
-
import * as
|
|
660
|
-
import * as
|
|
661
|
-
var
|
|
662
|
-
var NPM_REGISTRY_URL = `https://registry.npmjs.org/${
|
|
746
|
+
import * as fs5 from "node:fs";
|
|
747
|
+
import * as path5 from "node:path";
|
|
748
|
+
var PACKAGE_NAME2 = "@event4u/agent-config";
|
|
749
|
+
var NPM_REGISTRY_URL = `https://registry.npmjs.org/${PACKAGE_NAME2}/latest`;
|
|
663
750
|
var FETCH_TIMEOUT_S = 1;
|
|
664
751
|
var CHECK_WINDOW_MS = 24 * 60 * 60 * 1e3;
|
|
665
752
|
var STATE_FILENAME = "update-check.json";
|
|
@@ -697,7 +784,7 @@ async function fetch_latest_from_npm(options = {}) {
|
|
|
697
784
|
}
|
|
698
785
|
function _read_state(state_path) {
|
|
699
786
|
try {
|
|
700
|
-
const raw =
|
|
787
|
+
const raw = fs5.readFileSync(state_path, "utf-8");
|
|
701
788
|
const data = JSON.parse(raw);
|
|
702
789
|
if (data !== null && typeof data === "object" && !Array.isArray(data)) {
|
|
703
790
|
return data;
|
|
@@ -707,20 +794,20 @@ function _read_state(state_path) {
|
|
|
707
794
|
return {};
|
|
708
795
|
}
|
|
709
796
|
function _write_state(state_path, payload) {
|
|
710
|
-
const parent =
|
|
711
|
-
|
|
712
|
-
const tmp =
|
|
797
|
+
const parent = path5.dirname(state_path);
|
|
798
|
+
fs5.mkdirSync(parent, { recursive: true });
|
|
799
|
+
const tmp = path5.join(parent, `.update-check-${randomBytes(8).toString("hex")}`);
|
|
713
800
|
try {
|
|
714
801
|
const sorted = {};
|
|
715
802
|
for (const key of Object.keys(payload).sort()) {
|
|
716
803
|
sorted[key] = payload[key];
|
|
717
804
|
}
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
805
|
+
fs5.writeFileSync(tmp, JSON.stringify(sorted, null, 2), { encoding: "utf-8", mode: 384 });
|
|
806
|
+
fs5.chmodSync(tmp, 384);
|
|
807
|
+
fs5.renameSync(tmp, state_path);
|
|
721
808
|
} catch (err) {
|
|
722
809
|
try {
|
|
723
|
-
|
|
810
|
+
fs5.unlinkSync(tmp);
|
|
724
811
|
} catch {
|
|
725
812
|
}
|
|
726
813
|
throw err;
|
|
@@ -743,7 +830,7 @@ function _should_check(state, now) {
|
|
|
743
830
|
}
|
|
744
831
|
function _format_banner(latest, installed) {
|
|
745
832
|
return `\u2139\uFE0F agent-config ${latest} available (you have ${installed}).
|
|
746
|
-
Update: npx ${
|
|
833
|
+
Update: npx ${PACKAGE_NAME2} update`;
|
|
747
834
|
}
|
|
748
835
|
function _int_or_zero(part) {
|
|
749
836
|
const trimmed = part.trim();
|
|
@@ -835,7 +922,7 @@ async function check_for_update(installed_version, options = {}) {
|
|
|
835
922
|
|
|
836
923
|
// src/scripts/check_update_banner.ts
|
|
837
924
|
var _HERE = fileURLToPath2(import.meta.url);
|
|
838
|
-
var ROOT =
|
|
925
|
+
var ROOT = path6.resolve(path6.dirname(_HERE), "..", "..");
|
|
839
926
|
var DOC = `Thin CLI wrapper: emit the daily update-check banner to stderr.
|
|
840
927
|
|
|
841
928
|
Invoked by the \`scripts/agent-config\` dispatcher **after** a
|
|
@@ -849,9 +936,9 @@ Usage:
|
|
|
849
936
|
When \`--installed-version\` is omitted, reads \`package.json\` next to
|
|
850
937
|
the package root (\`$PACKAGE_ROOT/package.json\`).`;
|
|
851
938
|
function _read_installed_version(package_root) {
|
|
852
|
-
const candidate =
|
|
939
|
+
const candidate = path6.join(package_root, "package.json");
|
|
853
940
|
try {
|
|
854
|
-
const data = JSON.parse(
|
|
941
|
+
const data = JSON.parse(fs6.readFileSync(candidate, "utf-8"));
|
|
855
942
|
const version = data["version"];
|
|
856
943
|
if (typeof version === "string" && version.trim()) {
|
|
857
944
|
return version.trim();
|
|
@@ -923,7 +1010,7 @@ async function main(argv = process.argv.slice(2)) {
|
|
|
923
1010
|
}
|
|
924
1011
|
let cwd;
|
|
925
1012
|
try {
|
|
926
|
-
cwd =
|
|
1013
|
+
cwd = path6.resolve(args.cwd);
|
|
927
1014
|
} catch {
|
|
928
1015
|
cwd = ROOT;
|
|
929
1016
|
}
|
|
@@ -944,17 +1031,17 @@ function _isCliEntry() {
|
|
|
944
1031
|
return false;
|
|
945
1032
|
}
|
|
946
1033
|
if (true) {
|
|
947
|
-
if (
|
|
1034
|
+
if (path6.basename(process.argv[1], ".js") === "check_update_banner") {
|
|
948
1035
|
return true;
|
|
949
1036
|
}
|
|
950
1037
|
}
|
|
951
|
-
const argvUrl = pathToFileURL(
|
|
1038
|
+
const argvUrl = pathToFileURL(path6.resolve(process.argv[1])).href;
|
|
952
1039
|
if (import.meta.url === argvUrl) {
|
|
953
1040
|
return true;
|
|
954
1041
|
}
|
|
955
1042
|
try {
|
|
956
|
-
const here =
|
|
957
|
-
const argv =
|
|
1043
|
+
const here = fs6.realpathSync(fileURLToPath2(import.meta.url));
|
|
1044
|
+
const argv = fs6.realpathSync(path6.resolve(process.argv[1]));
|
|
958
1045
|
return here === argv;
|
|
959
1046
|
} catch {
|
|
960
1047
|
return false;
|