@event4u/agent-config 16.3.0 → 16.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +251 -0
- 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/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/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 +12 -46
- package/dist/agent-src/rules/token-efficiency.md +0 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +0 -1
- package/dist/agent-src/rules/tool-safety.md +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/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/command-routing/SKILL.md +3 -4
- package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +127 -139
- package/dist/agent-src/skills/corpus-grounding/ATTRIBUTION.md +39 -0
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +8 -2
- package/dist/agent-src/skills/database/data/manifest.json +2 -2
- package/dist/agent-src/skills/database/data/query-tuning.csv +13 -13
- package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/git-workflow/SKILL.md +44 -44
- package/dist/agent-src/skills/git-workflow/references/branch-update.md +312 -0
- package/dist/agent-src/skills/git-workflow/references/commit-subject.md +205 -0
- package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
- 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/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/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/registry.js +1 -0
- package/dist/cli-delegate/check_update_banner.js +195 -119
- 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-NQ7WT43P.js → chunk-AED2VQGM.js} +65 -11
- 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-S4UMZNES.js → chunk-MSUL5NYP.js} +5 -5
- 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-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 +105 -35
- 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 +129 -90
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +24 -9
- package/dist/discovery/trust-report.md +3 -3
- package/dist/discovery/workspaces.json +5 -4
- package/dist/hooks/dispatch.js +2151 -1820
- package/dist/hooks/dispatch.sha256 +1 -1
- 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 +2702 -1995
- 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/settings_removed_keys.js +168 -0
- package/dist/scripts/_lib/thin_rules.js +80 -3
- 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/php/git.md +15 -2
- package/package.json +1 -1
- 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 +53 -13
- 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 +48 -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/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/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/concern_registry.ts +2 -0
- package/src/scripts/hooks/delegation_nudge_hook.ts +2 -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/telemetry_usage_hook.ts +7 -46
- package/src/scripts/hooks/turn_end_gate_hook.ts +1 -0
- 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_evidence_artifacts.ts +9 -0
- package/src/scripts/lint_hook_concern_budget.ts +10 -21
- 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_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
|
@@ -111,20 +111,6 @@ personal:
|
|
|
111
111
|
# Detected and set by /onboard on first run.
|
|
112
112
|
rtk_installed: false
|
|
113
113
|
|
|
114
|
-
# Minimal output mode (true, false)
|
|
115
|
-
# true = short bullet points during work, concise summary at the end
|
|
116
|
-
# false = verbose explanations and reasoning
|
|
117
|
-
minimal_output: true
|
|
118
|
-
|
|
119
|
-
# Play-by-play mode (true, false)
|
|
120
|
-
# true = briefly share intermediate findings as you go
|
|
121
|
-
# false = silently investigate, only report the conclusion
|
|
122
|
-
play_by_play: false
|
|
123
|
-
|
|
124
|
-
# Prefix PR comment replies with a bot icon 🤖 (true, false)
|
|
125
|
-
# Personal preference — each developer decides for themselves.
|
|
126
|
-
pr_comment_bot_icon: false
|
|
127
|
-
|
|
128
114
|
# Autonomous execution — suppress trivial workflow questions (on, off, auto)
|
|
129
115
|
# on = act on the obvious next step; never ask "Step 2 or 3?", "should I commit?", etc.
|
|
130
116
|
# off = ask trivial workflow questions (legacy behavior)
|
|
@@ -136,9 +122,6 @@ personal:
|
|
|
136
122
|
|
|
137
123
|
# --- Project / team preferences ---
|
|
138
124
|
project:
|
|
139
|
-
# Path to the PR template file (relative to project root)
|
|
140
|
-
pr_template: .github/pull_request_template.md
|
|
141
|
-
|
|
142
125
|
# Target repository for universal improvement PRs (e.g. org/agent-config)
|
|
143
126
|
upstream_repo: ""
|
|
144
127
|
|
|
@@ -224,14 +207,6 @@ hooks:
|
|
|
224
207
|
# outside the standard location.
|
|
225
208
|
# script: scripts/chat_history.ts
|
|
226
209
|
|
|
227
|
-
# --- Optional pipelines ---
|
|
228
|
-
pipelines:
|
|
229
|
-
# Skill improvement pipeline (true, false)
|
|
230
|
-
# true = after meaningful tasks, propose learning capture and improvements (default)
|
|
231
|
-
# false = silent, no post-task analysis
|
|
232
|
-
# Included by every rule_loading_tier except `custom`.
|
|
233
|
-
skill_improvement: true
|
|
234
|
-
|
|
235
210
|
# --- Roadmap execution ---
|
|
236
211
|
#
|
|
237
212
|
# Controls when /roadmap:process-* runs the project's quality pipeline.
|
|
@@ -239,22 +214,6 @@ pipelines:
|
|
|
239
214
|
# response — that cadence is governed by `roadmap-progress-sync` and
|
|
240
215
|
# is non-negotiable. This setting only governs *quality tool runs*.
|
|
241
216
|
roadmap:
|
|
242
|
-
# Skip the pre-run confirmation gate when /roadmap:process-step|phase|full
|
|
243
|
-
# is invoked (true, false).
|
|
244
|
-
# true = default. The command name itself names the scope; if a
|
|
245
|
-
# single active roadmap is discoverable (or the user named
|
|
246
|
-
# one), the loop starts immediately. The resolved roadmap /
|
|
247
|
-
# cadence / council setting are surfaced inline as a one-shot
|
|
248
|
-
# note so an unwanted pick can still be aborted mid-stream.
|
|
249
|
-
# false = legacy. The loop shows the pre-run summary with numbered
|
|
250
|
-
# options (Go / Different roadmap / Different scope / Toggle
|
|
251
|
-
# council / Abort) and waits for input.
|
|
252
|
-
# The gate is still shown — regardless of this flag — when the roadmap
|
|
253
|
-
# is ambiguous (multiple active, none named) or a scope / cadence
|
|
254
|
-
# conflict has no sensible default. The flag suppresses the
|
|
255
|
-
# confirmation, never a genuine "which roadmap?" question.
|
|
256
|
-
skip_pre_run_gate: true
|
|
257
|
-
|
|
258
217
|
# When to run quality tools during /roadmap:process-step|phase|full.
|
|
259
218
|
# end_of_roadmap = once, before archiving (default — fastest, fewest tokens)
|
|
260
219
|
# per_phase = once after every completed phase
|
|
@@ -292,7 +251,8 @@ subagents:
|
|
|
292
251
|
judge_model: ""
|
|
293
252
|
|
|
294
253
|
# Maximum number of parallel subagent invocations (integer, default 3)
|
|
295
|
-
# Set to 1 to serialize.
|
|
254
|
+
# Set to 1 to serialize. A limit the model reads from settings — no
|
|
255
|
+
# code counts spawns against it.
|
|
296
256
|
max_parallel: 3
|
|
297
257
|
|
|
298
258
|
# --- Recursive self-verification (see skills/recursive-verification) ---
|
|
@@ -369,17 +329,8 @@ onboarding:
|
|
|
369
329
|
# never auto-executes — the user picks. See `rules/command-suggestion-policy.md`.
|
|
370
330
|
commands:
|
|
371
331
|
suggestion:
|
|
372
|
-
#
|
|
373
|
-
#
|
|
374
|
-
enabled: true
|
|
375
|
-
# Minimum match score (0.0–1.0) before a suggestion surfaces.
|
|
376
|
-
confidence_floor: 0.6
|
|
377
|
-
# Cooldown in seconds between re-suggestions of the same
|
|
378
|
-
# (command, evidence) pair. Default 600 = 10m.
|
|
379
|
-
cooldown_seconds: 600
|
|
380
|
-
# Max number of command suggestions before the as-is option.
|
|
381
|
-
# The as-is option is always extra (total rendered = max_options + 1).
|
|
382
|
-
max_options: 4
|
|
332
|
+
# The layer is always on; floor 0.6, cooldown 600s and a cap of 4
|
|
333
|
+
# options (plus the as-is option) are fixed.
|
|
383
334
|
# Commands to never suggest. Still work when typed explicitly.
|
|
384
335
|
blocklist: []
|
|
385
336
|
|
|
@@ -398,23 +349,13 @@ commands:
|
|
|
398
349
|
# Critical info (breaking changes, migrations, security, rollback) is
|
|
399
350
|
# ALWAYS included at every tier — the tier governs explanatory depth only.
|
|
400
351
|
#
|
|
401
|
-
# api_examples (default true): add a fenced JSON example for API-endpoint
|
|
402
|
-
# changes ONLY when grounded in a real source (DTO/resource, OpenAPI,
|
|
403
|
-
# fixture, probe); else a one-line pointer, never an invented example.
|
|
404
|
-
#
|
|
405
352
|
# screenshots (default false): capability-gated frontend screenshots.
|
|
406
353
|
# true attempts capture only when the host has browser/preview tooling;
|
|
407
354
|
# emits a note and leaves the placeholder when absent — never blocks the PR.
|
|
408
|
-
#
|
|
409
|
-
# ui_paths / api_paths: optional globs to make frontend / API detection
|
|
410
|
-
# explicit; empty = a light heuristic that fails open.
|
|
411
355
|
create_pr:
|
|
412
356
|
preview_description: false
|
|
413
357
|
detail_level: min
|
|
414
|
-
api_examples: true
|
|
415
358
|
screenshots: false
|
|
416
|
-
ui_paths: []
|
|
417
|
-
api_paths: []
|
|
418
359
|
|
|
419
360
|
# --- Telemetry (artefact engagement, default-off) ---
|
|
420
361
|
#
|
|
@@ -426,36 +367,20 @@ commands:
|
|
|
426
367
|
# (once Phase 3 of road-to-artifact-engagement-telemetry lands).
|
|
427
368
|
# --- Verbosity (token frugality) ---
|
|
428
369
|
#
|
|
429
|
-
#
|
|
430
|
-
#
|
|
370
|
+
# What the agent shows after acting. Default = terse. Four former toggles
|
|
371
|
+
# (preview_artifacts, routine_confirmations, post_action_reports,
|
|
372
|
+
# intent_announcements) were retired on 2026-10-09 with the terse default
|
|
373
|
+
# as fixed behavior.
|
|
431
374
|
# See agents/roadmaps/road-to-token-frugality.md for the full rationale
|
|
432
375
|
# and the contexts/contracts/frugality-charter.md for the writer-side
|
|
433
376
|
# standard.
|
|
434
377
|
verbosity:
|
|
435
|
-
# Show generated commit messages, PR titles/bodies, branch names
|
|
436
|
-
# before acting. false = use generated content directly.
|
|
437
|
-
preview_artifacts: false
|
|
438
|
-
|
|
439
|
-
# Confirmation prompts for routine workflow steps when there is
|
|
440
|
-
# one obvious answer ("looks good — commit?"). Iron-Law gates
|
|
441
|
-
# (commit-policy, scope-control git-ops, non-destructive) ALWAYS
|
|
442
|
-
# ask regardless of this flag.
|
|
443
|
-
routine_confirmations: false
|
|
444
|
-
|
|
445
378
|
# Offer "run AI Council on this?" inside delivery commands
|
|
446
379
|
# (/feature-plan, /review-changes, /roadmap-create). Council
|
|
447
380
|
# commands themselves (/council, /create-pr → already excluded)
|
|
448
381
|
# are unaffected.
|
|
449
382
|
offer_council_in_delivery: false
|
|
450
383
|
|
|
451
|
-
# Multi-line status / summary blocks after a successful action.
|
|
452
|
-
# off | minimal | full — default minimal (one-line confirmation).
|
|
453
|
-
post_action_reports: minimal
|
|
454
|
-
|
|
455
|
-
# Intent announcements ("Let me check…", "Now I will…", "Found
|
|
456
|
-
# it") in skill bodies. false = act and emit the result.
|
|
457
|
-
intent_announcements: false
|
|
458
|
-
|
|
459
384
|
# Script stdout chatter from `scripts/*.ts`, `scripts/*.sh`, and
|
|
460
385
|
# `.augment/scripts/`. Read by the helper module
|
|
461
386
|
# `scripts/_lib/script_output.ts`.
|
|
@@ -473,19 +398,6 @@ verbosity:
|
|
|
473
398
|
# safe task per Phase 10.3.
|
|
474
399
|
taskfile_command_echo: false
|
|
475
400
|
|
|
476
|
-
# --- Telegraph condensation (output-side) ---
|
|
477
|
-
#
|
|
478
|
-
# One lever, deliberately: whether the telegraph-speak rule ships at all.
|
|
479
|
-
# The rule body states its own grammar scope — which carve-outs (numbered
|
|
480
|
-
# options, Iron-Law literals, code, paths) stay full prose — so there is no
|
|
481
|
-
# separate scope key to pin.
|
|
482
|
-
telegraph:
|
|
483
|
-
# speak: false = DORMANT (the shipped default). The rule is omitted from
|
|
484
|
-
# dist/router.json entirely, so its body never reaches a host. That
|
|
485
|
-
# omission is what stops the cost. Set true only after an output-side
|
|
486
|
-
# bench clears the kill-criterion bar.
|
|
487
|
-
speak: false
|
|
488
|
-
|
|
489
401
|
telemetry:
|
|
490
402
|
artifact_engagement:
|
|
491
403
|
# Master switch. `false` (default) produces zero file IO and zero
|
|
@@ -612,11 +524,7 @@ the canonical narrative lives in
|
|
|
612
524
|
| `personal.open_edited_files` | `true`, `false` | `false` | Auto-open edited files in the IDE after edits |
|
|
613
525
|
| `personal.canary_name` | first name | _(empty)_ | Per-project OVERRIDE of the name the agent addresses the user with (session-canary). The name itself lives user-globally: `identity.name` in the wizard's `settings/.agent-user.yml`, fallback `personal.canary_name` in the user-global settings. See `rules/session-canary.md`. |
|
|
614
526
|
| `personal.rtk_installed` | `true`, `false` | `false` | Whether rtk (Rust Token Killer) is installed. Detected and set by `/onboard`. |
|
|
615
|
-
| `personal.minimal_output` | `true`, `false` | `true` | When `true`: short bullet points during work, concise summary at end. When `false`: verbose explanations. |
|
|
616
|
-
| `personal.play_by_play` | `true`, `false` | `false` | When `true`: share intermediate findings during investigation. When `false`: work silently, report only the conclusion. |
|
|
617
|
-
| `personal.pr_comment_bot_icon` | `true`, `false` | `false` | Prefix PR comment replies with 🤖 to indicate bot-authored replies. Personal preference — each developer decides. |
|
|
618
527
|
| `personal.autonomy` | `on`, `off`, `auto` | `auto` | Suppress trivial workflow questions and act on the obvious next step. `auto` (default) defaults to `off` but flips to `on` after a prose opt-in like "arbeite selbstständig". `on` suppresses trivial questions unconditionally. `off` is the legacy ask-everything mode. Blocking decisions (security, scope expansion, push/merge/branch/PR/tag) are never suppressed. See `rules/autonomous-execution.md`. |
|
|
619
|
-
| `project.pr_template` | file path | `.github/pull_request_template.md` | Path to PR template file. Read this instead of searching for it. |
|
|
620
528
|
| `project.upstream_repo` | `org/repo` | _(empty)_ | Target repository for universal improvement PRs (e.g., `org/agent-config`). |
|
|
621
529
|
| `project.improvement_pr_branch_prefix` | string | `improve/agent-` | Branch prefix for agent improvement PRs. |
|
|
622
530
|
| `github.pr_reply_method` | `replies_endpoint`, `create_review_comment`, `auto` | `create_review_comment` | GitHub API method for replying to PR review comments. `auto` detects on first use. |
|
|
@@ -625,12 +533,10 @@ the canonical narrative lives in
|
|
|
625
533
|
| `chat_history.enabled` | `true`, `false` | `true` | Persist chat events to `agents/runtime/.agent-chat-history` (JSONL) for crash recovery. |
|
|
626
534
|
| `chat_history.frequency` | `per_turn`, `per_phase`, `per_tool` | per profile | Logging granularity. Defaults: `minimal`→`per_turn`, `balanced`→`per_phase`, `full`→`per_tool`. |
|
|
627
535
|
| `chat_history.text_limits.{user,agent,tool,phase}` | integer (chars) | `user=0`, `agent=5000`, `tool=200`, `phase=200` | Per-entry-type text-length cap. `0` = verbatim, no slice. `N > 0` = collapse whitespace, slice to N chars, append `" … [+K chars]"` so the log self-reports truncation. Defaults match `DEFAULT_TEXT_LIMITS` in `scripts/chat_history.ts`. |
|
|
628
|
-
| `hooks.concern_budget.
|
|
536
|
+
| `hooks.concern_budget.tier1_concerns` | list | `[]` | Concern budget gate for the hook dispatcher (`lint_hook_concern_budget`): restricts `fail_closed: true` to this allowlist. The per-cell cap (8) is fixed and the gate is warn-only unless run with `--strict`. |
|
|
629
537
|
| `hooks.injection_scan.enabled` | `true`, `false` | `false` | PostToolUse prompt-injection scanner: scans tool output for injection signatures and warns in context (exit 2) — never blocks. |
|
|
630
538
|
| `hooks.rtk_wrap.enabled` | `true`, `false` | `false` | PreToolUse RTK-wrap nudge: when `rtk` is on PATH, warns (exit 2, never blocks) to re-run a verbose CLI command wrapped with rtk. |
|
|
631
539
|
| `hooks.design_slop.enabled` | `true`, `false` | `false` | PreToolUse anti-slop nudge: runs the `lint_design_slop` registry against about-to-be-written UI content and warns (exit 2, never blocks) on P0/P1 aesthetic tells. |
|
|
632
|
-
| `pipelines.skill_improvement` | `true`, `false` | `true` | When `true`: propose learning capture after meaningful tasks. When `false`: silent. Included in every profile except `custom`. |
|
|
633
|
-
| `roadmap.skip_pre_run_gate` | `true`, `false` | `true` | When `true` (default): `/roadmap:process-step\|phase\|full` skips the interactive pre-run summary and starts the loop immediately — the resolved roadmap, cadence, and council are surfaced inline so an unwanted pick can still be aborted. When `false`: the loop shows the pre-run summary with numbered options (Go / Different roadmap / Different scope / Toggle council / Abort) and waits. The gate is always shown — regardless of this flag — when the roadmap is ambiguous (multiple active, none named) or a scope / cadence conflict has no sensible default. |
|
|
634
540
|
| `roadmap.quality_cadence` | `end_of_roadmap`, `per_phase`, `per_step` | `end_of_roadmap` | When `/roadmap:process-step|phase|full` runs the project's quality pipeline — only relevant when `quality.local_auto_run` is `true`; when it is `false` (the default) local pipeline runs are suppressed at every cadence and remote CI is the gate. Default skips per-step / per-phase runs and gates only the final archival. `per_phase` runs once after every phase; `per_step` is the legacy verbose mode. Step checkboxes and the dashboard are always updated regardless. |
|
|
635
541
|
| `quality.local_auto_run` | `true`, `false` | `false` | When `false` (default): agent NEVER runs the project's quality pipeline (`task ci`, `make test`, `npm run check`, PHPStan, ECS, Rector, test suites) proactively — and does not ask. The user runs quality tools manually; remote CI is the authoritative gate. The agent runs one only on (1) an explicit ask this turn, (2) a concrete CI failure (run exactly that failing check), or (3) the new-gate carve-out. When `true`: opt-in legacy — agent runs the pipeline autonomously when work is ready for verification. **Carve-out**: NEW CI gates / smoke tests / test files MUST run locally regardless of this flag — without execution the new gate is unverified evidence. Iron Law `verify-before-complete` still applies; suppressed runs are surfaced ("quality gates delegated to remote CI"), never claimed as passing. |
|
|
636
542
|
| `subagents.implementer_model` | model alias or empty | _(empty)_ | Model for implementer subagents. Empty = same tier as session model. See [subagent-configuration](../contexts/subagent-configuration.md). |
|
|
@@ -641,23 +547,11 @@ the canonical narrative lives in
|
|
|
641
547
|
| `personas.override` | list of persona ids | `[]` | Developer-local override of the team default lens cast (not in the shipped personal template — add the block when needed). Empty = inherit `personas.default` from `.agent-project-settings.yml`. See [`layered-settings`](../guidelines/agent-infra/layered-settings.md). |
|
|
642
548
|
| `personas.ignore` | list of persona ids | `[]` | Persona ids dropped from the default cast locally. Ignored personas stay invokable via `--personas=<id>`. |
|
|
643
549
|
| `onboarding.onboarded` | `true`, `false` | `false` | Whether `/onboard` has run on this project. The `onboarding-gate` rule prompts for `/onboard` when this is `false`. Missing entirely = legacy project, treated as onboarded. |
|
|
644
|
-
| `commands.suggestion.enabled` | `true`, `false` | `true` | Master switch for the command-suggestion layer. `false` = the layer is silent; explicit `/commands` still work. See `rules/command-suggestion-policy.md`. |
|
|
645
|
-
| `commands.suggestion.confidence_floor` | `0.0`–`1.0` | `0.6` | Minimum match score before a suggestion surfaces. Per-command frontmatter (`suggestion.confidence_floor`) overrides this global floor. |
|
|
646
|
-
| `commands.suggestion.cooldown_seconds` | integer | `600` | Cooldown between re-suggestions of the same `(command, evidence)` pair. `600` = 10m. |
|
|
647
|
-
| `commands.suggestion.max_options` | integer | `4` | Max number of command suggestions before the always-present "run as-is" option (total rendered = `max_options + 1`). |
|
|
648
550
|
| `commands.suggestion.blocklist` | list of command names | `[]` | Commands that never appear as a suggestion. They still work when typed explicitly. |
|
|
649
551
|
| `commands.create_pr.preview_description` | `true`, `false` | `false` | When `false`: `/create-pr` skips the title/body preview + adjust loop and uses the generated content directly. Saves agent tokens. When `true`: show title and body before creating and ask for adjustments. `/create-pr:description-only` always previews regardless of this setting. |
|
|
650
552
|
| `commands.create_pr.detail_level` | `min`, `med`, `max` | `min` | Verbosity tier of the PR Description body. `min` = title + 2-3 sentence what/why/impact + ticket; `med` = + grouped changes + tests note; `max` = + how-to-test + edge cases + reviewer guidance. Critical info (breaking / migration / security / rollback) is included at every tier. |
|
|
651
|
-
| `commands.create_pr.api_examples` | `true`, `false` | `true` | Add a grounded JSON example for API-endpoint changes; `true` includes one only from a real source (DTO/OpenAPI/fixture/probe), else a pointer, never invented; `false` = never. |
|
|
652
553
|
| `commands.create_pr.screenshots` | `true`, `false` | `false` | Capability-gated frontend screenshots. `true` attempts capture when browser/preview tooling is present; notes-and-skips otherwise, never blocks the PR. Before/after is best-effort. |
|
|
653
|
-
| `commands.create_pr.ui_paths` | glob list | `[]` | Optional globs pinning frontend detection; empty = light heuristic, fail-open. |
|
|
654
|
-
| `commands.create_pr.api_paths` | glob list | `[]` | Optional globs pinning API-endpoint detection; empty = light heuristic, fail-open. |
|
|
655
|
-
| `verbosity.preview_artifacts` | `true`, `false` | `false` | Show generated commit messages, PR titles/bodies, branch names before acting. `false` = use generated content directly. See the token-frugality plate under `agents/roadmaps/` (Phase 2/3). |
|
|
656
|
-
| `verbosity.routine_confirmations` | `true`, `false` | `false` | Confirmation prompts for routine workflow steps when there is one obvious answer ("looks good — commit?"). Iron-Law gates (`commit-policy`, `scope-control` git-ops, `non-destructive-by-default`) ALWAYS ask regardless. |
|
|
657
554
|
| `verbosity.offer_council_in_delivery` | `true`, `false` | `false` | Offer "run AI Council on this?" inside delivery commands (`/feature-plan`, `/review-changes`). Council commands themselves are unaffected. `/roadmap:create` no longer reads it — under a mission the council is a step, resolved from `agent-config council:status`, never an offer. |
|
|
658
|
-
| `verbosity.post_action_reports` | `off`, `minimal`, `full` | `minimal` | Multi-line status / summary blocks after a successful action. `off` = no report; `minimal` = one-line confirmation; `full` = bullet list. |
|
|
659
|
-
| `verbosity.intent_announcements` | `true`, `false` | `false` | Intent announcements ("Let me check…", "Now I will…", "Found it") in skill bodies. `false` = act and emit the result. |
|
|
660
|
-
| `telegraph.speak` | `true`, `false` | `false` | Whether the telegraph-speak rule ships at all. `false` (default) = dormant: the projector omits the rule from `dist/router.json`, so its body never reaches a host. The rule body states its own grammar scope and carve-outs (numbered options, Iron-Law literals, code, paths), so this is the only lever. |
|
|
661
555
|
| `telemetry.artifact_engagement.enabled` | `true`, `false` | `false` | Master switch for the artefact engagement log. Not in the shipped template — a missing `telemetry:` section means disabled (the recording rule no-ops). Default-off; zero file IO and zero token cost when `false`. Maintainer-targeted; consumers leave it off. |
|
|
662
556
|
| `telemetry.artifact_engagement.granularity` | `task`, `phase-step`, `tool-call` | `task` | Boundary at which events are recorded. `tool-call` is expensive — opt-in only. |
|
|
663
557
|
| `telemetry.artifact_engagement.record.consulted` | `true`, `false` | `true` | When `true`: record artefacts loaded into context. |
|
|
@@ -675,11 +569,6 @@ the canonical narrative lives in
|
|
|
675
569
|
| `linked_projects_max_files` | integer | `20000` | File-count ceiling above which a detected sibling is flagged `large` (awareness only). Never excludes. |
|
|
676
570
|
| `knowledge.global_sharing.enabled` | `true`, `false` | `true` | **User-global** (keep in `~/.event4u/agent-config/agent-settings.yml`). Master switch for the file-first global knowledge-card store (ADR-100; default-ON per ADR-119, the council-validated bounded-downside flip superseding ADR-103 — adversarially spot-checked redaction incl. hidden-unicode hardening, narrowest tier default, pre-registered demotion trigger). `false` fully no-ops the layer (single-key revert); v1 project-local cards unaffected. |
|
|
677
571
|
| `knowledge.global_sharing.allowed_tiers` | list of `public`,`vendor`,`proprietary` | `[public]` | Origin tiers auto-eligible to cross a project boundary. Narrowest default per ADR-119; `vendor` is a deliberate opt-in widening. `proprietary` is manual-only regardless (the gate hard-codes it). |
|
|
678
|
-
| `knowledge.global_sharing.redaction.enabled` | `true`, `false` | `true` | Run the privacy-floor + source-confidentiality scan before any card goes global. |
|
|
679
|
-
| `knowledge.global_sharing.redaction.halt_on_trigger` | `true`, `false` | `true` | Halt-and-surface on a confidential-pattern hit; never silent-share, never auto-rewrite. |
|
|
680
|
-
| `knowledge.global_sharing.auto_promote_threshold` | integer | `2` | Distinct-repo count that triggers a promotion **suggestion** (never a silent write). |
|
|
681
|
-
| `knowledge.global_sharing.freshness.hypothesis_after_days` | integer | `90` | Global card older than this is lead-only (positive structure re-confirmed before use). |
|
|
682
|
-
| `knowledge.global_sharing.freshness.stale_after_days` | integer | `180` | Global card older than this is skipped until re-verified. |
|
|
683
572
|
|
|
684
573
|
### Rename-Map (migration)
|
|
685
574
|
|
|
@@ -693,15 +582,10 @@ Applied automatically when `scripts/install` finds a legacy `.agent-settings`
|
|
|
693
582
|
| `open_edited_files` | `personal.open_edited_files` |
|
|
694
583
|
| `user_name` | `personal.user_name` |
|
|
695
584
|
| `rtk_installed` | `personal.rtk_installed` |
|
|
696
|
-
| `minimal_output` | `personal.minimal_output` |
|
|
697
|
-
| `play_by_play` | `personal.play_by_play` |
|
|
698
|
-
| `pr_comment_bot_icon` | `personal.pr_comment_bot_icon` |
|
|
699
|
-
| `pr_template` | `project.pr_template` |
|
|
700
585
|
| `upstream_repo` | `project.upstream_repo` |
|
|
701
586
|
| `improvement_pr_branch_prefix` | `project.improvement_pr_branch_prefix` |
|
|
702
587
|
| `github_pr_reply_method` | `github.pr_reply_method` |
|
|
703
588
|
| `eloquent_access_style` | `eloquent.access_style` |
|
|
704
|
-
| `skill_improvement_pipeline` | `pipelines.skill_improvement` |
|
|
705
589
|
| `subagent_implementer_model` | `subagents.implementer_model` |
|
|
706
590
|
| `subagent_judge_model` | `subagents.judge_model` |
|
|
707
591
|
| `subagent_max_parallel` | `subagents.max_parallel` |
|
|
@@ -709,6 +593,40 @@ Applied automatically when `scripts/install` finds a legacy `.agent-settings`
|
|
|
709
593
|
Unknown keys in the legacy file are preserved under a `_legacy:` section
|
|
710
594
|
so nothing is silently dropped; the migration log points them out.
|
|
711
595
|
|
|
596
|
+
### Retired keys
|
|
597
|
+
|
|
598
|
+
These keys were removed because their shipped default is the only behavior
|
|
599
|
+
the package supports; the behavior they described is unchanged. A leftover
|
|
600
|
+
value in an older `.agent-settings.yml` is ignored with one stderr line per key
|
|
601
|
+
(`<key> was removed (<what decides instead>); ignored.`) — the registry is
|
|
602
|
+
`REMOVED_KEYS` in `scripts/_lib/settings_removed_keys.ts`. Delete the line to
|
|
603
|
+
silence it.
|
|
604
|
+
|
|
605
|
+
| Retired 2026-10-09 | Fixed behavior |
|
|
606
|
+
|---|---|
|
|
607
|
+
| `personal.minimal_output`, `personal.play_by_play`, `verbosity.preview_artifacts`, `verbosity.routine_confirmations`, `verbosity.post_action_reports`, `verbosity.intent_announcements` | terse replies, no narration, no preview, no routine confirmation, one-line post-action report (`direct-answers` Iron Law 3) |
|
|
608
|
+
| `personal.pr_comment_bot_icon` | no 🤖 prefix (`no-decorative-emojis-in-git-surfaces`) |
|
|
609
|
+
| `telegraph.speak` | the telegraph-speak rule does not ship (bench verdict, ADR telegraph/0002) |
|
|
610
|
+
| `tokens.rich_skills` | `token_budget_class: rich` skills load in full (`token-budget-discipline`) |
|
|
611
|
+
| `reasoning.auto_gate`, `reasoning.components.*` (nine switches) | every RDP component follows the gate's task and host signals (`rdp-gate`); `reasoning.enabled` stays the hard off |
|
|
612
|
+
| `roadmap.skip_pre_run_gate` | no pre-run confirmation; only an ambiguous roadmap or an unresolvable conflict shows the gate |
|
|
613
|
+
| `roadmap.dashboard_regen_cadence` | dashboard regen every 5th closed step, at phase boundaries, at reply end and on any file-shape touch |
|
|
614
|
+
| `commands.auto_detect` | orchestrators auto-detect; opt one out with `auto_detect: false` in its front-matter or one run with `--no-auto-detect` |
|
|
615
|
+
| `commands.suggestion.enabled`, `.confidence_floor`, `.cooldown_seconds`, `.max_options` | suggestion layer always on, floor 0.6, cooldown 600 s, at most 4 options; `blocklist` and per-command frontmatter still apply |
|
|
616
|
+
| `commands.create_pr.api_examples`, `.ui_paths`, `.api_paths` | grounded API examples always added; frontend / API detection by the light heuristic |
|
|
617
|
+
| `memory.cadence` | the 🧠 memory line renders whenever a memory type was asked; `memory.visibility: off` still silences it |
|
|
618
|
+
| `memory.review_threshold` | `/memory load` previews intake signals above a fixed 10 |
|
|
619
|
+
| `knowledge.global_sharing.redaction.*`, `.auto_promote_threshold`, `.freshness.*` | redaction always runs and halts on a hit; promotion suggested at 2 repos; lead-only after 90 days, skipped after 180 |
|
|
620
|
+
| `hooks.concern_budget.max_per_event`, `.hard_fail` | at most 8 concerns per (platform, event) cell; warn-only unless the gate runs with `--strict` |
|
|
621
|
+
| `decision_engine.surface_traces` | no per-phase decision-trace file (accepted in the `decision_engine:` block and ignored) |
|
|
622
|
+
| `decision_engine.on_block_fallback` | an `on_block: ask` that times out stops (accepted and ignored) |
|
|
623
|
+
| `explain.enable_last` | `agent-config explain last` always renders the trace |
|
|
624
|
+
| `project.pr_template` | `/create-pr` reads `.github/pull_request_template.md` |
|
|
625
|
+
| `pipelines.skill_improvement` | post-task learning capture is always proposed (`skill-improvement-trigger`) |
|
|
626
|
+
| `consistency.cross_source` | cross-source discrepancies are always surfaced and asked, batched into one question |
|
|
627
|
+
| `subagents.downshift` | delegable sub-tasks always run on the lowest-capable tier they declare |
|
|
628
|
+
| `ai_team.suppress_setup_hint` | the one-line team-mode setup hint is always shown (accepted and ignored in the `ai_team:` block) |
|
|
629
|
+
|
|
712
630
|
## Cost profiles
|
|
713
631
|
|
|
714
632
|
The `rule_loading_tier` setting selects which agent surfaces are active. See
|
|
@@ -721,10 +639,9 @@ The `rule_loading_tier` setting selects which agent surfaces are active. See
|
|
|
721
639
|
| `full` | `balanced` + Tool adapters (GitHub / Jira, read-only, opt-in). |
|
|
722
640
|
| `custom` | Ignore profile — every matrix value must be set explicitly. |
|
|
723
641
|
|
|
724
|
-
**Learning loop:**
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
settings file if you want a silent agent without touching the profile.
|
|
642
|
+
**Learning loop:** post-task learning capture runs in every profile via the
|
|
643
|
+
`skill-improvement-trigger` rule. It is a proposal the user confirms, not a
|
|
644
|
+
setting (`pipelines.skill_improvement` was retired on 2026-10-09).
|
|
728
645
|
|
|
729
646
|
Other per-feature toggles may be added in future releases; when they land,
|
|
730
647
|
they ship with a live consumer in code and get documented here, not before.
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
# Precedence (lowest → highest):
|
|
8
8
|
# 1. Package defaults (shipped by event4u/agent-config)
|
|
9
9
|
# 2. ~/.event4u/agent-config/agent-settings.yml — user-global DX-comfort
|
|
10
|
-
# defaults (whitelist:
|
|
11
|
-
#
|
|
10
|
+
# defaults (whitelist: `MERGEABLE_KEYS` in scripts/_lib/agent_settings.ts,
|
|
11
|
+
# e.g. name, ide, rule_loading_tier, personal.autonomy). Created on opt-in via
|
|
12
12
|
# /onboard; project-local files always win. Legacy
|
|
13
13
|
# ~/.config/agent-config/agent-settings.yml is read as a fallback.
|
|
14
14
|
# 3. This file (.agent-project-settings.yml) — team defaults
|
|
@@ -39,7 +39,7 @@ schema_version: 1
|
|
|
39
39
|
# CI guard: a release bump of `package.json` must update this value
|
|
40
40
|
# in lockstep — see scripts/check_template_pin_drift.ts (road-to-
|
|
41
41
|
# portable-runtime-and-update-check P3.3).
|
|
42
|
-
agent_config_version: "16.
|
|
42
|
+
agent_config_version: "16.4.0"
|
|
43
43
|
|
|
44
44
|
# --- Project identity ---
|
|
45
45
|
project:
|
|
@@ -74,8 +74,8 @@ suggestion:
|
|
|
74
74
|
[Frugality Charter](../contexts/contracts/frugality-charter.md):
|
|
75
75
|
no preview-then-confirm pair, no "Ready to proceed?" gate, no
|
|
76
76
|
numbered options unless options differ in *consequence* (per
|
|
77
|
-
`no-cheap-questions § Pre-Send Self-Check`).
|
|
78
|
-
|
|
77
|
+
`no-cheap-questions § Pre-Send Self-Check`). A routine step with one
|
|
78
|
+
obvious answer is never confirmed.
|
|
79
79
|
|
|
80
80
|
Only emit a numbered-options block when ALL of:
|
|
81
81
|
1. Two or more options carry distinct consequences (not sequencing/format),
|
|
@@ -335,7 +335,12 @@ that was never a judgement call.
|
|
|
335
335
|
same reply as the checkbox flip that cleared it, per
|
|
336
336
|
[`roadmap-progress-sync`](../rules/roadmap-progress-sync.md). A
|
|
337
337
|
step gated by a specific blocker may cross-reference it inline:
|
|
338
|
-
`- [ ] … <!-- blocked-by: <blocker-id> -->`.
|
|
338
|
+
`- [ ] … <!-- blocked-by: <blocker-id> -->`. A bare id resolves in the
|
|
339
|
+
same file only. A blocker declared in ANOTHER active roadmap or stub is
|
|
340
|
+
named `<!-- blocked-by: <roadmap-stem>#<blocker-id> -->`; a target found
|
|
341
|
+
only in `later/`, `archive/` or `skipped/` is not resolvable. The marker
|
|
342
|
+
must name an OPEN blocker — once it resolves, remove the marker — and
|
|
343
|
+
`lint_roadmap_blockers` reads it on a continuation line too.
|
|
339
344
|
|
|
340
345
|
**A blocker stops execution; a hold stops publication.** The two are not
|
|
341
346
|
interchangeable and never substitute for one another. A blocker says the work
|
|
@@ -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
|
|
@@ -163,7 +163,7 @@ Do NOT use when:
|
|
|
163
163
|
2. Are numbered options absent unless options differ in *consequence*?
|
|
164
164
|
3. Is every cited rule linked, not restated?
|
|
165
165
|
4. {artifact-specific question — e.g., for `command-writing`:
|
|
166
|
-
"Does the command
|
|
166
|
+
"Does the command skip confirmation on routine one-answer steps?"}
|
|
167
167
|
5. {artifact-specific question — e.g., for `rule-writing`:
|
|
168
168
|
"Does the rule body open with the Iron Law, no preamble?"}
|
|
169
169
|
-->
|
package/dist/cli/registry.js
CHANGED
|
@@ -25,6 +25,7 @@ export const REGISTRY = [
|
|
|
25
25
|
{ name: 'settings:sync', disposition: 'delegate', synopsis: 'Additively merge new template keys into an existing .agent-settings.yml.' },
|
|
26
26
|
{ name: 'settings:migrate', disposition: 'delegate', synopsis: 'Lift legacy project-local settings into ~/.event4u/agent-config/.' },
|
|
27
27
|
{ name: 'settings:get', disposition: 'delegate', synopsis: 'Read one setting: value, resolved source file, class, and absent-vs-default divergence.' },
|
|
28
|
+
{ name: 'git:convention', disposition: 'delegate', synopsis: 'The git convention: show the keys, check subjects, read a ticket, render a branch name, measure the history.' },
|
|
28
29
|
{ name: 'settings:set', disposition: 'delegate', synopsis: 'Set one A/B-class setting in the global file; C-class keys are refused.' },
|
|
29
30
|
{ name: 'uninstall', disposition: 'delegate', synopsis: 'Remove bridge markers (project) or lockfile entries (global).' },
|
|
30
31
|
{ name: 'prune', disposition: 'delegate', synopsis: 'Remove project bridge markers not declared in installed-tools.lock.' },
|