@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
|
@@ -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.
|
|
@@ -32,7 +32,7 @@ adds a router rather than a 295th entry to it.
|
|
|
32
32
|
| Verb | Routes to | What it does |
|
|
33
33
|
|---|---|---|
|
|
34
34
|
| `audit` | `agent-config ui:audit` | Inventory the tree into `agents/runtime/state/ui-audit.json`. Class A. |
|
|
35
|
-
| `render` | `agent-config ui:render` | Capture desktop / 375 / 320 into `agents/runtime/state/render
|
|
35
|
+
| `render` | `agent-config ui:render` | Capture desktop / 375 / 320 into `agents/runtime/state/render/`; `--profile asset` renders one SVG per asset class on a light and a dark background instead. Class A. |
|
|
36
36
|
| `review` | [`design-review`](../../../skills/design-review/SKILL.md) | Two-pass review โ judgement before detector, or the `DEGRADED: single-context` banner. |
|
|
37
37
|
| `polish` | [`fe-design`](../../../skills/fe-design/SKILL.md) | Spacing, rhythm, alignment. |
|
|
38
38
|
| `quieter` | `fe-design` | Spacing, weight, contrast within the palette. |
|
|
@@ -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
|
```
|
|
@@ -96,8 +96,21 @@ branch** โ that is what makes the deliverable remote. Then:
|
|
|
96
96
|
1. Commit the fix (chunked, the agent picks the split per
|
|
97
97
|
[`commit-policy`](../../../rules/commit-policy.md) โ never ask how).
|
|
98
98
|
2. Update the branch against its PR base first:
|
|
99
|
-
|
|
100
|
-
the
|
|
99
|
+
`agent-config git:convention sync --base origin/<base>`, `<base>` being the
|
|
100
|
+
`baseRefName` of the branch's `OPEN` pull request (`gh pr view --json
|
|
101
|
+
state,baseRefName`; a closed or merged one does not count) โ otherwise, and
|
|
102
|
+
without `--base`, the target is the default branch, wrong for any other base โ then regenerate any derived files
|
|
103
|
+
the merge touched (`task sync && task generate-tools`). Under
|
|
104
|
+
`git.update_strategy: rebase` the script refuses a behind branch (exit 3); rebase on the user's request
|
|
105
|
+
instead ([`branch-update`](../../../../skills/git-workflow/references/branch-update.md)),
|
|
106
|
+
never merge the base in. An exit 3 whose line reads `TARGET_POLICY_STALE`
|
|
107
|
+
is not this branch's update: the branch is current with the pull request's
|
|
108
|
+
non-default target, and that target is itself behind the default branch its
|
|
109
|
+
convergence policy requires, so a rebase cannot clear it โ report it as the target's update and leave the branch. On exit 4 the strategy could not be read โ a
|
|
110
|
+
settings file that does not parse, a value outside the schema, or a value
|
|
111
|
+
only a user-global file sets; the line names the reason code and the file.
|
|
112
|
+
Nothing was merged: stop, report that line, and do not push until the file
|
|
113
|
+
is fixed. A PR left behind its
|
|
101
114
|
base accumulates conflicts for the moment someone wants to merge it, and a
|
|
102
115
|
push against a moved base is rejected โ both cost a round trip that this one
|
|
103
116
|
call prevents.
|
|
@@ -107,7 +120,8 @@ branch** โ that is what makes the deliverable remote. Then:
|
|
|
107
120
|
settle the check set on the new head. Report the *remote* verdict, never the
|
|
108
121
|
local one.
|
|
109
122
|
|
|
110
|
-
Bounded by
|
|
123
|
+
Bounded by the `execution.fix_loop_max` budget (default 10) and its ladder,
|
|
124
|
+
per failing target ([`autonomous-execution`](../../../rules/autonomous-execution.md)).
|
|
111
125
|
|
|
112
126
|
### Rules
|
|
113
127
|
|
|
@@ -62,8 +62,15 @@ Stop and report โ do not proceed to step 2 โ when any holds:
|
|
|
62
62
|
Run `## Procedure: Establish the house convention` from
|
|
63
63
|
[`conventional-commits-writing`](../../../skills/conventional-commits-writing/SKILL.md)
|
|
64
64
|
verbatim: tier-1 sources first (opened and read, never taken from a grep hit),
|
|
65
|
-
then the capped-weighted consensus pass with bots, merges, reverts and release
|
|
66
|
-
automation excluded.
|
|
65
|
+
then the capped-weighted consensus pass โ `agent-config git:convention measure` โ with bots, merges, reverts and release
|
|
66
|
+
automation excluded. When that tier-1 search found no configured source, a
|
|
67
|
+
declared `git.commit_format: ticket-conventional` (the skill's tier 1b; `ticket-scope`
|
|
68
|
+
is the template default and declares nothing) is the target: report it as
|
|
69
|
+
`Declared : git.commit_format: โฆ`, skip step 3's style question, and keep the
|
|
70
|
+
other authorisations. A configured source always outranks it โ including step
|
|
71
|
+
3's tier-1 veto.
|
|
72
|
+
|
|
73
|
+
Ticket reading, placement and precedence: [`commit-subject`](../../../../skills/git-workflow/references/commit-subject.md).
|
|
67
74
|
|
|
68
75
|
Report what it found, in one block, before offering anything:
|
|
69
76
|
|
|
@@ -190,7 +197,7 @@ Then, in one block, state:
|
|
|
190
197
|
for a branch a teammate already has;
|
|
191
198
|
- whether the range crosses the **default branch** โ rewriting merged history
|
|
192
199
|
is a different order of disruption and gets its own sentence;
|
|
193
|
-
- the
|
|
200
|
+
- the recovery ref you are about to write.
|
|
194
201
|
|
|
195
202
|
**Ask for the rewrite and, when the range is already pushed, the force-push in
|
|
196
203
|
the same block.** [`git-history-discipline`](../../../rules/git-history-discipline.md)
|
|
@@ -207,10 +214,19 @@ Wait. Do not run anything in the turn you ask.
|
|
|
207
214
|
|
|
208
215
|
### 7. Rewrite
|
|
209
216
|
|
|
210
|
-
**7a.
|
|
217
|
+
**7a. Pin the published ref, keep the old head, and capture what the
|
|
218
|
+
verification will compare against.** When the range is already pushed, first
|
|
219
|
+
run the `resolve` block of
|
|
220
|
+
[`branch-update.md` ยง The rebase sequence](../../../../skills/git-workflow/references/branch-update.md#the-rebase-sequence)
|
|
221
|
+
to set `REMOTE` and `RB` โ never `@{u}`, which is the base for a branch pushed
|
|
222
|
+
without `-u`. An unresolved target means no rewrite.
|
|
211
223
|
|
|
212
224
|
```bash
|
|
213
|
-
git
|
|
225
|
+
PUBLISHED=$(git ls-remote "$REMOTE" "refs/heads/$RB") \
|
|
226
|
+
|| { echo "STOP: could not read $REMOTE/$RB โ nothing was rewritten" >&2; exit 1; } # pushed range only
|
|
227
|
+
EXPECTED=$(cut -f1 <<<"$PUBLISHED")
|
|
228
|
+
SAVE="refs/agent-config/rewrites/$(date -u +%Y%m%dT%H%M%SZ)-msgfix/before"
|
|
229
|
+
git update-ref "$SAVE" HEAD
|
|
214
230
|
git rev-list --count HEAD > /tmp/precount.txt
|
|
215
231
|
git log ${BASE:+$BASE..}HEAD --pretty=format:'%aN%x09%aE%x09%ad%x09%s' > /tmp/preplan.txt
|
|
216
232
|
```
|
|
@@ -229,17 +245,21 @@ bracketed form:
|
|
|
229
245
|
```bash
|
|
230
246
|
git filter-repo --force --refs "${BASE:+$BASE..}HEAD" \
|
|
231
247
|
--commit-callback '
|
|
232
|
-
import re
|
|
248
|
+
import json, re, subprocess
|
|
233
249
|
ME = {b"me@example.com"} # the step-5 address set, bare, no <>
|
|
234
|
-
PAT = re.compile(rb"^\[?([A-Z][A-Z0-9]+-[0-9]+)\]?[: ]\s*(.+)$")
|
|
235
250
|
if len(commit.parents) > 1:
|
|
236
251
|
return
|
|
237
252
|
if commit.author_email not in ME:
|
|
238
253
|
return
|
|
239
254
|
subject, sep, body = commit.message.partition(b"\n")
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
255
|
+
out = subprocess.run(["agent-config", "git:convention", "ticket", subject.decode(), "--json"],
|
|
256
|
+
capture_output=True, text=True, check=True).stdout
|
|
257
|
+
ticket = json.loads(out)["ticket"]
|
|
258
|
+
if ticket is None:
|
|
259
|
+
return
|
|
260
|
+
lead = re.compile(rb"^\[?" + re.escape(ticket.encode()) + rb"\]?[: ]\s*")
|
|
261
|
+
if lead.match(subject):
|
|
262
|
+
commit.message = b"[" + ticket.encode() + b"] " + lead.sub(b"", subject, count=1) + sep + body
|
|
243
263
|
'
|
|
244
264
|
```
|
|
245
265
|
|
|
@@ -254,10 +274,12 @@ rewriting nothing:
|
|
|
254
274
|
cross-wire precisely because they need opposite forms.
|
|
255
275
|
- **Merges are skipped in the callback too**, or the rewrite touches commits the
|
|
256
276
|
step-6 table did not list.
|
|
257
|
-
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
277
|
+
- **The ticket comes from `agent-config git:convention ticket`**, never a regex
|
|
278
|
+
literal, so the rewrite reads tickets exactly as `/commit` does โ the verb must
|
|
279
|
+
be on `PATH`, and `check=True` makes a missing one fail loudly. A callback that
|
|
280
|
+
references a helper nothing defines is not a callback that failed loudly โ
|
|
281
|
+
Python evaluates the name only if control reaches it, so a wrong author filter
|
|
282
|
+
hides the missing helper completely.
|
|
261
283
|
|
|
262
284
|
`--refs` implies partial mode, which is what keeps the `origin` remote that
|
|
263
285
|
plain `filter-repo` strips as a safety measure; `--partial` is not needed
|
|
@@ -286,7 +308,7 @@ not exit that state.
|
|
|
286
308
|
|
|
287
309
|
```bash
|
|
288
310
|
git rev-list --count HEAD # equals /tmp/precount.txt
|
|
289
|
-
git diff
|
|
311
|
+
git diff "$SAVE" HEAD --stat # MUST be empty
|
|
290
312
|
git log ${BASE:+$BASE..}HEAD --pretty=format:'%aN%x09%aE%x09%ad%x09%s' > /tmp/postplan.txt
|
|
291
313
|
diff /tmp/preplan.txt /tmp/postplan.txt
|
|
292
314
|
```
|
|
@@ -304,21 +326,24 @@ The authorisation was taken in step 6, together with the rewrite's. Push in this
|
|
|
304
326
|
turn:
|
|
305
327
|
|
|
306
328
|
```bash
|
|
307
|
-
git push --force-with-lease
|
|
308
|
-
git
|
|
329
|
+
git push --force-with-lease="refs/heads/$RB:$EXPECTED" "$REMOTE" "HEAD:refs/heads/$RB"
|
|
330
|
+
[ "$(git ls-remote "$REMOTE" "refs/heads/$RB" | cut -f1)" = "$(git rev-parse HEAD)" ]
|
|
309
331
|
```
|
|
310
332
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
333
|
+
The lease carries the SHA pinned in 7a, never a bare `--force-with-lease`, and
|
|
334
|
+
never `--force`; a rejected lease is a stop โ refetch and report. Leave the
|
|
335
|
+
recovery ref in place: it lives outside `refs/tags/`, so `git push --tags`
|
|
336
|
+
cannot publish it. Tell the user its name, that recovery is
|
|
337
|
+
`git reset --keep <ref>` โ plus a leased force-push, since the rewrite was
|
|
338
|
+
already pushed โ and that `git update-ref -d <ref>` removes it.
|
|
314
339
|
|
|
315
340
|
### 9. Report
|
|
316
341
|
|
|
317
342
|
- Convention chosen, and how it was established (measured / user-supplied / tier-1).
|
|
318
343
|
- Range, author scope, commits rewritten vs unchanged.
|
|
319
344
|
- The `diff /tmp/preplan.txt /tmp/postplan.txt` result and the
|
|
320
|
-
`git diff <
|
|
321
|
-
- The
|
|
345
|
+
`git diff <recovery-ref> HEAD --stat` result, both quoted.
|
|
346
|
+
- The recovery ref and the one-line recovery command.
|
|
322
347
|
- Whether it was pushed, and to where.
|
|
323
348
|
|
|
324
349
|
## Do NOT
|
|
@@ -329,7 +354,7 @@ force-push, since the rewrite was already pushed.
|
|
|
329
354
|
instruction โ and never by offering it as a menu option they did not raise.
|
|
330
355
|
- Do NOT compare `commit.author_email` against a bracketed address, or pass a
|
|
331
356
|
bare address to `--author`.
|
|
332
|
-
- Do NOT treat an empty `git diff <
|
|
357
|
+
- Do NOT treat an empty `git diff <recovery-ref> HEAD` as proof the rewrite happened.
|
|
333
358
|
- Do NOT use `git filter-branch`, bare `git push --force`, or `--no-verify`.
|
|
334
359
|
- Do NOT rewrite into a style the repo's own validator rejects.
|
|
335
360
|
- Do NOT let a chosen style carry an attribution trailer, a subject emoji, or
|
|
@@ -183,13 +183,10 @@ already live.
|
|
|
183
183
|
`"The fallback covers legacy data where getTime() returns a string."`
|
|
184
184
|
- Never start multiple replies with "Fixed". Mix it up: "Done", "Good catch", "Yep", etc.
|
|
185
185
|
|
|
186
|
-
###
|
|
186
|
+
### No bot icon prefix
|
|
187
187
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
bot-authored.
|
|
191
|
-
|
|
192
|
-
Example: `๐ค Good catch, fixed.`
|
|
188
|
+
Never prefix a reply with `๐ค ` โ it is on the universal blacklist of
|
|
189
|
+
[`no-decorative-emojis-in-git-surfaces`](../../../rules/no-decorative-emojis-in-git-surfaces.md).
|
|
193
190
|
|
|
194
191
|
If `false` or `.agent-settings.yml` doesn't exist, do NOT add the prefix.
|
|
195
192
|
|
|
@@ -29,8 +29,8 @@ packs:
|
|
|
29
29
|
Accept one of five input paths:
|
|
30
30
|
|
|
31
31
|
1. **Explicit key** โ `/implement-ticket PROJ-123`
|
|
32
|
-
2. **Branch detection** โ no arg โ `git
|
|
33
|
-
`
|
|
32
|
+
2. **Branch detection** โ no arg โ `agent-config git:convention ticket` on the
|
|
33
|
+
current branch ([`commit-subject`](../../../skills/git-workflow/references/commit-subject.md) ยง Reading the ticket)
|
|
34
34
|
3. **Pasted text** โ markdown block under the command
|
|
35
35
|
4. **URL** โ `/implement-ticket https://โฆ/browse/PROJ-123`
|
|
36
36
|
5. **Local ticket bundle** โ a path to a bundle ticket file,
|
|
@@ -131,7 +131,7 @@ On exit `1`, look at the first line after `[halt] outcome=โฆ step=โฆ`:
|
|
|
131
131
|
options verbatim, wait for the user, write their answer back onto the
|
|
132
132
|
matching state slice, then re-run the engine. Never guess.
|
|
133
133
|
|
|
134
|
-
A **cross-source discrepancy** discovered while planning or applying โ ticket text contradicting an attached mockup, a spec silent on a clearly-needed behavior, or a spec-vs-codebase conflict (per [`cross-source-consistency`](../rules/cross-source-consistency.md)
|
|
134
|
+
A **cross-source discrepancy** discovered while planning or applying โ ticket text contradicting an attached mockup, a spec silent on a clearly-needed behavior, or a spec-vs-codebase conflict (per [`cross-source-consistency`](../rules/cross-source-consistency.md)) โ is a blocking user question, not a silent resolution: surface it as the `questions[0]` halt and wait, never expand scope on a plausible inference.
|
|
135
135
|
|
|
136
136
|
### 4. Directive mapping
|
|
137
137
|
|
|
@@ -121,22 +121,10 @@ link resolves. Broken link โ block and ask the user to fix.
|
|
|
121
121
|
- Duplicate of an existing entry (step 2) โ update instead.
|
|
122
122
|
- Missing `source:` โ an entry without evidence cannot be reviewed.
|
|
123
123
|
|
|
124
|
-
## Output format
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
- `off` โ emit nothing on success; surface gate failures only.
|
|
130
|
-
- `minimal` (default) โ one line:
|
|
131
|
-
`โ
Added <type>/<id> (gate: PASS)`.
|
|
132
|
-
- `full` โ multi-line block:
|
|
133
|
-
|
|
134
|
-
```
|
|
135
|
-
โ
Added <type>/<id> (confidence: <high|medium|low>)
|
|
136
|
-
Path: agents/memory/<type>.yml (or agents/memory/<type>/<hash>.yml)
|
|
137
|
-
Gate: scripts/check_memory.ts โ PASS
|
|
138
|
-
Next: commit and link from the relevant skill/command.
|
|
139
|
-
```
|
|
124
|
+
## Output format
|
|
125
|
+
|
|
126
|
+
One line on success: `โ
Added <type>/<id> (gate: PASS)`. Gate failures are
|
|
127
|
+
always surfaced.
|
|
140
128
|
|
|
141
129
|
## See also
|
|
142
130
|
|
|
@@ -134,15 +134,15 @@ After step 4, count unreviewed intake entries for the same type:
|
|
|
134
134
|
node -e "const d = []; process.stdin.on('data', c => d.push(c)); process.stdin.on('end', () => console.log(JSON.parse(d.join('')).length))"
|
|
135
135
|
```
|
|
136
136
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
**>
|
|
137
|
+
The threshold is a fixed **10** (the `memory.review_threshold` key was retired
|
|
138
|
+
on 2026-10-09 with that default as the behavior). If the count is **โค 10**,
|
|
139
|
+
skip this step silently. If **> 10**, surface a numbered preview of the top-3 highest-
|
|
140
140
|
confidence intake signals (see
|
|
141
141
|
[`memory-consolidation`](../../skills/memory-consolidation/SKILL.md)
|
|
142
142
|
ยง Phase 3 for the consolidation contract):
|
|
143
143
|
|
|
144
144
|
```
|
|
145
|
-
> โ ๏ธ {N} unreviewed intake signals for `{type}` (threshold
|
|
145
|
+
> โ ๏ธ {N} unreviewed intake signals for `{type}` (threshold 10).
|
|
146
146
|
> Top 3 by confidence:
|
|
147
147
|
>
|
|
148
148
|
> 1. [conf=high] {sig-id} โ {one-line observation}
|
|
@@ -156,8 +156,7 @@ confidence intake signals (see
|
|
|
156
156
|
```
|
|
157
157
|
|
|
158
158
|
Default action is **skip** โ the load completes regardless. This is a
|
|
159
|
-
nudge, not a gate.
|
|
160
|
-
step entirely (feature off). Never auto-promote.
|
|
159
|
+
nudge, not a gate. Never auto-promote.
|
|
161
160
|
|
|
162
161
|
## When to reject
|
|
163
162
|
|
|
@@ -205,23 +205,10 @@ git push -u origin memory/promote-<curated-id>
|
|
|
205
205
|
# Then route to /create-pr with the memory-promote template hint.
|
|
206
206
|
```
|
|
207
207
|
|
|
208
|
-
### 7. Report
|
|
208
|
+
### 7. Report
|
|
209
209
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
- `off` โ emit nothing on success; surface errors only.
|
|
214
|
-
- `minimal` (default) โ one line:
|
|
215
|
-
`โ Promoted <sig-id> โ <curated-id> (PR: <url or branch>)`.
|
|
216
|
-
- `full` โ multi-line block:
|
|
217
|
-
|
|
218
|
-
```
|
|
219
|
-
> โ
Promotion drafted.
|
|
220
|
-
> - Signal: <sig-id>
|
|
221
|
-
> - Curated: <curated-id> in agents/memory/<type>.yml
|
|
222
|
-
> - PR: <url or branch name>
|
|
223
|
-
> - Next: review + merge
|
|
224
|
-
```
|
|
210
|
+
One line on success: `โ Promoted <sig-id> โ <curated-id> (PR: <url or branch>)`.
|
|
211
|
+
Errors are always surfaced.
|
|
225
212
|
|
|
226
213
|
## Safety
|
|
227
214
|
|