@event4u/agent-config 16.3.0 → 16.5.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 +178 -78
- package/README.md +2 -2
- package/agents/templates/.ai-council.yml.example +26 -8
- package/dist/agent-src/commands/analyze/inbox.md +10 -7
- 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/design.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 +1 -1
- package/dist/agent-src/commands/fix/ci.md +17 -3
- 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 +3 -3
- 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/next.md +10 -1
- package/dist/agent-src/commands/roadmap/process-full.md +52 -38
- package/dist/agent-src/commands/roadmap/resolve-blockers.md +64 -14
- 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/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 +1 -1
- 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 +67 -52
- 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 +4 -10
- 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/design-antipatterns.md +1 -1
- package/dist/agent-src/guidelines/php/git.md +15 -2
- package/dist/agent-src/rules/active-remediation.md +0 -1
- 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 +0 -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 +0 -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 +0 -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 +5 -5
- 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 +2 -3
- package/dist/agent-src/rules/delegation-policy.md +2 -3
- package/dist/agent-src/rules/design-fidelity.md +0 -1
- 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 +0 -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 +0 -1
- package/dist/agent-src/rules/domain-safety-pii.md +0 -1
- package/dist/agent-src/rules/domain-safety-retention.md +0 -1
- package/dist/agent-src/rules/downstream-changes.md +0 -1
- package/dist/agent-src/rules/engineering-safety-floor.md +0 -1
- 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 +1 -2
- package/dist/agent-src/rules/finance-safety-floor.md +0 -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 +1 -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 +0 -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 +0 -1
- package/dist/agent-src/rules/lethal-trifecta-guard.md +0 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +0 -1
- package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
- package/dist/agent-src/rules/media-governance-routing.md +1 -2
- 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 +2 -3
- 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 +2 -3
- package/dist/agent-src/rules/question-not-instruction.md +0 -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 +3 -6
- 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 +0 -1
- package/dist/agent-src/rules/scale-discipline.md +0 -1
- package/dist/agent-src/rules/secret-vcs-guard.md +0 -1
- package/dist/agent-src/rules/security-sensitive-stop.md +0 -1
- 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 +0 -1
- package/dist/agent-src/rules/settings-ask-protocol.md +5 -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 +0 -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 +0 -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 +14 -48
- 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 +0 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -2
- package/dist/agent-src/rules/untrusted-input-defense.md +0 -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 +0 -1
- package/dist/agent-src/scripts/gate_budget.ts +47 -23
- package/dist/agent-src/scripts/gate_execute.ts +12 -4
- package/dist/agent-src/skills/accessibility-auditor/data/aria-patterns.csv +2 -0
- package/dist/agent-src/skills/accessibility-auditor/data/manifest.json +3 -3
- 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/bug-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/canvas-design/SKILL.md +4 -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-intelligence/references/integration-mapping.md +13 -10
- package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
- package/dist/agent-src/skills/fe-design/references/design-patterns.md +49 -2
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/frontend-render-security/SKILL.md +9 -0
- 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 +4 -2
- package/dist/agent-src/skills/image-provider-routing/SKILL.md +16 -5
- package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
- package/dist/agent-src/skills/logo-generation/SKILL.md +12 -8
- package/dist/agent-src/skills/merge-conflicts/SKILL.md +10 -4
- package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/refine-ticket/SKILL.md +4 -4
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -2
- package/dist/agent-src/skills/source-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/svg-authoring/SKILL.md +318 -0
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +3 -1
- package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
- 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/skills/wireframe/SKILL.md +5 -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/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/skill.md +1 -1
- package/dist/cli/commands/uiRender.js +201 -4
- package/dist/cli/commands/uiRenderAsset.js +1308 -0
- package/dist/cli/commands/uiRenderAssetCompare.js +752 -0
- package/dist/cli/commands/uiRenderAssetGrid.js +265 -0
- package/dist/cli/commands/uiRenderAssetGrounds.js +323 -0
- package/dist/cli/commands/uiRenderAssetIsolation.js +85 -0
- package/dist/cli/commands/uiRenderAssetTypes.js +145 -0
- package/dist/cli/main.js +47 -1
- package/dist/cli/registry.js +2 -1
- package/dist/cli-delegate/check_update_banner.js +195 -119
- package/dist/cli-delegate/{chunk-S4UMZNES.js → chunk-4DBG5K7M.js} +5 -5
- package/dist/cli-delegate/{chunk-TRI6DQZ6.js → chunk-5GPULQBE.js} +60 -42
- package/dist/cli-delegate/{chunk-JQVYKIZA.js → chunk-6SRJTYJS.js} +33 -177
- package/dist/cli-delegate/chunk-6V5FMA3P.js +186 -0
- 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-7HQ52DHU.js → chunk-AL3RZ22D.js} +1 -1
- package/dist/cli-delegate/{chunk-DBH4AHDK.js → chunk-ED7KCMLB.js} +9 -11
- package/dist/cli-delegate/{chunk-NXEILF2K.js → chunk-F3QDG2GT.js} +481 -72
- package/dist/cli-delegate/{chunk-CQWX336L.js → chunk-G5VVIZRC.js} +3 -3
- package/dist/cli-delegate/{chunk-JY2I2DXV.js → chunk-H76PHZBI.js} +137 -60
- package/dist/cli-delegate/chunk-IAYTIIQW.js +67 -0
- package/dist/cli-delegate/{chunk-LIYTLH6O.js → chunk-KXXWJTDO.js} +5 -10
- package/dist/cli-delegate/{chunk-T7L2QK3K.js → chunk-LQOCRFWT.js} +1 -1
- package/dist/cli-delegate/{chunk-S4YWNRKO.js → chunk-MDPPKQCQ.js} +34 -1
- package/dist/cli-delegate/chunk-OAFSJBHH.js +272 -0
- package/dist/cli-delegate/{chunk-GKE7ZVFA.js → chunk-PWX7CKMD.js} +1 -1
- package/dist/cli-delegate/{chunk-NDJLNC6Q.js → chunk-T6BP34WI.js} +1 -0
- package/dist/cli-delegate/{chunk-RQNNW7IF.js → chunk-T7XSJSUQ.js} +433 -632
- package/dist/cli-delegate/{chunk-NQ7WT43P.js → chunk-TMWYUOK4.js} +75 -12
- package/dist/cli-delegate/{chunk-EEHDXSYD.js → chunk-WQWXGIWB.js} +12 -273
- package/dist/cli-delegate/{chunk-QLDHIPWR.js → chunk-XQTPXKFA.js} +1 -1
- 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 +489 -238
- package/dist/cli-delegate/cmd_converge.js +3 -3
- package/dist/cli-delegate/cmd_doctor.js +15 -12
- package/dist/cli-delegate/cmd_doctor_neighbours.js +11 -4
- package/dist/cli-delegate/cmd_explain.js +43 -19
- package/dist/cli-delegate/cmd_export.js +10 -10
- package/dist/cli-delegate/cmd_git_convention.js +1851 -0
- package/dist/cli-delegate/cmd_handoff.js +40 -21
- package/dist/cli-delegate/cmd_mcp_available.js +3 -2
- package/dist/cli-delegate/cmd_migrate.js +3 -3
- package/dist/cli-delegate/cmd_packs_active.js +4 -3
- package/dist/cli-delegate/cmd_prune.js +10 -10
- package/dist/cli-delegate/cmd_route_audit.js +7 -7
- package/dist/cli-delegate/cmd_route_explain.js +5 -5
- package/dist/cli-delegate/cmd_session_recycle.js +9 -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 +10 -10
- package/dist/cli-delegate/cmd_settings_set.js +1 -1
- package/dist/cli-delegate/cmd_sync.js +10 -10
- package/dist/cli-delegate/cmd_uninstall.js +10 -10
- package/dist/cli-delegate/cmd_update.js +7 -7
- package/dist/cli-delegate/cmd_upgrade.js +7 -7
- package/dist/cli-delegate/cmd_validate.js +10 -10
- package/dist/cli-delegate/cmd_versions.js +5 -5
- package/dist/cli-delegate/gate_budget.js +1 -1
- package/dist/cli-delegate/gate_execute.js +2 -2
- package/dist/cli-delegate/roadmap_gates.js +2 -2
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +171 -107
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +7 -7
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +41 -22
- package/dist/discovery/trust-report.md +3 -3
- package/dist/discovery/workspaces.json +16 -11
- package/dist/hooks/dispatch.js +2520 -1924
- package/dist/hooks/dispatch.sha256 +1 -1
- package/dist/hooks/svg_rules.chunk.cjs +1626 -0
- package/dist/hooks/svg_rules.chunk.cjs.sha256 +1 -0
- package/dist/install/install.mjs +462 -431
- package/dist/install/installThinLayer.js +40 -12
- package/dist/install/installedRuleLinks.js +105 -19
- 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 +3063 -2160
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +15 -120
- 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 +344 -18
- package/dist/scripts/_lib/package_root.js +68 -0
- package/dist/scripts/_lib/rule_law_section.js +1 -1
- package/dist/scripts/_lib/scan_scope.js +105 -0
- package/dist/scripts/_lib/settings_removed_keys.js +168 -0
- package/dist/scripts/_lib/svg_dom.js +284 -0
- package/dist/scripts/_lib/svg_geometry.js +477 -0
- package/dist/scripts/_lib/svg_motion.js +179 -0
- package/dist/scripts/_lib/svg_rules.js +1337 -0
- package/dist/scripts/_lib/svg_urls.js +67 -0
- package/dist/scripts/_lib/thin_rules.js +80 -3
- package/dist/scripts/lint_svg_asset.js +324 -0
- 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 +23 -81
- package/dist/shared/skillRanking.js +30 -4
- 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 +35 -65
- 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/design-antipatterns.md +1 -1
- package/docs/guidelines/php/git.md +15 -2
- package/package.json +4 -3
- package/src/agent-src/scripts/gate_budget.ts +47 -23
- package/src/agent-src/scripts/gate_execute.ts +12 -4
- 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/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/config/agent-settings.template.yml +79 -312
- 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 +3 -3
- package/src/config/discovery/packs.yml +17 -1
- package/src/config/evaluator-budgets.json +19 -6
- package/src/config/gate-coverage.yml +65 -23
- package/src/config/gate-violation-baselines.json +56 -16
- package/src/config/gitignore-block.txt +19 -0
- package/src/config/hook-bundle-budget.json +1 -1
- package/src/config/release-gate-locality.yml +2 -1
- package/src/config/routing-coverage-seed.json +55 -6
- package/src/config/rule-law-ceilings.json +12 -6
- package/src/config/rule-obligations.json +833 -0
- package/src/install/installThinLayer.ts +76 -10
- package/src/install/installedRuleLinks.ts +105 -17
- 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 +10 -10
- package/src/scripts/_cli/cmd_doctor_neighbours.ts +133 -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 +37 -2
- package/src/scripts/_lib/agent_settings.ts +15 -124
- package/src/scripts/_lib/blocked_by_marker.ts +1 -1
- package/src/scripts/_lib/compile_time_toggles.ts +12 -21
- package/src/scripts/_lib/dispatch_import_closure.ts +163 -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/global_deploy_inventory.ts +74 -0
- package/src/scripts/_lib/graph_feeder_record.ts +236 -13
- package/src/scripts/_lib/installed_layer.ts +448 -23
- package/src/scripts/_lib/knowledge_global.ts +14 -1
- package/src/scripts/_lib/module_reach.ts +456 -0
- package/src/scripts/_lib/neighbour_contradictions.ts +236 -0
- package/src/scripts/_lib/neighbour_tool_use.ts +8 -10
- 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/rule_law_section.ts +1 -1
- 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/svg_dom.ts +318 -0
- package/src/scripts/_lib/svg_geometry.ts +480 -0
- package/src/scripts/_lib/svg_motion.ts +208 -0
- package/src/scripts/_lib/svg_rules.ts +1453 -0
- package/src/scripts/_lib/svg_urls.ts +72 -0
- package/src/scripts/_lib/test_red_state.ts +5 -0
- package/src/scripts/_lib/thin_rules.ts +83 -3
- package/src/scripts/_lib/touched_file_quality.ts +142 -6
- package/src/scripts/_lib/verification_command.ts +59 -0
- package/src/scripts/_lib/verify_clause.ts +27 -17
- package/src/scripts/_lib/worker_budget.ts +1 -1
- package/src/scripts/adr/regenerate_index.ts +16 -1
- package/src/scripts/ai_council/config.ts +7 -7
- 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_team/config.ts +11 -16
- package/src/scripts/audit_user_type_axis.ts +20 -8
- 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/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_evaluator_budgets.ts +4 -0
- package/src/scripts/check_finding_dispositions.ts +88 -25
- 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 +107 -0
- package/src/scripts/check_kernel_edit_ratified.ts +86 -6
- package/src/scripts/check_pack_size.ts +1 -1
- package/src/scripts/check_release_manifest_content.ts +189 -0
- package/src/scripts/check_standing_rule_delivery.ts +96 -0
- package/src/scripts/check_suppression_hygiene.ts +2 -5
- 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/command_suggester/settings.ts +8 -108
- package/src/scripts/command_suggester/types.ts +4 -5
- 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/explain_run.ts +8 -13
- package/src/scripts/generate_git_convention_grammar.ts +127 -0
- package/src/scripts/generate_host_cost_table.ts +20 -3
- package/src/scripts/handoff_context_hook.ts +86 -37
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +25 -6
- package/src/scripts/hooks/block_config_weakening.ts +48 -5
- package/src/scripts/hooks/block_plumbing_writes.ts +8 -4
- package/src/scripts/hooks/block_speaking_inbox_dir.ts +16 -1
- package/src/scripts/hooks/concern_registry.ts +2 -0
- package/src/scripts/hooks/delegation_nudge_hook.ts +2 -3
- package/src/scripts/hooks/design_pass_hook.ts +157 -3
- package/src/scripts/hooks/evidence_independence.ts +12 -4
- package/src/scripts/hooks/mcp_usage_observation_hook.ts +121 -0
- package/src/scripts/hooks/push_settle_hook.ts +4 -3
- package/src/scripts/hooks/rule_inject_hook.ts +44 -3
- package/src/scripts/hooks/state_io.ts +8 -4
- package/src/scripts/hooks/svg_obligation.ts +497 -0
- package/src/scripts/hooks/svg_rules_loader.ts +133 -0
- package/src/scripts/hooks/telemetry_usage_hook.ts +7 -46
- package/src/scripts/hooks/turn_end_gate_hook.ts +6 -3
- package/src/scripts/install-hooks.sh +42 -14
- package/src/scripts/install.ts +7 -31
- package/src/scripts/lint_blocker_citations.ts +198 -0
- package/src/scripts/lint_consolidation_lineage.ts +6 -3
- package/src/scripts/lint_design_quality.ts +60 -12
- package/src/scripts/lint_evidence_artifacts.ts +9 -0
- package/src/scripts/lint_hook_concern_budget.ts +10 -21
- package/src/scripts/lint_motion_authority_drift.ts +27 -0
- package/src/scripts/lint_pack_boundaries.ts +406 -28
- 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 +151 -21
- package/src/scripts/lint_rule_skill_pack_reach.ts +17 -0
- package/src/scripts/lint_settings_classes.ts +1 -1
- package/src/scripts/lint_svg_asset.ts +365 -0
- package/src/scripts/lint_ticked_unmet_criteria.ts +165 -0
- package/src/scripts/lint_workflow_security.ts +12 -1
- package/src/scripts/measure_skill_ranker_baseline.ts +5 -0
- package/src/scripts/model_rule_injection.ts +3 -3
- 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/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_installed_rule_links.ts +118 -1
- package/src/scripts/report_module_reach.ts +212 -0
- package/src/scripts/report_obligation_mechanism.ts +16 -18
- package/src/scripts/report_parked_blockers.ts +222 -0
- package/src/scripts/report_required_checks_drift.ts +196 -0
- package/src/scripts/report_skill_ranker_confusion.ts +103 -2
- package/src/scripts/report_standing_payload_by_host.ts +1 -1
- package/src/scripts/routing_doctor.ts +2 -2
- package/src/scripts/schemas/agent-settings.schema.json +17 -31
- package/src/scripts/schemas/command.schema.json +1 -1
- package/src/scripts/schemas/skill.schema.json +1 -1
- package/src/scripts/self_review_gate.ts +39 -2
- package/src/scripts/skill_tools/score_skill_relevance.ts +28 -19
- package/src/scripts/sync_pr_branch.ts +403 -132
- package/src/scripts/trigger_eval_grandfather.json +0 -16
- package/src/server/schemas/settings.ts +33 -177
- package/src/shared/skillRanking.ts +53 -4
- package/dist/cli-delegate/chunk-NYX3L2PZ.js +0 -99
- 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
|
|
@@ -280,10 +397,10 @@ var MERGEABLE_KEYS = [
|
|
|
280
397
|
"lean_projection.mode",
|
|
281
398
|
"lean_projection.hosts"
|
|
282
399
|
];
|
|
283
|
-
var TEMPLATE_RELATIVE =
|
|
284
|
-
var _PACKAGE_ROOT =
|
|
400
|
+
var TEMPLATE_RELATIVE = path3.join("src", "config", "agent-settings.template.yml");
|
|
401
|
+
var _PACKAGE_ROOT = resolvePackageRoot(import.meta.url);
|
|
285
402
|
function default_template_path() {
|
|
286
|
-
return
|
|
403
|
+
return path3.join(_PACKAGE_ROOT, TEMPLATE_RELATIVE);
|
|
287
404
|
}
|
|
288
405
|
function _is_placeholder(value) {
|
|
289
406
|
return typeof value === "string" && /^__[A-Z0-9_]+__$/.test(value);
|
|
@@ -334,8 +451,8 @@ var _AGENTS_DIR_MARKERS = [
|
|
|
334
451
|
var _LEGACY_ANCHOR_ENV = "AGENT_CONFIG_LEGACY_ANCHOR";
|
|
335
452
|
function _exists(p) {
|
|
336
453
|
try {
|
|
337
|
-
|
|
338
|
-
|
|
454
|
+
fs3.lstatSync(p);
|
|
455
|
+
fs3.statSync(p);
|
|
339
456
|
return true;
|
|
340
457
|
} catch {
|
|
341
458
|
return false;
|
|
@@ -343,22 +460,22 @@ function _exists(p) {
|
|
|
343
460
|
}
|
|
344
461
|
function _is_dir(p) {
|
|
345
462
|
try {
|
|
346
|
-
return
|
|
463
|
+
return fs3.statSync(p).isDirectory();
|
|
347
464
|
} catch {
|
|
348
465
|
return false;
|
|
349
466
|
}
|
|
350
467
|
}
|
|
351
468
|
function _is_file(p) {
|
|
352
469
|
try {
|
|
353
|
-
return
|
|
470
|
+
return fs3.statSync(p).isFile();
|
|
354
471
|
} catch {
|
|
355
472
|
return false;
|
|
356
473
|
}
|
|
357
474
|
}
|
|
358
475
|
function _resolve(p) {
|
|
359
|
-
const absolute =
|
|
476
|
+
const absolute = path3.resolve(p);
|
|
360
477
|
try {
|
|
361
|
-
return
|
|
478
|
+
return fs3.realpathSync(absolute);
|
|
362
479
|
} catch {
|
|
363
480
|
return absolute;
|
|
364
481
|
}
|
|
@@ -368,7 +485,7 @@ function _ancestor_chain(start) {
|
|
|
368
485
|
let cursor = start;
|
|
369
486
|
for (; ; ) {
|
|
370
487
|
chain.push(cursor);
|
|
371
|
-
const parent =
|
|
488
|
+
const parent = path3.dirname(cursor);
|
|
372
489
|
if (parent === cursor) {
|
|
373
490
|
break;
|
|
374
491
|
}
|
|
@@ -377,15 +494,15 @@ function _ancestor_chain(start) {
|
|
|
377
494
|
return chain;
|
|
378
495
|
}
|
|
379
496
|
function _boundary_anchor_at(dir) {
|
|
380
|
-
const agents_dir =
|
|
497
|
+
const agents_dir = path3.join(dir, "agents");
|
|
381
498
|
if (_is_dir(agents_dir)) {
|
|
382
499
|
for (const marker of _AGENTS_DIR_MARKERS) {
|
|
383
|
-
if (_exists(
|
|
500
|
+
if (_exists(path3.join(agents_dir, marker))) {
|
|
384
501
|
return ANCHOR_AGENTS_DIR;
|
|
385
502
|
}
|
|
386
503
|
}
|
|
387
504
|
}
|
|
388
|
-
if (_exists(
|
|
505
|
+
if (_exists(path3.join(dir, ".git"))) {
|
|
389
506
|
return ANCHOR_GIT;
|
|
390
507
|
}
|
|
391
508
|
return null;
|
|
@@ -396,7 +513,7 @@ function find_project_root_with_anchor(start) {
|
|
|
396
513
|
const chain = _ancestor_chain(current);
|
|
397
514
|
if (legacy) {
|
|
398
515
|
for (const candidate of chain) {
|
|
399
|
-
if (_exists(
|
|
516
|
+
if (_exists(path3.join(candidate, ".git"))) {
|
|
400
517
|
return [candidate, ANCHOR_GIT];
|
|
401
518
|
}
|
|
402
519
|
}
|
|
@@ -410,7 +527,7 @@ function find_project_root_with_anchor(start) {
|
|
|
410
527
|
}
|
|
411
528
|
let outermost = null;
|
|
412
529
|
for (const candidate of chain) {
|
|
413
|
-
if (_exists(
|
|
530
|
+
if (_exists(path3.join(candidate, DEFAULT_PROJECT_FILE))) {
|
|
414
531
|
outermost = candidate;
|
|
415
532
|
}
|
|
416
533
|
}
|
|
@@ -426,13 +543,13 @@ function find_project_root(start) {
|
|
|
426
543
|
function _resolve_cascade_paths(cwd, project_path) {
|
|
427
544
|
if (cwd === null) {
|
|
428
545
|
const legacy = project_path ? project_path : DEFAULT_PROJECT_FILE;
|
|
429
|
-
const parent =
|
|
546
|
+
const parent = path3.dirname(legacy);
|
|
430
547
|
return [legacy, _canonical_settings_path(parent), _local_settings_path(parent)];
|
|
431
548
|
}
|
|
432
549
|
const root = find_project_root(cwd);
|
|
433
550
|
if (root === null) {
|
|
434
551
|
const legacy = project_path ? project_path : DEFAULT_PROJECT_FILE;
|
|
435
|
-
const parent =
|
|
552
|
+
const parent = path3.dirname(legacy);
|
|
436
553
|
return [legacy, _canonical_settings_path(parent), _local_settings_path(parent)];
|
|
437
554
|
}
|
|
438
555
|
const cwd_resolved = _resolve(cwd);
|
|
@@ -443,7 +560,7 @@ function _resolve_cascade_paths(cwd, project_path) {
|
|
|
443
560
|
if (cursor === root) {
|
|
444
561
|
break;
|
|
445
562
|
}
|
|
446
|
-
const parent =
|
|
563
|
+
const parent = path3.dirname(cursor);
|
|
447
564
|
if (parent === cursor) {
|
|
448
565
|
break;
|
|
449
566
|
}
|
|
@@ -451,7 +568,7 @@ function _resolve_cascade_paths(cwd, project_path) {
|
|
|
451
568
|
}
|
|
452
569
|
chain.reverse();
|
|
453
570
|
return [
|
|
454
|
-
...chain.map((d) =>
|
|
571
|
+
...chain.map((d) => path3.join(d, DEFAULT_PROJECT_FILE)),
|
|
455
572
|
_canonical_settings_path(root),
|
|
456
573
|
_local_settings_path(root)
|
|
457
574
|
];
|
|
@@ -482,50 +599,9 @@ function load_agent_settings(options = {}) {
|
|
|
482
599
|
_deep_merge(merged, layer);
|
|
483
600
|
}
|
|
484
601
|
}
|
|
485
|
-
|
|
602
|
+
warnRemovedKeys(merged);
|
|
486
603
|
return merged;
|
|
487
604
|
}
|
|
488
|
-
var REMOVED_KEYS = /* @__PURE__ */ new Map([
|
|
489
|
-
["subagents.enabled", "always-on orchestration"],
|
|
490
|
-
["subagents.auto", "always-on orchestration"],
|
|
491
|
-
["subagents.host_capabilities", "always-on orchestration"],
|
|
492
|
-
["subagents.budget_routing", "always-on orchestration"],
|
|
493
|
-
["ai_team.enabled", "always-on orchestration"],
|
|
494
|
-
["hooks.turn_end_gate.enabled", "the turn-end gate is always armed"],
|
|
495
|
-
["hooks.turn_end_gate.promissory", "the turn-end gate is always armed"],
|
|
496
|
-
["hooks.turn_end_gate.language", "the turn-end gate is always armed"],
|
|
497
|
-
["hooks.turn_end_gate.verification", "the turn-end gate is always armed"],
|
|
498
|
-
["telegraph.speak_scope", "the rule body states its own scope; compile_router gates on telegraph.speak alone"],
|
|
499
|
-
["chat_history.max_size_kb", "the rotate command takes --max-kb from argv; session-count pruning bounds the file"],
|
|
500
|
-
["chat_history.on_overflow", "the overflow mode comes from the rotate command --mode argv"],
|
|
501
|
-
["quality.wait_for_remote_ci", "whether to poll follows from the push plus a detectable remote pipeline"],
|
|
502
|
-
["legal_review_prep.consented_at", "the provenance sidecar settings:set writes and consentVerdict reads"],
|
|
503
|
-
["worktrees.mode", "the user asking for a worktree in the chat; creation is instruction-only and hardcoded"]
|
|
504
|
-
]);
|
|
505
|
-
var _warnedRemovedKeys = /* @__PURE__ */ new Set();
|
|
506
|
-
function _readDottedSettingsPath(root, dotted) {
|
|
507
|
-
let node = root;
|
|
508
|
-
for (const part of dotted.split(".")) {
|
|
509
|
-
if (typeof node !== "object" || node === null || Array.isArray(node)) {
|
|
510
|
-
return void 0;
|
|
511
|
-
}
|
|
512
|
-
node = node[part];
|
|
513
|
-
}
|
|
514
|
-
return node;
|
|
515
|
-
}
|
|
516
|
-
function _warn_removed_always_on_keys(merged) {
|
|
517
|
-
for (const [key, reason] of REMOVED_KEYS) {
|
|
518
|
-
if (_warnedRemovedKeys.has(key)) {
|
|
519
|
-
continue;
|
|
520
|
-
}
|
|
521
|
-
if (_readDottedSettingsPath(merged, key) === void 0) {
|
|
522
|
-
continue;
|
|
523
|
-
}
|
|
524
|
-
_warnedRemovedKeys.add(key);
|
|
525
|
-
process.stderr.write(`${key} was removed (${reason}); ignored.
|
|
526
|
-
`);
|
|
527
|
-
}
|
|
528
|
-
}
|
|
529
605
|
function _read_yaml(p) {
|
|
530
606
|
if (!_is_file(p)) {
|
|
531
607
|
return null;
|
|
@@ -538,7 +614,7 @@ function _read_yaml(p) {
|
|
|
538
614
|
}
|
|
539
615
|
let data;
|
|
540
616
|
try {
|
|
541
|
-
const text =
|
|
617
|
+
const text = fs3.readFileSync(p, "utf-8");
|
|
542
618
|
data = YAML.parse(text, { version: "1.1" });
|
|
543
619
|
if (data === null || data === void 0) {
|
|
544
620
|
data = {};
|
|
@@ -638,8 +714,8 @@ function _is_plain_dict(value) {
|
|
|
638
714
|
}
|
|
639
715
|
|
|
640
716
|
// src/scripts/_lib/scan_scope.ts
|
|
641
|
-
import * as
|
|
642
|
-
import * as
|
|
717
|
+
import * as fs4 from "node:fs";
|
|
718
|
+
import * as path4 from "node:path";
|
|
643
719
|
var DeadScopeError = class extends Error {
|
|
644
720
|
gate;
|
|
645
721
|
constructor(gate, message) {
|
|
@@ -651,7 +727,7 @@ var DeadScopeError = class extends Error {
|
|
|
651
727
|
function assertWatchlistResolves(opts) {
|
|
652
728
|
const resolved = opts.candidates.filter((rel) => {
|
|
653
729
|
try {
|
|
654
|
-
return
|
|
730
|
+
return fs4.statSync(path4.join(opts.repoRoot, rel)).isFile();
|
|
655
731
|
} catch {
|
|
656
732
|
return false;
|
|
657
733
|
}
|
|
@@ -667,10 +743,10 @@ function assertWatchlistResolves(opts) {
|
|
|
667
743
|
|
|
668
744
|
// src/scripts/_lib/update_check.ts
|
|
669
745
|
import { randomBytes } from "node:crypto";
|
|
670
|
-
import * as
|
|
671
|
-
import * as
|
|
672
|
-
var
|
|
673
|
-
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`;
|
|
674
750
|
var FETCH_TIMEOUT_S = 1;
|
|
675
751
|
var CHECK_WINDOW_MS = 24 * 60 * 60 * 1e3;
|
|
676
752
|
var STATE_FILENAME = "update-check.json";
|
|
@@ -708,7 +784,7 @@ async function fetch_latest_from_npm(options = {}) {
|
|
|
708
784
|
}
|
|
709
785
|
function _read_state(state_path) {
|
|
710
786
|
try {
|
|
711
|
-
const raw =
|
|
787
|
+
const raw = fs5.readFileSync(state_path, "utf-8");
|
|
712
788
|
const data = JSON.parse(raw);
|
|
713
789
|
if (data !== null && typeof data === "object" && !Array.isArray(data)) {
|
|
714
790
|
return data;
|
|
@@ -718,20 +794,20 @@ function _read_state(state_path) {
|
|
|
718
794
|
return {};
|
|
719
795
|
}
|
|
720
796
|
function _write_state(state_path, payload) {
|
|
721
|
-
const parent =
|
|
722
|
-
|
|
723
|
-
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")}`);
|
|
724
800
|
try {
|
|
725
801
|
const sorted = {};
|
|
726
802
|
for (const key of Object.keys(payload).sort()) {
|
|
727
803
|
sorted[key] = payload[key];
|
|
728
804
|
}
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
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);
|
|
732
808
|
} catch (err) {
|
|
733
809
|
try {
|
|
734
|
-
|
|
810
|
+
fs5.unlinkSync(tmp);
|
|
735
811
|
} catch {
|
|
736
812
|
}
|
|
737
813
|
throw err;
|
|
@@ -754,7 +830,7 @@ function _should_check(state, now) {
|
|
|
754
830
|
}
|
|
755
831
|
function _format_banner(latest, installed) {
|
|
756
832
|
return `\u2139\uFE0F agent-config ${latest} available (you have ${installed}).
|
|
757
|
-
Update: npx ${
|
|
833
|
+
Update: npx ${PACKAGE_NAME2} update`;
|
|
758
834
|
}
|
|
759
835
|
function _int_or_zero(part) {
|
|
760
836
|
const trimmed = part.trim();
|
|
@@ -846,7 +922,7 @@ async function check_for_update(installed_version, options = {}) {
|
|
|
846
922
|
|
|
847
923
|
// src/scripts/check_update_banner.ts
|
|
848
924
|
var _HERE = fileURLToPath2(import.meta.url);
|
|
849
|
-
var ROOT =
|
|
925
|
+
var ROOT = path6.resolve(path6.dirname(_HERE), "..", "..");
|
|
850
926
|
var DOC = `Thin CLI wrapper: emit the daily update-check banner to stderr.
|
|
851
927
|
|
|
852
928
|
Invoked by the \`scripts/agent-config\` dispatcher **after** a
|
|
@@ -860,9 +936,9 @@ Usage:
|
|
|
860
936
|
When \`--installed-version\` is omitted, reads \`package.json\` next to
|
|
861
937
|
the package root (\`$PACKAGE_ROOT/package.json\`).`;
|
|
862
938
|
function _read_installed_version(package_root) {
|
|
863
|
-
const candidate =
|
|
939
|
+
const candidate = path6.join(package_root, "package.json");
|
|
864
940
|
try {
|
|
865
|
-
const data = JSON.parse(
|
|
941
|
+
const data = JSON.parse(fs6.readFileSync(candidate, "utf-8"));
|
|
866
942
|
const version = data["version"];
|
|
867
943
|
if (typeof version === "string" && version.trim()) {
|
|
868
944
|
return version.trim();
|
|
@@ -934,7 +1010,7 @@ async function main(argv = process.argv.slice(2)) {
|
|
|
934
1010
|
}
|
|
935
1011
|
let cwd;
|
|
936
1012
|
try {
|
|
937
|
-
cwd =
|
|
1013
|
+
cwd = path6.resolve(args.cwd);
|
|
938
1014
|
} catch {
|
|
939
1015
|
cwd = ROOT;
|
|
940
1016
|
}
|
|
@@ -955,17 +1031,17 @@ function _isCliEntry() {
|
|
|
955
1031
|
return false;
|
|
956
1032
|
}
|
|
957
1033
|
if (true) {
|
|
958
|
-
if (
|
|
1034
|
+
if (path6.basename(process.argv[1], ".js") === "check_update_banner") {
|
|
959
1035
|
return true;
|
|
960
1036
|
}
|
|
961
1037
|
}
|
|
962
|
-
const argvUrl = pathToFileURL(
|
|
1038
|
+
const argvUrl = pathToFileURL(path6.resolve(process.argv[1])).href;
|
|
963
1039
|
if (import.meta.url === argvUrl) {
|
|
964
1040
|
return true;
|
|
965
1041
|
}
|
|
966
1042
|
try {
|
|
967
|
-
const here =
|
|
968
|
-
const argv =
|
|
1043
|
+
const here = fs6.realpathSync(fileURLToPath2(import.meta.url));
|
|
1044
|
+
const argv = fs6.realpathSync(path6.resolve(process.argv[1]));
|
|
969
1045
|
return here === argv;
|
|
970
1046
|
} catch {
|
|
971
1047
|
return false;
|
|
@@ -3,18 +3,18 @@ import {
|
|
|
3
3
|
pruneAgedRefusalState,
|
|
4
4
|
readSessionCounts,
|
|
5
5
|
statePathFor
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import {
|
|
8
|
-
readHookStdin
|
|
9
|
-
} from "./chunk-F7DQWYR5.js";
|
|
6
|
+
} from "./chunk-TMWYUOK4.js";
|
|
10
7
|
import {
|
|
11
8
|
current_branch,
|
|
12
9
|
git_common_dir,
|
|
13
10
|
git_dir
|
|
14
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-IAYTIIQW.js";
|
|
15
12
|
import {
|
|
16
13
|
write_atomic
|
|
17
14
|
} from "./chunk-MWRD5YOH.js";
|
|
15
|
+
import {
|
|
16
|
+
readHookStdin
|
|
17
|
+
} from "./chunk-F7DQWYR5.js";
|
|
18
18
|
|
|
19
19
|
// src/scripts/_lib/envelope_grounding.ts
|
|
20
20
|
import { execFileSync } from "node:child_process";
|