@event4u/agent-config 16.3.0 → 16.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +178 -78
- package/README.md +2 -2
- package/agents/templates/.ai-council.yml.example +26 -8
- package/dist/agent-src/commands/analyze/inbox.md +10 -7
- package/dist/agent-src/commands/bug/investigate.md +1 -1
- package/dist/agent-src/commands/commit/in-chunks.md +40 -31
- package/dist/agent-src/commands/commit.md +72 -33
- package/dist/agent-src/commands/condense.md +2 -8
- package/dist/agent-src/commands/council/debate.md +11 -7
- package/dist/agent-src/commands/council/default.md +10 -9
- package/dist/agent-src/commands/council.md +1 -1
- package/dist/agent-src/commands/design.md +1 -1
- package/dist/agent-src/commands/estimate-ticket.md +1 -1
- package/dist/agent-src/commands/feature/explore.md +3 -3
- package/dist/agent-src/commands/feature/plan.md +1 -1
- package/dist/agent-src/commands/fix/ci.md +17 -3
- package/dist/agent-src/commands/fix/commit-messages.md +48 -23
- package/dist/agent-src/commands/fix/pr-comments.md +3 -6
- package/dist/agent-src/commands/implement-ticket.md +3 -3
- package/dist/agent-src/commands/memory/add.md +4 -16
- package/dist/agent-src/commands/memory/load.md +5 -6
- package/dist/agent-src/commands/memory/promote.md +3 -16
- package/dist/agent-src/commands/mission/upgrade.md +3 -2
- package/dist/agent-src/commands/optimize/agents-dir.md +2 -2
- package/dist/agent-src/commands/optimize/deep.md +4 -2
- package/dist/agent-src/commands/optimize/rtk.md +4 -26
- package/dist/agent-src/commands/pr/create/description-only.md +18 -15
- package/dist/agent-src/commands/pr/create.md +42 -34
- package/dist/agent-src/commands/pr/merge.md +136 -9
- package/dist/agent-src/commands/prepare-for-review.md +13 -11
- package/dist/agent-src/commands/project/analyze.md +7 -35
- package/dist/agent-src/commands/refine-ticket.md +1 -1
- package/dist/agent-src/commands/review/changes.md +14 -19
- package/dist/agent-src/commands/roadmap/next.md +10 -1
- package/dist/agent-src/commands/roadmap/process-full.md +52 -38
- package/dist/agent-src/commands/roadmap/resolve-blockers.md +64 -14
- package/dist/agent-src/commands/worktree/create.md +7 -3
- package/dist/agent-src/commands/worktree/verify.md +2 -1
- package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +5 -3
- package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +7 -9
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -6
- package/dist/agent-src/contexts/contracts/frugality-charter.md +8 -5
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +1 -1
- package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +0 -1
- package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
- package/dist/agent-src/contexts/execution/non-interactive-contract.md +5 -8
- package/dist/agent-src/contexts/execution/rdp-gate.md +4 -4
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +9 -8
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +67 -52
- package/dist/agent-src/contexts/execution/subagent-routing.md +8 -8
- package/dist/agent-src/contexts/execution/subagent-steering.md +6 -4
- package/dist/agent-src/contexts/execution/terminal-states.md +2 -2
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +4 -10
- package/dist/agent-src/contexts/subagent-configuration.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
- package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
- package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
- package/dist/agent-src/guidelines/agent-infra/layered-settings.md +13 -1
- package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
- package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +36 -0
- package/dist/agent-src/guidelines/design-antipatterns.md +1 -1
- package/dist/agent-src/guidelines/php/git.md +15 -2
- package/dist/agent-src/rules/active-remediation.md +0 -1
- package/dist/agent-src/rules/analysis-skill-routing.md +0 -1
- package/dist/agent-src/rules/architecture.md +0 -1
- package/dist/agent-src/rules/artifact-drafting-protocol.md +0 -1
- package/dist/agent-src/rules/artifact-engagement-recording.md +0 -1
- package/dist/agent-src/rules/augment-edit-discipline.md +0 -1
- package/dist/agent-src/rules/autonomous-execution.md +0 -1
- package/dist/agent-src/rules/brand-consistency.md +0 -1
- package/dist/agent-src/rules/brand-source-of-truth.md +0 -1
- package/dist/agent-src/rules/broken-access-control.md +0 -1
- package/dist/agent-src/rules/cli-output-handling.md +0 -1
- package/dist/agent-src/rules/code-comment-discipline.md +0 -1
- package/dist/agent-src/rules/code-provenance.md +0 -1
- package/dist/agent-src/rules/command-suggestion-policy.md +0 -1
- package/dist/agent-src/rules/commit-conventions.md +1 -2
- package/dist/agent-src/rules/communication-through-line.md +1 -2
- package/dist/agent-src/rules/content-quoting-floor.md +1 -2
- package/dist/agent-src/rules/context-hygiene.md +5 -5
- package/dist/agent-src/rules/copilot-routing.md +1 -2
- package/dist/agent-src/rules/council-availability.md +4 -4
- package/dist/agent-src/rules/cross-source-consistency.md +4 -6
- package/dist/agent-src/rules/decision-revisit-gate.md +2 -3
- package/dist/agent-src/rules/delegation-policy.md +2 -3
- package/dist/agent-src/rules/design-fidelity.md +0 -1
- package/dist/agent-src/rules/design-review-after-ui-write.md +3 -3
- package/dist/agent-src/rules/devcontainer-routing.md +1 -2
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +0 -1
- package/dist/agent-src/rules/docker-commands.md +0 -1
- package/dist/agent-src/rules/domain-adoption-policy.md +0 -1
- package/dist/agent-src/rules/domain-safety-disclaimer.md +0 -1
- package/dist/agent-src/rules/domain-safety-pii.md +0 -1
- package/dist/agent-src/rules/domain-safety-retention.md +0 -1
- package/dist/agent-src/rules/downstream-changes.md +0 -1
- package/dist/agent-src/rules/engineering-safety-floor.md +0 -1
- package/dist/agent-src/rules/external-code-graph-interop.md +0 -1
- package/dist/agent-src/rules/external-reference-deep-dive.md +0 -1
- package/dist/agent-src/rules/fast-path-marker-visibility.md +1 -2
- package/dist/agent-src/rules/finance-safety-floor.md +0 -1
- package/dist/agent-src/rules/fix-what-you-see.md +6 -32
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +0 -1
- package/dist/agent-src/rules/git-history-discipline.md +1 -2
- package/dist/agent-src/rules/guidelines.md +0 -1
- package/dist/agent-src/rules/history-discipline.md +0 -1
- package/dist/agent-src/rules/icon-consistency.md +0 -1
- package/dist/agent-src/rules/image-likeness-and-rights.md +0 -1
- package/dist/agent-src/rules/improve-before-implement.md +0 -1
- package/dist/agent-src/rules/invite-challenge.md +0 -1
- package/dist/agent-src/rules/laravel-routing.md +1 -2
- package/dist/agent-src/rules/laravel-translations.md +0 -1
- package/dist/agent-src/rules/legal-safety-floor.md +0 -1
- package/dist/agent-src/rules/lethal-trifecta-guard.md +0 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +0 -1
- package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
- package/dist/agent-src/rules/media-governance-routing.md +1 -2
- package/dist/agent-src/rules/media-sync-ground-truth.md +0 -1
- package/dist/agent-src/rules/minimal-safe-diff.md +0 -1
- package/dist/agent-src/rules/missing-skill-recovery.md +0 -1
- package/dist/agent-src/rules/missing-tool-handling.md +0 -1
- package/dist/agent-src/rules/model-recommendation.md +0 -1
- package/dist/agent-src/rules/neighbour-precedence.md +64 -0
- package/dist/agent-src/rules/no-attribution-footers.md +0 -1
- package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +0 -1
- package/dist/agent-src/rules/no-pr-progress-comments.md +0 -1
- package/dist/agent-src/rules/no-roadmap-references.md +0 -1
- package/dist/agent-src/rules/notes-first-reasoning.md +0 -1
- package/dist/agent-src/rules/onboarding-gate.md +0 -1
- package/dist/agent-src/rules/output-discipline.md +0 -1
- package/dist/agent-src/rules/package-ci-checks.md +0 -1
- package/dist/agent-src/rules/persona-governance.md +2 -3
- package/dist/agent-src/rules/php-coding.md +0 -1
- package/dist/agent-src/rules/prefer-enums-over-literals.md +0 -1
- package/dist/agent-src/rules/preservation-guard.md +0 -1
- package/dist/agent-src/rules/provider-lifecycle-discipline.md +2 -3
- package/dist/agent-src/rules/question-not-instruction.md +0 -1
- package/dist/agent-src/rules/reviewer-awareness.md +0 -1
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -1
- package/dist/agent-src/rules/roadmap-progress-sync.md +3 -6
- package/dist/agent-src/rules/role-mode-adherence.md +0 -1
- package/dist/agent-src/rules/rule-type-governance.md +0 -1
- package/dist/agent-src/rules/runtime-safety.md +0 -1
- package/dist/agent-src/rules/scale-discipline.md +0 -1
- package/dist/agent-src/rules/secret-vcs-guard.md +0 -1
- package/dist/agent-src/rules/security-sensitive-stop.md +0 -1
- package/dist/agent-src/rules/self-repair-loop.md +0 -1
- package/dist/agent-src/rules/senior-engineering-discipline.md +0 -1
- package/dist/agent-src/rules/session-canary.md +0 -1
- package/dist/agent-src/rules/settings-ask-protocol.md +5 -6
- package/dist/agent-src/rules/size-enforcement.md +0 -1
- package/dist/agent-src/rules/skill-improvement-trigger.md +2 -3
- package/dist/agent-src/rules/skill-quality.md +0 -1
- package/dist/agent-src/rules/slash-command-routing-policy.md +0 -1
- package/dist/agent-src/rules/source-confidentiality.md +0 -1
- package/dist/agent-src/rules/source-discovery-gate.md +0 -1
- package/dist/agent-src/rules/source-of-truth.md +0 -1
- package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -2
- package/dist/agent-src/rules/strategy-safety-floor.md +0 -1
- package/dist/agent-src/rules/symfony-routing.md +1 -2
- package/dist/agent-src/rules/think-before-action.md +0 -1
- package/dist/agent-src/rules/token-budget-discipline.md +14 -48
- package/dist/agent-src/rules/token-efficiency.md +0 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +0 -1
- package/dist/agent-src/rules/tool-safety.md +0 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -2
- package/dist/agent-src/rules/untrusted-input-defense.md +0 -1
- package/dist/agent-src/rules/upstream-proposal.md +0 -1
- package/dist/agent-src/rules/user-interaction.md +0 -1
- package/dist/agent-src/rules/user-interrupt-priority.md +0 -1
- package/dist/agent-src/scripts/gate_budget.ts +47 -23
- package/dist/agent-src/scripts/gate_execute.ts +12 -4
- package/dist/agent-src/skills/accessibility-auditor/data/aria-patterns.csv +2 -0
- package/dist/agent-src/skills/accessibility-auditor/data/manifest.json +3 -3
- package/dist/agent-src/skills/ai-council/SKILL.md +7 -4
- package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +21 -11
- package/dist/agent-src/skills/ai-council/references/procedure.md +12 -6
- package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
- package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/canvas-design/SKILL.md +4 -2
- package/dist/agent-src/skills/command-routing/SKILL.md +3 -4
- package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +127 -139
- package/dist/agent-src/skills/corpus-grounding/ATTRIBUTION.md +39 -0
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +8 -2
- package/dist/agent-src/skills/database/data/manifest.json +2 -2
- package/dist/agent-src/skills/database/data/query-tuning.csv +13 -13
- package/dist/agent-src/skills/design-intelligence/references/integration-mapping.md +13 -10
- package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
- package/dist/agent-src/skills/fe-design/references/design-patterns.md +49 -2
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/frontend-render-security/SKILL.md +9 -0
- package/dist/agent-src/skills/git-workflow/SKILL.md +44 -44
- package/dist/agent-src/skills/git-workflow/references/branch-update.md +312 -0
- package/dist/agent-src/skills/git-workflow/references/commit-subject.md +205 -0
- package/dist/agent-src/skills/iconography/SKILL.md +4 -2
- package/dist/agent-src/skills/image-provider-routing/SKILL.md +16 -5
- package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
- package/dist/agent-src/skills/logo-generation/SKILL.md +12 -8
- package/dist/agent-src/skills/merge-conflicts/SKILL.md +10 -4
- package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/refine-ticket/SKILL.md +4 -4
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +4 -2
- package/dist/agent-src/skills/source-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/svg-authoring/SKILL.md +318 -0
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +3 -1
- package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -1
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
- package/dist/agent-src/skills/wireframe/SKILL.md +5 -2
- package/dist/agent-src/templates/AGENTS.md +1 -1
- package/dist/agent-src/templates/agent-settings.md +46 -129
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
- package/dist/agent-src/templates/command.md +2 -2
- package/dist/agent-src/templates/roadmaps.md +6 -1
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
- package/dist/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
- package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
- package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
- package/dist/agent-src/templates/skill.md +1 -1
- package/dist/cli/commands/uiRender.js +201 -4
- package/dist/cli/commands/uiRenderAsset.js +1308 -0
- package/dist/cli/commands/uiRenderAssetCompare.js +752 -0
- package/dist/cli/commands/uiRenderAssetGrid.js +265 -0
- package/dist/cli/commands/uiRenderAssetGrounds.js +323 -0
- package/dist/cli/commands/uiRenderAssetIsolation.js +85 -0
- package/dist/cli/commands/uiRenderAssetTypes.js +145 -0
- package/dist/cli/main.js +47 -1
- package/dist/cli/registry.js +2 -1
- package/dist/cli-delegate/check_update_banner.js +195 -119
- package/dist/cli-delegate/{chunk-S4UMZNES.js → chunk-4DBG5K7M.js} +5 -5
- package/dist/cli-delegate/{chunk-TRI6DQZ6.js → chunk-5GPULQBE.js} +60 -42
- package/dist/cli-delegate/{chunk-JQVYKIZA.js → chunk-6SRJTYJS.js} +33 -177
- package/dist/cli-delegate/chunk-6V5FMA3P.js +186 -0
- package/dist/cli-delegate/chunk-6YQC2HLF.js +415 -0
- package/dist/cli-delegate/{chunk-E4XIZDIB.js → chunk-7HKRE54K.js} +1 -64
- package/dist/cli-delegate/{chunk-7HQ52DHU.js → chunk-AL3RZ22D.js} +1 -1
- package/dist/cli-delegate/{chunk-DBH4AHDK.js → chunk-ED7KCMLB.js} +9 -11
- package/dist/cli-delegate/{chunk-NXEILF2K.js → chunk-F3QDG2GT.js} +481 -72
- package/dist/cli-delegate/{chunk-CQWX336L.js → chunk-G5VVIZRC.js} +3 -3
- package/dist/cli-delegate/{chunk-JY2I2DXV.js → chunk-H76PHZBI.js} +137 -60
- package/dist/cli-delegate/chunk-IAYTIIQW.js +67 -0
- package/dist/cli-delegate/{chunk-LIYTLH6O.js → chunk-KXXWJTDO.js} +5 -10
- package/dist/cli-delegate/{chunk-T7L2QK3K.js → chunk-LQOCRFWT.js} +1 -1
- package/dist/cli-delegate/{chunk-S4YWNRKO.js → chunk-MDPPKQCQ.js} +34 -1
- package/dist/cli-delegate/chunk-OAFSJBHH.js +272 -0
- package/dist/cli-delegate/{chunk-GKE7ZVFA.js → chunk-PWX7CKMD.js} +1 -1
- package/dist/cli-delegate/{chunk-NDJLNC6Q.js → chunk-T6BP34WI.js} +1 -0
- package/dist/cli-delegate/{chunk-RQNNW7IF.js → chunk-T7XSJSUQ.js} +433 -632
- package/dist/cli-delegate/{chunk-NQ7WT43P.js → chunk-TMWYUOK4.js} +75 -12
- package/dist/cli-delegate/{chunk-EEHDXSYD.js → chunk-WQWXGIWB.js} +12 -273
- package/dist/cli-delegate/{chunk-QLDHIPWR.js → chunk-XQTPXKFA.js} +1 -1
- package/dist/cli-delegate/cmd_analyze_session.js +223 -43
- package/dist/cli-delegate/cmd_brand_status.js +3 -2
- package/dist/cli-delegate/cmd_conformance.js +489 -238
- package/dist/cli-delegate/cmd_converge.js +3 -3
- package/dist/cli-delegate/cmd_doctor.js +15 -12
- package/dist/cli-delegate/cmd_doctor_neighbours.js +11 -4
- package/dist/cli-delegate/cmd_explain.js +43 -19
- package/dist/cli-delegate/cmd_export.js +10 -10
- package/dist/cli-delegate/cmd_git_convention.js +1851 -0
- package/dist/cli-delegate/cmd_handoff.js +40 -21
- package/dist/cli-delegate/cmd_mcp_available.js +3 -2
- package/dist/cli-delegate/cmd_migrate.js +3 -3
- package/dist/cli-delegate/cmd_packs_active.js +4 -3
- package/dist/cli-delegate/cmd_prune.js +10 -10
- package/dist/cli-delegate/cmd_route_audit.js +7 -7
- package/dist/cli-delegate/cmd_route_explain.js +5 -5
- package/dist/cli-delegate/cmd_session_recycle.js +9 -7
- package/dist/cli-delegate/cmd_settings_check.js +54 -7
- package/dist/cli-delegate/cmd_settings_get.js +18 -8
- package/dist/cli-delegate/cmd_settings_migrate.js +10 -10
- package/dist/cli-delegate/cmd_settings_set.js +1 -1
- package/dist/cli-delegate/cmd_sync.js +10 -10
- package/dist/cli-delegate/cmd_uninstall.js +10 -10
- package/dist/cli-delegate/cmd_update.js +7 -7
- package/dist/cli-delegate/cmd_upgrade.js +7 -7
- package/dist/cli-delegate/cmd_validate.js +10 -10
- package/dist/cli-delegate/cmd_versions.js +5 -5
- package/dist/cli-delegate/gate_budget.js +1 -1
- package/dist/cli-delegate/gate_execute.js +2 -2
- package/dist/cli-delegate/roadmap_gates.js +2 -2
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +171 -107
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +7 -7
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +41 -22
- package/dist/discovery/trust-report.md +3 -3
- package/dist/discovery/workspaces.json +16 -11
- package/dist/hooks/dispatch.js +2520 -1924
- package/dist/hooks/dispatch.sha256 +1 -1
- package/dist/hooks/svg_rules.chunk.cjs +1626 -0
- package/dist/hooks/svg_rules.chunk.cjs.sha256 +1 -0
- package/dist/install/install.mjs +462 -431
- package/dist/install/installThinLayer.js +40 -12
- package/dist/install/installedRuleLinks.js +105 -19
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
- package/dist/mcp/registry-manifest.json +5 -5
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +3063 -2160
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +15 -120
- package/dist/scripts/_lib/compile_time_toggles.js +12 -21
- package/dist/scripts/_lib/git_convention.js +232 -0
- package/dist/scripts/_lib/global_deploy_inventory.js +730 -0
- package/dist/scripts/_lib/installed_layer.js +344 -18
- package/dist/scripts/_lib/package_root.js +68 -0
- package/dist/scripts/_lib/rule_law_section.js +1 -1
- package/dist/scripts/_lib/scan_scope.js +105 -0
- package/dist/scripts/_lib/settings_removed_keys.js +168 -0
- package/dist/scripts/_lib/svg_dom.js +284 -0
- package/dist/scripts/_lib/svg_geometry.js +477 -0
- package/dist/scripts/_lib/svg_motion.js +179 -0
- package/dist/scripts/_lib/svg_rules.js +1337 -0
- package/dist/scripts/_lib/svg_urls.js +67 -0
- package/dist/scripts/_lib/thin_rules.js +80 -3
- package/dist/scripts/lint_svg_asset.js +324 -0
- package/dist/server/app.js +2 -1
- package/dist/server/gitKeysGate.js +105 -0
- package/dist/server/routes/settings.js +67 -8
- package/dist/server/routes/wizard.js +4 -0
- package/dist/server/schemas/settings.js +23 -81
- package/dist/shared/skillRanking.js +30 -4
- package/dist/ui/assets/{index-Cwq4d0hX.js → index-C3djEJah.js} +2 -2
- package/dist/ui/index.html +1 -1
- package/docs/MIGRATION.md +72 -1
- package/docs/contracts/settings-classes.md +35 -65
- package/docs/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
- package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
- package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
- package/docs/guidelines/agent-infra/layered-settings.md +13 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
- package/docs/guidelines/agent-infra/size-and-scope.md +36 -0
- package/docs/guidelines/design-antipatterns.md +1 -1
- package/docs/guidelines/php/git.md +15 -2
- package/package.json +4 -3
- package/src/agent-src/scripts/gate_budget.ts +47 -23
- package/src/agent-src/scripts/gate_execute.ts +12 -4
- package/src/agent-src/templates/AGENTS.md +1 -1
- package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
- package/src/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
- package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
- package/src/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
- package/src/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
- package/src/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
- package/src/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
- package/src/config/agent-settings.template.yml +79 -312
- package/src/config/agents-paths.yml +16 -0
- package/src/config/assurance-capability-registry.json +7 -3
- package/src/config/ci-local-parity.yml +3 -0
- package/src/config/continuity-surface.json +3 -3
- package/src/config/discovery/packs.yml +17 -1
- package/src/config/evaluator-budgets.json +19 -6
- package/src/config/gate-coverage.yml +65 -23
- package/src/config/gate-violation-baselines.json +56 -16
- package/src/config/gitignore-block.txt +19 -0
- package/src/config/hook-bundle-budget.json +1 -1
- package/src/config/release-gate-locality.yml +2 -1
- package/src/config/routing-coverage-seed.json +55 -6
- package/src/config/rule-law-ceilings.json +12 -6
- package/src/config/rule-obligations.json +833 -0
- package/src/install/installThinLayer.ts +76 -10
- package/src/install/installedRuleLinks.ts +105 -17
- package/src/scripts/_cli/cmd_analyze_session.ts +9 -15
- package/src/scripts/_cli/cmd_conformance.ts +13 -2
- package/src/scripts/_cli/cmd_doctor.ts +10 -10
- package/src/scripts/_cli/cmd_doctor_neighbours.ts +133 -0
- package/src/scripts/_cli/cmd_explain.ts +72 -14
- package/src/scripts/_cli/cmd_git_convention.ts +637 -0
- package/src/scripts/_cli/cmd_settings_check.ts +66 -8
- package/src/scripts/_cli/cmd_settings_get.ts +18 -3
- package/src/scripts/_cli/doctor_execution.ts +72 -1
- package/src/scripts/_dispatch.bash +37 -2
- package/src/scripts/_lib/agent_settings.ts +15 -124
- package/src/scripts/_lib/blocked_by_marker.ts +1 -1
- package/src/scripts/_lib/compile_time_toggles.ts +12 -21
- package/src/scripts/_lib/dispatch_import_closure.ts +163 -0
- package/src/scripts/_lib/git_base_ref.ts +92 -0
- package/src/scripts/_lib/git_convention.ts +291 -0
- package/src/scripts/_lib/git_convention_carrier.ts +389 -0
- package/src/scripts/_lib/git_convention_grammar.ts +246 -0
- package/src/scripts/_lib/git_convention_measure.ts +344 -0
- package/src/scripts/_lib/global_deploy_inventory.ts +74 -0
- package/src/scripts/_lib/graph_feeder_record.ts +236 -13
- package/src/scripts/_lib/installed_layer.ts +448 -23
- package/src/scripts/_lib/knowledge_global.ts +14 -1
- package/src/scripts/_lib/module_reach.ts +456 -0
- package/src/scripts/_lib/neighbour_contradictions.ts +236 -0
- package/src/scripts/_lib/neighbour_tool_use.ts +8 -10
- package/src/scripts/_lib/ratification_artifact.ts +220 -1
- package/src/scripts/_lib/ratification_subject.ts +92 -0
- package/src/scripts/_lib/release_findings_ingest.ts +15 -7
- package/src/scripts/_lib/release_highlights.ts +5 -0
- package/src/scripts/_lib/rule_law_section.ts +1 -1
- package/src/scripts/_lib/rule_obligations.ts +205 -0
- package/src/scripts/_lib/self_repair.ts +1 -1
- package/src/scripts/_lib/settings_removed_keys.ts +173 -0
- package/src/scripts/_lib/svg_dom.ts +318 -0
- package/src/scripts/_lib/svg_geometry.ts +480 -0
- package/src/scripts/_lib/svg_motion.ts +208 -0
- package/src/scripts/_lib/svg_rules.ts +1453 -0
- package/src/scripts/_lib/svg_urls.ts +72 -0
- package/src/scripts/_lib/test_red_state.ts +5 -0
- package/src/scripts/_lib/thin_rules.ts +83 -3
- package/src/scripts/_lib/touched_file_quality.ts +142 -6
- package/src/scripts/_lib/verification_command.ts +59 -0
- package/src/scripts/_lib/verify_clause.ts +27 -17
- package/src/scripts/_lib/worker_budget.ts +1 -1
- package/src/scripts/adr/regenerate_index.ts +16 -1
- package/src/scripts/ai_council/config.ts +7 -7
- package/src/scripts/ai_council/modification_review.ts +100 -0
- package/src/scripts/ai_council/modification_review_questions.ts +90 -0
- package/src/scripts/ai_council/orchestrator.ts +5 -5
- package/src/scripts/ai_council/spend_gate.ts +18 -7
- package/src/scripts/ai_team/config.ts +11 -16
- package/src/scripts/audit_user_type_axis.ts +20 -8
- package/src/scripts/bench_ab_clone.ts +1 -2
- package/src/scripts/bench_concern_spawn_path.ts +129 -0
- package/src/scripts/bench_graph_feeder_latency.ts +584 -0
- package/src/scripts/check_agent_artifact_location.ts +36 -0
- package/src/scripts/check_branch_freshness.ts +147 -24
- package/src/scripts/check_enforcement_coverage.ts +130 -0
- package/src/scripts/check_evaluator_budgets.ts +4 -0
- package/src/scripts/check_finding_dispositions.ts +88 -25
- package/src/scripts/check_gate_coverage.ts +4 -3
- package/src/scripts/check_gate_reachability.ts +48 -1
- package/src/scripts/check_generator_sync.ts +48 -0
- package/src/scripts/check_hook_bundle_composition.ts +107 -0
- package/src/scripts/check_kernel_edit_ratified.ts +86 -6
- package/src/scripts/check_pack_size.ts +1 -1
- package/src/scripts/check_release_manifest_content.ts +189 -0
- package/src/scripts/check_standing_rule_delivery.ts +96 -0
- package/src/scripts/check_suppression_hygiene.ts +2 -5
- package/src/scripts/ci_settle.ts +42 -5
- package/src/scripts/classify_merge_risk.ts +320 -0
- package/src/scripts/closure_scan.ts +91 -1
- package/src/scripts/command_suggester/settings.ts +8 -108
- package/src/scripts/command_suggester/types.ts +4 -5
- package/src/scripts/consumer_matrix.ts +102 -0
- package/src/scripts/context_hygiene_hook.ts +13 -23
- package/src/scripts/cost/preflight.mjs +12 -1
- package/src/scripts/council_cli.ts +7 -7
- package/src/scripts/dispatch_r2_reviewer.ts +24 -11
- package/src/scripts/explain_run.ts +8 -13
- package/src/scripts/generate_git_convention_grammar.ts +127 -0
- package/src/scripts/generate_host_cost_table.ts +20 -3
- package/src/scripts/handoff_context_hook.ts +86 -37
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +25 -6
- package/src/scripts/hooks/block_config_weakening.ts +48 -5
- package/src/scripts/hooks/block_plumbing_writes.ts +8 -4
- package/src/scripts/hooks/block_speaking_inbox_dir.ts +16 -1
- package/src/scripts/hooks/concern_registry.ts +2 -0
- package/src/scripts/hooks/delegation_nudge_hook.ts +2 -3
- package/src/scripts/hooks/design_pass_hook.ts +157 -3
- package/src/scripts/hooks/evidence_independence.ts +12 -4
- package/src/scripts/hooks/mcp_usage_observation_hook.ts +121 -0
- package/src/scripts/hooks/push_settle_hook.ts +4 -3
- package/src/scripts/hooks/rule_inject_hook.ts +44 -3
- package/src/scripts/hooks/state_io.ts +8 -4
- package/src/scripts/hooks/svg_obligation.ts +497 -0
- package/src/scripts/hooks/svg_rules_loader.ts +133 -0
- package/src/scripts/hooks/telemetry_usage_hook.ts +7 -46
- package/src/scripts/hooks/turn_end_gate_hook.ts +6 -3
- package/src/scripts/install-hooks.sh +42 -14
- package/src/scripts/install.ts +7 -31
- package/src/scripts/lint_blocker_citations.ts +198 -0
- package/src/scripts/lint_consolidation_lineage.ts +6 -3
- package/src/scripts/lint_design_quality.ts +60 -12
- package/src/scripts/lint_evidence_artifacts.ts +9 -0
- package/src/scripts/lint_hook_concern_budget.ts +10 -21
- package/src/scripts/lint_motion_authority_drift.ts +27 -0
- package/src/scripts/lint_pack_boundaries.ts +406 -28
- package/src/scripts/lint_roadmap_blockers.ts +282 -29
- package/src/scripts/lint_roadmap_complexity.ts +4 -2
- package/src/scripts/lint_rule_law_section.ts +151 -21
- package/src/scripts/lint_rule_skill_pack_reach.ts +17 -0
- package/src/scripts/lint_settings_classes.ts +1 -1
- package/src/scripts/lint_svg_asset.ts +365 -0
- package/src/scripts/lint_ticked_unmet_criteria.ts +165 -0
- package/src/scripts/lint_workflow_security.ts +12 -1
- package/src/scripts/measure_skill_ranker_baseline.ts +5 -0
- package/src/scripts/model_rule_injection.ts +3 -3
- package/src/scripts/onboarding_gate_hook.ts +7 -6
- package/src/scripts/print_required_checks.ts +15 -3
- package/src/scripts/probe_host_compliance.ts +33 -5
- package/src/scripts/probe_turnaround.ts +183 -3
- package/src/scripts/ratification_header.ts +77 -0
- package/src/scripts/refusal_envelope.ts +138 -0
- package/src/scripts/release_publication.ts +29 -3
- package/src/scripts/report_dispatch_import_closure.ts +76 -0
- package/src/scripts/report_installed_rule_links.ts +118 -1
- package/src/scripts/report_module_reach.ts +212 -0
- package/src/scripts/report_obligation_mechanism.ts +16 -18
- package/src/scripts/report_parked_blockers.ts +222 -0
- package/src/scripts/report_required_checks_drift.ts +196 -0
- package/src/scripts/report_skill_ranker_confusion.ts +103 -2
- package/src/scripts/report_standing_payload_by_host.ts +1 -1
- package/src/scripts/routing_doctor.ts +2 -2
- package/src/scripts/schemas/agent-settings.schema.json +17 -31
- package/src/scripts/schemas/command.schema.json +1 -1
- package/src/scripts/schemas/skill.schema.json +1 -1
- package/src/scripts/self_review_gate.ts +39 -2
- package/src/scripts/skill_tools/score_skill_relevance.ts +28 -19
- package/src/scripts/sync_pr_branch.ts +403 -132
- package/src/scripts/trigger_eval_grandfather.json +0 -16
- package/src/server/schemas/settings.ts +33 -177
- package/src/shared/skillRanking.ts +53 -4
- package/dist/cli-delegate/chunk-NYX3L2PZ.js +0 -99
- package/src/scripts/_lib/config_chain.ts +0 -477
- package/src/scripts/_lib/conformance_report.ts +0 -403
- package/src/scripts/_lib/eval_discrimination.ts +0 -95
- package/src/scripts/_lib/evaluator_promotion.ts +0 -225
- package/src/scripts/_lib/file_slicer.ts +0 -117
- package/src/scripts/_lib/legacy_boundary_map.ts +0 -228
- package/src/scripts/_lib/minimality_tiebreak.ts +0 -168
- package/src/scripts/_lib/overbuild_lens_contract.ts +0 -196
- package/src/scripts/_lib/role_split.ts +0 -338
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "event4u-agent-config",
|
|
3
3
|
"description": "Governed agent system — skills, rules, commands, and guidelines for AI-assisted development.",
|
|
4
|
-
"version": "16.
|
|
4
|
+
"version": "16.5.0",
|
|
5
5
|
"owner": {
|
|
6
6
|
"name": "event4u",
|
|
7
7
|
"email": "dev@event4u.app"
|
|
8
8
|
},
|
|
9
9
|
"metadata": {
|
|
10
10
|
"description": "A policy-driven execution system that enforces quality, consistency, and developer-like behavior for AI agents.",
|
|
11
|
-
"version": "16.
|
|
11
|
+
"version": "16.5.0"
|
|
12
12
|
},
|
|
13
13
|
"plugins": [
|
|
14
14
|
{
|
|
15
15
|
"name": "agent-config",
|
|
16
16
|
"description": "Full governed agent system — rules, skills, commands, guidelines, and runtime tooling.",
|
|
17
|
-
"version": "16.
|
|
17
|
+
"version": "16.5.0",
|
|
18
18
|
"source": ".",
|
|
19
19
|
"category": "governance",
|
|
20
20
|
"tags": [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-config",
|
|
3
3
|
"description": "A governed skill framework for AI agents — runtime execution, tooling, observability, feedback, and lifecycle management with policy-driven quality enforcement.",
|
|
4
|
-
"version": "16.
|
|
4
|
+
"version": "16.5.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "event4u",
|
|
7
7
|
"email": "dev@event4u.app"
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Bootstrap shim for the event4u agent-config suite. This plugin ships ONLY the dispatcher hooks plus one install-pointer skill — ALL content (skills, rules, commands) is installed via `npx -y @event4u/agent-config init`, which writes the file projection AND registers the same hooks in ~/.claude/settings.json. DEPRECATED as a content channel; kept so the marketplace listing stays discoverable and existing installs keep working hooks.",
|
|
9
|
-
"version": "16.
|
|
9
|
+
"version": "16.5.0",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"agent-config",
|
|
12
12
|
"skills",
|
package/CHANGELOG.md
CHANGED
|
@@ -32,6 +32,69 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
|
|
|
32
32
|
|
|
33
33
|
### Changed
|
|
34
34
|
|
|
35
|
+
- **46 settings keys are retired; an install that never changed them sees no
|
|
36
|
+
difference.** Each key's shipped default is now fixed behavior: every reader
|
|
37
|
+
of it — code, rule and command prose, the wizard — was rewritten to that
|
|
38
|
+
default in the same change. **If your `.agent-settings.yml` still sets one,
|
|
39
|
+
that value is ignored** and the loader prints one line per key —
|
|
40
|
+
`<key> was removed (<what decides instead>); ignored.` — so a non-default
|
|
41
|
+
value you chose is lost visibly, never silently. Delete the line to silence
|
|
42
|
+
it. The keys:
|
|
43
|
+
- Output and tone: `telegraph.speak`, `tokens.rich_skills`, `personal.minimal_output`, `personal.play_by_play`, `personal.pr_comment_bot_icon`, `verbosity.intent_announcements`, `verbosity.preview_artifacts`, `verbosity.routine_confirmations`, `verbosity.post_action_reports`.
|
|
44
|
+
- Reasoning protocol switches: `reasoning.auto_gate`, `reasoning.components.orchestrator`, `reasoning.components.notes_first`, `reasoning.components.grounding`, `reasoning.components.intent`, `reasoning.components.complexity_first`, `reasoning.components.verifier_default`, `reasoning.components.prediction_tracking`, `reasoning.components.decision_ledger`, `reasoning.components.uncertainty_budget`.
|
|
45
|
+
- Roadmap cadence: `roadmap.skip_pre_run_gate`, `roadmap.dashboard_regen_cadence`.
|
|
46
|
+
- Command suggestion and PR creation: `commands.auto_detect`, `commands.suggestion.enabled`, `commands.suggestion.confidence_floor`, `commands.suggestion.cooldown_seconds`, `commands.suggestion.max_options`, `commands.create_pr.api_examples`, `commands.create_pr.ui_paths`, `commands.create_pr.api_paths`.
|
|
47
|
+
- Memory and knowledge sharing: `memory.cadence`, `memory.review_threshold`, `knowledge.global_sharing.redaction.enabled`, `knowledge.global_sharing.redaction.halt_on_trigger`, `knowledge.global_sharing.auto_promote_threshold`, `knowledge.global_sharing.freshness.hypothesis_after_days`, `knowledge.global_sharing.freshness.stale_after_days`.
|
|
48
|
+
- Hooks and engine: `hooks.concern_budget.max_per_event`, `hooks.concern_budget.hard_fail`, `decision_engine.surface_traces`, `decision_engine.on_block_fallback`, `explain.enable_last`.
|
|
49
|
+
- Remaining: `project.pr_template`, `pipelines.skill_improvement`, `consistency.cross_source`, `subagents.downshift`, `ai_team.suppress_setup_hint`.
|
|
50
|
+
The reference page lists each key with the behavior that replaces it
|
|
51
|
+
(`templates/agent-settings.md` § Retired keys).
|
|
52
|
+
|
|
53
|
+
- **A medium security finding now needs a disposition before a release
|
|
54
|
+
ships.** `check_finding_dispositions` treats `security × medium` as blocking
|
|
55
|
+
for every release after 16.3.0 (council 2026-10-07, 2/2). Such a row must
|
|
56
|
+
carry `fixed` (with its commit), `false_positive` or `accepted_risk`, each
|
|
57
|
+
with a rationale and a `verified_by`, like any blocking row, and
|
|
58
|
+
`still_open` keeps the release red with a message saying so. On a release
|
|
59
|
+
pull request (`--pr`), a medium security finding the self-review reported
|
|
60
|
+
but the ledger lacks is red too. Releases up to 16.3.0 are judged as they
|
|
61
|
+
shipped. The merge gate (`self_review_gate.classifyBlocking`) is unchanged,
|
|
62
|
+
so on every other pull request the finding only advises. `claim × medium`
|
|
63
|
+
stays advisory in both.
|
|
64
|
+
- **No spend bound applies unless you set one.** Owner directive, 2026-10-05,
|
|
65
|
+
recorded as **ADR-279** and accepted on the owner's own answer (option (a))
|
|
66
|
+
on 2026-10-06. With nothing configured, no USD or token ceiling this package
|
|
67
|
+
defines stops a council run, a debate or a paid gate, and none of them asks —
|
|
68
|
+
because no ceiling exists to ask about. Every ceiling remains settable and
|
|
69
|
+
behaves exactly as its contract describes once set.
|
|
70
|
+
**Your own council file is not rewritten.** If you copied
|
|
71
|
+
`agents/templates/.ai-council.yml.example` before this release it carries
|
|
72
|
+
these lines explicitly, and they are your figures now:
|
|
73
|
+
`cost_budget.max_input_tokens: 500000`, `cost_budget.max_output_tokens:
|
|
74
|
+
200000`, `cost_budget.max_total_usd: 20.0` and `debate.max_cost_usd: 5.00`.
|
|
75
|
+
Delete them to become unbounded; keep them to stay bounded. The shipped
|
|
76
|
+
defaults behind an absent key moved to `0` in all three layers — the loader,
|
|
77
|
+
the command's own fallback for a file with no `cost_budget` block, and the
|
|
78
|
+
`CostBudget` constructor.
|
|
79
|
+
**`max_calls` and the debate round limits did not move**: they bound call
|
|
80
|
+
count per invocation, not money. Nor did any of the controls listed under
|
|
81
|
+
§ What stays in ADR-279 — provider refusals, the per-day plan-quota guards,
|
|
82
|
+
the `--confirm` a class-1 gate asks for, the debate's between-round
|
|
83
|
+
confirmation, or the budget an unattended run must still be given.
|
|
84
|
+
**Two defects were repaired in the same change, and both could bite a
|
|
85
|
+
configured install.** `0` was documented as disabling a token cap and did
|
|
86
|
+
not — the two token comparisons carried no zero guard while the two USD
|
|
87
|
+
comparisons beside them did, so a budget with every cap at zero breached on
|
|
88
|
+
a ten-token estimate. And the class-1 gate's two caps had to BOTH be set
|
|
89
|
+
before EITHER applied, so setting one left you bounded by neither. Each cap
|
|
90
|
+
now bounds alone.
|
|
91
|
+
**One optional hard stop now works for the first time.** With
|
|
92
|
+
`cost.enforcement: hard-stop` and a budget configured, the cost preflight
|
|
93
|
+
resolved its budget script relative to the working directory, read the
|
|
94
|
+
resulting empty output as "no budget configured", and exited `0` on a spent
|
|
95
|
+
budget from every working directory. It now resolves the script from its own
|
|
96
|
+
location and exits non-zero as its contract always said it would.
|
|
97
|
+
|
|
35
98
|
- **`agent-config init` no longer overwrites a managed file you have edited.**
|
|
36
99
|
Owner ruling, 2026-09-21, taken after an AI council split 1/1 on it. Until
|
|
37
100
|
now the installer's `_resolve_file_conflict` returned `write` for every
|
|
@@ -125,6 +188,79 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
|
|
|
125
188
|
|
|
126
189
|
### Added
|
|
127
190
|
|
|
191
|
+
- **An old project keeps its real commit format — `agent-config git:convention
|
|
192
|
+
measure`.** A repository with no declared convention and no approved card is
|
|
193
|
+
now measured instead of silently given Conventional Commits: the verb samples
|
|
194
|
+
the non-merge history of the default branch, resolved as the carrier resolves
|
|
195
|
+
it (the server's symref, then `refs/remotes/origin/HEAD`) — with no default
|
|
196
|
+
branch it says so and exits `1` rather than sampling `main`, `master` or the
|
|
197
|
+
current branch in its place — drops bots, automation and bulk imports, caps
|
|
198
|
+
each author per half, and names the established subject family or — below the
|
|
199
|
+
bar — the two strongest. It also proposes a `branch_pattern` from the remote
|
|
200
|
+
branch names (or reports no clear pattern) and shows the observed update style,
|
|
201
|
+
which it never adopts. The thresholds are constants of the module the verb
|
|
202
|
+
runs and are rendered into the commit-subject reference, not restated by hand.
|
|
203
|
+
`show` and `subject` print `no convention established — run git:convention
|
|
204
|
+
measure` in that state (`convention_established` under `--json`; exit codes
|
|
205
|
+
unchanged). An interactive `/commit` asks once — the established family or the
|
|
206
|
+
two strongest against Conventional Commits — and writes the answer to the
|
|
207
|
+
approved convention card, also when the answer is Conventional, so the question
|
|
208
|
+
is never repeated; `/commit:in-chunks` never asks and reports the measurement.
|
|
209
|
+
Where the choice maps to a setting, `measure` prints the ready-to-commit
|
|
210
|
+
`.git-convention.yml` (`commit_format`, `branch_pattern`, never
|
|
211
|
+
`update_strategy`); a human creates and commits it, the agent never writes it.
|
|
212
|
+
|
|
213
|
+
- **A team's git convention can be declared instead of measured — the new
|
|
214
|
+
`git:` settings block.** Three Class-C keys, each defaulting to the
|
|
215
|
+
behaviour every install had before, so an install that sets nothing is
|
|
216
|
+
unchanged. `git.commit_format: ticket-conventional` writes
|
|
217
|
+
`DEV-1234 feat(exporter): …` instead of `feat(DEV-1234): …` and treats a
|
|
218
|
+
ticket in the scope as a wrong subject; `/commit` and `/commit:in-chunks`
|
|
219
|
+
validate against the regex for the configured format, and the
|
|
220
|
+
conventional-commits-writing classifier gains a `ticket-conventional` family
|
|
221
|
+
so such a history is no longer misread as free-text ticket prefixes.
|
|
222
|
+
`git.branch_pattern` (`{type}`, `{ticket}`, `{slug}`) shapes the branches
|
|
223
|
+
`/worktree:create` proposes; reading a ticket back out of a branch now takes
|
|
224
|
+
the first `[A-Z][A-Z0-9]+-[0-9]+` token that is not a standard name (`UTF`,
|
|
225
|
+
`ISO`, `SHA`, `RFC` prefixes), so `DEV-1234-device-export` yields its ticket.
|
|
226
|
+
Under `git.update_strategy: rebase`, `/create-pr` asks for
|
|
227
|
+
`git rebase origin/<base>` plus `--force-with-lease`, and `/pr:merge`,
|
|
228
|
+
`/prepare-for-review` and `/review:changes` report a behind branch instead of
|
|
229
|
+
updating it; none of them merges the base into a feature branch — one git-workflow reference
|
|
230
|
+
(`references/branch-update.md`) now owns that decision, and
|
|
231
|
+
`sync_pr_branch` exits `3` instead of merging when such a branch is behind
|
|
232
|
+
(a current branch still exits `0`). **What it does not do:** the setting picks the operation and never
|
|
233
|
+
authorises it; git-history-discipline still requires the user's request for
|
|
234
|
+
every rebase, fixup or autosquash. A team declares the keys in
|
|
235
|
+
`.git-convention.yml`, a tracked file at the repository root that overrides
|
|
236
|
+
every developer settings file and where either value is a declaration
|
|
237
|
+
(ADR-283): `git.update_strategy` is read from it at the commit a pull request
|
|
238
|
+
is judged against, so a worktree, a fresh clone and CI agree and a pull
|
|
239
|
+
request cannot change the strategy its own update is judged by;
|
|
240
|
+
`git.commit_format` and `git.branch_pattern` are read at `HEAD`. Without the
|
|
241
|
+
carrier the keys come from the project settings files as before; the
|
|
242
|
+
user-global file does not carry them, and the settings GUI no longer offers
|
|
243
|
+
them while it writes there. `agent-config git:convention show` prints the
|
|
244
|
+
value in force, the commit it was read at and a differing checkout value as
|
|
245
|
+
a candidate; `show --key` judges only the named keys. The commit is the
|
|
246
|
+
`--base` given — a pull request passes `--base origin/<its base>` — else the
|
|
247
|
+
default branch; nothing asks the forge. A carrier that does not parse makes
|
|
248
|
+
`sync_pr_branch` exit `4`, a target that names no commit exit `1`, and a named
|
|
249
|
+
commit that cannot be fetched is `unverified`; none of them merges. A target
|
|
250
|
+
that moves between the strategy read and the merge is read again at the
|
|
251
|
+
commit being merged, which is governed by the strategy it carries: the same
|
|
252
|
+
strategy goes on against it, another one exits `1` before anything is
|
|
253
|
+
merged. A blank `--base` is a usage error (exit `2`) in `sync_pr_branch`,
|
|
254
|
+
`git:convention show` and `sync`, and `check_branch_freshness`, never read
|
|
255
|
+
as no `--base`. A commit-linting config
|
|
256
|
+
in the repository still outranks `git.commit_format`. In a packed consumer
|
|
257
|
+
install `git:convention show` is the git surface that resolves, and the
|
|
258
|
+
consumer matrix proves it with a `git-convention` leg; `sync_pr_branch` and
|
|
259
|
+
`check_branch_freshness`, which `/pr:merge`, `/create-pr`, `/fix:ci` and
|
|
260
|
+
`/roadmap:next` run through `./scripts-run`, still need a source checkout of
|
|
261
|
+
this package.
|
|
262
|
+
The merge method is not a key: `/pr:merge` already reads it from the forge.
|
|
263
|
+
|
|
128
264
|
- **A push no longer ships a branch whose tree contradicts its own commits.**
|
|
129
265
|
`check_branch_work_committed` runs first in the pre-push hook, and it exists
|
|
130
266
|
because this branch produced the defect it guards: a merge-reconciled baseline
|
|
@@ -735,109 +871,73 @@ Entry-shape contract: [`docs/contracts/CHANGELOG-conventions.md`](docs/contracts
|
|
|
735
871
|
> keeps the active era under the 250-line drift cap enforced by
|
|
736
872
|
> `tests/test_changelog_eras.py`.
|
|
737
873
|
|
|
738
|
-
# Era: 16.
|
|
874
|
+
# Era: pre-16.5.0 — archived
|
|
739
875
|
|
|
740
|
-
>
|
|
876
|
+
> All entries before `16.5.0` live in
|
|
877
|
+
> [`docs/archive/CHANGELOG-pre-16.5.0.md`](docs/archive/CHANGELOG-pre-16.5.0.md).
|
|
878
|
+
> The archive is read-only; git tags remain the canonical
|
|
879
|
+
> source for what shipped. Splitting them out of the main file
|
|
880
|
+
> keeps the active era under the 250-line drift cap enforced by
|
|
881
|
+
> `tests/test_changelog_eras.py`.
|
|
882
|
+
|
|
883
|
+
# Era: 16.5.x — current
|
|
884
|
+
|
|
885
|
+
> Started at `16.5.0`. Full entries live inline below.
|
|
741
886
|
> The drift test caps this era at 250 lines of entry body; growth past
|
|
742
|
-
> that forces a new era split (`# Era: 16.
|
|
887
|
+
> that forces a new era split (`# Era: 16.6.x`, etc.) — see
|
|
743
888
|
> [`docs/contracts/CHANGELOG-conventions.md § Era splits`](docs/contracts/CHANGELOG-conventions.md).
|
|
744
889
|
|
|
745
|
-
## [16.
|
|
890
|
+
## [16.5.0](https://github.com/event4u-app/agent-config/compare/16.4.0...16.5.0) (2026-10-12)
|
|
746
891
|
|
|
747
892
|
### Release highlights
|
|
748
893
|
|
|
749
|
-
- **Behaviour changes:**
|
|
894
|
+
- **Behaviour changes:** give hand-authored SVG a witness, an owner, and five recorded runs (#2300) (bdeb65c).
|
|
750
895
|
- **Default changes + migration:** _none_
|
|
751
|
-
- **Security and correctness:**
|
|
896
|
+
- **Security and correctness:** close the two real findings of the third 16.5.0 review, plus road-to-svg-witness-provenance (#2309) (d1f7c3b); close the security findings from the 16.5.0 re-cut review (#2307) (9904258); close the five medium-security findings from the 16.5.0 release review (#2305) (5593838); close the sixth review round of #2302 (#2303) (c88865f); strip only generic glob classes from an inbox name (fda00b3); admit a date suffix only on the families that are dated (fd5be56); +3 more.
|
|
752
897
|
- **Honest nulls:** _none_
|
|
753
|
-
- **Known limitations:**
|
|
898
|
+
- **Known limitations:** _none_
|
|
754
899
|
|
|
755
|
-
> **Governance mix:** governance-only
|
|
900
|
+
> **Governance mix:** governance-only 6 vs consumer-only 1 (taxonomy 1.1.0; range d411219277ce..d1f7c3b834bb).
|
|
756
901
|
|
|
757
902
|
### Features
|
|
758
903
|
|
|
759
|
-
* **
|
|
760
|
-
*
|
|
761
|
-
* **evidence:** classify the evidence tree by reference, and rule out a cold location (#2153) ([590cebc](https://github.com/event4u-app/agent-config/commit/590cebc729a7a45fbe98e2ee55b8f231ac0329c2))
|
|
762
|
-
* **hooks:** run the project's own quality tools over the files a turn edited (#2152) ([d4760bb](https://github.com/event4u-app/agent-config/commit/d4760bb4f47b7be902c9ec3b88c51d8aa818311e))
|
|
763
|
-
* **memory-learn:** open the learning dogfood window and give it a screen (#2151) ([162889e](https://github.com/event4u-app/agent-config/commit/162889e8b16359904766927a7fbd896f961ed9b9))
|
|
764
|
-
* **ui:** flip the carried-nothing shadow to a halt, closing road-to-a-ui-coverage-ledger-that-can-fail (#2149) ([cbd5d07](https://github.com/event4u-app/agent-config/commit/cbd5d07fe21af3a3de12e847b3b8da7f86f8bb81))
|
|
904
|
+
* **svg:** close all three SVG roadmaps — routing, review follow-ups and the live-session findings (#2302) ([5098697](https://github.com/event4u-app/agent-config/commit/50986972088029db18a90c6f7d198c5ab0e26da5))
|
|
905
|
+
* give hand-authored SVG a witness, an owner, and five recorded runs (#2300) ([bdeb65c](https://github.com/event4u-app/agent-config/commit/bdeb65c37533825c2a3061fb7a33ef5778454d11))
|
|
765
906
|
|
|
766
907
|
### Bug Fixes
|
|
767
908
|
|
|
768
|
-
* **
|
|
769
|
-
* **
|
|
770
|
-
* **
|
|
909
|
+
* **svg:** close the two real findings of the third 16.5.0 review, plus road-to-svg-witness-provenance (#2309) ([d1f7c3b](https://github.com/event4u-app/agent-config/commit/d1f7c3b834bb43b8937dee44b7e38733d5eb70f2))
|
|
910
|
+
* **svg:** close the security findings from the 16.5.0 re-cut review (#2307) ([9904258](https://github.com/event4u-app/agent-config/commit/990425836285eded0a6cb4370f8ded95823dd6c8))
|
|
911
|
+
* **svg:** close the five medium-security findings from the 16.5.0 release review (#2305) ([5593838](https://github.com/event4u-app/agent-config/commit/5593838c01fab686e0856fba227ae4f37cd7b8f0))
|
|
912
|
+
* **svg-engine:** close the sixth review round of #2302 (#2303) ([c88865f](https://github.com/event4u-app/agent-config/commit/c88865fdc1aad9337b4f98a868483d571848d7ea))
|
|
913
|
+
* **hooks:** strip only generic glob classes from an inbox name ([fda00b3](https://github.com/event4u-app/agent-config/commit/fda00b35ef5a0d2b603b56511a986081a261dc11))
|
|
914
|
+
* **hooks:** admit a date suffix only on the families that are dated ([fd5be56](https://github.com/event4u-app/agent-config/commit/fd5be56f6f17ebe96b17579ffdd452cbef3dfc39))
|
|
915
|
+
* **hooks:** accept only wildcard-suffixed family heads and keep bracket payloads ([8446cc0](https://github.com/event4u-app/agent-config/commit/8446cc05e322c6d084df502319daff8c1bc79e63))
|
|
916
|
+
* **hooks:** let a glob over an opaque family prefix through block-speaking-inbox-dir ([22904a5](https://github.com/event4u-app/agent-config/commit/22904a51d58dd8d3bbed7a6db08b717b7336adb1))
|
|
917
|
+
* **lineage:** count a present non-road-to parent as present ([4b40ab6](https://github.com/event4u-app/agent-config/commit/4b40ab692f85bbc2b642f98603a9d601879cd5a1))
|
|
771
918
|
|
|
772
919
|
### Documentation
|
|
773
920
|
|
|
774
|
-
* **
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
* **
|
|
779
|
-
* **roadmaps:** record arrivals and owner questions on six held objects ([60f9e60](https://github.com/event4u-app/agent-config/commit/60f9e60f6d2940c49677479641a599d23cbd380b))
|
|
780
|
-
* **roadmaps:** land eight roadmaps from inbox round inbox-2026-10-a ([2c34c3d](https://github.com/event4u-app/agent-config/commit/2c34c3d99b103bd704f917d1603e926f7dac3f0c))
|
|
781
|
-
* **evidence:** declare the evidence type on the inbox-2026-10-b disposition ([8adf9ef](https://github.com/event4u-app/agent-config/commit/8adf9eff9b7908334ed29cb7ed4fbe48f2e05cda))
|
|
782
|
-
* **evidence:** record the inbox-2026-10-b disposition ([a51740b](https://github.com/event4u-app/agent-config/commit/a51740b4b79d963af8ff2fd3551c26214430166e))
|
|
783
|
-
* **stubs:** count the inbox-2026-10-b arrivals on four held stubs ([6f2bc0b](https://github.com/event4u-app/agent-config/commit/6f2bc0b116a78747bc98e1addfda25672ea76ed7))
|
|
784
|
-
* **roadmaps:** land the leading-every-row programme and its lanes from inbox-2026-10-b ([6631412](https://github.com/event4u-app/agent-config/commit/6631412219157e4b26ee9f1eede6493ea38764c0))
|
|
921
|
+
* **contracts:** point the hook-concern row at the manifest instead of a count ([3406ae5](https://github.com/event4u-app/agent-config/commit/3406ae53848f7cf2ca866c2d03d297ad549743d1))
|
|
922
|
+
|
|
923
|
+
### Tests
|
|
924
|
+
|
|
925
|
+
* **hooks:** table-drive the opaque-family glob cases over all five heads ([52c9e0e](https://github.com/event4u-app/agent-config/commit/52c9e0e40ebd736aadcf8f37831f994ba1fe0dc6))
|
|
785
926
|
|
|
786
927
|
### Chores
|
|
787
928
|
|
|
788
|
-
* **
|
|
789
|
-
* **deps-dev:** bump the telemetry-worker group across 1 directory with 2 updates (#2163) ([11eb5d8](https://github.com/event4u-app/agent-config/commit/11eb5d813dc9057e9f475b7a827aa9730d688447))
|
|
929
|
+
* **ratification:** record the council review of the inbox-name guard change ([a03c9e9](https://github.com/event4u-app/agent-config/commit/a03c9e95a6b7cb58065fd9e9c30b104ebcb4911b))
|
|
790
930
|
|
|
791
931
|
### Other
|
|
792
932
|
|
|
793
|
-
*
|
|
794
|
-
*
|
|
795
|
-
*
|
|
796
|
-
*
|
|
797
|
-
*
|
|
798
|
-
*
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
* Two Phase-0 instruments closed against measurement, and the third blocked by a record rather than a ceiling (#2198) ([92027a2](https://github.com/event4u-app/agent-config/commit/92027a20c350f5b53625a1efbd3157aaf163b26b))
|
|
802
|
-
* Two locks under one owner question, a bundle figure stale by 41 kB, and the oracle a blocked step is waiting for (#2197) ([24d6d5b](https://github.com/event4u-app/agent-config/commit/24d6d5b0d93852ee106dd1a1a7eda9bca9b2c249))
|
|
803
|
-
* A blocker that held on its fourth reading, and the line it cited having moved (#2195) ([780c27e](https://github.com/event4u-app/agent-config/commit/780c27e1ed0f36edc6cd59883dce36230dfef9d4))
|
|
804
|
-
* A payload total that drifted under a pin that never pinned it (#2194) ([e6b7193](https://github.com/event4u-app/agent-config/commit/e6b71933a84bb15e432e86aced4c848897498716))
|
|
805
|
-
* A blocker that held on its sixth reading, and the four edits it is waiting on (#2193) ([fe0cff8](https://github.com/event4u-app/agent-config/commit/fe0cff8a558897a47caba9eb6d9dbe80e90e2d4b))
|
|
806
|
-
* A blocker stated in prose, re-stated as the command that decides it (#2192) ([18ac6b2](https://github.com/event4u-app/agent-config/commit/18ac6b21ec35c4132958dc382349acc6af9a3b53))
|
|
807
|
-
* A fifth reading of two blockers that held, and a second obstacle under the first (#2191) ([afad042](https://github.com/event4u-app/agent-config/commit/afad042bb39e24f3edf5dbbbfccabbda0f3ddb00))
|
|
808
|
-
* A guard that permitted the call precisely when it broke, in six places and a seventh shape (#2189) ([51ee084](https://github.com/event4u-app/agent-config/commit/51ee0844b564f8863b753606f1758c9c0ef6dbd3))
|
|
809
|
-
* An accrual figure that moved while the labelled corpus did not (#2190) ([30481f6](https://github.com/event4u-app/agent-config/commit/30481f6605ade9ff06bbc9ca300ab8614781321c))
|
|
810
|
-
* A third reading of a blocker that has not moved, and a census nine units behind the tree (#2187) ([50bec97](https://github.com/event4u-app/agent-config/commit/50bec97430107d9fe73a6561a4fb986150c57ea8))
|
|
811
|
-
* The fourth wake shape has no envelope tag, and the anchor is the whole guard (#2188) ([97a5a64](https://github.com/event4u-app/agent-config/commit/97a5a647412e376bf8ac12b9065706710c956831))
|
|
812
|
-
* Rule links that name a path the repository actually has, and the blocker that held them (#2185) ([8031e09](https://github.com/event4u-app/agent-config/commit/8031e09d6ff6ecc61be329f2af4a904bcc7be18f))
|
|
813
|
-
* The third wake shape: a subagent hand-back is a turn nobody typed, in two vocabularies that both missed it (#2186) ([0199fd0](https://github.com/event4u-app/agent-config/commit/0199fd0c0a448f3fdf262373cc30971213954168))
|
|
814
|
-
* Twenty-eight boxes re-run rather than read, and the policy behind seven settled-looking cells (#2183) ([d6a2da7](https://github.com/event4u-app/agent-config/commit/d6a2da7bca601dbe9432b35c6fd76fddd63c80db))
|
|
815
|
-
* A rule carrier that delivers what the install carries, in the host's form, in a string the host keeps (#2182) ([7fdfd0a](https://github.com/event4u-app/agent-config/commit/7fdfd0a4d59c616153ffaa283e265708b87b88ae))
|
|
816
|
-
* A rule carrier that works outside the repo: resolution, one mode answer, and the matrix that proves both (#2181) ([95dc7bf](https://github.com/event4u-app/agent-config/commit/95dc7bfb1ba8c5dcb43ce7cfe3f8d271093eacf9))
|
|
817
|
-
* The MCP recorder does not run, and what it would record was wrong in five ways (#2180) ([59824fd](https://github.com/event4u-app/agent-config/commit/59824fd95acfe5f6772f8da02e9f52a7896d593c))
|
|
818
|
-
* Neighbours counted by use, and the link criterion measured rather than assumed (#2179) ([cd26c2e](https://github.com/event4u-app/agent-config/commit/cd26c2e177976d85644fbe8fd9c5a973418bfcdc))
|
|
819
|
-
* Rule laws that can stand, and the class whose law stands with them (#2177) ([9e2fe18](https://github.com/event4u-app/agent-config/commit/9e2fe189e85d4b1feabb0bef55680e02097f0ac7))
|
|
820
|
-
* A route line that says where the skill came from (#2178) ([6bdc2b2](https://github.com/event4u-app/agent-config/commit/6bdc2b25ba6c6d06b94a2137ccfd336efc8f60b0))
|
|
821
|
-
* Stacks beyond PHP: the composition gate, the third binding site, and four resolver fixtures (#2173) ([a3c8393](https://github.com/event4u-app/agent-config/commit/a3c839340059ef68c8a37568685739bb9f8c7fe3))
|
|
822
|
-
* Say which tree the reach numbers came from, and publish the per-prompt pair (#2176) ([4871260](https://github.com/event4u-app/agent-config/commit/48712607ad706c502cb44938a288a39b64d3f784))
|
|
823
|
-
* Rule triggers and installed links that hold (#2174) ([328a21b](https://github.com/event4u-app/agent-config/commit/328a21bef2d8f6660227f4f9656d2043751ff7fc))
|
|
824
|
-
* The stop gate records who set stop_hook_active, and the fingerprint store cannot be bound where its council chose (#2175) ([379cd53](https://github.com/event4u-app/agent-config/commit/379cd535c6618d8d514b78654eef8c59461dc0a1))
|
|
825
|
-
* The advisories were already fixed; the record was not (#2171) ([30f7d21](https://github.com/event4u-app/agent-config/commit/30f7d21f65146fd348bc354b33093794ab500bcf))
|
|
826
|
-
* Dispositions the carried roadmaps were missing (#2172) ([11726a9](https://github.com/event4u-app/agent-config/commit/11726a985ca8de0e183c14d643519d7aa5d77d0c))
|
|
827
|
-
* archive the three roadmaps main still held at 100 % (#2168) ([21da719](https://github.com/event4u-app/agent-config/commit/21da71917d1ad685737b10196245c8d323bd21f4))
|
|
828
|
-
* Let dependency PRs reach their required check (#2169) ([540ee7a](https://github.com/event4u-app/agent-config/commit/540ee7a0bed2bf327c971f204ab90a346a768250))
|
|
829
|
-
* A tree that keeps its neighbours (#2161) ([4399b5a](https://github.com/event4u-app/agent-config/commit/4399b5a0d6395631d808f6bc5f75aaa7eed7e573))
|
|
830
|
-
* A graph that reaches the search, sees the edit, and feeds the gate in shadow (#2159) ([4958809](https://github.com/event4u-app/agent-config/commit/495880908332d55c9a4069f7266dc19c99c83824))
|
|
831
|
-
* A release record that says what it reviewed, and an index with every major (#2157) ([8e30a53](https://github.com/event4u-app/agent-config/commit/8e30a533124b1c85b011bb463a6bd63c3fc3c6e1))
|
|
832
|
-
* Three claims a roadmap makes about itself, made checkable (#2156) ([3a8498c](https://github.com/event4u-app/agent-config/commit/3a8498c2c00fcff37970e2eeabd4ebe7b43f8b9e))
|
|
833
|
-
* Blocking severities where a refusal can land (#2154) ([81d712f](https://github.com/event4u-app/agent-config/commit/81d712f2706ffe6fcdf98f2198a5607d7c6faf17))
|
|
834
|
-
* Give the three spawn-bound test suites their own timeout (#2166) ([aead73d](https://github.com/event4u-app/agent-config/commit/aead73d280f8c61de7cf604ef39c06274fb6baf4))
|
|
835
|
-
* A ranker that routes: the null, and the two premises it refuted (#2162) ([213d870](https://github.com/event4u-app/agent-config/commit/213d870558b7fbcdc033ac6f8f0ef4c1a43a5a80))
|
|
836
|
-
* One YAML reader in the hook bundle, a ceiling on it, and a census that renders (#2158) ([22b19e5](https://github.com/event4u-app/agent-config/commit/22b19e520c198b6f0aec2cbf8cb2851818c11fcc))
|
|
837
|
-
* Record a verification command that fails on claude (#2160) ([29b1832](https://github.com/event4u-app/agent-config/commit/29b183256155f9a3dea3d3351268b62b33628fde))
|
|
838
|
-
* Three surfaces that said more than they did (#2144) ([00612c1](https://github.com/event4u-app/agent-config/commit/00612c1f27edafcfa6340b41c56a0da281d6ebc2))
|
|
839
|
-
|
|
840
|
-
Tests: 25888 (+896 since 16.2.0)
|
|
933
|
+
* add road-to-svg-from-a-live-session from the continued raster-to-SVG session (#2301) ([a17bd4a](https://github.com/event4u-app/agent-config/commit/a17bd4aa2bcca14cc787096be644647be6188f2e))
|
|
934
|
+
* road-to-svg-review-followups from two reviews of the SVG roadmaps (#2299) ([b015b74](https://github.com/event4u-app/agent-config/commit/b015b747f7c2eea4a8206aba846b82dcc6e84f40))
|
|
935
|
+
* add two ready SVG roadmaps from inbox-2026-10-l (#2298) ([fd02787](https://github.com/event4u-app/agent-config/commit/fd02787ef8e0e9eb21e9a0256e5f3ea9bca21492))
|
|
936
|
+
* give six added verify clauses an expectation that can fail ([9a5338a](https://github.com/event4u-app/agent-config/commit/9a5338aebd49923a894e803b7e21f0d5dbb5d7d3))
|
|
937
|
+
* add thirteen ready roadmaps from inbox-2026-10-g..k ([d8a9e43](https://github.com/event4u-app/agent-config/commit/d8a9e43a881bcf6ad9a8a96c83a4e4958f321098))
|
|
938
|
+
* record inbox-2026-10-g..k arrivals on held stubs and parked roadmaps ([243b6f3](https://github.com/event4u-app/agent-config/commit/243b6f30251da478e03a5f9aa3d60636a14ea0e1))
|
|
939
|
+
|
|
940
|
+
Tests: 27325 (+127 since 16.4.0)
|
|
841
941
|
|
|
842
942
|
# Era: pre-4.0.0 — archived
|
|
843
943
|
|
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/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
|
|
|
@@ -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
|
|
|
@@ -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
|
|