@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
|
@@ -56,9 +56,16 @@ export function gateBudgetLedgerPath(workspaceRoot: string): string {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
/** The two caps decided by option (a). Both are USD. */
|
|
59
|
+
/**
|
|
60
|
+
* The two standing caps, each independently settable.
|
|
61
|
+
*
|
|
62
|
+
* Both figures are **US dollars**. Either may be `null`, meaning that cap was
|
|
63
|
+
* not set and therefore bounds nothing; `readGateBudgetCaps` returns `null`
|
|
64
|
+
* for the whole object only when NEITHER was set.
|
|
65
|
+
*/
|
|
59
66
|
export interface GateBudgetCaps {
|
|
60
|
-
maxCostPerRunUsd: number;
|
|
61
|
-
maxCostPerRolling7dUsd: number;
|
|
67
|
+
maxCostPerRunUsd: number | null;
|
|
68
|
+
maxCostPerRolling7dUsd: number | null;
|
|
62
69
|
}
|
|
63
70
|
|
|
64
71
|
/**
|
|
@@ -105,18 +112,26 @@ function _dig(settings: unknown, keys: readonly string[]): unknown {
|
|
|
105
112
|
/**
|
|
106
113
|
* Read the caps out of an already-merged settings dict.
|
|
107
114
|
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
* template default would
|
|
112
|
-
*
|
|
115
|
+
* Each cap is returned on its own. Returns `null` only when NEITHER is set,
|
|
116
|
+
* which means no ceiling on money was configured — not that the run is
|
|
117
|
+
* unauthorised. Still deliberately NOT a fallback to the template numbers:
|
|
118
|
+
* inventing a cap from a template default would bound a run by a figure
|
|
119
|
+
* nobody chose.
|
|
120
|
+
*
|
|
121
|
+
* Until 2026-10-06 this returned `null` unless BOTH caps were numeric, with
|
|
122
|
+
* two consequences. A person who set one cap and left the other alone was
|
|
123
|
+
* bounded by NEITHER — the stricter-looking rule produced the laxer result.
|
|
124
|
+
* And absent caps were read by the caller as a refusal, so the gate would not
|
|
125
|
+
* run at all without them. ADR-279 supersedes that second reading: absence of
|
|
126
|
+
* a bound is not a bound, and `--confirm` remains the authorisation the caps
|
|
127
|
+
* only ever sized.
|
|
113
128
|
*/
|
|
114
129
|
export function readGateBudgetCaps(settings: unknown): GateBudgetCaps | null {
|
|
115
130
|
const perRun = _num(_dig(settings, ['roadmap', 'gate_budget', 'max_cost_per_run_usd']));
|
|
116
131
|
const rolling = _num(
|
|
117
132
|
_dig(settings, ['roadmap', 'gate_budget', 'max_cost_per_rolling_7d_usd']),
|
|
118
133
|
);
|
|
119
|
-
if (perRun === null
|
|
134
|
+
if (perRun === null && rolling === null) {
|
|
120
135
|
return null;
|
|
121
136
|
}
|
|
122
137
|
return { maxCostPerRunUsd: perRun, maxCostPerRolling7dUsd: rolling };
|
|
@@ -216,13 +231,15 @@ export function rollingSpendUsd(records: readonly GateBudgetReceipt[], now: Date
|
|
|
216
231
|
}
|
|
217
232
|
|
|
218
233
|
export type GateBudgetRefusal =
|
|
219
|
-
|
|
234
|
+
// 'no_caps' was removed on 2026-10-06 with ADR-279: the absence of a cap
|
|
235
|
+
// is no longer a refusal, so no path can produce it and leaving it in the
|
|
236
|
+
// union would advertise a verdict nothing returns.
|
|
220
237
|
| 'no_estimate'
|
|
221
238
|
| 'over_per_run'
|
|
222
239
|
| 'over_rolling_7d';
|
|
223
240
|
|
|
224
241
|
export type GateBudgetVerdict =
|
|
225
|
-
| { ok: true; estimateUsd: number; rollingUsd: number }
|
|
242
|
+
| { ok: true; estimateUsd: number | null; rollingUsd: number }
|
|
226
243
|
| { ok: false; reason: GateBudgetRefusal; detail: string };
|
|
227
244
|
|
|
228
245
|
/**
|
|
@@ -230,6 +247,12 @@ export type GateBudgetVerdict =
|
|
|
230
247
|
*
|
|
231
248
|
* Every refusal path renders rather than runs — the blocker's own prescription
|
|
232
249
|
* for a missing ledger, generalised to every way the budget can say no.
|
|
250
|
+
*
|
|
251
|
+
* What is NOT a refusal, per ADR-279: the absence of a cap. With no cap
|
|
252
|
+
* configured there is no ceiling on money to compare anything against, so the
|
|
253
|
+
* verdict is `ok` and the run proceeds on the authorisation `--confirm`
|
|
254
|
+
* already carries. A cap that WAS set still bounds exactly as its contract
|
|
255
|
+
* describes, and each bounds alone.
|
|
233
256
|
*/
|
|
234
257
|
export function evaluateGateBudget(opts: {
|
|
235
258
|
caps: GateBudgetCaps | null;
|
|
@@ -238,16 +261,17 @@ export function evaluateGateBudget(opts: {
|
|
|
238
261
|
now: Date;
|
|
239
262
|
}): GateBudgetVerdict {
|
|
240
263
|
const { caps, records, estimateUsd, now } = opts;
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
'`roadmap.gate_budget.max_cost_per_rolling_7d_usd`)',
|
|
249
|
-
};
|
|
264
|
+
const perRunCap = caps === null ? null : caps.maxCostPerRunUsd;
|
|
265
|
+
const rollingCap = caps === null ? null : caps.maxCostPerRolling7dUsd;
|
|
266
|
+
// No ceiling on money was set anywhere, so nothing here can say no.
|
|
267
|
+
// `rollingUsd` is still computed and reported — recording spend never
|
|
268
|
+
// depended on bounding it.
|
|
269
|
+
if (perRunCap === null && rollingCap === null) {
|
|
270
|
+
return { ok: true, estimateUsd, rollingUsd: rollingSpendUsd(records, now) };
|
|
250
271
|
}
|
|
272
|
+
// A missing estimate refuses only because a cap exists that nothing can be
|
|
273
|
+
// compared against. With no cap there is no comparison to fail, which is
|
|
274
|
+
// why this sits BELOW the no-cap branch rather than above it.
|
|
251
275
|
if (estimateUsd === null) {
|
|
252
276
|
return {
|
|
253
277
|
ok: false,
|
|
@@ -257,17 +281,17 @@ export function evaluateGateBudget(opts: {
|
|
|
257
281
|
'can be compared against it',
|
|
258
282
|
};
|
|
259
283
|
}
|
|
260
|
-
if (estimateUsd >
|
|
284
|
+
if (perRunCap !== null && estimateUsd > perRunCap) {
|
|
261
285
|
return {
|
|
262
286
|
ok: false,
|
|
263
287
|
reason: 'over_per_run',
|
|
264
288
|
detail:
|
|
265
289
|
`the estimate ($${estimateUsd.toFixed(2)}) exceeds the per-run cap ` +
|
|
266
|
-
`($${
|
|
290
|
+
`($${perRunCap.toFixed(2)})`,
|
|
267
291
|
};
|
|
268
292
|
}
|
|
269
293
|
const spent = rollingSpendUsd(records, now);
|
|
270
|
-
if (spent + estimateUsd >
|
|
294
|
+
if (rollingCap !== null && spent + estimateUsd > rollingCap) {
|
|
271
295
|
return {
|
|
272
296
|
ok: false,
|
|
273
297
|
reason: 'over_rolling_7d',
|
|
@@ -275,7 +299,7 @@ export function evaluateGateBudget(opts: {
|
|
|
275
299
|
`$${spent.toFixed(2)} is already receipted in the last ` +
|
|
276
300
|
`${String(ROLLING_WINDOW_DAYS)} days and this run would add ` +
|
|
277
301
|
`$${estimateUsd.toFixed(2)}, over the rolling cap ` +
|
|
278
|
-
`($${
|
|
302
|
+
`($${rollingCap.toFixed(2)})`,
|
|
279
303
|
};
|
|
280
304
|
}
|
|
281
305
|
return { ok: true, estimateUsd, rollingUsd: spent };
|
|
@@ -297,7 +297,12 @@ function execute(
|
|
|
297
297
|
// generalised to every way the budget can say no. The `--confirm`
|
|
298
298
|
// requirement below is untouched: the caps bound the size of an authorised
|
|
299
299
|
// spend, they never supply the authorisation.
|
|
300
|
-
|
|
300
|
+
// `estimateUsd` is null only on the one path that reaches here without a
|
|
301
|
+
// USD figure: a class-1 entry that states no estimate AND an install with
|
|
302
|
+
// no cap set, so there was no cap for the missing estimate to fail
|
|
303
|
+
// against. A receipt needs a number, and inventing 0 would understate the
|
|
304
|
+
// ledger, so that path runs and reports that nothing was receipted.
|
|
305
|
+
let budgeted: { estimateUsd: number | null } | null = null;
|
|
301
306
|
if (cls === '1') {
|
|
302
307
|
const verdict = evaluateGateBudget({
|
|
303
308
|
caps: readGateBudgetCaps(load_agent_settings({ cwd: repoRoot })),
|
|
@@ -388,7 +393,7 @@ function execute(
|
|
|
388
393
|
code: 1,
|
|
389
394
|
};
|
|
390
395
|
}
|
|
391
|
-
if (budgeted !== null) {
|
|
396
|
+
if (budgeted !== null && budgeted.estimateUsd !== null) {
|
|
392
397
|
// Written BEFORE the file rewrite: an unreceipted spend is invisible to
|
|
393
398
|
// the rolling cap, and the cap failing open is the one way this
|
|
394
399
|
// mechanism could become a blank cheque. `actual_usd` is null because
|
|
@@ -421,8 +426,11 @@ function execute(
|
|
|
421
426
|
`and the status flipped to resolved ${when}.\n` +
|
|
422
427
|
(budgeted === null
|
|
423
428
|
? ''
|
|
424
|
-
:
|
|
425
|
-
`
|
|
429
|
+
: budgeted.estimateUsd === null
|
|
430
|
+
? `No receipt appended to ${LEDGER_REL}: the entry states no USD ` +
|
|
431
|
+
'estimate and no cap is configured, so there is no figure to record.\n'
|
|
432
|
+
: `Receipt appended to ${LEDGER_REL} ` +
|
|
433
|
+
`($${budgeted.estimateUsd.toFixed(2)} estimated).\n`) +
|
|
426
434
|
// The dashboard is derived from the file this just rewrote, so it
|
|
427
435
|
// is now stale. Saying so is the same follow-up `renderResumed`
|
|
428
436
|
// already prints for its own file-move suggestion.
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
## Pointers
|
|
15
15
|
|
|
16
16
|
- **Filling out this AGENTS.md** — section templates, capability bullets, multi-agent entry flow, monorepo layout: [`consumer-agents-md-guide`](.augment/contexts/contracts/consumer-agents-md-guide.md).
|
|
17
|
-
- **Behavior rules** (9 always-on; rest routed) — [`.augment/rules/`](.augment/rules/). Kernel rules
|
|
17
|
+
- **Behavior rules** (9 always-on; rest routed) — [`.augment/rules/`](.augment/rules/). Kernel rules change only by a ratified edit; overrides may tighten.
|
|
18
18
|
- **Skills (on-demand expertise)** — domain skills surfaced by description, invoked on trigger match: [`.augment/skills/`](.augment/skills/).
|
|
19
19
|
- **Commands (workflows)** — slash-commands the agent runs end-to-end (`/work`, `/create-pr`, …): [`.augment/commands/`](.augment/commands/).
|
|
20
20
|
- **Project-specific docs** — your own architecture notes, roadmaps, sessions, contexts: [`agents/`](agents/).
|
|
@@ -207,7 +207,6 @@ export const MERGEABLE_KEYS: readonly string[] = [
|
|
|
207
207
|
// weak-host-lift-tiering + token-program-integration verdicts; ADR
|
|
208
208
|
// records the whitelist addition). Wins over rule_loading_tier.
|
|
209
209
|
'discipline_profile',
|
|
210
|
-
'memory.cadence',
|
|
211
210
|
'personal.bot_icon',
|
|
212
211
|
'personal.autonomy',
|
|
213
212
|
// Knowledge-card global cross-project sharing is a USER-GLOBAL setting
|
|
@@ -215,11 +214,6 @@ export const MERGEABLE_KEYS: readonly string[] = [
|
|
|
215
214
|
// ~/.event4u/agent-config/agent-settings.yml values are honoured.
|
|
216
215
|
'knowledge.global_sharing.enabled',
|
|
217
216
|
'knowledge.global_sharing.allowed_tiers',
|
|
218
|
-
'knowledge.global_sharing.redaction.enabled',
|
|
219
|
-
'knowledge.global_sharing.redaction.halt_on_trigger',
|
|
220
|
-
'knowledge.global_sharing.auto_promote_threshold',
|
|
221
|
-
'knowledge.global_sharing.freshness.hypothesis_after_days',
|
|
222
|
-
'knowledge.global_sharing.freshness.stale_after_days',
|
|
223
217
|
];
|
|
224
218
|
|
|
225
219
|
const _DEFAULTS: SettingsDict = {};
|
|
@@ -24,10 +24,13 @@
|
|
|
24
24
|
*
|
|
25
25
|
* Two floors, neither invented here:
|
|
26
26
|
*
|
|
27
|
-
* - **Ceiling** — {@link SELF_FIX_CEILING} attempts per lane
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
27
|
+
* - **Ceiling** — {@link SELF_FIX_CEILING} attempts per lane. This is the
|
|
28
|
+
* engine's own number, independent of the `autonomous-execution` rule's
|
|
29
|
+
* `execution.fix_loop_max` budget (now a default-10 ladder) — a
|
|
30
|
+
* deterministic, critic-free retry on an already-known verdict has no
|
|
31
|
+
* judgement call for that ladder's escalation rungs to apply to. The
|
|
32
|
+
* counters below are per-lane rather than per-run; each lane is its own
|
|
33
|
+
* target.
|
|
31
34
|
* - **No-progress** — two consecutive attempts producing an identical verdict
|
|
32
35
|
* signature stop the loop immediately, budget remaining or not. This is the
|
|
33
36
|
* floor the `recursive-verification` skill already stated in prose ("two
|
|
@@ -47,9 +50,10 @@ import { type Any, Outcome, StepResult, agent_directive } from '../../delivery_s
|
|
|
47
50
|
/**
|
|
48
51
|
* Attempts allowed per lane before the loop exits PARTIAL.
|
|
49
52
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
+
* The engine's own number — not borrowed from `autonomous-execution`'s
|
|
54
|
+
* `execution.fix_loop_max` budget, which now defaults to 10 with a
|
|
55
|
+
* strategy-shift ladder. A deterministic, critic-free retry on an
|
|
56
|
+
* already-known verdict has no judgement call that ladder's rungs apply to.
|
|
53
57
|
*/
|
|
54
58
|
export const SELF_FIX_CEILING = 3;
|
|
55
59
|
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* TypeScript twin of `work_engine/hooks/builtin/decision_trace.py` (ADR-200
|
|
5
5
|
* py2ts — work_engine.hooks.builtin subpackage). Implements the v1 envelope
|
|
6
|
-
* from `docs/contracts/decision-trace-v1.md`.
|
|
7
|
-
*
|
|
6
|
+
* from `docs/contracts/decision-trace-v1.md`. Off: the settings key that
|
|
7
|
+
* registered it was retired, so only a caller that builds the registry
|
|
8
|
+
* directly enables it.
|
|
8
9
|
*
|
|
9
10
|
* The hook is purely observational — it never mutates `DeliveryState`, never
|
|
10
11
|
* raises terminal errors. Stream / disk failures surface as {@link HookError}
|
|
@@ -31,7 +31,8 @@ type Any = unknown;
|
|
|
31
31
|
/**
|
|
32
32
|
* Thread the `🧠 Memory: <hits>/<asks> · ids=[…]` line into the report.
|
|
33
33
|
*
|
|
34
|
-
* `memory_cadence` is the
|
|
34
|
+
* `memory_cadence` is the cadence the hook was built with; settings always
|
|
35
|
+
* yield `always` since the `memory.cadence` key was retired. `visibility_off`
|
|
35
36
|
* mirrors `memory.visibility: off`. `asked_types` overrides the list of
|
|
36
37
|
* memory types treated as `asks` in the visibility line.
|
|
37
38
|
*/
|
|
@@ -157,7 +157,6 @@ function _settings_from_raw(data: SettingsDict): HookSettings {
|
|
|
157
157
|
|
|
158
158
|
const memory_section = data['memory'];
|
|
159
159
|
let visibility_off = false;
|
|
160
|
-
let memory_cadence = 'always';
|
|
161
160
|
if (_isPlainDict(memory_section)) {
|
|
162
161
|
const ms = memory_section as Record<string, Any>;
|
|
163
162
|
const rawVis = ms['visibility'];
|
|
@@ -166,10 +165,6 @@ function _settings_from_raw(data: SettingsDict): HookSettings {
|
|
|
166
165
|
} else if (typeof rawVis === 'boolean' && rawVis === false) {
|
|
167
166
|
visibility_off = true;
|
|
168
167
|
}
|
|
169
|
-
const cadence_raw = ms['cadence'];
|
|
170
|
-
if (cadence_raw !== null && cadence_raw !== undefined) {
|
|
171
|
-
memory_cadence = String(cadence_raw).trim().toLowerCase() || 'always';
|
|
172
|
-
}
|
|
173
168
|
}
|
|
174
169
|
|
|
175
170
|
const memory_hooks = hooksDict['memory_visibility'];
|
|
@@ -192,7 +187,6 @@ function _settings_from_raw(data: SettingsDict): HookSettings {
|
|
|
192
187
|
decision_trace: decision_trace_on,
|
|
193
188
|
memory_visibility: memory_visibility_on,
|
|
194
189
|
memory_visibility_off: visibility_off,
|
|
195
|
-
memory_cadence,
|
|
196
190
|
chat_history_enabled: chat_block_enabled && global_chat_on,
|
|
197
191
|
chat_history_script: chat_script,
|
|
198
192
|
decision_engine: decision_engine_settings,
|
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Schema (all keys optional; the parser rejects unknown keys hard):
|
|
13
13
|
*
|
|
14
|
-
* - `surface_traces`
|
|
15
|
-
*
|
|
16
|
-
*
|
|
14
|
+
* - `surface_traces` — RETIRED, accepted and ignored. The trace hook stays
|
|
15
|
+
* off (the old default). Still in `ALLOWED_KEYS` so a block that carries
|
|
16
|
+
* the leftover key is not rejected wholesale, which would drop the gates
|
|
17
|
+
* it configures alongside it.
|
|
17
18
|
* - `min_confidence` (`low`/`medium`/`high`/`off`, default
|
|
18
19
|
* `off`) — confidence-band floor; Phase=Plan refuses to advance
|
|
19
20
|
* when the band is below.
|
|
@@ -27,8 +28,9 @@
|
|
|
27
28
|
* - `ask_timeout_seconds` (int, default `30`) — timeout when
|
|
28
29
|
* `on_block=ask` runs in a non-interactive context (no TTY, or
|
|
29
30
|
* `CI=true`).
|
|
30
|
-
* - `on_block_fallback`
|
|
31
|
-
* resolution after `ask_timeout`
|
|
31
|
+
* - `on_block_fallback` — RETIRED, accepted and ignored for the same
|
|
32
|
+
* reason; the resolution after `ask_timeout` is always `stop`, the
|
|
33
|
+
* fail-safe value.
|
|
32
34
|
*
|
|
33
35
|
* Gate-conflict resolution (first match wins, only one gate fires per
|
|
34
36
|
* phase):
|
|
@@ -57,7 +59,6 @@ export const ALLOWED_KEYS: ReadonlySet<string> = new Set([
|
|
|
57
59
|
const _LEVEL_VALUES: ReadonlySet<string> = new Set(['low', 'medium', 'high', 'off']);
|
|
58
60
|
const _LEVEL_RANK: Record<string, number> = { low: 1, medium: 2, high: 3 };
|
|
59
61
|
const _ON_BLOCK_VALUES: ReadonlySet<string> = new Set(['stop', 'ask', 'warn']);
|
|
60
|
-
const _FALLBACK_VALUES: ReadonlySet<string> = new Set(['stop', 'warn']);
|
|
61
62
|
|
|
62
63
|
/**
|
|
63
64
|
* Conflict-resolution order. Highest-impact gate first; the first
|
|
@@ -177,17 +178,13 @@ export function parse(data: Any): DecisionEngineSettings {
|
|
|
177
178
|
);
|
|
178
179
|
}
|
|
179
180
|
return new DecisionEngineSettings({
|
|
180
|
-
surface_traces:
|
|
181
|
+
surface_traces: false,
|
|
181
182
|
min_confidence: _coerce_level(_get(d, 'min_confidence', 'off'), 'min_confidence'),
|
|
182
183
|
block_on_risk: _coerce_level(_get(d, 'block_on_risk', 'off'), 'block_on_risk'),
|
|
183
184
|
require_memory_hits: _coerce_bool(_get(d, 'require_memory_hits', undefined), false),
|
|
184
185
|
on_block: _coerce_choice(_get(d, 'on_block', 'stop'), 'on_block', _ON_BLOCK_VALUES),
|
|
185
186
|
ask_timeout_seconds: _coerce_int(_get(d, 'ask_timeout_seconds', 30), 'ask_timeout_seconds'),
|
|
186
|
-
on_block_fallback:
|
|
187
|
-
_get(d, 'on_block_fallback', 'stop'),
|
|
188
|
-
'on_block_fallback',
|
|
189
|
-
_FALLBACK_VALUES,
|
|
190
|
-
),
|
|
187
|
+
on_block_fallback: 'stop',
|
|
191
188
|
});
|
|
192
189
|
}
|
|
193
190
|
|
|
@@ -284,7 +284,8 @@ export function format_changed_decisions_block(
|
|
|
284
284
|
/**
|
|
285
285
|
* Apply the cadence + opt-out gates from the contract.
|
|
286
286
|
*
|
|
287
|
-
* `memory_cadence` is the
|
|
287
|
+
* `memory_cadence` is the cadence the hook was built with (the
|
|
288
|
+
* `memory.cadence` settings key is retired; settings always yield `always`):
|
|
288
289
|
*
|
|
289
290
|
* - `always` (default) — emit whenever `asks >= 1`.
|
|
290
291
|
* - `auto` — emit only when `asks >= 3` (reduces noise on
|