@event4u/agent-config 16.2.0 → 16.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +337 -234
- package/README.md +15 -13
- package/agents/templates/.ai-council.yml.example +26 -8
- package/dist/agent-src/commands/analyze/inbox.md +11 -8
- package/dist/agent-src/commands/analyze/roadmap-repos.md +1 -1
- package/dist/agent-src/commands/bug/fix.md +17 -2
- package/dist/agent-src/commands/bug/investigate.md +1 -1
- package/dist/agent-src/commands/commit/in-chunks.md +40 -31
- package/dist/agent-src/commands/commit.md +72 -33
- package/dist/agent-src/commands/condense.md +2 -8
- package/dist/agent-src/commands/council/debate.md +11 -7
- package/dist/agent-src/commands/council/default.md +10 -9
- package/dist/agent-src/commands/council.md +1 -1
- package/dist/agent-src/commands/estimate-ticket.md +1 -1
- package/dist/agent-src/commands/feature/explore.md +3 -3
- package/dist/agent-src/commands/feature/plan.md +2 -2
- package/dist/agent-src/commands/feature/roadmap.md +1 -1
- package/dist/agent-src/commands/fix/ci.md +18 -4
- package/dist/agent-src/commands/fix/commit-messages.md +48 -23
- package/dist/agent-src/commands/fix/pr-comments.md +3 -6
- package/dist/agent-src/commands/implement-ticket.md +4 -4
- package/dist/agent-src/commands/jira-ticket.md +1 -1
- package/dist/agent-src/commands/memory/add.md +4 -16
- package/dist/agent-src/commands/memory/load.md +5 -6
- package/dist/agent-src/commands/memory/promote.md +3 -16
- package/dist/agent-src/commands/mission/upgrade.md +3 -2
- package/dist/agent-src/commands/optimize/agents-dir.md +2 -2
- package/dist/agent-src/commands/optimize/deep.md +4 -2
- package/dist/agent-src/commands/optimize/rtk.md +4 -26
- package/dist/agent-src/commands/pr/create/description-only.md +18 -15
- package/dist/agent-src/commands/pr/create.md +42 -34
- package/dist/agent-src/commands/pr/merge.md +136 -9
- package/dist/agent-src/commands/prepare-for-review.md +13 -11
- package/dist/agent-src/commands/project/analyze.md +7 -35
- package/dist/agent-src/commands/refine-ticket.md +1 -1
- package/dist/agent-src/commands/review/changes.md +14 -19
- package/dist/agent-src/commands/roadmap/create.md +1 -1
- package/dist/agent-src/commands/roadmap/materialize.md +1 -1
- package/dist/agent-src/commands/roadmap/next.md +10 -1
- package/dist/agent-src/commands/roadmap/process-full.md +56 -42
- package/dist/agent-src/commands/roadmap/resolve-blockers.md +411 -0
- package/dist/agent-src/commands/roadmap/triage-parked.md +325 -0
- package/dist/agent-src/commands/roadmap.md +18 -4
- package/dist/agent-src/commands/tests/create.md +17 -3
- package/dist/agent-src/commands/tests/execute.md +22 -5
- package/dist/agent-src/commands/worktree/create.md +7 -3
- package/dist/agent-src/commands/worktree/verify.md +2 -1
- package/dist/agent-src/contexts/authority/decision-revisit-gate-enforcement.md +43 -0
- package/dist/agent-src/contexts/communication/rules-auto/design-fidelity-enforcement.md +24 -0
- package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +5 -3
- package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +7 -9
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -6
- package/dist/agent-src/contexts/contracts/frugality-charter.md +8 -5
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +7 -7
- package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +0 -1
- package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
- package/dist/agent-src/contexts/execution/non-interactive-contract.md +5 -8
- package/dist/agent-src/contexts/execution/rdp-gate.md +4 -4
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +9 -8
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +99 -54
- package/dist/agent-src/contexts/execution/session-canary-enforcement-history.md +67 -0
- package/dist/agent-src/contexts/execution/subagent-routing.md +8 -8
- package/dist/agent-src/contexts/execution/subagent-steering.md +6 -4
- package/dist/agent-src/contexts/execution/terminal-states.md +2 -2
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +95 -7
- package/dist/agent-src/contexts/subagent-configuration.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
- package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
- package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
- package/dist/agent-src/guidelines/agent-infra/layered-settings.md +13 -1
- package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
- package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +36 -0
- package/dist/agent-src/guidelines/php/git.md +15 -2
- package/dist/agent-src/rules/active-remediation.md +1 -2
- package/dist/agent-src/rules/analysis-skill-routing.md +0 -1
- package/dist/agent-src/rules/architecture.md +0 -1
- package/dist/agent-src/rules/artifact-drafting-protocol.md +0 -1
- package/dist/agent-src/rules/artifact-engagement-recording.md +0 -1
- package/dist/agent-src/rules/augment-edit-discipline.md +0 -1
- package/dist/agent-src/rules/autonomous-execution.md +1 -1
- package/dist/agent-src/rules/brand-consistency.md +0 -1
- package/dist/agent-src/rules/brand-source-of-truth.md +0 -1
- package/dist/agent-src/rules/broken-access-control.md +1 -1
- package/dist/agent-src/rules/cli-output-handling.md +0 -1
- package/dist/agent-src/rules/code-comment-discipline.md +0 -1
- package/dist/agent-src/rules/code-provenance.md +0 -1
- package/dist/agent-src/rules/command-suggestion-policy.md +1 -1
- package/dist/agent-src/rules/commit-conventions.md +1 -2
- package/dist/agent-src/rules/communication-through-line.md +1 -2
- package/dist/agent-src/rules/content-quoting-floor.md +1 -2
- package/dist/agent-src/rules/context-hygiene.md +6 -6
- package/dist/agent-src/rules/copilot-routing.md +1 -2
- package/dist/agent-src/rules/council-availability.md +4 -4
- package/dist/agent-src/rules/cross-source-consistency.md +4 -6
- package/dist/agent-src/rules/decision-revisit-gate.md +17 -35
- package/dist/agent-src/rules/delegation-policy.md +2 -3
- package/dist/agent-src/rules/design-fidelity.md +12 -16
- package/dist/agent-src/rules/design-review-after-ui-write.md +3 -3
- package/dist/agent-src/rules/devcontainer-routing.md +1 -2
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +1 -1
- package/dist/agent-src/rules/docker-commands.md +0 -1
- package/dist/agent-src/rules/domain-adoption-policy.md +0 -1
- package/dist/agent-src/rules/domain-safety-disclaimer.md +1 -1
- package/dist/agent-src/rules/domain-safety-pii.md +1 -1
- package/dist/agent-src/rules/domain-safety-retention.md +1 -1
- package/dist/agent-src/rules/downstream-changes.md +0 -1
- package/dist/agent-src/rules/engineering-safety-floor.md +1 -1
- package/dist/agent-src/rules/evaluator-independence.md +3 -2
- package/dist/agent-src/rules/external-code-graph-interop.md +0 -1
- package/dist/agent-src/rules/external-reference-deep-dive.md +0 -1
- package/dist/agent-src/rules/fast-path-marker-visibility.md +2 -2
- package/dist/agent-src/rules/finance-safety-floor.md +1 -1
- package/dist/agent-src/rules/fix-what-you-see.md +6 -32
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +0 -1
- package/dist/agent-src/rules/git-history-discipline.md +2 -2
- package/dist/agent-src/rules/guidelines.md +0 -1
- package/dist/agent-src/rules/history-discipline.md +0 -1
- package/dist/agent-src/rules/icon-consistency.md +0 -1
- package/dist/agent-src/rules/image-likeness-and-rights.md +1 -1
- package/dist/agent-src/rules/improve-before-implement.md +0 -1
- package/dist/agent-src/rules/invite-challenge.md +0 -1
- package/dist/agent-src/rules/laravel-routing.md +1 -2
- package/dist/agent-src/rules/laravel-translations.md +0 -1
- package/dist/agent-src/rules/legal-safety-floor.md +3 -3
- package/dist/agent-src/rules/lethal-trifecta-guard.md +1 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +1 -1
- package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
- package/dist/agent-src/rules/media-governance-routing.md +13 -17
- package/dist/agent-src/rules/media-sync-ground-truth.md +0 -1
- package/dist/agent-src/rules/minimal-safe-diff.md +0 -1
- package/dist/agent-src/rules/missing-skill-recovery.md +0 -1
- package/dist/agent-src/rules/missing-tool-handling.md +0 -1
- package/dist/agent-src/rules/model-recommendation.md +0 -1
- package/dist/agent-src/rules/neighbour-precedence.md +64 -0
- package/dist/agent-src/rules/no-attribution-footers.md +0 -1
- package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +0 -1
- package/dist/agent-src/rules/no-pr-progress-comments.md +0 -1
- package/dist/agent-src/rules/no-roadmap-references.md +0 -1
- package/dist/agent-src/rules/notes-first-reasoning.md +0 -1
- package/dist/agent-src/rules/onboarding-gate.md +0 -1
- package/dist/agent-src/rules/output-discipline.md +0 -1
- package/dist/agent-src/rules/package-ci-checks.md +0 -1
- package/dist/agent-src/rules/persona-governance.md +4 -5
- package/dist/agent-src/rules/php-coding.md +0 -1
- package/dist/agent-src/rules/prefer-enums-over-literals.md +0 -1
- package/dist/agent-src/rules/preservation-guard.md +0 -1
- package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -4
- package/dist/agent-src/rules/question-not-instruction.md +1 -1
- package/dist/agent-src/rules/reviewer-awareness.md +0 -1
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -1
- package/dist/agent-src/rules/roadmap-progress-sync.md +4 -7
- package/dist/agent-src/rules/role-mode-adherence.md +0 -1
- package/dist/agent-src/rules/rule-type-governance.md +0 -1
- package/dist/agent-src/rules/runtime-safety.md +1 -1
- package/dist/agent-src/rules/scale-discipline.md +0 -1
- package/dist/agent-src/rules/secret-vcs-guard.md +1 -1
- package/dist/agent-src/rules/security-sensitive-stop.md +3 -3
- package/dist/agent-src/rules/self-repair-loop.md +0 -1
- package/dist/agent-src/rules/senior-engineering-discipline.md +0 -1
- package/dist/agent-src/rules/session-canary.md +7 -62
- package/dist/agent-src/rules/settings-ask-protocol.md +6 -6
- package/dist/agent-src/rules/size-enforcement.md +0 -1
- package/dist/agent-src/rules/skill-improvement-trigger.md +2 -3
- package/dist/agent-src/rules/skill-quality.md +0 -1
- package/dist/agent-src/rules/slash-command-routing-policy.md +0 -1
- package/dist/agent-src/rules/source-confidentiality.md +1 -1
- package/dist/agent-src/rules/source-discovery-gate.md +0 -1
- package/dist/agent-src/rules/source-of-truth.md +0 -1
- package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -2
- package/dist/agent-src/rules/strategy-safety-floor.md +1 -1
- package/dist/agent-src/rules/symfony-routing.md +1 -2
- package/dist/agent-src/rules/think-before-action.md +0 -1
- package/dist/agent-src/rules/token-budget-discipline.md +12 -46
- package/dist/agent-src/rules/token-efficiency.md +0 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +0 -1
- package/dist/agent-src/rules/tool-safety.md +1 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -2
- package/dist/agent-src/rules/untrusted-input-defense.md +1 -1
- package/dist/agent-src/rules/upstream-proposal.md +0 -1
- package/dist/agent-src/rules/user-interaction.md +0 -1
- package/dist/agent-src/rules/user-interrupt-priority.md +1 -1
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +115 -20
- package/dist/agent-src/scripts/deferral_carry.ts +339 -0
- package/dist/agent-src/scripts/gate_budget.ts +47 -23
- package/dist/agent-src/scripts/gate_execute.ts +12 -4
- package/dist/agent-src/scripts/update_roadmap_progress.ts +4 -1
- package/dist/agent-src/skills/ai-council/SKILL.md +7 -4
- package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +21 -11
- package/dist/agent-src/skills/ai-council/references/procedure.md +12 -6
- package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
- package/dist/agent-src/skills/api-design/data/manifest.json +2 -2
- package/dist/agent-src/skills/api-testing/SKILL.md +17 -0
- package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/code-intelligence/SKILL.md +14 -2
- package/dist/agent-src/skills/command-routing/SKILL.md +3 -4
- package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +127 -139
- package/dist/agent-src/skills/corpus-grounding/ATTRIBUTION.md +39 -0
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +8 -2
- package/dist/agent-src/skills/database/data/manifest.json +2 -2
- package/dist/agent-src/skills/database/data/query-tuning.csv +13 -13
- package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
- package/dist/agent-src/skills/design-system-capture/references/import-procedure.md +1 -1
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +2 -2
- package/dist/agent-src/skills/fe-design/SKILL.md +1 -1
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/git-workflow/SKILL.md +44 -44
- package/dist/agent-src/skills/git-workflow/references/branch-update.md +312 -0
- package/dist/agent-src/skills/git-workflow/references/commit-subject.md +205 -0
- package/dist/agent-src/skills/iconography/SKILL.md +1 -1
- package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
- package/dist/agent-src/skills/js-library-packaging/SKILL.md +2 -2
- package/dist/agent-src/skills/merge-conflicts/SKILL.md +10 -4
- package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
- package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/quality-tools/SKILL.md +11 -1
- package/dist/agent-src/skills/quality-tools/references/go-tools.md +76 -0
- package/dist/agent-src/skills/quality-tools/references/python-tools.md +104 -0
- package/dist/agent-src/skills/refine-ticket/SKILL.md +4 -4
- package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +5 -3
- package/dist/agent-src/skills/source-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/storybook-workshop/SKILL.md +3 -3
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +4 -2
- package/dist/agent-src/skills/test-case-discovery/SKILL.md +7 -0
- package/dist/agent-src/skills/test-driven-development/SKILL.md +17 -0
- package/dist/agent-src/skills/test-performance/SKILL.md +19 -1
- package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/ui-component-architect/SKILL.md +2 -2
- package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -1
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
- package/dist/agent-src/templates/AGENTS.md +1 -1
- package/dist/agent-src/templates/agent-settings.md +46 -129
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
- package/dist/agent-src/templates/command.md +2 -2
- package/dist/agent-src/templates/roadmaps.md +6 -1
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +48 -6
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
- package/dist/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
- package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
- package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
- package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +774 -109
- package/dist/agent-src/templates/skill.md +1 -1
- package/dist/cli/registry.js +2 -1
- package/dist/cli-delegate/archive_completed_roadmaps.js +92 -12
- package/dist/cli-delegate/check_update_banner.js +207 -120
- package/dist/cli-delegate/chunk-523HCFYO.js +90 -0
- package/dist/cli-delegate/{chunk-FP36SWJD.js → chunk-5GPULQBE.js} +2797 -338
- package/dist/cli-delegate/{chunk-IGD6ERX6.js → chunk-6SRJTYJS.js} +42 -176
- package/dist/cli-delegate/chunk-6V5FMA3P.js +186 -0
- package/dist/cli-delegate/{chunk-M2DPGFZ4.js → chunk-6V6TA25H.js} +22 -152
- package/dist/cli-delegate/chunk-6YQC2HLF.js +415 -0
- package/dist/cli-delegate/{chunk-E4XIZDIB.js → chunk-7HKRE54K.js} +1 -64
- package/dist/cli-delegate/chunk-7IQE3D5S.js +191 -0
- package/dist/cli-delegate/{chunk-YJ72UIAK.js → chunk-AED2VQGM.js} +1245 -249
- package/dist/cli-delegate/{chunk-7HQ52DHU.js → chunk-AL3RZ22D.js} +1 -1
- package/dist/cli-delegate/chunk-DEIV7XP7.js +108 -0
- package/dist/cli-delegate/{chunk-DBH4AHDK.js → chunk-ED7KCMLB.js} +9 -11
- package/dist/cli-delegate/chunk-F3QDG2GT.js +2569 -0
- package/dist/cli-delegate/{chunk-6KFEC3G7.js → chunk-G5VVIZRC.js} +3 -3
- package/dist/cli-delegate/{chunk-FC75PGJE.js → chunk-H76PHZBI.js} +149 -61
- package/dist/cli-delegate/chunk-IAYTIIQW.js +67 -0
- package/dist/cli-delegate/chunk-JQOM7TTM.js +1201 -0
- package/dist/cli-delegate/chunk-KB5FZ655.js +208 -0
- package/dist/cli-delegate/{chunk-7RQP4UDH.js → chunk-KR6EM23A.js} +235 -1455
- package/dist/cli-delegate/{chunk-LTYVIY76.js → chunk-KXXWJTDO.js} +6 -11
- package/dist/cli-delegate/{chunk-T7L2QK3K.js → chunk-LQOCRFWT.js} +1 -1
- package/dist/cli-delegate/{chunk-6KM6ORRY.js → chunk-MDPPKQCQ.js} +58 -9
- package/dist/cli-delegate/{chunk-4XFP2Y3E.js → chunk-MSUL5NYP.js} +5 -5
- package/dist/cli-delegate/chunk-OAFSJBHH.js +272 -0
- package/dist/cli-delegate/{chunk-4E2W63DA.js → chunk-OKJUIAPS.js} +62 -1
- package/dist/cli-delegate/{chunk-QAJS5YWY.js → chunk-PHD7OOLE.js} +2 -1
- package/dist/cli-delegate/{chunk-P6ZHP5W2.js → chunk-PWX7CKMD.js} +4 -4
- package/dist/cli-delegate/{chunk-NDJLNC6Q.js → chunk-T6BP34WI.js} +1 -0
- package/dist/cli-delegate/{chunk-7XGBX6ZH.js → chunk-T7XSJSUQ.js} +1144 -589
- package/dist/cli-delegate/chunk-ULQRUR23.js +208 -0
- package/dist/cli-delegate/chunk-WQWXGIWB.js +1779 -0
- package/dist/cli-delegate/{chunk-RGNIWTEA.js → chunk-XQTPXKFA.js} +1 -1
- package/dist/cli-delegate/{chunk-NUHLI2RX.js → chunk-YCU3TIXH.js} +2 -0
- package/dist/cli-delegate/chunk-ZBZV2G5R.js +210 -0
- package/dist/cli-delegate/{chunk-WGXTVKCQ.js → chunk-ZUZKZYCN.js} +5 -3
- package/dist/cli-delegate/cmd_analyze_session.js +223 -43
- package/dist/cli-delegate/cmd_brand_status.js +3 -2
- package/dist/cli-delegate/cmd_conformance.js +1252 -249
- package/dist/cli-delegate/cmd_converge.js +3 -3
- package/dist/cli-delegate/cmd_doctor.js +19 -9
- package/dist/cli-delegate/cmd_doctor_neighbours.js +30 -0
- package/dist/cli-delegate/cmd_explain.js +45 -21
- package/dist/cli-delegate/cmd_export.js +13 -10
- package/dist/cli-delegate/cmd_fleet.js +3 -3
- package/dist/cli-delegate/cmd_git_convention.js +1851 -0
- package/dist/cli-delegate/cmd_handoff.js +44 -22
- package/dist/cli-delegate/cmd_mcp_available.js +3 -2
- package/dist/cli-delegate/cmd_memory_get.js +3 -1
- package/dist/cli-delegate/cmd_migrate.js +3 -3
- package/dist/cli-delegate/cmd_packs_active.js +5 -4
- package/dist/cli-delegate/cmd_preflight.js +6 -6
- package/dist/cli-delegate/cmd_prune.js +14 -11
- package/dist/cli-delegate/cmd_refresh.js +2 -1
- package/dist/cli-delegate/cmd_route_audit.js +10 -8
- package/dist/cli-delegate/cmd_route_explain.js +4 -4
- package/dist/cli-delegate/cmd_session_recycle.js +10 -7
- package/dist/cli-delegate/cmd_settings_check.js +54 -7
- package/dist/cli-delegate/cmd_settings_get.js +18 -8
- package/dist/cli-delegate/cmd_settings_migrate.js +13 -10
- package/dist/cli-delegate/cmd_settings_set.js +4 -4
- package/dist/cli-delegate/cmd_sync.js +14 -11
- package/dist/cli-delegate/cmd_uninstall.js +15 -12
- package/dist/cli-delegate/cmd_update.js +7 -7
- package/dist/cli-delegate/cmd_upgrade.js +9 -8
- package/dist/cli-delegate/cmd_validate.js +15 -12
- package/dist/cli-delegate/cmd_versions.js +5 -5
- package/dist/cli-delegate/deferral_carry.js +16 -0
- package/dist/cli-delegate/gate_budget.js +1 -1
- package/dist/cli-delegate/gate_execute.js +3 -3
- package/dist/cli-delegate/roadmap_gates.js +6 -6
- package/dist/cli-delegate/update_roadmap_progress.js +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +232 -141
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +26 -9
- package/dist/discovery/trust-report.md +3 -3
- package/dist/discovery/workspaces.json +7 -4
- package/dist/hooks/dispatch.js +5655 -6623
- package/dist/hooks/dispatch.sha256 +1 -1
- package/dist/install/claudePathsPlan.js +47 -6
- package/dist/install/claudeRuleRewrite.js +7 -0
- package/dist/install/emit_host_rules_cli.js +39 -36
- package/dist/install/globalRuleScope.js +87 -0
- package/dist/install/host_rule_ownership.js +160 -0
- package/dist/install/install.mjs +2336 -1249
- package/dist/install/installThinLayer.js +289 -0
- package/dist/install/installedRuleLinks.js +262 -0
- package/dist/install/wizard-plan.js +24 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
- package/dist/mcp/registry-manifest.json +5 -5
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +36504 -30986
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +26 -120
- package/dist/scripts/_lib/claude_settings_hooks.js +10 -8
- package/dist/scripts/_lib/compile_time_toggles.js +12 -21
- package/dist/scripts/_lib/git_convention.js +232 -0
- package/dist/scripts/_lib/global_deploy_inventory.js +730 -0
- package/dist/scripts/_lib/installed_layer.js +704 -0
- package/dist/scripts/_lib/lean_projection_mode.js +218 -15
- package/dist/scripts/_lib/package_root.js +68 -0
- package/dist/scripts/_lib/rule_consequence_class.js +45 -0
- package/dist/scripts/_lib/rule_injection.js +67 -10
- package/dist/scripts/_lib/rule_law_section.js +122 -0
- package/dist/scripts/_lib/settings_removed_keys.js +168 -0
- package/dist/scripts/_lib/thin_rules.js +535 -0
- package/dist/scripts/_lib/windsurf_render.js +60 -0
- package/dist/scripts/condense.js +14 -26
- package/dist/scripts/project_thin_rules.js +14 -294
- package/dist/server/app.js +2 -1
- package/dist/server/gitKeysGate.js +105 -0
- package/dist/server/routes/settings.js +67 -8
- package/dist/server/routes/wizard.js +4 -0
- package/dist/server/schemas/settings.js +29 -81
- package/dist/shared/skillRanking.js +103 -16
- package/dist/ui/assets/{index-Cwq4d0hX.js → index-C3djEJah.js} +2 -2
- package/dist/ui/index.html +1 -1
- package/docs/MIGRATION.md +72 -1
- package/docs/contracts/settings-classes.md +39 -67
- package/docs/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
- package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
- package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
- package/docs/guidelines/agent-infra/layered-settings.md +13 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
- package/docs/guidelines/agent-infra/size-and-scope.md +36 -0
- package/docs/guidelines/php/git.md +15 -2
- package/package.json +1 -1
- package/src/agent-src/scripts/archive_completed_roadmaps.ts +115 -20
- package/src/agent-src/scripts/deferral_carry.ts +339 -0
- package/src/agent-src/scripts/gate_budget.ts +47 -23
- package/src/agent-src/scripts/gate_execute.ts +12 -4
- package/src/agent-src/scripts/update_roadmap_progress.ts +4 -1
- package/src/agent-src/templates/AGENTS.md +1 -1
- package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
- package/src/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
- package/src/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +48 -6
- package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
- package/src/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
- package/src/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
- package/src/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
- package/src/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
- package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +774 -109
- package/src/config/agent-settings.template.yml +141 -334
- package/src/config/agents-paths.yml +16 -0
- package/src/config/assurance-capability-registry.json +7 -3
- package/src/config/ci-local-parity.yml +3 -0
- package/src/config/continuity-surface.json +10 -3
- package/src/config/discovery/packs.yml +17 -1
- package/src/config/evaluator-budgets.json +23 -10
- package/src/config/gate-coverage.yml +138 -3
- package/src/config/gate-violation-baselines.json +64 -16
- package/src/config/gitignore-block.txt +19 -0
- package/src/config/hook-bundle-budget.json +25 -0
- package/src/config/hook-token-budget.json +6 -1
- package/src/config/host-instruction-limits.json +33 -0
- package/src/config/release-gate-locality.yml +2 -1
- package/src/config/routing-coverage-seed.json +67 -4
- package/src/config/rule-activation-census.json +7 -3
- package/src/config/rule-consequence-class.json +161 -0
- package/src/config/rule-law-ceilings.json +105 -0
- package/src/config/rule-obligations.json +833 -0
- package/src/install/claudePathsPlan.ts +46 -4
- package/src/install/claudeRuleRewrite.ts +10 -1
- package/src/install/emit_host_rules_cli.ts +43 -34
- package/src/install/globalRuleScope.ts +109 -0
- package/src/install/host_rule_ownership.ts +170 -0
- package/src/install/installThinLayer.ts +378 -0
- package/src/install/installedRuleLinks.ts +308 -0
- package/src/install/wizard-plan.ts +24 -0
- package/src/scripts/_cli/cmd_analyze_session.ts +9 -15
- package/src/scripts/_cli/cmd_conformance.ts +13 -2
- package/src/scripts/_cli/cmd_doctor.ts +33 -81
- package/src/scripts/_cli/cmd_doctor_neighbours.ts +426 -0
- package/src/scripts/_cli/cmd_explain.ts +72 -14
- package/src/scripts/_cli/cmd_git_convention.ts +637 -0
- package/src/scripts/_cli/cmd_settings_check.ts +66 -8
- package/src/scripts/_cli/cmd_settings_get.ts +18 -3
- package/src/scripts/_cli/doctor_execution.ts +72 -1
- package/src/scripts/_dispatch.bash +53 -4
- package/src/scripts/_lib/agent_settings.ts +26 -124
- package/src/scripts/_lib/blocked_by_marker.ts +1 -1
- package/src/scripts/_lib/claude_settings_hooks.ts +10 -8
- package/src/scripts/_lib/compile_time_toggles.ts +12 -21
- package/src/scripts/_lib/dispatch_import_closure.ts +163 -0
- package/src/scripts/_lib/estate_offsets.ts +241 -0
- package/src/scripts/_lib/exemption_shape.ts +143 -0
- package/src/scripts/_lib/fnv.ts +23 -0
- package/src/scripts/_lib/foreign_scan.ts +106 -0
- package/src/scripts/_lib/git_base_ref.ts +92 -0
- package/src/scripts/_lib/git_convention.ts +291 -0
- package/src/scripts/_lib/git_convention_carrier.ts +389 -0
- package/src/scripts/_lib/git_convention_grammar.ts +246 -0
- package/src/scripts/_lib/git_convention_measure.ts +344 -0
- package/src/scripts/_lib/gitignore_block.ts +314 -0
- package/src/scripts/_lib/global_deploy_inventory.ts +106 -0
- package/src/scripts/_lib/graph_feeder_record.ts +437 -0
- package/src/scripts/_lib/hook_settings.ts +73 -0
- package/src/scripts/_lib/host_capability.ts +40 -19
- package/src/scripts/_lib/host_hook_merge.ts +165 -0
- package/src/scripts/_lib/installed_layer.ts +963 -0
- package/src/scripts/_lib/json_merge.ts +82 -0
- package/src/scripts/_lib/json_pointers.ts +93 -11
- package/src/scripts/_lib/knowledge_global.ts +14 -1
- package/src/scripts/_lib/lean_projection_mode.ts +275 -15
- package/src/scripts/_lib/machine_wake.ts +16 -3
- package/src/scripts/_lib/module_reach.ts +456 -0
- package/src/scripts/_lib/neighbour_census.ts +760 -0
- package/src/scripts/_lib/neighbour_contradictions.ts +236 -0
- package/src/scripts/_lib/neighbour_scan.ts +122 -0
- package/src/scripts/_lib/neighbour_tool_use.ts +187 -0
- package/src/scripts/_lib/prompt_shape.ts +46 -0
- package/src/scripts/_lib/ratification_artifact.ts +220 -1
- package/src/scripts/_lib/ratification_subject.ts +92 -0
- package/src/scripts/_lib/release_findings_ingest.ts +15 -7
- package/src/scripts/_lib/release_highlights.ts +5 -0
- package/src/scripts/_lib/release_migration_gate.ts +19 -3
- package/src/scripts/_lib/reserved_name_sweep.ts +73 -0
- package/src/scripts/_lib/review_coverage.ts +134 -0
- package/src/scripts/_lib/rule_consequence_class.ts +71 -0
- package/src/scripts/_lib/rule_injection.ts +130 -10
- package/src/scripts/_lib/rule_law_section.ts +147 -0
- package/src/scripts/_lib/rule_layer_overlap.ts +58 -0
- package/src/scripts/_lib/rule_obligations.ts +205 -0
- package/src/scripts/_lib/self_repair.ts +1 -1
- package/src/scripts/_lib/settings_removed_keys.ts +173 -0
- package/src/scripts/_lib/skill_origin.ts +254 -0
- package/src/scripts/_lib/structured_ask.ts +64 -21
- package/src/scripts/_lib/test_red_state.ts +5 -0
- package/src/scripts/_lib/thin_rules.ts +620 -0
- package/src/scripts/_lib/touched_file_quality.ts +570 -0
- package/src/scripts/_lib/turn_end_refusals.ts +77 -2
- package/src/scripts/_lib/windsurf_render.ts +63 -0
- package/src/scripts/_lib/worker_budget.ts +1 -1
- package/src/scripts/adr/regenerate_index.ts +16 -1
- package/src/scripts/ai_council/cli_call_budget.ts +13 -5
- package/src/scripts/ai_council/clients.ts +26 -57
- package/src/scripts/ai_council/config.ts +8 -8
- package/src/scripts/ai_council/modification_review.ts +100 -0
- package/src/scripts/ai_council/modification_review_questions.ts +90 -0
- package/src/scripts/ai_council/orchestrator.ts +5 -5
- package/src/scripts/ai_council/spend_gate.ts +18 -7
- package/src/scripts/ai_council/vendor_defaults.ts +45 -0
- package/src/scripts/ai_team/config.ts +11 -16
- package/src/scripts/audit_skill_overlap.ts +261 -0
- package/src/scripts/audit_user_type_axis.ts +20 -8
- package/src/scripts/before_complete_hook.ts +243 -12
- package/src/scripts/bench_ab_clone.ts +1 -2
- package/src/scripts/bench_concern_spawn_path.ts +129 -0
- package/src/scripts/bench_graph_feeder_latency.ts +584 -0
- package/src/scripts/bench_touched_file_quality.ts +238 -0
- package/src/scripts/check_agent_artifact_location.ts +36 -0
- package/src/scripts/check_branch_freshness.ts +147 -24
- package/src/scripts/check_enforcement_coverage.ts +130 -0
- package/src/scripts/check_enforcement_matrix.ts +377 -20
- package/src/scripts/check_estate_count.ts +130 -153
- package/src/scripts/check_evaluator_budgets.ts +4 -0
- package/src/scripts/check_finding_dispositions.ts +196 -21
- package/src/scripts/check_gate_coverage.ts +4 -3
- package/src/scripts/check_gate_reachability.ts +48 -1
- package/src/scripts/check_generator_sync.ts +48 -0
- package/src/scripts/check_hook_bundle_composition.ts +477 -0
- package/src/scripts/check_kernel_edit_ratified.ts +132 -14
- package/src/scripts/check_memory.ts +7 -1
- package/src/scripts/check_pack_size.ts +1 -1
- package/src/scripts/check_release_highlights.ts +10 -0
- package/src/scripts/check_release_manifest_content.ts +189 -0
- package/src/scripts/check_release_pr_shape.ts +38 -15
- package/src/scripts/check_standing_rule_delivery.ts +129 -13
- package/src/scripts/check_suppression_hygiene.ts +2 -5
- package/src/scripts/check_verify_expectation_delta.ts +521 -0
- package/src/scripts/ci_settle.ts +42 -5
- package/src/scripts/classify_merge_risk.ts +320 -0
- package/src/scripts/closure_scan.ts +91 -1
- package/src/scripts/code_graph/detect.ts +127 -7
- package/src/scripts/code_graph/foreign.ts +194 -0
- package/src/scripts/code_graph/query.ts +217 -4
- package/src/scripts/code_graph/types.ts +26 -2
- package/src/scripts/code_graph/validate.ts +3 -1
- package/src/scripts/code_graph/verbs.ts +103 -0
- package/src/scripts/command_suggester/settings.ts +8 -108
- package/src/scripts/command_suggester/types.ts +4 -5
- package/src/scripts/compile_hook_manifest.ts +33 -1
- package/src/scripts/condense.ts +14 -27
- package/src/scripts/consumer_matrix.ts +102 -0
- package/src/scripts/context_hygiene_hook.ts +13 -23
- package/src/scripts/cost/preflight.mjs +12 -1
- package/src/scripts/council_cli.ts +7 -7
- package/src/scripts/dispatch_r2_reviewer.ts +24 -11
- package/src/scripts/estate_exemption_shape.ts +202 -0
- package/src/scripts/explain_run.ts +8 -13
- package/src/scripts/generate_git_convention_grammar.ts +127 -0
- package/src/scripts/generate_host_cost_table.ts +21 -4
- package/src/scripts/handoff_context_hook.ts +86 -37
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +175 -15
- package/src/scripts/hooks/block_config_weakening.ts +115 -7
- package/src/scripts/hooks/block_plumbing_writes.ts +37 -5
- package/src/scripts/hooks/code_graph_context_hook.ts +252 -23
- package/src/scripts/hooks/concern_failure_policy.ts +280 -0
- package/src/scripts/hooks/concern_registry.ts +2 -0
- package/src/scripts/hooks/delegation_nudge_hook.ts +2 -3
- package/src/scripts/hooks/dispatch_hook.ts +52 -52
- package/src/scripts/hooks/evidence_independence.ts +12 -4
- package/src/scripts/hooks/exit_codes.ts +2 -1
- package/src/scripts/hooks/host_lowering.json +1 -1
- package/src/scripts/hooks/host_lowering.ts +19 -1
- package/src/scripts/hooks/mcp_usage_observation_hook.ts +121 -0
- package/src/scripts/hooks/one_question_per_ask_hook.ts +41 -25
- package/src/scripts/hooks/payload_stub.ts +10 -1
- package/src/scripts/hooks/push_settle_hook.ts +4 -3
- package/src/scripts/hooks/rule_inject_hook.ts +795 -60
- package/src/scripts/hooks/state_io.ts +8 -4
- package/src/scripts/hooks/table_fingerprint.ts +21 -0
- package/src/scripts/hooks/telemetry_usage_hook.ts +24 -7
- package/src/scripts/hooks/turn_end_gate_hook.ts +85 -0
- package/src/scripts/hooks_status.ts +112 -0
- package/src/scripts/injection_scan_hook.ts +7 -0
- package/src/scripts/install-hooks.sh +42 -14
- package/src/scripts/install.ts +78 -215
- package/src/scripts/installed_layer_report.ts +103 -0
- package/src/scripts/language_mirror_hook.ts +15 -6
- package/src/scripts/learning_sidecar.ts +119 -8
- package/src/scripts/lint_blocker_citations.ts +198 -0
- package/src/scripts/lint_evidence_artifacts.ts +9 -0
- package/src/scripts/lint_hook_concern_budget.ts +10 -21
- package/src/scripts/lint_hook_manifest.ts +53 -0
- package/src/scripts/lint_major_migration_sections.ts +156 -26
- package/src/scripts/lint_pack_boundaries.ts +465 -29
- package/src/scripts/lint_roadmap_blockers.ts +282 -29
- package/src/scripts/lint_roadmap_complexity.ts +4 -2
- package/src/scripts/lint_rule_law_section.ts +647 -0
- package/src/scripts/lint_rule_skill_pack_reach.ts +17 -0
- package/src/scripts/lint_settings_classes.ts +1 -1
- package/src/scripts/lint_ticked_unmet_criteria.ts +165 -0
- package/src/scripts/lint_workflow_security.ts +173 -6
- package/src/scripts/mcp_server/consumer_tool_catalog.json +53 -0
- package/src/scripts/mcp_server/graph_tools.ts +72 -3
- package/src/scripts/measure_routing_signal.ts +54 -16
- package/src/scripts/measure_skill_ranker_baseline.ts +221 -8
- package/src/scripts/memory_learn_hook.ts +91 -6
- package/src/scripts/model_rule_injection.ts +55 -8
- package/src/scripts/onboarding_gate_hook.ts +7 -6
- package/src/scripts/print_required_checks.ts +15 -3
- package/src/scripts/probe_host_compliance.ts +33 -5
- package/src/scripts/probe_turnaround.ts +183 -3
- package/src/scripts/project_thin_rules.ts +34 -327
- package/src/scripts/ratification_header.ts +77 -0
- package/src/scripts/refusal_envelope.ts +138 -0
- package/src/scripts/release_publication.ts +29 -3
- package/src/scripts/report_dispatch_import_closure.ts +76 -0
- package/src/scripts/report_evidence_temperature.ts +657 -0
- package/src/scripts/report_installed_rule_links.ts +274 -0
- package/src/scripts/report_label_agreement.ts +233 -0
- package/src/scripts/report_module_reach.ts +212 -0
- package/src/scripts/report_obligation_mechanism.ts +228 -0
- package/src/scripts/report_parked_blockers.ts +222 -0
- package/src/scripts/report_required_checks_drift.ts +196 -0
- package/src/scripts/report_single_token_triggers.ts +277 -0
- package/src/scripts/report_skill_ranker_confusion.ts +543 -0
- package/src/scripts/report_standing_payload_by_host.ts +188 -15
- package/src/scripts/report_verification_record_coverage.ts +306 -0
- package/src/scripts/routing_doctor.ts +2 -2
- package/src/scripts/rule_activation_census.ts +5 -2
- package/src/scripts/rule_trigger_eval.ts +9 -9
- package/src/scripts/schemas/agent-settings.schema.json +17 -31
- package/src/scripts/schemas/command.schema.json +1 -1
- package/src/scripts/schemas/review-findings.schema.json +3 -2
- package/src/scripts/schemas/rule.schema.json +5 -0
- package/src/scripts/schemas/skill.schema.json +1 -1
- package/src/scripts/self_review_gate.ts +101 -9
- package/src/scripts/skill_tools/score_skill_relevance.ts +314 -40
- package/src/scripts/sweep_skill_ranker_signals.ts +129 -0
- package/src/scripts/sync_gitignore.ts +29 -235
- package/src/scripts/sync_pr_branch.ts +403 -132
- package/src/scripts/trigger_eval_grandfather.json +0 -21
- package/src/server/schemas/settings.ts +42 -176
- package/src/shared/skillRanking.ts +169 -14
- package/dist/cli-delegate/chunk-5R7HOLAF.js +0 -99
- package/dist/cli-delegate/chunk-JNMVLWLR.js +0 -4457
- package/dist/cli-delegate/chunk-YDPILCOL.js +0 -152
- package/src/scripts/_lib/config_chain.ts +0 -477
- package/src/scripts/_lib/conformance_report.ts +0 -403
- package/src/scripts/_lib/eval_discrimination.ts +0 -95
- package/src/scripts/_lib/evaluator_promotion.ts +0 -225
- package/src/scripts/_lib/file_slicer.ts +0 -117
- package/src/scripts/_lib/legacy_boundary_map.ts +0 -228
- package/src/scripts/_lib/minimality_tiebreak.ts +0 -168
- package/src/scripts/_lib/overbuild_lens_contract.ts +0 -196
- package/src/scripts/_lib/role_split.ts +0 -338
package/README.md
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://github.com/event4u-app/agent-config/actions/workflows/smoke.yml) [](https://github.com/event4u-app/agent-config/actions/workflows/smoke-public-install.yml) [](https://www.npmjs.com/package/@event4u/agent-config) [](https://glama.ai/mcp/servers/event4u-app/agent-config) [](https://mcptoplist.com/server/glama%2Fevent4u-app%2Fagent-config)
|
|
6
6
|
|
|
7
|
-
[](dist/agent-src/skills/) [](dist/agent-src/skills/) [](dist/agent-src/rules/) [](dist/agent-src/commands/) [](docs/guidelines/) [](dist/agent-src/personas/) [](dist/agent-src/personas/advisors/) <!-- claim:published-artifact-counts -->
|
|
8
8
|
|
|
9
|
-
<sub>**How these are counted** — one canonical counter, `agent-config` → `update_counts --check`, re-derives all six from the tree and fails CI on a drift of one. Two bases are not what the linked directory shows, so they are stated here rather than left to be inferred: **Commands
|
|
9
|
+
<sub>**How these are counted** — one canonical counter, `agent-config` → `update_counts --check`, re-derives all six from the tree and fails CI on a drift of one. Two bases are not what the linked directory shows, so they are stated here rather than left to be inferred: **Commands 205** counts every command file **recursively** (the linked directory holds 60 at its top level), and **Rules 121** counts the **source** rules while the linked projection holds 120 — one rule is dormant and is not projected. **Personas 29** excludes the directory README. Counts are of files and directories: none of them measures quality, activation, or adoption. <!-- claim:published-artifact-counts --></sub>
|
|
10
10
|
|
|
11
11
|
**Try it in 30 seconds** — drop one read-only subagent into any repo and watch it gate "done": `@production-validator check this branch is actually done`. No wizard, no lock-in, nothing else installed — the [30-second wedge ↓](#quickstart) is the whole first step. Start at the proof, not the catalog: **[event4u-app.github.io/agent-config/proof/](https://event4u-app.github.io/agent-config/proof/)**.
|
|
12
12
|
|
|
@@ -20,6 +20,18 @@
|
|
|
20
20
|
|
|
21
21
|
## Try it in 30 seconds
|
|
22
22
|
|
|
23
|
+
```bash
|
|
24
|
+
# 1. Install — on a terminal with a display, the browser wizard launches
|
|
25
|
+
# automatically; the same TypeScript installer runs the real install behind it.
|
|
26
|
+
npx -y @event4u/agent-config init
|
|
27
|
+
|
|
28
|
+
# 2. Pick your profile + tools in the wizard, click Finish.
|
|
29
|
+
# (Writes ~/.event4u/agent-config/, ~/.claude/, ~/.cursor/, …)
|
|
30
|
+
|
|
31
|
+
# 3. First real task — agent refines, plans, verifies.
|
|
32
|
+
/work "your first real task"
|
|
33
|
+
```
|
|
34
|
+
|
|
23
35
|
**Try one thing in 30 seconds** — before the full suite, drop in a single
|
|
24
36
|
self-contained subagent and see the discipline on your own repo:
|
|
25
37
|
|
|
@@ -165,17 +177,7 @@ How *long* it takes is not: that is dominated by network and registry latency.
|
|
|
165
177
|
CI measures the install → `doctor` wall-clock on every umbrella run and
|
|
166
178
|
publishes it with its conditions, as evidence rather than as a promise.
|
|
167
179
|
|
|
168
|
-
|
|
169
|
-
# 1. Install — on a terminal with a display, the browser wizard launches
|
|
170
|
-
# automatically; the same TypeScript installer runs the real install behind it.
|
|
171
|
-
npx -y @event4u/agent-config init
|
|
172
|
-
|
|
173
|
-
# 2. Pick your profile + tools in the wizard, click Finish.
|
|
174
|
-
# (Writes ~/.event4u/agent-config/, ~/.claude/, ~/.cursor/, …)
|
|
175
|
-
|
|
176
|
-
# 3. First real task — agent refines, plans, verifies.
|
|
177
|
-
/work "your first real task"
|
|
178
|
-
```
|
|
180
|
+
**The one command is [above ↑](#try-it-in-30-seconds).**
|
|
179
181
|
|
|
180
182
|
**Headless / CI:** `init` skips the GUI on CI, a non-TTY, a headless host, or any CLI-mode flag, and runs the non-interactive installer instead. The GUI and the CLI share one installer (`src/scripts/install.ts`), so both produce identical results. Flags, the full opt-out set and `--dry-run`: [`docs/wizard.md`](docs/wizard.md) · [`gui-wizard` § When the GUI is skipped](docs/contracts/gui-wizard.md#when-the-gui-is-skipped).
|
|
181
183
|
|
|
@@ -29,9 +29,14 @@
|
|
|
29
29
|
# `api` rung. A vendor CLI under your subscription is preferred whenever one
|
|
30
30
|
# resolves, so the common case costs nothing per token — run
|
|
31
31
|
# `agent-config council status` to see the resolved transport and billing class
|
|
32
|
-
# per member before invoking.
|
|
33
|
-
#
|
|
34
|
-
#
|
|
32
|
+
# per member before invoking.
|
|
33
|
+
#
|
|
34
|
+
# This block used to end "the /council command always asks before invoking,
|
|
35
|
+
# even under autonomy: on". That was already untrue when ADR-230 replaced the
|
|
36
|
+
# unconditional ask with a three-case bound, and ADR-279 has since removed the
|
|
37
|
+
# last case that asked. The command does not ask; it shows the estimate as
|
|
38
|
+
# information. What bounds a billable run is a ceiling you set below — and
|
|
39
|
+
# with nothing set, nothing bounds it.
|
|
35
40
|
|
|
36
41
|
# Master switch (true, false). REQUIRED — the loader has no default for it,
|
|
37
42
|
# so this file's value is the only value.
|
|
@@ -138,11 +143,21 @@ defaults:
|
|
|
138
143
|
# Prices come from agents/.agent-prices.md (gitignored, refreshed weekly
|
|
139
144
|
# by `python3 scripts/update_prices.py`; bootstrapped from
|
|
140
145
|
# scripts/ai_council/_default_prices.py on first run).
|
|
146
|
+
#
|
|
147
|
+
# These ship at 0 — no ceiling on tokens or money unless you set one
|
|
148
|
+
# (ADR-279). `max_calls` is NOT a ceiling on money: it bounds fan-out per
|
|
149
|
+
# invocation, so it keeps its value. To get a bound back, replace a 0 with the
|
|
150
|
+
# figure you want; the units are TOKENS for the first two and US DOLLARS for
|
|
151
|
+
# `max_total_usd`.
|
|
152
|
+
#
|
|
153
|
+
# If you copied this file before 2026-10-06 it carries 500000 / 200000 / 20.0
|
|
154
|
+
# explicitly. Those are YOUR figures now and nothing rewrites them — delete the
|
|
155
|
+
# lines to become unbounded, or keep them to stay bounded.
|
|
141
156
|
cost_budget:
|
|
142
|
-
max_input_tokens:
|
|
143
|
-
max_output_tokens:
|
|
157
|
+
max_input_tokens: 0
|
|
158
|
+
max_output_tokens: 0
|
|
144
159
|
max_calls: 50
|
|
145
|
-
max_total_usd:
|
|
160
|
+
max_total_usd: 0.0
|
|
146
161
|
|
|
147
162
|
# Phase 8 — Debate cost-visibility + hard refusal cap.
|
|
148
163
|
#
|
|
@@ -150,7 +165,10 @@ cost_budget:
|
|
|
150
165
|
# high-end estimate (expected × 1.20 over-run buffer) exceeds the cap,
|
|
151
166
|
# `/council debate` refuses to start — the user must lower `--rounds`,
|
|
152
167
|
# drop members, or raise the cap explicitly. No --proceed-anyway override.
|
|
153
|
-
#
|
|
168
|
+
#
|
|
169
|
+
# It ships at 0 — disabled, per ADR-279. Set a USD figure to get the refusal
|
|
170
|
+
# back. The between-round confirmation below is a separate control and is NOT
|
|
171
|
+
# a money ceiling: it stays on whatever this is set to.
|
|
154
172
|
#
|
|
155
173
|
# `cost_disclosure.mode` ∈ {"always", "above_threshold", "off"}:
|
|
156
174
|
# always — emit the disclosure block before every debate.
|
|
@@ -165,7 +183,7 @@ cost_budget:
|
|
|
165
183
|
# mode: above_threshold
|
|
166
184
|
# threshold_usd: 0.50
|
|
167
185
|
debate:
|
|
168
|
-
max_cost_usd:
|
|
186
|
+
max_cost_usd: 0.00
|
|
169
187
|
cost_disclosure:
|
|
170
188
|
mode: always
|
|
171
189
|
threshold_usd: 1.00
|
|
@@ -672,13 +672,16 @@ attempt. At the third, write the row with what was observed and move on.
|
|
|
672
672
|
|
|
673
673
|
This cap is **this phase's own**, and the divergence from
|
|
674
674
|
[`autonomous-execution`](../../../../rules/autonomous-execution.md)
|
|
675
|
-
§ Validation-loop budget is deliberate rather than an oversight: that rule's
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
675
|
+
§ Validation-loop budget is deliberate rather than an oversight: that rule's
|
|
676
|
+
`execution.fix_loop_max` budget (default 10, with a strategy-shift ladder)
|
|
677
|
+
governs a *validation target* it defines as "a single identifiable artefact
|
|
678
|
+
(file path, lint rule ID, test name)", explicitly excluding natural-language
|
|
679
|
+
clusters — and a verbatim step out of a prose file is exactly such a cluster.
|
|
680
|
+
This phase's own remedy is also different: STOP and ask the user, where the
|
|
681
|
+
rule's remedy at the same count is a mandatory strategy shift, never a stop.
|
|
682
|
+
Borrowing the number while failing the definition, and then citing the rule
|
|
683
|
+
as authority, would weaken the rule it claims to obey. So: same number,
|
|
684
|
+
stated here, for a reason stated here.
|
|
682
685
|
|
|
683
686
|
One row per selected step:
|
|
684
687
|
|
|
@@ -1189,7 +1192,7 @@ Declared by `produces_roadmap: true` in the frontmatter and enforced by
|
|
|
1189
1192
|
`lint_roadmap_producers`: a producer that does not end here reds CI.
|
|
1190
1193
|
|
|
1191
1194
|
Read `planning.closure_pass` (missing = `true`). When active, run
|
|
1192
|
-
|
|
1195
|
+
`/challenge-me closure` on the
|
|
1193
1196
|
roadmap this command just produced, before handing back:
|
|
1194
1197
|
|
|
1195
1198
|
```bash
|
|
@@ -140,7 +140,7 @@ Declared by `produces_roadmap: true` in the frontmatter and enforced by
|
|
|
140
140
|
`lint_roadmap_producers`: a producer that does not end here reds CI.
|
|
141
141
|
|
|
142
142
|
Read `planning.closure_pass` (missing = `true`). When active, run
|
|
143
|
-
|
|
143
|
+
`/challenge-me closure` on the
|
|
144
144
|
roadmap this command just produced, before handing back:
|
|
145
145
|
|
|
146
146
|
```bash
|
|
@@ -5,14 +5,13 @@ pack: engineering-base
|
|
|
5
5
|
visibility: internal
|
|
6
6
|
sub: fix
|
|
7
7
|
cluster: bug
|
|
8
|
-
skills: [bug-analyzer,
|
|
8
|
+
skills: [bug-analyzer, test-case-discovery]
|
|
9
9
|
description: Plan and implement a bug fix — based on investigation, with quality checks and test verification
|
|
10
10
|
argument-hint: "[bug-description]"
|
|
11
11
|
council_depth: deep
|
|
12
12
|
suggestion:
|
|
13
13
|
eligible: false
|
|
14
14
|
rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
|
|
15
|
-
framework: laravel
|
|
16
15
|
workspaces:
|
|
17
16
|
- agent-config-maintainer
|
|
18
17
|
packs:
|
|
@@ -104,6 +103,22 @@ Show results and fix any issues.
|
|
|
104
103
|
|
|
105
104
|
### 5. Tests
|
|
106
105
|
|
|
106
|
+
Resolve the test framework via the
|
|
107
|
+
[`toolchain-resolver`](../../contexts/execution/toolchain-resolver.md) before
|
|
108
|
+
writing anything — write the regression test in the framework the project
|
|
109
|
+
actually uses, never a hard-coded one.
|
|
110
|
+
|
|
111
|
+
**The resolver is the only stack authority, and `skills:` deliberately names
|
|
112
|
+
no single-stack skill.** This command's 195 lines of body mention no framework
|
|
113
|
+
at all, so the `pest-testing` binding and the `framework: laravel` marker it
|
|
114
|
+
used to carry made a Python or Go repository load PHP testing guidance for a
|
|
115
|
+
command that never asks for it. The load is **resolver-conditional**: once the
|
|
116
|
+
runner is named, load the skill for THAT runner if one exists —
|
|
117
|
+
`pest-testing` for pest, `laravel` for `php artisan test`,
|
|
118
|
+
`playwright-testing` for playwright. Unconditional became conditional; it did
|
|
119
|
+
not become nothing. Same contract as `/tests create` and `/tests execute`,
|
|
120
|
+
which were de-bound first.
|
|
121
|
+
|
|
107
122
|
Check for existing tests that cover the affected code:
|
|
108
123
|
|
|
109
124
|
```
|
|
@@ -26,7 +26,7 @@ packs:
|
|
|
26
26
|
|
|
27
27
|
Run `git branch --show-current` and extract ticket IDs:
|
|
28
28
|
|
|
29
|
-
-
|
|
29
|
+
- Read it with `agent-config git:convention ticket` ([`commit-subject`](../../../../skills/git-workflow/references/commit-subject.md) § Reading the ticket; e.g. `DEV-1234`, `PROJ-567`)
|
|
30
30
|
- Common branch formats: `fix/DEV-1234/description`, `hotfix/DEV-999`, `fix/bug-description`
|
|
31
31
|
|
|
32
32
|
If a ticket ID is found:
|
|
@@ -43,10 +43,16 @@ If there are no uncommitted changes (staged or unstaged), report
|
|
|
43
43
|
|
|
44
44
|
### 2. Determine the ticket number
|
|
45
45
|
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
`
|
|
46
|
+
- Read the ticket exactly as [`/commit`](../commit.md) step 2 does
|
|
47
|
+
(`agent-config git:convention ticket`, with the card's `ticket_keys` line as
|
|
48
|
+
`--keys`) and place it per the convention in force —
|
|
49
|
+
[`commit-subject`](../../../../skills/git-workflow/references/commit-subject.md),
|
|
50
|
+
including its area-scope clause. A candidate marked `unknown-key` is omitted,
|
|
51
|
+
never asked about.
|
|
52
|
+
- If no ticket ID is found, omit it — write `chore: ...` not `chore(): ...`.
|
|
53
|
+
Do **not** ask the user for one.
|
|
54
|
+
Under an approved convention card this is never a stop: the family's form
|
|
55
|
+
without the ticket part is valid (`commit-subject` § Placing the ticket).
|
|
50
56
|
|
|
51
57
|
### 3. Analyze and split
|
|
52
58
|
|
|
@@ -69,6 +75,12 @@ Splitting rules:
|
|
|
69
75
|
|
|
70
76
|
Generate commit messages per [`commit-conventions`](../../rules/commit-conventions.md).
|
|
71
77
|
|
|
78
|
+
**No convention established — never ask.** When `agent-config git:convention
|
|
79
|
+
show --key commit_format` prints `no convention established`, run
|
|
80
|
+
`agent-config git:convention measure`, carry its `verdict` line into the summary,
|
|
81
|
+
and generate under the convention in force (the default). Asking and writing the
|
|
82
|
+
card belong to the interactive [`/commit`](../commit.md) step 3c only.
|
|
83
|
+
|
|
72
84
|
### 3b. Secret-leak pre-flight — MANDATORY, not autonomy-lifted
|
|
73
85
|
|
|
74
86
|
Run `./scripts-run src/scripts/check_secret_leak`. A high-confidence hit is a
|
|
@@ -79,14 +91,22 @@ strip one.
|
|
|
79
91
|
|
|
80
92
|
### 4. Validate, then commit immediately
|
|
81
93
|
|
|
82
|
-
Before staging anything,
|
|
83
|
-
[`/commit`](../commit.md) step 5.
|
|
84
|
-
|
|
94
|
+
Before staging anything, pipe every generated subject through
|
|
95
|
+
`agent-config git:convention subject`, as [`/commit`](../commit.md) step 5 does.
|
|
96
|
+
|
|
97
|
+
- **Exit `0`** → proceed silently; a `note:` line naming a `commit-msg` hook
|
|
98
|
+
or a commitlint config is not a stop — that validator runs at commit, and a
|
|
99
|
+
rejection there stops the run like any failed commit.
|
|
100
|
+
- **Exit `1`** → stop, print the verb's output (each failed subject and its
|
|
101
|
+
rule, or the format it could not read), hand back to the user.
|
|
102
|
+
Do **not** auto-commit broken messages even though confirmation is
|
|
103
|
+
otherwise suppressed.
|
|
85
104
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
105
|
+
An approved convention card an earlier [`/commit`](../commit.md) wrote and left
|
|
106
|
+
uncommitted (`agents/memory/curated/conventions/approved/commit-subject.md`,
|
|
107
|
+
unstaged or untracked) rides in the first chunk: add it with that chunk's files
|
|
108
|
+
(`git add -- agents/memory/curated/conventions/approved/commit-subject.md`), so
|
|
109
|
+
every worktree and clone reads the convention it was approved under.
|
|
90
110
|
|
|
91
111
|
For each planned commit in order:
|
|
92
112
|
|
|
@@ -98,29 +118,18 @@ git commit -m "{message}"
|
|
|
98
118
|
No "looks good?" prompt. No confirmation step. The user invoked this
|
|
99
119
|
command knowing the plan would be executed.
|
|
100
120
|
|
|
101
|
-
### 5. Report
|
|
102
|
-
|
|
103
|
-
Read `verbosity.post_action_reports` from `.agent-settings.yml` (default
|
|
104
|
-
`minimal`). Same contract as [`/commit`](../commit.md) step 7.
|
|
105
|
-
|
|
106
|
-
- `off` → emit nothing (still run `git log --oneline -N` silently for
|
|
107
|
-
the agent's own verification).
|
|
108
|
-
- `minimal` (default) → one line:
|
|
121
|
+
### 5. Report
|
|
109
122
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
```
|
|
123
|
+
Same contract as [`/commit`](../commit.md) step 7 — one line (run
|
|
124
|
+
`git log --oneline -N` silently for the agent's own verification):
|
|
113
125
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
Created N commits:
|
|
118
|
-
1. {sha1} feat(DEV-1234): {summary}
|
|
119
|
-
2. {sha2} test(DEV-1234): {summary}
|
|
120
|
-
3. {sha3} chore: {summary}
|
|
121
|
-
```
|
|
126
|
+
```
|
|
127
|
+
→ N commits created
|
|
128
|
+
```
|
|
122
129
|
|
|
123
|
-
|
|
130
|
+
A run that measured because no convention was
|
|
131
|
+
established adds the verb's `verdict` line and `→ run /commit once to choose and
|
|
132
|
+
record the convention`.
|
|
124
133
|
|
|
125
134
|
## Rules
|
|
126
135
|
|
|
@@ -57,7 +57,13 @@ If there are no uncommitted changes (staged or unstaged), report "Nothing to com
|
|
|
57
57
|
|
|
58
58
|
### 2. Determine the ticket number
|
|
59
59
|
|
|
60
|
-
-
|
|
60
|
+
- Read the ticket from the current branch name:
|
|
61
|
+
`agent-config git:convention ticket --keys "<the ticket_keys line of the approved convention card>"`
|
|
62
|
+
(no card → no `--keys`). The first line is `ticket <ID>` or `ticket none`
|
|
63
|
+
(`feat/DEV-1234/...`, `fix/DEV-1234-quantity` → `DEV-1234`; `fix/CVE-2026-12345-patch` → none).
|
|
64
|
+
A candidate marked `unknown-key` → ask the user whether it is a ticket; a yes
|
|
65
|
+
adds its key to the card's `ticket_keys`. A `proposal` line → offer it for the
|
|
66
|
+
card, never write it unasked.
|
|
61
67
|
- If no ticket ID is found in the branch name, ask the user:
|
|
62
68
|
```
|
|
63
69
|
> No Jira ticket found in branch name. Do you want to include one?
|
|
@@ -65,8 +71,9 @@ If there are no uncommitted changes (staged or unstaged), report "Nothing to com
|
|
|
65
71
|
> 1. Yes — I'll provide the ticket number
|
|
66
72
|
> 2. No — skip ticket number
|
|
67
73
|
```
|
|
68
|
-
-
|
|
69
|
-
-
|
|
74
|
+
- Place the ticket (given or read) in every message per the convention in force —
|
|
75
|
+
[`commit-subject`](../../../skills/git-workflow/references/commit-subject.md) § Placing the ticket;
|
|
76
|
+
skipped → omit it, never `chore(): …`.
|
|
70
77
|
|
|
71
78
|
### 3. Analyze the changes
|
|
72
79
|
|
|
@@ -95,6 +102,43 @@ once the user resolves it (move to a store, or add an audited
|
|
|
95
102
|
`# secret-allow` / `.secret-allow` entry for a confirmed false positive). Never
|
|
96
103
|
silently commit a secret; never silently strip one.
|
|
97
104
|
|
|
105
|
+
### 3c. Establish the convention — once per repository
|
|
106
|
+
|
|
107
|
+
Before any subject is generated, run
|
|
108
|
+
`agent-config git:convention show --key commit_format`. It prints
|
|
109
|
+
`no convention established — run git:convention measure` only when there is
|
|
110
|
+
no declaration, no approved card and no commitlint config; otherwise skip this step.
|
|
111
|
+
|
|
112
|
+
1. Run `agent-config git:convention measure`. Its `verdict` line is the input to
|
|
113
|
+
the one question below; the thresholds behind it are the `measure` rows of
|
|
114
|
+
[`commit-subject`](../../../skills/git-workflow/references/commit-subject.md) § The grammar.
|
|
115
|
+
2. Ask **once**, as numbered options, naming the family, its share, the capped
|
|
116
|
+
total and the author count from the verb's output:
|
|
117
|
+
- `verdict established: <family>` → the established family (recommended) vs
|
|
118
|
+
Conventional Commits;
|
|
119
|
+
- `verdict below the bar` → the two strongest families (each with its share)
|
|
120
|
+
vs Conventional Commits, quoting the verb's reasons.
|
|
121
|
+
3. Run `agent-config git:convention measure --family <answer>` (Conventional
|
|
122
|
+
Commits is `--family conventional`) and write its `card` block to
|
|
123
|
+
`agents/memory/curated/conventions/approved/commit-subject.md` — **also when
|
|
124
|
+
the answer is Conventional Commits**, so this question is never asked again in
|
|
125
|
+
this repository. The card is the one file this command writes. Stage it
|
|
126
|
+
explicitly with `git add -- agents/memory/curated/conventions/approved/commit-subject.md`
|
|
127
|
+
and commit it in the first commit of this run — the commit it was approved
|
|
128
|
+
for — so a worktree or a fresh clone reads the same answer instead of asking
|
|
129
|
+
again; name it in the report.
|
|
130
|
+
4. When the same output carries a `team file` block, show it: it is the
|
|
131
|
+
ready-to-commit `.git-convention.yml` (`commit_format`, `branch_pattern`,
|
|
132
|
+
never `update_strategy`). Ask once whether to create it. Only on the user's
|
|
133
|
+
explicit yes this turn run `agent-config git:convention init --yes` with the
|
|
134
|
+
shown values (`--commit-format`, `--branch-pattern`); it creates the file once,
|
|
135
|
+
refuses when one exists and never commits it — name it in the report. On no,
|
|
136
|
+
print the content for a human to create and commit. Never write the file by
|
|
137
|
+
hand, and never change an existing one.
|
|
138
|
+
|
|
139
|
+
Then generate every subject under the answer: `git:convention subject` reads the
|
|
140
|
+
card the moment it exists.
|
|
141
|
+
|
|
98
142
|
### 4. Plan the commits
|
|
99
143
|
|
|
100
144
|
For each logical group, determine the commit message following the commit conventions rule
|
|
@@ -107,40 +151,42 @@ Rules for splitting:
|
|
|
107
151
|
- **Style-only changes** (formatter / auto-refactor output — ECS, Prettier, Ruff) may get their own `style:` or `chore:` commit
|
|
108
152
|
if they are large and mixed with logic changes.
|
|
109
153
|
|
|
110
|
-
### 5. Present the commit plan
|
|
111
|
-
|
|
112
|
-
Read `verbosity.preview_artifacts` and `verbosity.routine_confirmations`
|
|
113
|
-
from `.agent-settings.yml`. Both default to `false`.
|
|
154
|
+
### 5. Present the commit plan
|
|
114
155
|
|
|
115
|
-
**Terse path** —
|
|
156
|
+
**Terse path** — the default; there is no setting that turns it off:
|
|
116
157
|
|
|
117
|
-
1.
|
|
118
|
-
|
|
119
|
-
|
|
158
|
+
1. Pipe every generated subject, one per line, through
|
|
159
|
+
`agent-config git:convention subject` — it resolves the convention in force
|
|
160
|
+
and validates against it. Act on the exit code: `0` valid · `1` the output
|
|
161
|
+
lists each failure and its rule → treat as invalid. A `note:` line naming a
|
|
162
|
+
`commit-msg` hook or a commitlint config means that validator also runs at
|
|
163
|
+
commit and may be stricter; it never changes the exit.
|
|
120
164
|
2. **All messages valid** → skip the preview block and the confirmation
|
|
121
165
|
prompt. Print one line summarising the plan and proceed to step 6:
|
|
122
166
|
|
|
123
167
|
```
|
|
124
|
-
→ 3 commits planned: feat, test, chore (
|
|
168
|
+
→ 3 commits planned: feat, test, chore (ticket: DEV-1234)
|
|
125
169
|
```
|
|
126
170
|
|
|
127
171
|
3. **Any message invalid** → `preview-on-error` safety net fires:
|
|
128
|
-
force the full preview block below + the numbered confirm prompt
|
|
129
|
-
|
|
172
|
+
force the full preview block below + the numbered confirm prompt.
|
|
173
|
+
The user must approve before step 6.
|
|
130
174
|
4. **Hard-Floor diff** (bulk deletion ≥5 unrelated files, infra changes
|
|
131
175
|
touching Terraform / Pulumi / k8s / Ansible / cloud-config) →
|
|
132
|
-
ALWAYS preview + confirm
|
|
176
|
+
ALWAYS preview + confirm, per
|
|
133
177
|
[`non-destructive-by-default`](../rules/non-destructive-by-default.md).
|
|
134
178
|
|
|
135
|
-
**Preview path** — `
|
|
136
|
-
|
|
179
|
+
**Preview path** — `preview-on-error` or a Hard-Floor diff triggered it, or the
|
|
180
|
+
user asked for the preview (override below):
|
|
137
181
|
|
|
138
182
|
Show the proposed commits as a numbered list, including which files go into each:
|
|
139
183
|
|
|
140
184
|
```
|
|
141
185
|
Proposed commits:
|
|
142
186
|
|
|
143
|
-
(Laravel-project example
|
|
187
|
+
(Laravel-project example, `git.commit_format: ticket-scope`; under
|
|
188
|
+
`ticket-conventional` the first subject reads
|
|
189
|
+
`DEV-1234 feat(working-time): add absence type filter to working time report`)
|
|
144
190
|
1. feat(DEV-1234): add absence type filter to working time report
|
|
145
191
|
→ app/Services/WorkingTimeService.php
|
|
146
192
|
→ app/Http/Controllers/WorkingTimeController.php
|
|
@@ -163,8 +209,8 @@ Then ask:
|
|
|
163
209
|
Wait for the user's response before doing anything.
|
|
164
210
|
|
|
165
211
|
**Override:** the user may force the preview at any time with
|
|
166
|
-
*"show me the commit plan first"* / *"preview commits"* —
|
|
167
|
-
|
|
212
|
+
*"show me the commit plan first"* / *"preview commits"* — take the preview
|
|
213
|
+
path for this invocation.
|
|
168
214
|
|
|
169
215
|
### 6. Commit
|
|
170
216
|
|
|
@@ -175,26 +221,19 @@ For each planned commit in order:
|
|
|
175
221
|
1. Stage only the files for that commit: `git add {files...}`
|
|
176
222
|
2. Commit: `git commit -m "{message}"`
|
|
177
223
|
|
|
178
|
-
### 7. Report
|
|
179
|
-
|
|
180
|
-
Read `verbosity.post_action_reports` from `.agent-settings.yml` (default
|
|
181
|
-
`minimal`).
|
|
182
|
-
|
|
183
|
-
- `off` → emit nothing.
|
|
184
|
-
- `minimal` (default) → one line:
|
|
224
|
+
### 7. Report
|
|
185
225
|
|
|
186
|
-
|
|
187
|
-
→ 3 commits created
|
|
188
|
-
```
|
|
226
|
+
One line:
|
|
189
227
|
|
|
190
|
-
|
|
191
|
-
|
|
228
|
+
```
|
|
229
|
+
→ 3 commits created
|
|
230
|
+
```
|
|
192
231
|
|
|
193
232
|
## Rules
|
|
194
233
|
|
|
195
234
|
- **Preview path: never commit before the user confirms the plan — once, for the whole plan.** On the terse path (`preview_artifacts: false` AND `routine_confirmations: false`) the `/commit` invocation itself is the confirmation (`commit-policy` exception 3); proceed without a prompt.
|
|
196
235
|
- **Never push** — pushing is left to the user.
|
|
197
|
-
- **Never modify files** — only stage and commit existing changes.
|
|
236
|
+
- **Never modify files** — only stage and commit existing changes. The one exception is the convention card step 3c writes after the user's answer, committed with the first commit of the run.
|
|
198
237
|
- **Do NOT add untracked files** unless they are clearly part of the change (check with `git status`).
|
|
199
238
|
- **Follow commit conventions** as defined in `.augment/rules/commit-conventions.md`.
|
|
200
239
|
|
|
@@ -89,15 +89,9 @@ Must show ✅ (`dist/agent-src/` in sync with source).
|
|
|
89
89
|
Must show **zero 🔴 errors**. Warnings (🟡) are acceptable.
|
|
90
90
|
If any 🔴 errors remain: go back and fix those files before finishing.
|
|
91
91
|
|
|
92
|
-
## Step 5: Summary
|
|
92
|
+
## Step 5: Summary
|
|
93
93
|
|
|
94
|
-
|
|
95
|
-
`minimal`).
|
|
96
|
-
|
|
97
|
-
- `off` → emit nothing on success; surface errors only.
|
|
98
|
-
- `minimal` (default) → one line: `→ N files synced`.
|
|
99
|
-
- `full` → multi-line table with per-category stats (files synced,
|
|
100
|
-
stale files reaped).
|
|
94
|
+
One line on success: `→ N files synced`. Errors are always surfaced.
|
|
101
95
|
|
|
102
96
|
## Iron Laws — preserved by construction
|
|
103
97
|
|
|
@@ -67,20 +67,24 @@ this automatically when invoked via `debate`). The estimate covers
|
|
|
67
67
|
projection. Surface the projection to the user with a clear note that
|
|
68
68
|
progressive disclosure may stop the debate early.
|
|
69
69
|
|
|
70
|
-
### 4. Spend
|
|
70
|
+
### 4. Spend projection (information, never a prompt)
|
|
71
71
|
|
|
72
|
-
Per [`ai-council` skill § Procedure 3](../../skills/ai-council/SKILL.md)
|
|
73
|
-
and ADR-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
Per [`ai-council` skill § Procedure 3](../../skills/ai-council/SKILL.md),
|
|
73
|
+
ADR-230 and ADR-279, surface the projected total spend in every case and
|
|
74
|
+
**do not ask** because no cap is set. A cap nobody configured is not a
|
|
75
|
+
bound, and its absence is not a reason to ask.
|
|
76
76
|
|
|
77
77
|
A debate multiplies the per-round cost by `N`, so quote the worst case,
|
|
78
78
|
not one round — that is what a ceiling has to cover. The between-rounds
|
|
79
79
|
confirmation gate is unaffected: it is a separate, per-round control and
|
|
80
80
|
it still fires, which is where a debate that turns out expensive gets
|
|
81
|
-
stopped.
|
|
81
|
+
stopped. `debate.max_cost_usd` likewise still refuses above whatever
|
|
82
|
+
figure someone set; it ships at `0`, i.e. no refusal cap.
|
|
82
83
|
|
|
83
|
-
|
|
84
|
+
The round shape is still the user's choice, and it is not a spend
|
|
85
|
+
question — it decides whether the between-round confirmation fires,
|
|
86
|
+
which this change does not touch. Offer it regardless of whether a cap
|
|
87
|
+
is set:
|
|
84
88
|
|
|
85
89
|
> The debate is projected to cost **$X.XXXX** ($Y.YYYY × N rounds, worst case).
|
|
86
90
|
>
|
|
@@ -151,22 +151,23 @@ Construct each member from the resolved mode:
|
|
|
151
151
|
- `manual` → `ManualClient` from `scripts.ai_council.clients`
|
|
152
152
|
(`billable=False`, no API key, no SDK call).
|
|
153
153
|
|
|
154
|
-
### 3. Spend
|
|
154
|
+
### 3. Spend estimate — information, never a prompt
|
|
155
155
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
156
|
+
Per ADR-230 the bound is a **ceiling**, not a per-invocation approval,
|
|
157
|
+
and per ADR-279 a ceiling applies only where someone set one. The three
|
|
158
|
+
cases the `ai-council` skill resolves in its Procedure § 3 now agree on
|
|
159
|
+
the ask and differ only in what a cap does once it exists:
|
|
159
160
|
|
|
160
161
|
| Situation | Behaviour |
|
|
161
162
|
|---|---|
|
|
162
163
|
| No billable member (all `mode: cli`, subscription auth) | No gate. Estimate is information; go to Step 4. Spend is $0. |
|
|
163
164
|
| Billable member **with** `cost_budget.max_total_usd` or `daily_limit_usd` non-zero | No per-run ask. The ceiling is the authorization the user already gave; `on_overrun` still pauses per member on breach. |
|
|
164
|
-
| Billable member with **both** caps `0` |
|
|
165
|
+
| Billable member with **both** caps `0` — the shipped default | No ask. Render the estimate and go to Step 4; no cap exists, so nothing can breach. |
|
|
165
166
|
|
|
166
|
-
`personal.autonomy` neither creates nor lifts
|
|
167
|
-
not a ceiling. Consumers who want a
|
|
168
|
-
`cost_budget.max_total_usd`; every call
|
|
169
|
-
asks per member.
|
|
167
|
+
`personal.autonomy` neither creates nor lifts a bound — autonomy is
|
|
168
|
+
not a ceiling, and neither is its absence. Consumers who want a
|
|
169
|
+
per-invocation gate set a small `cost_budget.max_total_usd`; every call
|
|
170
|
+
then breaches and `on_overrun` asks per member.
|
|
170
171
|
|
|
171
172
|
Run the CLI in **estimate** mode first — it bundles the artefact, runs
|
|
172
173
|
redaction, and prints the per-member preview without spending:
|
|
@@ -34,7 +34,7 @@ sub-command swaps the mode-specific addendum.
|
|
|
34
34
|
|
|
35
35
|
1. Resolve the target + capture the original ask.
|
|
36
36
|
2. Check the council is configured + price table fresh.
|
|
37
|
-
3. Spend
|
|
37
|
+
3. Spend estimate — rendered as information, never a prompt (ADR-230, ADR-279).
|
|
38
38
|
4. Run the CLI.
|
|
39
39
|
5. Render the report (5 / 5a / 5b — render → critical lens → user options).
|
|
40
40
|
6. Hard floor — text only.
|
|
@@ -28,7 +28,7 @@ packs:
|
|
|
28
28
|
Accept the same four input paths as [`/refine-ticket`](refine-ticket.md):
|
|
29
29
|
|
|
30
30
|
1. **Explicit key** — `/estimate-ticket PROJ-123`
|
|
31
|
-
2. **Branch detection** — no arg → `git
|
|
31
|
+
2. **Branch detection** — no arg → `agent-config git:convention ticket` on the current branch ([`commit-subject`](../../../skills/git-workflow/references/commit-subject.md) § Reading the ticket)
|
|
32
32
|
3. **Pasted text** — markdown block under the command
|
|
33
33
|
4. **URL** — `/estimate-ticket https://…/browse/PROJ-123`
|
|
34
34
|
|
|
@@ -38,8 +38,8 @@ Before entering brainstorm mode, check whether the input looks like an
|
|
|
38
38
|
**existing ticket** rather than a fresh idea. If any of the following
|
|
39
39
|
match, surface the hint below and let the user pick:
|
|
40
40
|
|
|
41
|
-
- A Jira/Linear URL is present (`https://.../browse
|
|
42
|
-
- The current branch name contains a ticket key (`
|
|
41
|
+
- A Jira/Linear URL is present (`https://.../browse/<ticket key>`)
|
|
42
|
+
- The current branch name contains a ticket key (`agent-config git:convention ticket` prints one)
|
|
43
43
|
- The pasted text contains structured AC bullets (`- [ ]`, "Acceptance Criteria", "AC:")
|
|
44
44
|
|
|
45
45
|
Prompt:
|
|
@@ -56,7 +56,7 @@ continue with Step 2.
|
|
|
56
56
|
### 2. Gather external context
|
|
57
57
|
|
|
58
58
|
**Auto-detect ticket from branch:**
|
|
59
|
-
|
|
59
|
+
Read the ticket ID from the current branch with `agent-config git:convention ticket` ([`commit-subject`](../../../../skills/git-workflow/references/commit-subject.md) § Reading the ticket).
|
|
60
60
|
|
|
61
61
|
If a ticket ID is found:
|
|
62
62
|
```
|
|
@@ -53,7 +53,7 @@ Then, once that is answered:
|
|
|
53
53
|
### 2. Gather external context
|
|
54
54
|
|
|
55
55
|
**Auto-detect ticket from branch:**
|
|
56
|
-
|
|
56
|
+
Read the ticket ID from the current branch with `agent-config git:convention ticket` ([`commit-subject`](../../../../skills/git-workflow/references/commit-subject.md) § Reading the ticket).
|
|
57
57
|
|
|
58
58
|
If a ticket ID is found:
|
|
59
59
|
```
|
|
@@ -402,7 +402,7 @@ Declared by `produces_roadmap: true` in the frontmatter and enforced by
|
|
|
402
402
|
`lint_roadmap_producers`: a producer that does not end here reds CI.
|
|
403
403
|
|
|
404
404
|
Read `planning.closure_pass` (missing = `true`). When active, run
|
|
405
|
-
|
|
405
|
+
`/challenge-me closure` on the
|
|
406
406
|
roadmap this command just produced, before handing back:
|
|
407
407
|
|
|
408
408
|
```bash
|