@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
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
resolve_project_root
|
|
4
|
+
} from "./chunk-H76PHZBI.js";
|
|
2
5
|
import {
|
|
3
6
|
resolvePackageRoot
|
|
4
7
|
} from "./chunk-MCJYCQPF.js";
|
|
5
|
-
import {
|
|
6
|
-
resolve_project_root
|
|
7
|
-
} from "./chunk-JY2I2DXV.js";
|
|
8
8
|
|
|
9
9
|
// src/scripts/_cli/cmd_migrate.ts
|
|
10
10
|
import { spawnSync } from "node:child_process";
|
|
@@ -2,7 +2,10 @@ import { createRequire as __acCreateRequire } from 'node:module'; const require
|
|
|
2
2
|
import {
|
|
3
3
|
resolve_with_fallback,
|
|
4
4
|
write_target
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-T6BP34WI.js";
|
|
6
|
+
import {
|
|
7
|
+
resolvePackageRoot
|
|
8
|
+
} from "./chunk-MCJYCQPF.js";
|
|
6
9
|
|
|
7
10
|
// src/shared/settingsCarveOut.ts
|
|
8
11
|
var SETTINGS_CARVE_OUT = [
|
|
@@ -64,7 +67,6 @@ import { createRequire } from "node:module";
|
|
|
64
67
|
import * as fs from "node:fs";
|
|
65
68
|
import * as os from "node:os";
|
|
66
69
|
import * as path from "node:path";
|
|
67
|
-
import { fileURLToPath } from "node:url";
|
|
68
70
|
|
|
69
71
|
// src/scripts/_lib/settings_renamed_keys.ts
|
|
70
72
|
var RENAMED_KEYS = /* @__PURE__ */ new Map([
|
|
@@ -104,6 +106,102 @@ function applyRenamedKeys(layer) {
|
|
|
104
106
|
return layer;
|
|
105
107
|
}
|
|
106
108
|
|
|
109
|
+
// src/scripts/_lib/settings_removed_keys.ts
|
|
110
|
+
var REMOVED_KEYS = /* @__PURE__ */ new Map([
|
|
111
|
+
["subagents.enabled", "always-on orchestration"],
|
|
112
|
+
["subagents.auto", "always-on orchestration"],
|
|
113
|
+
["subagents.host_capabilities", "always-on orchestration"],
|
|
114
|
+
["subagents.budget_routing", "always-on orchestration"],
|
|
115
|
+
["ai_team.enabled", "always-on orchestration"],
|
|
116
|
+
["hooks.turn_end_gate.enabled", "the turn-end gate is always armed"],
|
|
117
|
+
["hooks.turn_end_gate.promissory", "the turn-end gate is always armed"],
|
|
118
|
+
["hooks.turn_end_gate.language", "the turn-end gate is always armed"],
|
|
119
|
+
["hooks.turn_end_gate.verification", "the turn-end gate is always armed"],
|
|
120
|
+
["telegraph.speak_scope", "the rule body states its own scope; compile_time_toggles decides whether the rule ships"],
|
|
121
|
+
["chat_history.max_size_kb", "the rotate command takes --max-kb from argv; session-count pruning bounds the file"],
|
|
122
|
+
["chat_history.on_overflow", "the overflow mode comes from the rotate command --mode argv"],
|
|
123
|
+
["quality.wait_for_remote_ci", "whether to poll follows from the push plus a detectable remote pipeline"],
|
|
124
|
+
["legal_review_prep.consented_at", "the provenance sidecar settings:set writes and consentVerdict reads"],
|
|
125
|
+
["worktrees.mode", "the user asking for a worktree in the chat; creation is instruction-only and hardcoded"],
|
|
126
|
+
// 2026-10-09 — output and tone
|
|
127
|
+
["personal.minimal_output", "direct-answers Iron Law 3 mandates terse replies; there is no verbose mode"],
|
|
128
|
+
["personal.play_by_play", "direct-answers: no narration unless the user asks for it in the turn"],
|
|
129
|
+
["personal.pr_comment_bot_icon", "no-decorative-emojis-in-git-surfaces forbids the \u{1F916} prefix"],
|
|
130
|
+
["verbosity.intent_announcements", 'direct-answers: act and emit the result, no "Let me\u2026" openers'],
|
|
131
|
+
["verbosity.preview_artifacts", "generated content is used directly; preview-on-error and the Iron-Law gates decide when a preview shows"],
|
|
132
|
+
["verbosity.routine_confirmations", "the no-cheap-questions Pre-Send Self-Check; Iron-Law gates always ask"],
|
|
133
|
+
["verbosity.post_action_reports", "direct-answers Iron Law 3: a one-line confirmation and one end-summary"],
|
|
134
|
+
["telegraph.speak", "the telegraph-speak predicate in compile_time_toggles.ts; the bench verdict is package-level (ADR telegraph/0002)"],
|
|
135
|
+
["tokens.rich_skills", "the skill's own token_budget_class: rich plus the lint_token_budget_discipline ceiling"],
|
|
136
|
+
// 2026-10-09 — reasoning protocol switches
|
|
137
|
+
["reasoning.auto_gate", "the RDP gate task signal plus the host self-assessment in rdp-gate.md"],
|
|
138
|
+
["reasoning.components.orchestrator", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
139
|
+
["reasoning.components.notes_first", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
140
|
+
["reasoning.components.grounding", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
141
|
+
["reasoning.components.intent", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
142
|
+
["reasoning.components.complexity_first", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
143
|
+
["reasoning.components.verifier_default", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
144
|
+
["reasoning.components.prediction_tracking", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
145
|
+
["reasoning.components.decision_ledger", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
146
|
+
["reasoning.components.uncertainty_budget", "the RDP gate task and host signals decide per component; reasoning.enabled stays the hard off"],
|
|
147
|
+
// 2026-10-09 — roadmap cadence
|
|
148
|
+
["roadmap.skip_pre_run_gate", "the command name names the scope; only an ambiguous roadmap or an unresolvable conflict shows the gate"],
|
|
149
|
+
["roadmap.dashboard_regen_cadence", "a fixed cadence: every 5th closed step, every phase boundary, reply end and any file-shape touch"],
|
|
150
|
+
// 2026-10-09 — command suggestion and PR creation
|
|
151
|
+
["commands.auto_detect", "an orchestrator's own auto_detect front-matter and the --no-auto-detect flag"],
|
|
152
|
+
["commands.suggestion.enabled", "the suggester match-score floor and cooldown; /command-suggestion-off silences one conversation"],
|
|
153
|
+
["commands.suggestion.confidence_floor", "the suggester's fixed 0.6 floor; a command's own suggestion frontmatter can tighten it"],
|
|
154
|
+
["commands.suggestion.cooldown_seconds", "the suggester's fixed 600-second cooldown; a command's own suggestion frontmatter can lengthen it"],
|
|
155
|
+
["commands.suggestion.max_options", "the fixed cap of 4 suggestions plus the always-present as-is option"],
|
|
156
|
+
["commands.create_pr.api_examples", "/create-pr's grounding rule: an example only from a real source, otherwise a one-line pointer"],
|
|
157
|
+
["commands.create_pr.ui_paths", "/create-pr's light frontend heuristic, which fails open"],
|
|
158
|
+
["commands.create_pr.api_paths", "/create-pr's light API-endpoint heuristic, which fails open"],
|
|
159
|
+
// 2026-10-09 — memory and knowledge sharing
|
|
160
|
+
["memory.cadence", "a fixed cadence: the memory line renders whenever a memory type was asked; memory.visibility: off still silences it"],
|
|
161
|
+
["memory.review_threshold", "/memory load's fixed preview threshold of 10 unreviewed intake signals"],
|
|
162
|
+
["knowledge.global_sharing.redaction.enabled", "the write-time redaction scan, which always runs before a card goes global"],
|
|
163
|
+
["knowledge.global_sharing.redaction.halt_on_trigger", "the redaction gate, which always halts on a confidential-pattern hit"],
|
|
164
|
+
["knowledge.global_sharing.auto_promote_threshold", "the fixed two-repo sighting count that triggers a promotion suggestion"],
|
|
165
|
+
["knowledge.global_sharing.freshness.hypothesis_after_days", "the card's age over last_verified against the fixed 90-day lead-only window"],
|
|
166
|
+
["knowledge.global_sharing.freshness.stale_after_days", "the card's age over last_verified against the fixed 180-day skip window"],
|
|
167
|
+
// 2026-10-09 — hooks and engine
|
|
168
|
+
["hooks.concern_budget.max_per_event", "the concern-budget gate's own constant of 8 per (platform, event) cell"],
|
|
169
|
+
["hooks.concern_budget.hard_fail", "the concern-budget gate's --strict argv; without it the gate warns"],
|
|
170
|
+
["decision_engine.surface_traces", "nothing: the per-phase decision trace stays off, the old default"],
|
|
171
|
+
["decision_engine.on_block_fallback", "the fail-safe: an on_block ask that times out always stops"],
|
|
172
|
+
["explain.enable_last", "the presence of a work-state trace; explain last always renders it"],
|
|
173
|
+
// 2026-10-09 — remaining
|
|
174
|
+
["project.pr_template", "/create-pr, which reads .github/pull_request_template.md"],
|
|
175
|
+
["pipelines.skill_improvement", "the skill-improvement-trigger rule; the capture is a proposal the user confirms"],
|
|
176
|
+
["consistency.cross_source", "the cross-source-consistency rule, always on; batching and the no-cheap-questions floor bound the noise"],
|
|
177
|
+
["subagents.downshift", "the model_tier each sub-task declares; downshift is always on"],
|
|
178
|
+
["ai_team.suppress_setup_hint", "nothing: the one-line team-mode setup hint is always shown"]
|
|
179
|
+
]);
|
|
180
|
+
var _warnedRemovedKeys = /* @__PURE__ */ new Set();
|
|
181
|
+
function _readDotted(root, dotted) {
|
|
182
|
+
let node = root;
|
|
183
|
+
for (const part of dotted.split(".")) {
|
|
184
|
+
if (typeof node !== "object" || node === null || Array.isArray(node)) {
|
|
185
|
+
return void 0;
|
|
186
|
+
}
|
|
187
|
+
node = node[part];
|
|
188
|
+
}
|
|
189
|
+
return node;
|
|
190
|
+
}
|
|
191
|
+
function warnRemovedKeys(merged) {
|
|
192
|
+
for (const [key, reason] of REMOVED_KEYS) {
|
|
193
|
+
if (_warnedRemovedKeys.has(key)) {
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
if (_readDotted(merged, key) === void 0) {
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
_warnedRemovedKeys.add(key);
|
|
200
|
+
process.stderr.write(`${key} was removed (${reason}); ignored.
|
|
201
|
+
`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
107
205
|
// src/scripts/_lib/agent_settings.ts
|
|
108
206
|
var _require = createRequire(import.meta.url);
|
|
109
207
|
var Logger = class {
|
|
@@ -181,13 +279,13 @@ function user_global_settings_paths() {
|
|
|
181
279
|
return paths;
|
|
182
280
|
}
|
|
183
281
|
var MERGEABLE_KEYS = [
|
|
184
|
-
// `name
|
|
185
|
-
// `
|
|
186
|
-
//
|
|
187
|
-
//
|
|
188
|
-
//
|
|
189
|
-
//
|
|
190
|
-
//
|
|
282
|
+
// `name` and `ide` are the PRE-MIGRATION spellings. `install.ts` migrates
|
|
283
|
+
// `ide` → `personal.ide`, and this list was never moved with it — so the
|
|
284
|
+
// whitelist named a key the template does not have while the key it does
|
|
285
|
+
// have was filtered out silently (road-to-capability-answerability 4.3,
|
|
286
|
+
// ADR-219). `personal.bot_icon` / `personal.pr_comment_bot_icon` left with
|
|
287
|
+
// the key itself (2026-10-09): a whitelisted key nothing reads would carry a
|
|
288
|
+
// user-global value into a tree that ignores it.
|
|
191
289
|
//
|
|
192
290
|
// Both spellings are listed rather than replaced: a legacy file that still
|
|
193
291
|
// uses the old name keeps working, and nothing that resolved before
|
|
@@ -197,20 +295,12 @@ var MERGEABLE_KEYS = [
|
|
|
197
295
|
"ide",
|
|
198
296
|
"personal.ide",
|
|
199
297
|
"rule_loading_tier",
|
|
200
|
-
"memory.cadence",
|
|
201
|
-
"personal.bot_icon",
|
|
202
|
-
"personal.pr_comment_bot_icon",
|
|
203
298
|
"personal.autonomy",
|
|
204
299
|
// Knowledge-card global cross-project sharing is a USER-GLOBAL setting
|
|
205
300
|
// (ADR-100 / road-to-structure-grounding-v2). Whitelisted so the
|
|
206
301
|
// ~/.event4u/agent-config/agent-settings.yml values are honoured.
|
|
207
302
|
"knowledge.global_sharing.enabled",
|
|
208
303
|
"knowledge.global_sharing.allowed_tiers",
|
|
209
|
-
"knowledge.global_sharing.redaction.enabled",
|
|
210
|
-
"knowledge.global_sharing.redaction.halt_on_trigger",
|
|
211
|
-
"knowledge.global_sharing.auto_promote_threshold",
|
|
212
|
-
"knowledge.global_sharing.freshness.hypothesis_after_days",
|
|
213
|
-
"knowledge.global_sharing.freshness.stale_after_days",
|
|
214
304
|
// `design.fidelity_mode` is a per-DEVELOPER working preference, not a
|
|
215
305
|
// per-project one: whether an agent may deviate from a handed-over design
|
|
216
306
|
// is a property of how that person works, and a designer who sets it once
|
|
@@ -235,7 +325,7 @@ var MERGEABLE_KEYS = [
|
|
|
235
325
|
"lean_projection.hosts"
|
|
236
326
|
];
|
|
237
327
|
var TEMPLATE_RELATIVE = path.join("src", "config", "agent-settings.template.yml");
|
|
238
|
-
var _PACKAGE_ROOT =
|
|
328
|
+
var _PACKAGE_ROOT = resolvePackageRoot(import.meta.url);
|
|
239
329
|
function default_template_path() {
|
|
240
330
|
return path.join(_PACKAGE_ROOT, TEMPLATE_RELATIVE);
|
|
241
331
|
}
|
|
@@ -536,6 +626,32 @@ function _resolve_cascade_paths(cwd, project_path) {
|
|
|
536
626
|
_local_settings_path(root)
|
|
537
627
|
];
|
|
538
628
|
}
|
|
629
|
+
function _probe_yaml(p) {
|
|
630
|
+
if (!_is_file(p)) return "absent";
|
|
631
|
+
let YAML;
|
|
632
|
+
try {
|
|
633
|
+
YAML = _require("yaml");
|
|
634
|
+
} catch {
|
|
635
|
+
return "malformed";
|
|
636
|
+
}
|
|
637
|
+
try {
|
|
638
|
+
YAML.parse(fs.readFileSync(p, "utf-8"), { version: "1.1" });
|
|
639
|
+
return "valid";
|
|
640
|
+
} catch (err) {
|
|
641
|
+
if (_is_yaml_error(err) || _is_os_error(err)) return "malformed";
|
|
642
|
+
throw err;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
function settings_layer_states(options = {}) {
|
|
646
|
+
const project_path = options.project_path ?? null;
|
|
647
|
+
const cwd = options.cwd ?? null;
|
|
648
|
+
const user_global = options.user_global_path ? [options.user_global_path] : user_global_settings_paths();
|
|
649
|
+
const out = [];
|
|
650
|
+
for (const p of [...user_global, ..._resolve_cascade_paths(cwd, project_path)]) {
|
|
651
|
+
out.push({ path: p, state: _probe_yaml(p) });
|
|
652
|
+
}
|
|
653
|
+
return out;
|
|
654
|
+
}
|
|
539
655
|
function load_agent_settings(options = {}) {
|
|
540
656
|
const project_path = options.project_path ?? null;
|
|
541
657
|
const user_global_path = options.user_global_path ?? null;
|
|
@@ -562,50 +678,9 @@ function load_agent_settings(options = {}) {
|
|
|
562
678
|
_deep_merge(merged, layer);
|
|
563
679
|
}
|
|
564
680
|
}
|
|
565
|
-
|
|
681
|
+
warnRemovedKeys(merged);
|
|
566
682
|
return merged;
|
|
567
683
|
}
|
|
568
|
-
var REMOVED_KEYS = /* @__PURE__ */ new Map([
|
|
569
|
-
["subagents.enabled", "always-on orchestration"],
|
|
570
|
-
["subagents.auto", "always-on orchestration"],
|
|
571
|
-
["subagents.host_capabilities", "always-on orchestration"],
|
|
572
|
-
["subagents.budget_routing", "always-on orchestration"],
|
|
573
|
-
["ai_team.enabled", "always-on orchestration"],
|
|
574
|
-
["hooks.turn_end_gate.enabled", "the turn-end gate is always armed"],
|
|
575
|
-
["hooks.turn_end_gate.promissory", "the turn-end gate is always armed"],
|
|
576
|
-
["hooks.turn_end_gate.language", "the turn-end gate is always armed"],
|
|
577
|
-
["hooks.turn_end_gate.verification", "the turn-end gate is always armed"],
|
|
578
|
-
["telegraph.speak_scope", "the rule body states its own scope; compile_router gates on telegraph.speak alone"],
|
|
579
|
-
["chat_history.max_size_kb", "the rotate command takes --max-kb from argv; session-count pruning bounds the file"],
|
|
580
|
-
["chat_history.on_overflow", "the overflow mode comes from the rotate command --mode argv"],
|
|
581
|
-
["quality.wait_for_remote_ci", "whether to poll follows from the push plus a detectable remote pipeline"],
|
|
582
|
-
["legal_review_prep.consented_at", "the provenance sidecar settings:set writes and consentVerdict reads"],
|
|
583
|
-
["worktrees.mode", "the user asking for a worktree in the chat; creation is instruction-only and hardcoded"]
|
|
584
|
-
]);
|
|
585
|
-
var _warnedRemovedKeys = /* @__PURE__ */ new Set();
|
|
586
|
-
function _readDottedSettingsPath(root, dotted) {
|
|
587
|
-
let node = root;
|
|
588
|
-
for (const part of dotted.split(".")) {
|
|
589
|
-
if (typeof node !== "object" || node === null || Array.isArray(node)) {
|
|
590
|
-
return void 0;
|
|
591
|
-
}
|
|
592
|
-
node = node[part];
|
|
593
|
-
}
|
|
594
|
-
return node;
|
|
595
|
-
}
|
|
596
|
-
function _warn_removed_always_on_keys(merged) {
|
|
597
|
-
for (const [key, reason] of REMOVED_KEYS) {
|
|
598
|
-
if (_warnedRemovedKeys.has(key)) {
|
|
599
|
-
continue;
|
|
600
|
-
}
|
|
601
|
-
if (_readDottedSettingsPath(merged, key) === void 0) {
|
|
602
|
-
continue;
|
|
603
|
-
}
|
|
604
|
-
_warnedRemovedKeys.add(key);
|
|
605
|
-
process.stderr.write(`${key} was removed (${reason}); ignored.
|
|
606
|
-
`);
|
|
607
|
-
}
|
|
608
|
-
}
|
|
609
684
|
function* iter_setting_overrides(options = {}) {
|
|
610
685
|
const project_path = options.project_path ?? null;
|
|
611
686
|
const user_global_path = options.user_global_path ?? null;
|
|
@@ -748,6 +823,7 @@ export {
|
|
|
748
823
|
USER_GLOBAL_FILENAME,
|
|
749
824
|
user_global_settings_paths,
|
|
750
825
|
MERGEABLE_KEYS,
|
|
826
|
+
template_defaults,
|
|
751
827
|
find_project_root_with_anchor,
|
|
752
828
|
find_project_root,
|
|
753
829
|
find_project_root_with_trace,
|
|
@@ -756,6 +832,7 @@ export {
|
|
|
756
832
|
ROOT_OVERRIDE_ENV,
|
|
757
833
|
ProjectRootError,
|
|
758
834
|
resolve_project_root,
|
|
835
|
+
settings_layer_states,
|
|
759
836
|
load_agent_settings,
|
|
760
837
|
iter_setting_overrides
|
|
761
838
|
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// src/scripts/_lib/git_common_dir.ts
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
function realpath_or_self(p) {
|
|
7
|
+
try {
|
|
8
|
+
return fs.realpathSync(p);
|
|
9
|
+
} catch {
|
|
10
|
+
return p;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function git_dir(project_root) {
|
|
14
|
+
const dot_git = path.join(project_root, ".git");
|
|
15
|
+
try {
|
|
16
|
+
const st = fs.statSync(dot_git);
|
|
17
|
+
if (st.isDirectory()) {
|
|
18
|
+
return realpath_or_self(dot_git);
|
|
19
|
+
}
|
|
20
|
+
const m = fs.readFileSync(dot_git, "utf-8").match(/^gitdir:\s*(.+)\s*$/m);
|
|
21
|
+
if (m === null) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return realpath_or_self(path.resolve(project_root, m[1].trim()));
|
|
25
|
+
} catch {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function current_branch(project_root) {
|
|
30
|
+
const gd = git_dir(project_root);
|
|
31
|
+
if (gd === null) return null;
|
|
32
|
+
try {
|
|
33
|
+
const head = fs.readFileSync(path.join(gd, "HEAD"), "utf-8").trim();
|
|
34
|
+
const m = head.match(/^ref:\s*refs\/heads\/(.+)$/);
|
|
35
|
+
return m === null ? null : m[1].trim();
|
|
36
|
+
} catch {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function git_common_dir(project_root) {
|
|
41
|
+
const dot_git = path.join(project_root, ".git");
|
|
42
|
+
try {
|
|
43
|
+
const st = fs.statSync(dot_git);
|
|
44
|
+
if (st.isDirectory()) {
|
|
45
|
+
return realpath_or_self(dot_git);
|
|
46
|
+
}
|
|
47
|
+
const m = fs.readFileSync(dot_git, "utf-8").match(/^gitdir:\s*(.+)\s*$/m);
|
|
48
|
+
if (m === null) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
const gitdir = path.resolve(project_root, m[1].trim());
|
|
52
|
+
const commondir_file = path.join(gitdir, "commondir");
|
|
53
|
+
if (fs.existsSync(commondir_file)) {
|
|
54
|
+
const common = path.resolve(gitdir, fs.readFileSync(commondir_file, "utf-8").trim());
|
|
55
|
+
return realpath_or_self(common);
|
|
56
|
+
}
|
|
57
|
+
return realpath_or_self(gitdir);
|
|
58
|
+
} catch {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export {
|
|
64
|
+
git_dir,
|
|
65
|
+
current_branch,
|
|
66
|
+
git_common_dir
|
|
67
|
+
};
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
parseBudgetUsd,
|
|
11
11
|
readGateBudgetCaps,
|
|
12
12
|
readGateBudgetLedger
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ED7KCMLB.js";
|
|
14
14
|
import {
|
|
15
15
|
__commonJS,
|
|
16
16
|
__require
|
|
@@ -7471,19 +7471,13 @@ var MERGEABLE_KEYS = [
|
|
|
7471
7471
|
// weak-host-lift-tiering + token-program-integration verdicts; ADR
|
|
7472
7472
|
// records the whitelist addition). Wins over rule_loading_tier.
|
|
7473
7473
|
"discipline_profile",
|
|
7474
|
-
"memory.cadence",
|
|
7475
7474
|
"personal.bot_icon",
|
|
7476
7475
|
"personal.autonomy",
|
|
7477
7476
|
// Knowledge-card global cross-project sharing is a USER-GLOBAL setting
|
|
7478
7477
|
// (ADR-100 / road-to-structure-grounding-v2). Whitelisted so the
|
|
7479
7478
|
// ~/.event4u/agent-config/agent-settings.yml values are honoured.
|
|
7480
7479
|
"knowledge.global_sharing.enabled",
|
|
7481
|
-
"knowledge.global_sharing.allowed_tiers"
|
|
7482
|
-
"knowledge.global_sharing.redaction.enabled",
|
|
7483
|
-
"knowledge.global_sharing.redaction.halt_on_trigger",
|
|
7484
|
-
"knowledge.global_sharing.auto_promote_threshold",
|
|
7485
|
-
"knowledge.global_sharing.freshness.hypothesis_after_days",
|
|
7486
|
-
"knowledge.global_sharing.freshness.stale_after_days"
|
|
7480
|
+
"knowledge.global_sharing.allowed_tiers"
|
|
7487
7481
|
];
|
|
7488
7482
|
var _DEFAULTS = {};
|
|
7489
7483
|
var ANCHOR_AGENT_SETTINGS = "agent-settings";
|
|
@@ -7919,7 +7913,7 @@ Nothing has been executed. Re-run with \`--confirm\` to execute it and record th
|
|
|
7919
7913
|
code: 1
|
|
7920
7914
|
};
|
|
7921
7915
|
}
|
|
7922
|
-
if (budgeted !== null) {
|
|
7916
|
+
if (budgeted !== null && budgeted.estimateUsd !== null) {
|
|
7923
7917
|
appendGateBudgetReceipt(repoRoot, {
|
|
7924
7918
|
kind: "consumption",
|
|
7925
7919
|
blocker: id,
|
|
@@ -7942,7 +7936,8 @@ Nothing has been executed. Re-run with \`--confirm\` to execute it and record th
|
|
|
7942
7936
|
return {
|
|
7943
7937
|
outcome: "resolved",
|
|
7944
7938
|
report: `${id} resolved. Ran \`${command}\` (exit 0); evidence appended in ${rel} and the status flipped to resolved ${when}.
|
|
7945
|
-
` + (budgeted === null ? "" : `
|
|
7939
|
+
` + (budgeted === null ? "" : budgeted.estimateUsd === null ? `No receipt appended to ${LEDGER_REL}: the entry states no USD estimate and no cap is configured, so there is no figure to record.
|
|
7940
|
+
` : `Receipt appended to ${LEDGER_REL} ($${budgeted.estimateUsd.toFixed(2)} estimated).
|
|
7946
7941
|
`) + // The dashboard is derived from the file this just rewrote, so it
|
|
7947
7942
|
// is now stale. Saying so is the same follow-up `renderResumed`
|
|
7948
7943
|
// already prints for its own file-move suggestion.
|
|
@@ -2,7 +2,7 @@ import { createRequire as __acCreateRequire } from 'node:module'; const require
|
|
|
2
2
|
import {
|
|
3
3
|
resolve_with_fallback,
|
|
4
4
|
write_target
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-T6BP34WI.js";
|
|
6
6
|
|
|
7
7
|
// src/scripts/_lib/installed_lock.ts
|
|
8
8
|
import { randomBytes } from "node:crypto";
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-OY53J6II.js";
|
|
5
5
|
import {
|
|
6
6
|
write_target
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-T6BP34WI.js";
|
|
8
8
|
import {
|
|
9
9
|
__export,
|
|
10
10
|
__toESM
|
|
@@ -215,6 +215,7 @@ __export(global_deploy_inventory_exports, {
|
|
|
215
215
|
reap_stale: () => reap_stale,
|
|
216
216
|
reap_tagged_orphans: () => reap_tagged_orphans,
|
|
217
217
|
record_deploy: () => record_deploy,
|
|
218
|
+
recorded_absolute_files: () => recorded_absolute_files,
|
|
218
219
|
recorded_rel_files: () => recorded_rel_files,
|
|
219
220
|
save_inventory: () => save_inventory
|
|
220
221
|
});
|
|
@@ -234,6 +235,14 @@ function expanduser(p) {
|
|
|
234
235
|
}
|
|
235
236
|
return p;
|
|
236
237
|
}
|
|
238
|
+
function expanduser_at(p, home) {
|
|
239
|
+
if (home === void 0 || home === null || home === "") return expanduser(p);
|
|
240
|
+
if (p === "~") return home;
|
|
241
|
+
if (p.startsWith("~/") || process.platform === "win32" && p.startsWith("~\\")) {
|
|
242
|
+
return path2.join(home, p.slice(2));
|
|
243
|
+
}
|
|
244
|
+
return p;
|
|
245
|
+
}
|
|
237
246
|
function resolve_path(p) {
|
|
238
247
|
try {
|
|
239
248
|
return fs2.realpathSync(p);
|
|
@@ -648,6 +657,27 @@ function recorded_rel_files(tool_id, anchor, inventory) {
|
|
|
648
657
|
}
|
|
649
658
|
return new Set(files.filter((f) => typeof f === "string"));
|
|
650
659
|
}
|
|
660
|
+
function recorded_absolute_files(inventory, home) {
|
|
661
|
+
const inv = inventory ?? load_inventory();
|
|
662
|
+
const tools = inv["tools"] ?? {};
|
|
663
|
+
const out = /* @__PURE__ */ new Set();
|
|
664
|
+
if (typeof tools !== "object" || tools === null || Array.isArray(tools)) return out;
|
|
665
|
+
for (const entry of Object.values(tools)) {
|
|
666
|
+
if (typeof entry !== "object" || entry === null || Array.isArray(entry)) continue;
|
|
667
|
+
const e = entry;
|
|
668
|
+
const anchor = e["anchor"];
|
|
669
|
+
const files = e["files"];
|
|
670
|
+
if (typeof anchor !== "string" || !Array.isArray(files)) continue;
|
|
671
|
+
const expanded = expanduser_at(anchor, home);
|
|
672
|
+
for (const rel of files) {
|
|
673
|
+
if (typeof rel !== "string") continue;
|
|
674
|
+
const lexical = path2.resolve(expanded, rel);
|
|
675
|
+
out.add(lexical);
|
|
676
|
+
out.add(resolve_path(lexical));
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
return out;
|
|
680
|
+
}
|
|
651
681
|
function sorted_strings(items) {
|
|
652
682
|
return items.filter((i) => typeof i === "string").sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
|
|
653
683
|
}
|
|
@@ -827,6 +857,8 @@ export {
|
|
|
827
857
|
build_claude_hook_matrix,
|
|
828
858
|
ensure_managed_hooks,
|
|
829
859
|
remove_managed_hooks,
|
|
860
|
+
INVENTORY_BASENAME,
|
|
861
|
+
inventory_path,
|
|
830
862
|
load_inventory,
|
|
831
863
|
save_inventory,
|
|
832
864
|
expected_deploy_files,
|
|
@@ -835,6 +867,7 @@ export {
|
|
|
835
867
|
record_deploy,
|
|
836
868
|
is_ancestor,
|
|
837
869
|
recorded_rel_files,
|
|
870
|
+
recorded_absolute_files,
|
|
838
871
|
global_deploy_inventory_exports,
|
|
839
872
|
TOOL_TO_HOST,
|
|
840
873
|
residualReport,
|