@event4u/agent-config 16.2.0 → 16.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +337 -234
- package/README.md +15 -13
- package/agents/templates/.ai-council.yml.example +26 -8
- package/dist/agent-src/commands/analyze/inbox.md +11 -8
- package/dist/agent-src/commands/analyze/roadmap-repos.md +1 -1
- package/dist/agent-src/commands/bug/fix.md +17 -2
- package/dist/agent-src/commands/bug/investigate.md +1 -1
- package/dist/agent-src/commands/commit/in-chunks.md +40 -31
- package/dist/agent-src/commands/commit.md +72 -33
- package/dist/agent-src/commands/condense.md +2 -8
- package/dist/agent-src/commands/council/debate.md +11 -7
- package/dist/agent-src/commands/council/default.md +10 -9
- package/dist/agent-src/commands/council.md +1 -1
- package/dist/agent-src/commands/estimate-ticket.md +1 -1
- package/dist/agent-src/commands/feature/explore.md +3 -3
- package/dist/agent-src/commands/feature/plan.md +2 -2
- package/dist/agent-src/commands/feature/roadmap.md +1 -1
- package/dist/agent-src/commands/fix/ci.md +18 -4
- package/dist/agent-src/commands/fix/commit-messages.md +48 -23
- package/dist/agent-src/commands/fix/pr-comments.md +3 -6
- package/dist/agent-src/commands/implement-ticket.md +4 -4
- package/dist/agent-src/commands/jira-ticket.md +1 -1
- package/dist/agent-src/commands/memory/add.md +4 -16
- package/dist/agent-src/commands/memory/load.md +5 -6
- package/dist/agent-src/commands/memory/promote.md +3 -16
- package/dist/agent-src/commands/mission/upgrade.md +3 -2
- package/dist/agent-src/commands/optimize/agents-dir.md +2 -2
- package/dist/agent-src/commands/optimize/deep.md +4 -2
- package/dist/agent-src/commands/optimize/rtk.md +4 -26
- package/dist/agent-src/commands/pr/create/description-only.md +18 -15
- package/dist/agent-src/commands/pr/create.md +42 -34
- package/dist/agent-src/commands/pr/merge.md +136 -9
- package/dist/agent-src/commands/prepare-for-review.md +13 -11
- package/dist/agent-src/commands/project/analyze.md +7 -35
- package/dist/agent-src/commands/refine-ticket.md +1 -1
- package/dist/agent-src/commands/review/changes.md +14 -19
- package/dist/agent-src/commands/roadmap/create.md +1 -1
- package/dist/agent-src/commands/roadmap/materialize.md +1 -1
- package/dist/agent-src/commands/roadmap/next.md +10 -1
- package/dist/agent-src/commands/roadmap/process-full.md +56 -42
- package/dist/agent-src/commands/roadmap/resolve-blockers.md +411 -0
- package/dist/agent-src/commands/roadmap/triage-parked.md +325 -0
- package/dist/agent-src/commands/roadmap.md +18 -4
- package/dist/agent-src/commands/tests/create.md +17 -3
- package/dist/agent-src/commands/tests/execute.md +22 -5
- package/dist/agent-src/commands/worktree/create.md +7 -3
- package/dist/agent-src/commands/worktree/verify.md +2 -1
- package/dist/agent-src/contexts/authority/decision-revisit-gate-enforcement.md +43 -0
- package/dist/agent-src/contexts/communication/rules-auto/design-fidelity-enforcement.md +24 -0
- package/dist/agent-src/contexts/communication/rules-auto/think-before-action-mechanics.md +5 -3
- package/dist/agent-src/contexts/communication/rules-auto/token-efficiency-mechanics.md +7 -9
- package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +8 -6
- package/dist/agent-src/contexts/contracts/frugality-charter.md +8 -5
- package/dist/agent-src/contexts/execution/auto-dispatch-classification.md +7 -7
- package/dist/agent-src/contexts/execution/auto-orchestration-activation.md +0 -1
- package/dist/agent-src/contexts/execution/evidence-discipline.md +2 -2
- package/dist/agent-src/contexts/execution/non-interactive-contract.md +5 -8
- package/dist/agent-src/contexts/execution/rdp-gate.md +4 -4
- package/dist/agent-src/contexts/execution/roadmap-execution-contract.md +9 -8
- package/dist/agent-src/contexts/execution/roadmap-process-loop.md +99 -54
- package/dist/agent-src/contexts/execution/session-canary-enforcement-history.md +67 -0
- package/dist/agent-src/contexts/execution/subagent-routing.md +8 -8
- package/dist/agent-src/contexts/execution/subagent-steering.md +6 -4
- package/dist/agent-src/contexts/execution/terminal-states.md +2 -2
- package/dist/agent-src/contexts/execution/toolchain-resolver.md +95 -7
- package/dist/agent-src/contexts/subagent-configuration.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
- package/dist/agent-src/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
- package/dist/agent-src/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
- package/dist/agent-src/guidelines/agent-infra/layered-settings.md +13 -1
- package/dist/agent-src/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/dist/agent-src/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
- package/dist/agent-src/guidelines/agent-infra/size-and-scope.md +36 -0
- package/dist/agent-src/guidelines/php/git.md +15 -2
- package/dist/agent-src/rules/active-remediation.md +1 -2
- package/dist/agent-src/rules/analysis-skill-routing.md +0 -1
- package/dist/agent-src/rules/architecture.md +0 -1
- package/dist/agent-src/rules/artifact-drafting-protocol.md +0 -1
- package/dist/agent-src/rules/artifact-engagement-recording.md +0 -1
- package/dist/agent-src/rules/augment-edit-discipline.md +0 -1
- package/dist/agent-src/rules/autonomous-execution.md +1 -1
- package/dist/agent-src/rules/brand-consistency.md +0 -1
- package/dist/agent-src/rules/brand-source-of-truth.md +0 -1
- package/dist/agent-src/rules/broken-access-control.md +1 -1
- package/dist/agent-src/rules/cli-output-handling.md +0 -1
- package/dist/agent-src/rules/code-comment-discipline.md +0 -1
- package/dist/agent-src/rules/code-provenance.md +0 -1
- package/dist/agent-src/rules/command-suggestion-policy.md +1 -1
- package/dist/agent-src/rules/commit-conventions.md +1 -2
- package/dist/agent-src/rules/communication-through-line.md +1 -2
- package/dist/agent-src/rules/content-quoting-floor.md +1 -2
- package/dist/agent-src/rules/context-hygiene.md +6 -6
- package/dist/agent-src/rules/copilot-routing.md +1 -2
- package/dist/agent-src/rules/council-availability.md +4 -4
- package/dist/agent-src/rules/cross-source-consistency.md +4 -6
- package/dist/agent-src/rules/decision-revisit-gate.md +17 -35
- package/dist/agent-src/rules/delegation-policy.md +2 -3
- package/dist/agent-src/rules/design-fidelity.md +12 -16
- package/dist/agent-src/rules/design-review-after-ui-write.md +3 -3
- package/dist/agent-src/rules/devcontainer-routing.md +1 -2
- package/dist/agent-src/rules/doc-screenshot-hygiene.md +1 -1
- package/dist/agent-src/rules/docker-commands.md +0 -1
- package/dist/agent-src/rules/domain-adoption-policy.md +0 -1
- package/dist/agent-src/rules/domain-safety-disclaimer.md +1 -1
- package/dist/agent-src/rules/domain-safety-pii.md +1 -1
- package/dist/agent-src/rules/domain-safety-retention.md +1 -1
- package/dist/agent-src/rules/downstream-changes.md +0 -1
- package/dist/agent-src/rules/engineering-safety-floor.md +1 -1
- package/dist/agent-src/rules/evaluator-independence.md +3 -2
- package/dist/agent-src/rules/external-code-graph-interop.md +0 -1
- package/dist/agent-src/rules/external-reference-deep-dive.md +0 -1
- package/dist/agent-src/rules/fast-path-marker-visibility.md +2 -2
- package/dist/agent-src/rules/finance-safety-floor.md +1 -1
- package/dist/agent-src/rules/fix-what-you-see.md +6 -32
- package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +0 -1
- package/dist/agent-src/rules/git-history-discipline.md +2 -2
- package/dist/agent-src/rules/guidelines.md +0 -1
- package/dist/agent-src/rules/history-discipline.md +0 -1
- package/dist/agent-src/rules/icon-consistency.md +0 -1
- package/dist/agent-src/rules/image-likeness-and-rights.md +1 -1
- package/dist/agent-src/rules/improve-before-implement.md +0 -1
- package/dist/agent-src/rules/invite-challenge.md +0 -1
- package/dist/agent-src/rules/laravel-routing.md +1 -2
- package/dist/agent-src/rules/laravel-translations.md +0 -1
- package/dist/agent-src/rules/legal-safety-floor.md +3 -3
- package/dist/agent-src/rules/lethal-trifecta-guard.md +1 -1
- package/dist/agent-src/rules/linked-projects-onboarding-gate.md +0 -1
- package/dist/agent-src/rules/low-impact-corpus-privacy-floor.md +1 -1
- package/dist/agent-src/rules/markdown-safe-codeblocks.md +0 -1
- package/dist/agent-src/rules/media-governance-routing.md +13 -17
- package/dist/agent-src/rules/media-sync-ground-truth.md +0 -1
- package/dist/agent-src/rules/minimal-safe-diff.md +0 -1
- package/dist/agent-src/rules/missing-skill-recovery.md +0 -1
- package/dist/agent-src/rules/missing-tool-handling.md +0 -1
- package/dist/agent-src/rules/model-recommendation.md +0 -1
- package/dist/agent-src/rules/neighbour-precedence.md +64 -0
- package/dist/agent-src/rules/no-attribution-footers.md +0 -1
- package/dist/agent-src/rules/no-decorative-emojis-in-git-surfaces.md +0 -1
- package/dist/agent-src/rules/no-pr-progress-comments.md +0 -1
- package/dist/agent-src/rules/no-roadmap-references.md +0 -1
- package/dist/agent-src/rules/notes-first-reasoning.md +0 -1
- package/dist/agent-src/rules/onboarding-gate.md +0 -1
- package/dist/agent-src/rules/output-discipline.md +0 -1
- package/dist/agent-src/rules/package-ci-checks.md +0 -1
- package/dist/agent-src/rules/persona-governance.md +4 -5
- package/dist/agent-src/rules/php-coding.md +0 -1
- package/dist/agent-src/rules/prefer-enums-over-literals.md +0 -1
- package/dist/agent-src/rules/preservation-guard.md +0 -1
- package/dist/agent-src/rules/provider-lifecycle-discipline.md +3 -4
- package/dist/agent-src/rules/question-not-instruction.md +1 -1
- package/dist/agent-src/rules/reviewer-awareness.md +0 -1
- package/dist/agent-src/rules/roadmap-ci-steps-policy.md +0 -1
- package/dist/agent-src/rules/roadmap-progress-sync.md +4 -7
- package/dist/agent-src/rules/role-mode-adherence.md +0 -1
- package/dist/agent-src/rules/rule-type-governance.md +0 -1
- package/dist/agent-src/rules/runtime-safety.md +1 -1
- package/dist/agent-src/rules/scale-discipline.md +0 -1
- package/dist/agent-src/rules/secret-vcs-guard.md +1 -1
- package/dist/agent-src/rules/security-sensitive-stop.md +3 -3
- package/dist/agent-src/rules/self-repair-loop.md +0 -1
- package/dist/agent-src/rules/senior-engineering-discipline.md +0 -1
- package/dist/agent-src/rules/session-canary.md +7 -62
- package/dist/agent-src/rules/settings-ask-protocol.md +6 -6
- package/dist/agent-src/rules/size-enforcement.md +0 -1
- package/dist/agent-src/rules/skill-improvement-trigger.md +2 -3
- package/dist/agent-src/rules/skill-quality.md +0 -1
- package/dist/agent-src/rules/slash-command-routing-policy.md +0 -1
- package/dist/agent-src/rules/source-confidentiality.md +1 -1
- package/dist/agent-src/rules/source-discovery-gate.md +0 -1
- package/dist/agent-src/rules/source-of-truth.md +0 -1
- package/dist/agent-src/rules/spreadsheet-source-quality.md +1 -2
- package/dist/agent-src/rules/strategy-safety-floor.md +1 -1
- package/dist/agent-src/rules/symfony-routing.md +1 -2
- package/dist/agent-src/rules/think-before-action.md +0 -1
- package/dist/agent-src/rules/token-budget-discipline.md +12 -46
- package/dist/agent-src/rules/token-efficiency.md +0 -1
- package/dist/agent-src/rules/token-optimizer-maintenance.md +0 -1
- package/dist/agent-src/rules/tool-safety.md +1 -1
- package/dist/agent-src/rules/ui-audit-gate.md +1 -2
- package/dist/agent-src/rules/untrusted-input-defense.md +1 -1
- package/dist/agent-src/rules/upstream-proposal.md +0 -1
- package/dist/agent-src/rules/user-interaction.md +0 -1
- package/dist/agent-src/rules/user-interrupt-priority.md +1 -1
- package/dist/agent-src/scripts/archive_completed_roadmaps.ts +115 -20
- package/dist/agent-src/scripts/deferral_carry.ts +339 -0
- package/dist/agent-src/scripts/gate_budget.ts +47 -23
- package/dist/agent-src/scripts/gate_execute.ts +12 -4
- package/dist/agent-src/scripts/update_roadmap_progress.ts +4 -1
- package/dist/agent-src/skills/ai-council/SKILL.md +7 -4
- package/dist/agent-src/skills/ai-council/references/cost-and-redaction.md +21 -11
- package/dist/agent-src/skills/ai-council/references/procedure.md +12 -6
- package/dist/agent-src/skills/analysis-autonomous-mode/SKILL.md +1 -1
- package/dist/agent-src/skills/api-design/data/manifest.json +2 -2
- package/dist/agent-src/skills/api-testing/SKILL.md +17 -0
- package/dist/agent-src/skills/bug-analyzer/SKILL.md +1 -1
- package/dist/agent-src/skills/code-intelligence/SKILL.md +14 -2
- package/dist/agent-src/skills/command-routing/SKILL.md +3 -4
- package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +127 -139
- package/dist/agent-src/skills/corpus-grounding/ATTRIBUTION.md +39 -0
- package/dist/agent-src/skills/corpus-grounding/SKILL.md +8 -2
- package/dist/agent-src/skills/database/data/manifest.json +2 -2
- package/dist/agent-src/skills/database/data/query-tuning.csv +13 -13
- package/dist/agent-src/skills/design-system-capture/SKILL.md +0 -3
- package/dist/agent-src/skills/design-system-capture/references/import-procedure.md +1 -1
- package/dist/agent-src/skills/estimate-ticket/SKILL.md +1 -1
- package/dist/agent-src/skills/existing-ui-audit/SKILL.md +2 -2
- package/dist/agent-src/skills/fe-design/SKILL.md +1 -1
- package/dist/agent-src/skills/feature-planning/SKILL.md +1 -1
- package/dist/agent-src/skills/git-workflow/SKILL.md +44 -44
- package/dist/agent-src/skills/git-workflow/references/branch-update.md +312 -0
- package/dist/agent-src/skills/git-workflow/references/commit-subject.md +205 -0
- package/dist/agent-src/skills/iconography/SKILL.md +1 -1
- package/dist/agent-src/skills/jira-integration/SKILL.md +3 -3
- package/dist/agent-src/skills/js-library-packaging/SKILL.md +2 -2
- package/dist/agent-src/skills/merge-conflicts/SKILL.md +10 -4
- package/dist/agent-src/skills/monorepo-workspace/SKILL.md +1 -1
- package/dist/agent-src/skills/po-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/quality-tools/SKILL.md +11 -1
- package/dist/agent-src/skills/quality-tools/references/go-tools.md +76 -0
- package/dist/agent-src/skills/quality-tools/references/python-tools.md +104 -0
- package/dist/agent-src/skills/refine-ticket/SKILL.md +4 -4
- package/dist/agent-src/skills/review-routing/SKILL.md +2 -2
- package/dist/agent-src/skills/roadmap-writing/SKILL.md +2 -2
- package/dist/agent-src/skills/skill-improvement-pipeline/SKILL.md +5 -3
- package/dist/agent-src/skills/source-discovery/SKILL.md +1 -1
- package/dist/agent-src/skills/storybook-workshop/SKILL.md +3 -3
- package/dist/agent-src/skills/tailwind-engineer/SKILL.md +4 -2
- package/dist/agent-src/skills/test-case-discovery/SKILL.md +7 -0
- package/dist/agent-src/skills/test-driven-development/SKILL.md +17 -0
- package/dist/agent-src/skills/test-performance/SKILL.md +19 -1
- package/dist/agent-src/skills/testing-anti-patterns/SKILL.md +1 -1
- package/dist/agent-src/skills/ui-component-architect/SKILL.md +2 -2
- package/dist/agent-src/skills/using-git-worktrees/SKILL.md +1 -1
- package/dist/agent-src/skills/verify-repair-loop/SKILL.md +2 -2
- package/dist/agent-src/templates/AGENTS.md +1 -1
- package/dist/agent-src/templates/agent-settings.md +46 -129
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +3 -3
- package/dist/agent-src/templates/command.md +2 -2
- package/dist/agent-src/templates/roadmaps.md +6 -1
- package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
- package/dist/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
- package/dist/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +48 -6
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
- package/dist/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
- package/dist/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
- package/dist/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
- package/dist/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
- package/dist/agent-src/templates/scripts/work_engine/stack/runner.ts +774 -109
- package/dist/agent-src/templates/skill.md +1 -1
- package/dist/cli/registry.js +2 -1
- package/dist/cli-delegate/archive_completed_roadmaps.js +92 -12
- package/dist/cli-delegate/check_update_banner.js +207 -120
- package/dist/cli-delegate/chunk-523HCFYO.js +90 -0
- package/dist/cli-delegate/{chunk-FP36SWJD.js → chunk-5GPULQBE.js} +2797 -338
- package/dist/cli-delegate/{chunk-IGD6ERX6.js → chunk-6SRJTYJS.js} +42 -176
- package/dist/cli-delegate/chunk-6V5FMA3P.js +186 -0
- package/dist/cli-delegate/{chunk-M2DPGFZ4.js → chunk-6V6TA25H.js} +22 -152
- package/dist/cli-delegate/chunk-6YQC2HLF.js +415 -0
- package/dist/cli-delegate/{chunk-E4XIZDIB.js → chunk-7HKRE54K.js} +1 -64
- package/dist/cli-delegate/chunk-7IQE3D5S.js +191 -0
- package/dist/cli-delegate/{chunk-YJ72UIAK.js → chunk-AED2VQGM.js} +1245 -249
- package/dist/cli-delegate/{chunk-7HQ52DHU.js → chunk-AL3RZ22D.js} +1 -1
- package/dist/cli-delegate/chunk-DEIV7XP7.js +108 -0
- package/dist/cli-delegate/{chunk-DBH4AHDK.js → chunk-ED7KCMLB.js} +9 -11
- package/dist/cli-delegate/chunk-F3QDG2GT.js +2569 -0
- package/dist/cli-delegate/{chunk-6KFEC3G7.js → chunk-G5VVIZRC.js} +3 -3
- package/dist/cli-delegate/{chunk-FC75PGJE.js → chunk-H76PHZBI.js} +149 -61
- package/dist/cli-delegate/chunk-IAYTIIQW.js +67 -0
- package/dist/cli-delegate/chunk-JQOM7TTM.js +1201 -0
- package/dist/cli-delegate/chunk-KB5FZ655.js +208 -0
- package/dist/cli-delegate/{chunk-7RQP4UDH.js → chunk-KR6EM23A.js} +235 -1455
- package/dist/cli-delegate/{chunk-LTYVIY76.js → chunk-KXXWJTDO.js} +6 -11
- package/dist/cli-delegate/{chunk-T7L2QK3K.js → chunk-LQOCRFWT.js} +1 -1
- package/dist/cli-delegate/{chunk-6KM6ORRY.js → chunk-MDPPKQCQ.js} +58 -9
- package/dist/cli-delegate/{chunk-4XFP2Y3E.js → chunk-MSUL5NYP.js} +5 -5
- package/dist/cli-delegate/chunk-OAFSJBHH.js +272 -0
- package/dist/cli-delegate/{chunk-4E2W63DA.js → chunk-OKJUIAPS.js} +62 -1
- package/dist/cli-delegate/{chunk-QAJS5YWY.js → chunk-PHD7OOLE.js} +2 -1
- package/dist/cli-delegate/{chunk-P6ZHP5W2.js → chunk-PWX7CKMD.js} +4 -4
- package/dist/cli-delegate/{chunk-NDJLNC6Q.js → chunk-T6BP34WI.js} +1 -0
- package/dist/cli-delegate/{chunk-7XGBX6ZH.js → chunk-T7XSJSUQ.js} +1144 -589
- package/dist/cli-delegate/chunk-ULQRUR23.js +208 -0
- package/dist/cli-delegate/chunk-WQWXGIWB.js +1779 -0
- package/dist/cli-delegate/{chunk-RGNIWTEA.js → chunk-XQTPXKFA.js} +1 -1
- package/dist/cli-delegate/{chunk-NUHLI2RX.js → chunk-YCU3TIXH.js} +2 -0
- package/dist/cli-delegate/chunk-ZBZV2G5R.js +210 -0
- package/dist/cli-delegate/{chunk-WGXTVKCQ.js → chunk-ZUZKZYCN.js} +5 -3
- package/dist/cli-delegate/cmd_analyze_session.js +223 -43
- package/dist/cli-delegate/cmd_brand_status.js +3 -2
- package/dist/cli-delegate/cmd_conformance.js +1252 -249
- package/dist/cli-delegate/cmd_converge.js +3 -3
- package/dist/cli-delegate/cmd_doctor.js +19 -9
- package/dist/cli-delegate/cmd_doctor_neighbours.js +30 -0
- package/dist/cli-delegate/cmd_explain.js +45 -21
- package/dist/cli-delegate/cmd_export.js +13 -10
- package/dist/cli-delegate/cmd_fleet.js +3 -3
- package/dist/cli-delegate/cmd_git_convention.js +1851 -0
- package/dist/cli-delegate/cmd_handoff.js +44 -22
- package/dist/cli-delegate/cmd_mcp_available.js +3 -2
- package/dist/cli-delegate/cmd_memory_get.js +3 -1
- package/dist/cli-delegate/cmd_migrate.js +3 -3
- package/dist/cli-delegate/cmd_packs_active.js +5 -4
- package/dist/cli-delegate/cmd_preflight.js +6 -6
- package/dist/cli-delegate/cmd_prune.js +14 -11
- package/dist/cli-delegate/cmd_refresh.js +2 -1
- package/dist/cli-delegate/cmd_route_audit.js +10 -8
- package/dist/cli-delegate/cmd_route_explain.js +4 -4
- package/dist/cli-delegate/cmd_session_recycle.js +10 -7
- package/dist/cli-delegate/cmd_settings_check.js +54 -7
- package/dist/cli-delegate/cmd_settings_get.js +18 -8
- package/dist/cli-delegate/cmd_settings_migrate.js +13 -10
- package/dist/cli-delegate/cmd_settings_set.js +4 -4
- package/dist/cli-delegate/cmd_sync.js +14 -11
- package/dist/cli-delegate/cmd_uninstall.js +15 -12
- package/dist/cli-delegate/cmd_update.js +7 -7
- package/dist/cli-delegate/cmd_upgrade.js +9 -8
- package/dist/cli-delegate/cmd_validate.js +15 -12
- package/dist/cli-delegate/cmd_versions.js +5 -5
- package/dist/cli-delegate/deferral_carry.js +16 -0
- package/dist/cli-delegate/gate_budget.js +1 -1
- package/dist/cli-delegate/gate_execute.js +3 -3
- package/dist/cli-delegate/roadmap_gates.js +6 -6
- package/dist/cli-delegate/update_roadmap_progress.js +1 -1
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +232 -141
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +3 -3
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +26 -9
- package/dist/discovery/trust-report.md +3 -3
- package/dist/discovery/workspaces.json +7 -4
- package/dist/hooks/dispatch.js +5655 -6623
- package/dist/hooks/dispatch.sha256 +1 -1
- package/dist/install/claudePathsPlan.js +47 -6
- package/dist/install/claudeRuleRewrite.js +7 -0
- package/dist/install/emit_host_rules_cli.js +39 -36
- package/dist/install/globalRuleScope.js +87 -0
- package/dist/install/host_rule_ownership.js +160 -0
- package/dist/install/install.mjs +2336 -1249
- package/dist/install/installThinLayer.js +289 -0
- package/dist/install/installedRuleLinks.js +262 -0
- package/dist/install/wizard-plan.js +24 -0
- package/dist/mcp/awesome-mcp-servers.row.md +1 -1
- package/dist/mcp/mcp-cloudflare-catalogue.json +2 -2
- package/dist/mcp/registry-manifest.json +5 -5
- package/dist/mcp/server.json +2 -2
- package/dist/mcp/server.mjs +36504 -30986
- package/dist/router.json +1 -1
- package/dist/scripts/_lib/agent_settings.js +26 -120
- package/dist/scripts/_lib/claude_settings_hooks.js +10 -8
- package/dist/scripts/_lib/compile_time_toggles.js +12 -21
- package/dist/scripts/_lib/git_convention.js +232 -0
- package/dist/scripts/_lib/global_deploy_inventory.js +730 -0
- package/dist/scripts/_lib/installed_layer.js +704 -0
- package/dist/scripts/_lib/lean_projection_mode.js +218 -15
- package/dist/scripts/_lib/package_root.js +68 -0
- package/dist/scripts/_lib/rule_consequence_class.js +45 -0
- package/dist/scripts/_lib/rule_injection.js +67 -10
- package/dist/scripts/_lib/rule_law_section.js +122 -0
- package/dist/scripts/_lib/settings_removed_keys.js +168 -0
- package/dist/scripts/_lib/thin_rules.js +535 -0
- package/dist/scripts/_lib/windsurf_render.js +60 -0
- package/dist/scripts/condense.js +14 -26
- package/dist/scripts/project_thin_rules.js +14 -294
- package/dist/server/app.js +2 -1
- package/dist/server/gitKeysGate.js +105 -0
- package/dist/server/routes/settings.js +67 -8
- package/dist/server/routes/wizard.js +4 -0
- package/dist/server/schemas/settings.js +29 -81
- package/dist/shared/skillRanking.js +103 -16
- package/dist/ui/assets/{index-Cwq4d0hX.js → index-C3djEJah.js} +2 -2
- package/dist/ui/index.html +1 -1
- package/docs/MIGRATION.md +72 -1
- package/docs/contracts/settings-classes.md +39 -67
- package/docs/guidelines/agent-infra/active-remediation-mechanics.md +39 -0
- package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/cross-source-consistency-mechanics.md +8 -10
- package/docs/guidelines/agent-infra/frontier-reasoning-operating-profile.md +3 -2
- package/docs/guidelines/agent-infra/layered-settings.md +13 -1
- package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +1 -1
- package/docs/guidelines/agent-infra/self-improvement-pipeline.md +10 -3
- package/docs/guidelines/agent-infra/size-and-scope.md +36 -0
- package/docs/guidelines/php/git.md +15 -2
- package/package.json +1 -1
- package/src/agent-src/scripts/archive_completed_roadmaps.ts +115 -20
- package/src/agent-src/scripts/deferral_carry.ts +339 -0
- package/src/agent-src/scripts/gate_budget.ts +47 -23
- package/src/agent-src/scripts/gate_execute.ts +12 -4
- package/src/agent-src/scripts/update_roadmap_progress.ts +4 -1
- package/src/agent-src/templates/AGENTS.md +1 -1
- package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +0 -6
- package/src/agent-src/templates/scripts/work_engine/directives/backend/_self_fix.ts +11 -7
- package/src/agent-src/templates/scripts/work_engine/directives/ui/apply.ts +48 -6
- package/src/agent-src/templates/scripts/work_engine/hooks/builtin/decision_trace.ts +3 -2
- package/src/agent-src/templates/scripts/work_engine/hooks/builtin/memory_visibility.ts +2 -1
- package/src/agent-src/templates/scripts/work_engine/hooks/settings.ts +0 -6
- package/src/agent-src/templates/scripts/work_engine/scoring/decision_engine.ts +9 -12
- package/src/agent-src/templates/scripts/work_engine/scoring/memory_visibility.ts +2 -1
- package/src/agent-src/templates/scripts/work_engine/stack/runner.ts +774 -109
- package/src/config/agent-settings.template.yml +141 -334
- package/src/config/agents-paths.yml +16 -0
- package/src/config/assurance-capability-registry.json +7 -3
- package/src/config/ci-local-parity.yml +3 -0
- package/src/config/continuity-surface.json +10 -3
- package/src/config/discovery/packs.yml +17 -1
- package/src/config/evaluator-budgets.json +23 -10
- package/src/config/gate-coverage.yml +138 -3
- package/src/config/gate-violation-baselines.json +64 -16
- package/src/config/gitignore-block.txt +19 -0
- package/src/config/hook-bundle-budget.json +25 -0
- package/src/config/hook-token-budget.json +6 -1
- package/src/config/host-instruction-limits.json +33 -0
- package/src/config/release-gate-locality.yml +2 -1
- package/src/config/routing-coverage-seed.json +67 -4
- package/src/config/rule-activation-census.json +7 -3
- package/src/config/rule-consequence-class.json +161 -0
- package/src/config/rule-law-ceilings.json +105 -0
- package/src/config/rule-obligations.json +833 -0
- package/src/install/claudePathsPlan.ts +46 -4
- package/src/install/claudeRuleRewrite.ts +10 -1
- package/src/install/emit_host_rules_cli.ts +43 -34
- package/src/install/globalRuleScope.ts +109 -0
- package/src/install/host_rule_ownership.ts +170 -0
- package/src/install/installThinLayer.ts +378 -0
- package/src/install/installedRuleLinks.ts +308 -0
- package/src/install/wizard-plan.ts +24 -0
- package/src/scripts/_cli/cmd_analyze_session.ts +9 -15
- package/src/scripts/_cli/cmd_conformance.ts +13 -2
- package/src/scripts/_cli/cmd_doctor.ts +33 -81
- package/src/scripts/_cli/cmd_doctor_neighbours.ts +426 -0
- package/src/scripts/_cli/cmd_explain.ts +72 -14
- package/src/scripts/_cli/cmd_git_convention.ts +637 -0
- package/src/scripts/_cli/cmd_settings_check.ts +66 -8
- package/src/scripts/_cli/cmd_settings_get.ts +18 -3
- package/src/scripts/_cli/doctor_execution.ts +72 -1
- package/src/scripts/_dispatch.bash +53 -4
- package/src/scripts/_lib/agent_settings.ts +26 -124
- package/src/scripts/_lib/blocked_by_marker.ts +1 -1
- package/src/scripts/_lib/claude_settings_hooks.ts +10 -8
- package/src/scripts/_lib/compile_time_toggles.ts +12 -21
- package/src/scripts/_lib/dispatch_import_closure.ts +163 -0
- package/src/scripts/_lib/estate_offsets.ts +241 -0
- package/src/scripts/_lib/exemption_shape.ts +143 -0
- package/src/scripts/_lib/fnv.ts +23 -0
- package/src/scripts/_lib/foreign_scan.ts +106 -0
- package/src/scripts/_lib/git_base_ref.ts +92 -0
- package/src/scripts/_lib/git_convention.ts +291 -0
- package/src/scripts/_lib/git_convention_carrier.ts +389 -0
- package/src/scripts/_lib/git_convention_grammar.ts +246 -0
- package/src/scripts/_lib/git_convention_measure.ts +344 -0
- package/src/scripts/_lib/gitignore_block.ts +314 -0
- package/src/scripts/_lib/global_deploy_inventory.ts +106 -0
- package/src/scripts/_lib/graph_feeder_record.ts +437 -0
- package/src/scripts/_lib/hook_settings.ts +73 -0
- package/src/scripts/_lib/host_capability.ts +40 -19
- package/src/scripts/_lib/host_hook_merge.ts +165 -0
- package/src/scripts/_lib/installed_layer.ts +963 -0
- package/src/scripts/_lib/json_merge.ts +82 -0
- package/src/scripts/_lib/json_pointers.ts +93 -11
- package/src/scripts/_lib/knowledge_global.ts +14 -1
- package/src/scripts/_lib/lean_projection_mode.ts +275 -15
- package/src/scripts/_lib/machine_wake.ts +16 -3
- package/src/scripts/_lib/module_reach.ts +456 -0
- package/src/scripts/_lib/neighbour_census.ts +760 -0
- package/src/scripts/_lib/neighbour_contradictions.ts +236 -0
- package/src/scripts/_lib/neighbour_scan.ts +122 -0
- package/src/scripts/_lib/neighbour_tool_use.ts +187 -0
- package/src/scripts/_lib/prompt_shape.ts +46 -0
- package/src/scripts/_lib/ratification_artifact.ts +220 -1
- package/src/scripts/_lib/ratification_subject.ts +92 -0
- package/src/scripts/_lib/release_findings_ingest.ts +15 -7
- package/src/scripts/_lib/release_highlights.ts +5 -0
- package/src/scripts/_lib/release_migration_gate.ts +19 -3
- package/src/scripts/_lib/reserved_name_sweep.ts +73 -0
- package/src/scripts/_lib/review_coverage.ts +134 -0
- package/src/scripts/_lib/rule_consequence_class.ts +71 -0
- package/src/scripts/_lib/rule_injection.ts +130 -10
- package/src/scripts/_lib/rule_law_section.ts +147 -0
- package/src/scripts/_lib/rule_layer_overlap.ts +58 -0
- package/src/scripts/_lib/rule_obligations.ts +205 -0
- package/src/scripts/_lib/self_repair.ts +1 -1
- package/src/scripts/_lib/settings_removed_keys.ts +173 -0
- package/src/scripts/_lib/skill_origin.ts +254 -0
- package/src/scripts/_lib/structured_ask.ts +64 -21
- package/src/scripts/_lib/test_red_state.ts +5 -0
- package/src/scripts/_lib/thin_rules.ts +620 -0
- package/src/scripts/_lib/touched_file_quality.ts +570 -0
- package/src/scripts/_lib/turn_end_refusals.ts +77 -2
- package/src/scripts/_lib/windsurf_render.ts +63 -0
- package/src/scripts/_lib/worker_budget.ts +1 -1
- package/src/scripts/adr/regenerate_index.ts +16 -1
- package/src/scripts/ai_council/cli_call_budget.ts +13 -5
- package/src/scripts/ai_council/clients.ts +26 -57
- package/src/scripts/ai_council/config.ts +8 -8
- package/src/scripts/ai_council/modification_review.ts +100 -0
- package/src/scripts/ai_council/modification_review_questions.ts +90 -0
- package/src/scripts/ai_council/orchestrator.ts +5 -5
- package/src/scripts/ai_council/spend_gate.ts +18 -7
- package/src/scripts/ai_council/vendor_defaults.ts +45 -0
- package/src/scripts/ai_team/config.ts +11 -16
- package/src/scripts/audit_skill_overlap.ts +261 -0
- package/src/scripts/audit_user_type_axis.ts +20 -8
- package/src/scripts/before_complete_hook.ts +243 -12
- package/src/scripts/bench_ab_clone.ts +1 -2
- package/src/scripts/bench_concern_spawn_path.ts +129 -0
- package/src/scripts/bench_graph_feeder_latency.ts +584 -0
- package/src/scripts/bench_touched_file_quality.ts +238 -0
- package/src/scripts/check_agent_artifact_location.ts +36 -0
- package/src/scripts/check_branch_freshness.ts +147 -24
- package/src/scripts/check_enforcement_coverage.ts +130 -0
- package/src/scripts/check_enforcement_matrix.ts +377 -20
- package/src/scripts/check_estate_count.ts +130 -153
- package/src/scripts/check_evaluator_budgets.ts +4 -0
- package/src/scripts/check_finding_dispositions.ts +196 -21
- package/src/scripts/check_gate_coverage.ts +4 -3
- package/src/scripts/check_gate_reachability.ts +48 -1
- package/src/scripts/check_generator_sync.ts +48 -0
- package/src/scripts/check_hook_bundle_composition.ts +477 -0
- package/src/scripts/check_kernel_edit_ratified.ts +132 -14
- package/src/scripts/check_memory.ts +7 -1
- package/src/scripts/check_pack_size.ts +1 -1
- package/src/scripts/check_release_highlights.ts +10 -0
- package/src/scripts/check_release_manifest_content.ts +189 -0
- package/src/scripts/check_release_pr_shape.ts +38 -15
- package/src/scripts/check_standing_rule_delivery.ts +129 -13
- package/src/scripts/check_suppression_hygiene.ts +2 -5
- package/src/scripts/check_verify_expectation_delta.ts +521 -0
- package/src/scripts/ci_settle.ts +42 -5
- package/src/scripts/classify_merge_risk.ts +320 -0
- package/src/scripts/closure_scan.ts +91 -1
- package/src/scripts/code_graph/detect.ts +127 -7
- package/src/scripts/code_graph/foreign.ts +194 -0
- package/src/scripts/code_graph/query.ts +217 -4
- package/src/scripts/code_graph/types.ts +26 -2
- package/src/scripts/code_graph/validate.ts +3 -1
- package/src/scripts/code_graph/verbs.ts +103 -0
- package/src/scripts/command_suggester/settings.ts +8 -108
- package/src/scripts/command_suggester/types.ts +4 -5
- package/src/scripts/compile_hook_manifest.ts +33 -1
- package/src/scripts/condense.ts +14 -27
- package/src/scripts/consumer_matrix.ts +102 -0
- package/src/scripts/context_hygiene_hook.ts +13 -23
- package/src/scripts/cost/preflight.mjs +12 -1
- package/src/scripts/council_cli.ts +7 -7
- package/src/scripts/dispatch_r2_reviewer.ts +24 -11
- package/src/scripts/estate_exemption_shape.ts +202 -0
- package/src/scripts/explain_run.ts +8 -13
- package/src/scripts/generate_git_convention_grammar.ts +127 -0
- package/src/scripts/generate_host_cost_table.ts +21 -4
- package/src/scripts/handoff_context_hook.ts +86 -37
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +175 -15
- package/src/scripts/hooks/block_config_weakening.ts +115 -7
- package/src/scripts/hooks/block_plumbing_writes.ts +37 -5
- package/src/scripts/hooks/code_graph_context_hook.ts +252 -23
- package/src/scripts/hooks/concern_failure_policy.ts +280 -0
- package/src/scripts/hooks/concern_registry.ts +2 -0
- package/src/scripts/hooks/delegation_nudge_hook.ts +2 -3
- package/src/scripts/hooks/dispatch_hook.ts +52 -52
- package/src/scripts/hooks/evidence_independence.ts +12 -4
- package/src/scripts/hooks/exit_codes.ts +2 -1
- package/src/scripts/hooks/host_lowering.json +1 -1
- package/src/scripts/hooks/host_lowering.ts +19 -1
- package/src/scripts/hooks/mcp_usage_observation_hook.ts +121 -0
- package/src/scripts/hooks/one_question_per_ask_hook.ts +41 -25
- package/src/scripts/hooks/payload_stub.ts +10 -1
- package/src/scripts/hooks/push_settle_hook.ts +4 -3
- package/src/scripts/hooks/rule_inject_hook.ts +795 -60
- package/src/scripts/hooks/state_io.ts +8 -4
- package/src/scripts/hooks/table_fingerprint.ts +21 -0
- package/src/scripts/hooks/telemetry_usage_hook.ts +24 -7
- package/src/scripts/hooks/turn_end_gate_hook.ts +85 -0
- package/src/scripts/hooks_status.ts +112 -0
- package/src/scripts/injection_scan_hook.ts +7 -0
- package/src/scripts/install-hooks.sh +42 -14
- package/src/scripts/install.ts +78 -215
- package/src/scripts/installed_layer_report.ts +103 -0
- package/src/scripts/language_mirror_hook.ts +15 -6
- package/src/scripts/learning_sidecar.ts +119 -8
- package/src/scripts/lint_blocker_citations.ts +198 -0
- package/src/scripts/lint_evidence_artifacts.ts +9 -0
- package/src/scripts/lint_hook_concern_budget.ts +10 -21
- package/src/scripts/lint_hook_manifest.ts +53 -0
- package/src/scripts/lint_major_migration_sections.ts +156 -26
- package/src/scripts/lint_pack_boundaries.ts +465 -29
- package/src/scripts/lint_roadmap_blockers.ts +282 -29
- package/src/scripts/lint_roadmap_complexity.ts +4 -2
- package/src/scripts/lint_rule_law_section.ts +647 -0
- package/src/scripts/lint_rule_skill_pack_reach.ts +17 -0
- package/src/scripts/lint_settings_classes.ts +1 -1
- package/src/scripts/lint_ticked_unmet_criteria.ts +165 -0
- package/src/scripts/lint_workflow_security.ts +173 -6
- package/src/scripts/mcp_server/consumer_tool_catalog.json +53 -0
- package/src/scripts/mcp_server/graph_tools.ts +72 -3
- package/src/scripts/measure_routing_signal.ts +54 -16
- package/src/scripts/measure_skill_ranker_baseline.ts +221 -8
- package/src/scripts/memory_learn_hook.ts +91 -6
- package/src/scripts/model_rule_injection.ts +55 -8
- package/src/scripts/onboarding_gate_hook.ts +7 -6
- package/src/scripts/print_required_checks.ts +15 -3
- package/src/scripts/probe_host_compliance.ts +33 -5
- package/src/scripts/probe_turnaround.ts +183 -3
- package/src/scripts/project_thin_rules.ts +34 -327
- package/src/scripts/ratification_header.ts +77 -0
- package/src/scripts/refusal_envelope.ts +138 -0
- package/src/scripts/release_publication.ts +29 -3
- package/src/scripts/report_dispatch_import_closure.ts +76 -0
- package/src/scripts/report_evidence_temperature.ts +657 -0
- package/src/scripts/report_installed_rule_links.ts +274 -0
- package/src/scripts/report_label_agreement.ts +233 -0
- package/src/scripts/report_module_reach.ts +212 -0
- package/src/scripts/report_obligation_mechanism.ts +228 -0
- package/src/scripts/report_parked_blockers.ts +222 -0
- package/src/scripts/report_required_checks_drift.ts +196 -0
- package/src/scripts/report_single_token_triggers.ts +277 -0
- package/src/scripts/report_skill_ranker_confusion.ts +543 -0
- package/src/scripts/report_standing_payload_by_host.ts +188 -15
- package/src/scripts/report_verification_record_coverage.ts +306 -0
- package/src/scripts/routing_doctor.ts +2 -2
- package/src/scripts/rule_activation_census.ts +5 -2
- package/src/scripts/rule_trigger_eval.ts +9 -9
- package/src/scripts/schemas/agent-settings.schema.json +17 -31
- package/src/scripts/schemas/command.schema.json +1 -1
- package/src/scripts/schemas/review-findings.schema.json +3 -2
- package/src/scripts/schemas/rule.schema.json +5 -0
- package/src/scripts/schemas/skill.schema.json +1 -1
- package/src/scripts/self_review_gate.ts +101 -9
- package/src/scripts/skill_tools/score_skill_relevance.ts +314 -40
- package/src/scripts/sweep_skill_ranker_signals.ts +129 -0
- package/src/scripts/sync_gitignore.ts +29 -235
- package/src/scripts/sync_pr_branch.ts +403 -132
- package/src/scripts/trigger_eval_grandfather.json +0 -21
- package/src/server/schemas/settings.ts +42 -176
- package/src/shared/skillRanking.ts +169 -14
- package/dist/cli-delegate/chunk-5R7HOLAF.js +0 -99
- package/dist/cli-delegate/chunk-JNMVLWLR.js +0 -4457
- package/dist/cli-delegate/chunk-YDPILCOL.js +0 -152
- package/src/scripts/_lib/config_chain.ts +0 -477
- package/src/scripts/_lib/conformance_report.ts +0 -403
- package/src/scripts/_lib/eval_discrimination.ts +0 -95
- package/src/scripts/_lib/evaluator_promotion.ts +0 -225
- package/src/scripts/_lib/file_slicer.ts +0 -117
- package/src/scripts/_lib/legacy_boundary_map.ts +0 -228
- package/src/scripts/_lib/minimality_tiebreak.ts +0 -168
- package/src/scripts/_lib/overbuild_lens_contract.ts +0 -196
- package/src/scripts/_lib/role_split.ts +0 -338
|
@@ -16,17 +16,16 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
|
|
|
16
16
|
packs: [meta]
|
|
17
17
|
enforced_by:
|
|
18
18
|
- "hook:context-hygiene"
|
|
19
|
-
# obligation: line 67
|
|
20
19
|
obligation_frequency: "per-turn"
|
|
21
20
|
---
|
|
22
21
|
|
|
23
22
|
# Context Hygiene
|
|
24
23
|
|
|
25
|
-
> **Enforced by:**
|
|
24
|
+
> **Enforced by:** `src/scripts/context_hygiene_hook.ts`
|
|
26
25
|
> on Augment + Claude Code (`PostToolUse`). Run `agent-config hooks:status` to
|
|
27
26
|
> see whether that slot is actually bound on the host you are on — this line is
|
|
28
27
|
> a statement about the manifest, not about your install. The hook maintains
|
|
29
|
-
> `agents/state/context-hygiene.json` (tool-call count,
|
|
28
|
+
> `agents/state/context-hygiene.json` (tool-call count,
|
|
30
29
|
> freshness milestones at 20/40/60); the prose below is the spec the
|
|
31
30
|
> hook implements and the agent-side fallback.
|
|
32
31
|
>
|
|
@@ -53,9 +52,10 @@ topic · branch changed since start · ~24 hours passed.
|
|
|
53
52
|
|
|
54
53
|
## The 3-Failure Rule
|
|
55
54
|
|
|
56
|
-
|
|
55
|
+
Counts **strategies**, not attempts. 3 fail at the same task (code fix,
|
|
56
|
+
test fix, config change, etc.):
|
|
57
57
|
|
|
58
|
-
1.
|
|
58
|
+
1. A 4th strategy is wrong — reassess.
|
|
59
59
|
2. **State dump** — summarize what was tried, what failed, and what you know so far.
|
|
60
60
|
3. **Recommend fresh start** — suggest a fresh session with the state dump as context, or ask for a different approach.
|
|
61
61
|
|
|
@@ -66,7 +66,7 @@ When **3 consecutive attempts** at the same task fail (code fix, test fix, confi
|
|
|
66
66
|
- **Same failure signature twice → stop and pivot now.** Don't burn the third attempt on a near-identical retry of a fix that already failed the same way — a repeated identical signature means the hypothesis is wrong, not under-applied. Change strategy (re-read source, new hypothesis, ask).
|
|
67
67
|
- **New error signature each attempt = progress.** Peeling one error to reveal a different one is forward motion; counter continues — learning, not looping.
|
|
68
68
|
|
|
69
|
-
**Hard-blocker classes — skip retries, go straight to ask/surface.** On the **first** occurrence, do not count toward the 3 —
|
|
69
|
+
**Hard-blocker classes — skip retries, go straight to ask/surface.** On the **first** occurrence, do not count toward the 3 — halt and surface: missing credentials / unset secret · permission denied · spend / quota / rate limit reached · external-service 5xx / outage. Retrying a hard-blocker is the canonical wasted attempt; the fix is a decision or external change only the user/environment can make.
|
|
70
70
|
|
|
71
71
|
## Tool Loop Detection
|
|
72
72
|
|
|
@@ -10,7 +10,6 @@ routes_to:
|
|
|
10
10
|
- "skill:copilot-config"
|
|
11
11
|
workspaces: [agent-config-maintainer, engineering]
|
|
12
12
|
packs: [meta]
|
|
13
|
-
# obligation: line 19
|
|
14
13
|
obligation_frequency: "none"
|
|
15
14
|
---
|
|
16
15
|
|
|
@@ -18,5 +17,5 @@ obligation_frequency: "none"
|
|
|
18
17
|
|
|
19
18
|
**Iron Law.** Tuning the GitHub Copilot AI assistant itself (instructions, PR-review patterns, suggestion behavior) → load the `copilot-config` skill, not `devcontainer` (which covers the dev environment Copilot runs inside).
|
|
20
19
|
|
|
21
|
-
Body migrated to `skill:copilot-config`. Disambiguates the copilot-config ↔ devcontainer cluster head per
|
|
20
|
+
Body migrated to `skill:copilot-config`. Disambiguates the copilot-config ↔ devcontainer cluster head per `docs/contracts/adr-architectural-consensus-mechanism.md`.
|
|
22
21
|
Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
|
|
@@ -14,7 +14,6 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
|
|
|
14
14
|
packs: [meta]
|
|
15
15
|
enforced_by:
|
|
16
16
|
- "instruction-only: no gate reads a chat claim about availability; check_council_config_location covers the tree side only"
|
|
17
|
-
# obligation: line 27
|
|
18
17
|
obligation_frequency: "per-task"
|
|
19
18
|
---
|
|
20
19
|
|
|
@@ -68,9 +67,10 @@ the user-global config into the repo to "make it work".
|
|
|
68
67
|
|
|
69
68
|
## If the probe really says unavailable
|
|
70
69
|
|
|
71
|
-
State the resolver's
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
State the resolver's message and stop. A fan-out substitutes **only when named
|
|
71
|
+
as such**, never as "the council"
|
|
72
|
+
([`evaluator-independence`](evaluator-independence.md)), nor in a
|
|
73
|
+
modification review (ADR-281).
|
|
74
74
|
|
|
75
75
|
## When NOT to fire
|
|
76
76
|
|
|
@@ -26,7 +26,6 @@ packs: [engineering-base, product-basic]
|
|
|
26
26
|
collision_ok:
|
|
27
27
|
"mockup": "a mockup is a second source — discrepancy check against the ticket text"
|
|
28
28
|
"screenshot": "a screenshot is a second source — discrepancy check"
|
|
29
|
-
# obligation: line 71
|
|
30
29
|
obligation_frequency: "per-task"
|
|
31
30
|
---
|
|
32
31
|
|
|
@@ -59,11 +58,10 @@ OBVIOUS-TO-THE-AGENT ≠ IN-SCOPE.
|
|
|
59
58
|
|
|
60
59
|
**Fires** while planning, refining, estimating, roadmapping, or implementing from
|
|
61
60
|
a ticket/spec that carries a second source (an attachment, a code reality, or an
|
|
62
|
-
internal contradiction)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
consistency.cross_source` reports the value and the file it came from.
|
|
61
|
+
internal contradiction). It is always on: the `consistency.cross_source` key that
|
|
62
|
+
offered `auto` (high-confidence only) and `off` was retired on 2026-10-09 with its
|
|
63
|
+
default, `on`, as the fixed behavior. The noise control is the batching and the
|
|
64
|
+
`no-cheap-questions` floor below, not a setting.
|
|
67
65
|
|
|
68
66
|
**Does NOT fire** on a single clear source with no second source to compare
|
|
69
67
|
against (that is plain vagueness — it belongs to `ask-when-uncertain`), on
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2b"
|
|
4
|
+
consequence_class: "authority-bypass"
|
|
4
5
|
description: "Beneficial change blocked by a lock (honest-null, don't-relitigate memory, budget canon, ADR) — surface a council re-evaluation offer, never drop"
|
|
5
6
|
alwaysApply: false
|
|
6
7
|
council_depth: deep
|
|
8
|
+
load_context:
|
|
9
|
+
- ../contexts/authority/decision-revisit-gate-enforcement.md
|
|
7
10
|
triggers:
|
|
8
11
|
- keyword: "don't relitigate"
|
|
9
12
|
- keyword: "honest null"
|
|
@@ -22,7 +25,6 @@ workspaces: [agent-config-maintainer, engineering]
|
|
|
22
25
|
packs: [meta]
|
|
23
26
|
collision_ok:
|
|
24
27
|
"honest null": "this rule asks whether a recorded null may be REVISITED; evaluator-independence asks how one was PRODUCED — different decision points on the same artefact"
|
|
25
|
-
# obligation: line 31
|
|
26
28
|
enforced_by:
|
|
27
29
|
- "instruction-only: no gate can observe an agent citing a decision it never opened; adr_cite_check is deterministic where it runs and nothing makes it run"
|
|
28
30
|
obligation_frequency: "per-task"
|
|
@@ -51,11 +53,10 @@ what the package may ever become.
|
|
|
51
53
|
**The default venue is the council, and this is a correction, not a new
|
|
52
54
|
policy.** [`ai-council`](../skills/ai-council/SKILL.md)'s Iron Law already sends
|
|
53
55
|
a decision the agent cannot settle from the tree to the council first, and its
|
|
54
|
-
class table lists "reopening a recorded decision". The
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
decision
|
|
58
|
-
override demand. The ordering was the defect; the permission was never missing.
|
|
56
|
+
class table lists "reopening a recorded decision". The measurement behind that
|
|
57
|
+
correction, and why the five steps below are inlined rather than only routed, are
|
|
58
|
+
in
|
|
59
|
+
`contexts/authority/decision-revisit-gate-enforcement.md`.
|
|
59
60
|
|
|
60
61
|
**Mechanism-match check comes FIRST**: a verdict settles the *mechanism it
|
|
61
62
|
tested*, not every future proposal that resembles it — if the blocked change
|
|
@@ -79,16 +80,9 @@ distinction.
|
|
|
79
80
|
4. **Route it** — council by default (below), user only for the reserved set.
|
|
80
81
|
5. **Record** the outcome with scope and `revisit-if`.
|
|
81
82
|
|
|
82
|
-
The five are stated here, not only behind a route, because the route was
|
|
83
|
-
measurably unreachable: `decision-review` ships `install.default: false` in the
|
|
84
|
-
non-default `analysis-workbench` pack, so a pack-legal install received the
|
|
85
|
-
obligation and not the procedure. `routes_to` now names two always-on skills;
|
|
86
|
-
the backward-audit depth in
|
|
87
|
-
[`decision-review`](../skills/decision-review/SKILL.md) stays optional.
|
|
88
|
-
|
|
89
83
|
Full catalog (honest nulls, don't-relitigate notes, budget-canon lines, ADRs,
|
|
90
84
|
hard structural caps), the per-step detail, when-NOT-to-fire and the failure
|
|
91
|
-
modes remain in
|
|
85
|
+
modes remain in `skill:decision-review` § Decision-revisit gate — mechanics.
|
|
92
86
|
Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
|
|
93
87
|
|
|
94
88
|
## Reading a lock — the two descriptive axes
|
|
@@ -101,7 +95,7 @@ read 6 is the agent's, because reversibility belongs to the proposed transition
|
|
|
101
95
|
and no tool reading one record supplies it. What each field means, and what a
|
|
102
96
|
`[found]` basis ref does NOT claim, is in that script's module docstring. The
|
|
103
97
|
evidence-priced burden table stays in
|
|
104
|
-
|
|
98
|
+
`docs/contracts/adr-layout.md` § The reopen record.
|
|
105
99
|
|
|
106
100
|
```
|
|
107
101
|
A GRADE IS A MEASUREMENT, NOT A PERMISSION — IT GRANTS NOTHING.
|
|
@@ -157,14 +151,14 @@ Field on the ADR: `reopen_policy: directional | owner | unclassified`, absent
|
|
|
157
151
|
permitted; only execution of a reserved transition is gated. Absent is
|
|
158
152
|
deliberately not `owner`: with 146 accepted ADRs that default would encode
|
|
159
153
|
today's blockage into the new schema. Full contract, the reopen record and the
|
|
160
|
-
precedent-creates-no-authority clause:
|
|
154
|
+
precedent-creates-no-authority clause: `docs/contracts/adr-layout.md` § Reopen authority.
|
|
161
155
|
|
|
162
156
|
## See also
|
|
163
157
|
|
|
164
158
|
- [`recurring-criticism`](recurring-criticism.md) — the **other entrance**: this
|
|
165
159
|
rule fires when a lock blocks a change, that one when the same criticism arrives
|
|
166
160
|
again. It reuses the five steps and the owner-reserved table above.
|
|
167
|
-
-
|
|
161
|
+
- `decision-review` — the backward-audit
|
|
168
162
|
procedure + the migrated gate mechanics.
|
|
169
163
|
- [`ai-council`](../skills/ai-council/SKILL.md) — the re-evaluation mechanism;
|
|
170
164
|
owns the convergence-summary scope + `revisit-if` contract.
|
|
@@ -180,21 +174,9 @@ precedent-creates-no-authority clause: [`adr-layout § Reopen authority`](../doc
|
|
|
180
174
|
|
|
181
175
|
## Honest enforcement — `instruction-only`
|
|
182
176
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
Two reach limits, named rather than implied. The tool lives in this repository's
|
|
190
|
-
`src/scripts/` and is **not** exposed as an `agent-config` verb, so a consumer
|
|
191
|
-
install performs step 2 by hand; wiring the verb touches six further surfaces
|
|
192
|
-
plus the curated `dist/agent-src/scripts/` list and is deliberately out of this
|
|
193
|
-
change. And `docs/decisions/` is projected into no agent-visible tree at all —
|
|
194
|
-
the agent sees ADR *numbers* cited across rules and skills, almost never ADR
|
|
195
|
-
*text*. Until that changes, "evaluate before citing" means opening the file.
|
|
196
|
-
|
|
197
|
-
`docs/contracts/` is unprojected on the same terms (`dist/agent-src/` carries no
|
|
198
|
-
`docs/`), so the burden table this rule points at is maintainer-reachable only.
|
|
199
|
-
That is why the reserved-set table above stays here rather than becoming a
|
|
200
|
-
pointer: a consumer install receives these lines and not the contract.
|
|
177
|
+
Step 2 is model-carried: no gate can observe an agent citing a decision it
|
|
178
|
+
never opened. Why that is so, which two reach limits the tool has in a
|
|
179
|
+
consumer install, and why `docs/decisions/` is projected into no
|
|
180
|
+
agent-visible tree are recorded in
|
|
181
|
+
`contexts/authority/decision-revisit-gate-enforcement.md`,
|
|
182
|
+
named in `load_context` above.
|
|
@@ -20,7 +20,6 @@ routes_to:
|
|
|
20
20
|
- "skill:subagent-orchestration"
|
|
21
21
|
workspaces: [engineering]
|
|
22
22
|
packs: [engineering-base]
|
|
23
|
-
# obligation: line 35
|
|
24
23
|
obligation_frequency: "per-task"
|
|
25
24
|
---
|
|
26
25
|
|
|
@@ -69,7 +68,7 @@ primitive → run in-session (clean no-op).
|
|
|
69
68
|
`subagents.model_ceiling` caps the tier and the slice does not fit, the worker
|
|
70
69
|
**escalates and never silently delivers the degraded result**; the
|
|
71
70
|
orchestrator never raises the ceiling itself, and absent is *uncapped*.
|
|
72
|
-
|
|
71
|
+
`docs/contracts/subagent-boundary.md` § The model ceiling.
|
|
73
72
|
3. **Dispatch** via the form gate + matching `subagent-orchestration` mode
|
|
74
73
|
(independent → do-in-parallel; ordered → do-in-steps; risk/correctness →
|
|
75
74
|
+ judge; UI-heavy → live-app judge, efficacy-gated).
|
|
@@ -116,6 +115,6 @@ on hosts without hook slots. Per-carrier detail and what each one verifies:
|
|
|
116
115
|
## See also
|
|
117
116
|
|
|
118
117
|
- [`subagent-orchestration`](../skills/subagent-orchestration/SKILL.md) — the form gate + 9 modes this selects.
|
|
119
|
-
-
|
|
118
|
+
- `docs/contracts/subagent-boundary.md` — what a subagent owns vs never owns (task-meaning, memory, pack-surface, safety-floor bypass).
|
|
120
119
|
- [`auto-orchestration-activation`](../contexts/execution/auto-orchestration-activation.md) — the gate.
|
|
121
120
|
- [`reasoning-orchestrator`](../skills/reasoning-orchestrator/SKILL.md) — RDP dispatch, now gated here.
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
4
|
description: "A provided prototype/mockup/design system is the spec — build 1:1; never swap fonts, controls, or layout unconfirmed"
|
|
5
|
+
load_context:
|
|
6
|
+
- ../contexts/communication/rules-auto/design-fidelity-enforcement.md
|
|
5
7
|
triggers:
|
|
6
8
|
- keyword: "prototype"
|
|
7
9
|
- keyword: "mockup"
|
|
@@ -39,7 +41,6 @@ collision_ok:
|
|
|
39
41
|
"mockup": "a provided mockup is the spec — 1:1 fidelity floor"
|
|
40
42
|
enforced_by:
|
|
41
43
|
- "instruction-only: no artifact in this tree records a fidelity comparison. lint_design_slop and lint_design_quality measure generic AI-aesthetic tells and accessibility; neither reads the handover, so a 1:1 claim is model-carried"
|
|
42
|
-
# obligation: line 58
|
|
43
44
|
obligation_frequency: "per-edit"
|
|
44
45
|
---
|
|
45
46
|
|
|
@@ -106,7 +107,7 @@ REPRODUCING A WIREFRAME'S GREYS 1:1 HONOURS THE WRONG HALF OF THE ARTEFACT.
|
|
|
106
107
|
```
|
|
107
108
|
|
|
108
109
|
`strict` means *do not redesign*; never *reproduce a wireframe's placeholder grays*, which
|
|
109
|
-
are **non-decisions** (
|
|
110
|
+
are **non-decisions** (`wireframe` § Gotchas).
|
|
110
111
|
**The discriminator reads the ARTEFACT, never the prose.** A finished comp whose prose
|
|
111
112
|
mentions a wireframe it replaces routes **strictly** — a reference to a previous artefact,
|
|
112
113
|
not a declaration about this one. **When the artefact does not declare its maturity,
|
|
@@ -155,26 +156,21 @@ a third-party builder's share link, need one word in the prompt — the
|
|
|
155
156
|
builder-URL trigger was tried and **withdrawn** as over-broad, and stays pinned
|
|
156
157
|
silent rather than merely absent.
|
|
157
158
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
is shaped as it is, why `*.html` and a bare builder host are refused, and the
|
|
163
|
-
worked example behind the direction rule:
|
|
164
|
-
[`design-fidelity-routing`](../guidelines/design-fidelity-routing.md).
|
|
159
|
+
Each class carries a near-miss row in the routing matrix, and a new trigger's
|
|
160
|
+
row must test the direction that trigger opens. The matrix, the reasons behind
|
|
161
|
+
each class, and the worked example are in
|
|
162
|
+
`design-fidelity-enforcement`.
|
|
165
163
|
|
|
166
164
|
Body migrated to [`guideline:design-fidelity-mechanics`](../guidelines/design-fidelity-mechanics.md) (per P4 of `road-to-kernel-and-router.md`) — URL / live-page handover (extraction into the `design-system.json` contract before the first UI write, the retrieval order, the lock boundary), surgical visual edits (targeted-edit vs redesign-trigger discipline, stable anchors), asset & imagery discipline (owned-asset path, third-party delivery is self-hosted by default, real-imagery-as-proof, iconography floor, no unrequested filler), deviation-surfacing shape, failure-mode catalog, `daf-*` fixtures.
|
|
167
165
|
Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
|
|
168
166
|
|
|
169
167
|
## Honest enforcement — `instruction-only`
|
|
170
168
|
|
|
171
|
-
Nothing records a fidelity comparison
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
([`design-review`](../skills/design-review/SKILL.md) § Fidelity proof) is the
|
|
177
|
-
control — a reviewer can open it, which is more than any gate here does.
|
|
169
|
+
Nothing records a fidelity comparison, so the proof clause in the Iron Law is
|
|
170
|
+
model-carried and the committed matrix is the control. Which two linters exist,
|
|
171
|
+
what each measures and why neither can tell a proven 1:1 from an asserted one:
|
|
172
|
+
`design-fidelity-enforcement`,
|
|
173
|
+
named in `load_context` above.
|
|
178
174
|
|
|
179
175
|
## See also
|
|
180
176
|
|
|
@@ -45,7 +45,6 @@ collision_ok:
|
|
|
45
45
|
"*.tsx": "one component file, two obligations: inventory before the write, review after it"
|
|
46
46
|
"*.jsx": "one component file, two obligations: inventory before the write, review after it"
|
|
47
47
|
"*.blade.php": "one template file, two obligations: inventory before the write, review after it"
|
|
48
|
-
# obligation: line 39
|
|
49
48
|
obligation_frequency: "per-edit"
|
|
50
49
|
---
|
|
51
50
|
|
|
@@ -74,7 +73,8 @@ STATICALLY CHECKED AND SAY SO. NEVER "LOOKS GOOD" WITH NOTHING BEHIND IT.
|
|
|
74
73
|
The verdict is gated on evidence, not on having run a skill:
|
|
75
74
|
|
|
76
75
|
- **Render capability present** (Playwright MCP, Chrome DevTools, or a live
|
|
77
|
-
preview URL) → the
|
|
76
|
+
preview URL) → the design-artifact verification checklist
|
|
77
|
+
(`docs/contracts/design-artifact-verification.md` § Verification checklist)
|
|
78
78
|
steps 1–5. A UI task does not pass without render evidence.
|
|
79
79
|
- **Render capability absent** → the verdict is **scoped to the static checks
|
|
80
80
|
that actually ran** and says which those were. This is not a downgrade to be
|
|
@@ -136,7 +136,7 @@ three `platforms:` rows that carry a `pre_tool_use` key — augment, claude,
|
|
|
136
136
|
cowork (**clarified 2026-08-17**: "hosts carrying a slot" read as a host
|
|
137
137
|
property and is a manifest one; three further hosts alias a native pre-tool
|
|
138
138
|
event with no binding, and only claude honours a deny — see
|
|
139
|
-
|
|
139
|
+
`docs/contracts/hook-architecture-v1.md` § Which hosts carry pre_tool_use).
|
|
140
140
|
The verdict is unchanged either way: a nudge that can be ignored is not
|
|
141
141
|
enforcement, so `enforced_by:` stays `none` — it moves the day a mechanism can
|
|
142
142
|
refuse, not the day a reminder appears. `agent-config hooks:status` answers
|
|
@@ -11,7 +11,6 @@ routes_to:
|
|
|
11
11
|
- "skill:devcontainer"
|
|
12
12
|
workspaces: [agent-config-maintainer, engineering]
|
|
13
13
|
packs: [meta]
|
|
14
|
-
# obligation: line 20
|
|
15
14
|
obligation_frequency: "none"
|
|
16
15
|
---
|
|
17
16
|
|
|
@@ -19,5 +18,5 @@ obligation_frequency: "none"
|
|
|
19
18
|
|
|
20
19
|
**Iron Law.** Wiring the dev environment itself (DevContainers, Codespaces, `devcontainer.json`, VS Code features) → load the `devcontainer` skill, not `copilot-config` (which tunes the Copilot AI on top).
|
|
21
20
|
|
|
22
|
-
Body migrated to `skill:devcontainer`. Disambiguates the devcontainer ↔ copilot-config cluster head per
|
|
21
|
+
Body migrated to `skill:devcontainer`. Disambiguates the devcontainer ↔ copilot-config cluster head per `docs/contracts/adr-architectural-consensus-mechanism.md`.
|
|
23
22
|
Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
|
+
consequence_class: "irreversible-external"
|
|
4
5
|
description: "Doc screenshots — anonymize sensitive data before shipping; data-bearing shots human-gated (published egress); terminal/CLI/IDE shots forbidden"
|
|
5
6
|
triggers:
|
|
6
7
|
- keyword: "screenshot"
|
|
@@ -27,7 +28,6 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
|
|
|
27
28
|
packs: [meta]
|
|
28
29
|
collision_ok:
|
|
29
30
|
"screenshot": "a screenshot shipping into docs is the PII/anonymization gate"
|
|
30
|
-
# obligation: line 49
|
|
31
31
|
obligation_frequency: "per-event"
|
|
32
32
|
---
|
|
33
33
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
|
+
consequence_class: "authority-bypass"
|
|
4
5
|
description: "Advisory content (legal, medical, financial, consulting) — matching 'not X advice' disclaimer; refuse diagnosis/dosage"
|
|
5
6
|
triggers:
|
|
6
7
|
- keyword: "legal brief"
|
|
@@ -42,7 +43,6 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
|
|
|
42
43
|
packs: [meta]
|
|
43
44
|
collision_ok:
|
|
44
45
|
"review this contract": "contract review is advisory-shaped — the not-legal-advice footer floor"
|
|
45
|
-
# obligation: line 52
|
|
46
46
|
obligation_frequency: "per-task"
|
|
47
47
|
---
|
|
48
48
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
|
+
consequence_class: "security-boundary"
|
|
4
5
|
description: "Drafts/logs/exports with real customer/candidate data — redact direct IDs, placeholders, flag quasi-ID re-identification"
|
|
5
6
|
triggers:
|
|
6
7
|
- keyword: "support macro"
|
|
@@ -42,7 +43,6 @@ applies_to_user_types:
|
|
|
42
43
|
- "all"
|
|
43
44
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
44
45
|
packs: [meta]
|
|
45
|
-
# obligation: line 52
|
|
46
46
|
obligation_frequency: "per-task"
|
|
47
47
|
evidence:
|
|
48
48
|
source_type: external-standard
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
|
+
consequence_class: "irreversible-external"
|
|
4
5
|
description: "Data retention — jurisdiction gap, longest floor, honor DSR/audit holds; never delete under inquiry"
|
|
5
6
|
triggers:
|
|
6
7
|
- keyword: "retention policy"
|
|
@@ -27,7 +28,6 @@ applies_to_user_types:
|
|
|
27
28
|
- "gtm"
|
|
28
29
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
29
30
|
packs: [meta]
|
|
30
|
-
# obligation: line 47
|
|
31
31
|
obligation_frequency: "per-turn"
|
|
32
32
|
evidence:
|
|
33
33
|
source_type: external-standard
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
|
+
consequence_class: "irreversible-external"
|
|
4
5
|
description: "Production/infra/security/external-system output — blast radius + rollback; Hard-Floor never autonomous"
|
|
5
6
|
triggers:
|
|
6
7
|
- keyword: "production"
|
|
@@ -28,7 +29,6 @@ workspaces: [engineering]
|
|
|
28
29
|
packs: [engineering-base]
|
|
29
30
|
collision_ok:
|
|
30
31
|
"migration": "a prod migration is a hard-floor evidence surface (rollback path, blast radius)"
|
|
31
|
-
# obligation: line 49
|
|
32
32
|
obligation_frequency: "per-commit"
|
|
33
33
|
evidence:
|
|
34
34
|
source_type: own-analysis
|
|
@@ -6,6 +6,7 @@ norm:
|
|
|
6
6
|
tokens: 1500
|
|
7
7
|
remainder:
|
|
8
8
|
- "../docs/guidelines/agent-infra/evaluator-independence-mechanics.md"
|
|
9
|
+
consequence_class: "authority-bypass"
|
|
9
10
|
description: "Commissioning a review/judge/blind-pass on your own work — never author the verdict, never narrow the scope, record the prompt with the result"
|
|
10
11
|
triggers:
|
|
11
12
|
- keyword: "blind review"
|
|
@@ -121,11 +122,11 @@ ITEM 1 IS ENFORCED. ITEMS 2, 3 AND 4 ARE NOT — 4 ONLY WARNS.
|
|
|
121
122
|
NEVER CITE A GUARD THAT WARNS AS ONE THAT BLOCKS.
|
|
122
123
|
```
|
|
123
124
|
|
|
124
|
-
|
|
125
|
+
`src/scripts/hooks/evidence_independence.ts`, a
|
|
125
126
|
`pre_tool_use` concern, BLOCKS item 1 on the one host that honours a deny and
|
|
126
127
|
only WARNS on item 4. Item 2 is enforced by nothing — a narrowed scope is not
|
|
127
128
|
decidable from a prompt. Item 3 is enforced by
|
|
128
|
-
|
|
129
|
+
`src/scripts/check_review_prompt_binding.ts`,
|
|
129
130
|
where **omission beats substitution**: not committing the prompt package drops
|
|
130
131
|
the round out of the checkable set with no finding.
|
|
131
132
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "1"
|
|
4
|
+
consequence_class: "authority-bypass"
|
|
4
5
|
description: "Low-impact council fast-path — surface the transparency marker verbatim as the reply opener"
|
|
5
6
|
triggers:
|
|
6
7
|
- keyword: "low-impact council"
|
|
@@ -14,7 +15,6 @@ validator_ignore:
|
|
|
14
15
|
self_contained: true
|
|
15
16
|
workspaces: [agent-config-maintainer, engineering]
|
|
16
17
|
packs: [meta]
|
|
17
|
-
# obligation: line 30
|
|
18
18
|
obligation_frequency: "per-turn"
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -80,6 +80,6 @@ this rule does not constrain their output.
|
|
|
80
80
|
|
|
81
81
|
## See also
|
|
82
82
|
|
|
83
|
-
-
|
|
83
|
+
- `docs/contracts/ai-council-config.md` § Low-impact council opt-in
|
|
84
84
|
- [`direct-answers`](direct-answers.md) — invented-facts Iron Law (provenance kin).
|
|
85
85
|
- `scripts/ai_council/low_impact.ts` — marker source.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
|
+
consequence_class: "authority-bypass"
|
|
4
5
|
description: "Finance-pack output (runway, valuation, DCF, scenarios, unit economics) — never a final invest/raise call; disclosure footer"
|
|
5
6
|
triggers:
|
|
6
7
|
- keyword: "runway"
|
|
@@ -33,7 +34,6 @@ packs: [finance-basic, finance-advanced]
|
|
|
33
34
|
trust:
|
|
34
35
|
level: advisory
|
|
35
36
|
human_review_required: true
|
|
36
|
-
# obligation: line 53
|
|
37
37
|
obligation_frequency: "per-task"
|
|
38
38
|
---
|
|
39
39
|
<!-- agent-config:human-review-banner -->
|
|
@@ -74,43 +74,17 @@ asks; the ask becomes the work, not the exit.
|
|
|
74
74
|
**Does NOT fire:** user fenced the scope this turn · no falsifiable break (a
|
|
75
75
|
preference, not a red) · already decided by the user.
|
|
76
76
|
|
|
77
|
-
## Why separate
|
|
77
|
+
## Why a separate rule, and its activation gap
|
|
78
78
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
note-and-ask tier is what let a session name a red check's cause, name the
|
|
84
|
-
file's author, and hand it back still red.
|
|
85
|
-
|
|
86
|
-
Mechanics (fix-now size criteria, follow-up shape) stay there; this rule only
|
|
87
|
-
deletes the two escapes.
|
|
88
|
-
|
|
89
|
-
## Honest activation gap — this rule is `auto`, and it wanted to be `always`
|
|
90
|
-
|
|
91
|
-
It shipped `auto` for a budget reason, not a design one, and the gap that leaves
|
|
92
|
-
is exactly the one it was written to close: **a red check the agent sees in tool
|
|
93
|
-
output triggers nothing.** Keyword triggers match the PROMPT. So the rule loads
|
|
94
|
-
when a human says "CI is red" or "not my test", and does NOT load when a test
|
|
95
|
-
run comes back red and nobody has said a word.
|
|
96
|
-
|
|
97
|
-
`check_always_budget` is the reason: the extended always-budget sat at
|
|
98
|
-
60,252 / 60,254 chars — **two characters of headroom** — and the cap is a
|
|
99
|
-
ratchet that may only move down. The other nine always-rules are the kernel,
|
|
100
|
-
which `block_kernel_rule_writes` denies agent writes to, so no room can be made
|
|
101
|
-
from this side. A 2,332-char rule puts the total at 103.9 %.
|
|
102
|
-
|
|
103
|
-
Closing the gap needs one of: the ext-cap ratchet opened deliberately (a
|
|
104
|
-
maintainer decision, recorded), a kernel rule shortened to make room, or a
|
|
105
|
-
`post_tool_use` carrier that notices a non-zero verification exit — the only
|
|
106
|
-
option that would fire on tool output rather than on wording. Until then, `auto`
|
|
107
|
-
plus this paragraph is the honest state: the obligation is real, its delivery is
|
|
108
|
-
partial, and the partiality is named rather than implied away.
|
|
79
|
+
Why `active-remediation` alone was insufficient, and why this rule ships `auto`
|
|
80
|
+
although it wanted `always` — so a red check seen only in tool output triggers
|
|
81
|
+
nothing — are in
|
|
82
|
+
`guideline:agent-infra/active-remediation-mechanics` § fix-what-you-see.
|
|
109
83
|
|
|
110
84
|
## Honest enforcement — `instruction-only`
|
|
111
85
|
|
|
112
86
|
Nothing observes a disposition. "I fixed it", "I landed a roadmap for it" and
|
|
113
87
|
"I named the author and moved on" are the same prose to every gate in this tree,
|
|
114
88
|
and the issue set is whatever the agent happened to see. So the two dispositions
|
|
115
|
-
above are model-carried, and the activation gap named
|
|
89
|
+
above are model-carried, and the activation gap named above
|
|
116
90
|
sits on top of that rather than beside it.
|
|
@@ -43,7 +43,6 @@ collision_ok:
|
|
|
43
43
|
"formrequest": "FormRequest named in a generic artifact is leakage — the lint surface"
|
|
44
44
|
"phpstan": "phpstan named in a generic artifact is leakage — the lint surface"
|
|
45
45
|
"rector": "rector named in a generic artifact is leakage — the lint surface"
|
|
46
|
-
# obligation: line 65
|
|
47
46
|
obligation_frequency: "per-edit"
|
|
48
47
|
---
|
|
49
48
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
type: "auto"
|
|
3
3
|
tier: "2a"
|
|
4
4
|
alwaysApply: false
|
|
5
|
+
consequence_class: "irreversible-external"
|
|
5
6
|
description: "Git history — no unasked rebase/squash/amend; never drop foreign commits; pushed rewrite → re-push same turn"
|
|
6
7
|
triggers:
|
|
7
8
|
- keyword: "git rebase"
|
|
@@ -23,7 +24,6 @@ workspaces: [engineering]
|
|
|
23
24
|
packs: [engineering-base]
|
|
24
25
|
enforced_by:
|
|
25
26
|
- "hook:block-no-verify"
|
|
26
|
-
# obligation: line 35
|
|
27
27
|
obligation_frequency: "per-commit"
|
|
28
28
|
---
|
|
29
29
|
|
|
@@ -86,6 +86,6 @@ Trigger-set above activates this routing on demand, independent of the disciplin
|
|
|
86
86
|
- [`skill:git-workflow`](../skills/git-workflow/SKILL.md) — Safe Squash-After-Push protocol and Divergent-State Recovery decision tree.
|
|
87
87
|
- `git … --no-verify` / `core.hooksPath` overrides — deterministically blocked by the `block-no-verify` PreToolUse guard (`src/scripts/hooks/block_no_verify.ts`, registered in `hook_manifest.yaml`) **on `claude`, the one host that both binds `pre_tool_use` and honours a deny**. It is *bound* on augment and cowork too, and ignored there. Everywhere else the Iron Laws above are model-carried and "deterministically blocked" is not a claim this rule can make. To check the host you are on rather than trusting this sentence, run `agent-config hooks:status`.
|
|
88
88
|
|
|
89
|
-
**Corrected 2026-08-17, in both directions, because this line was wrong on each side.** It read "the guard has nowhere to bind" on cursor, cline, windsurf, gemini and copilot — refuted for three of the five by the manifest's own `native_event_aliases` table, which already maps `preToolUse`, `PreToolUse` and `BeforeTool` onto `pre_tool_use`: there the guard is **unbound, not unbindable**, and only windsurf and copilot carry no pre-tool alias row here. And it certified augment, claude and cowork as the enforcing set — `host_semantics.ts` verifies **claude alone**, while the augment and cowork trampolines discard dispatcher output and `exit 0` unconditionally, so a guard bound there runs and is then ignored. Both halves are the same failure: a host-capability claim this tree never established. The four states are tabulated once in
|
|
89
|
+
**Corrected 2026-08-17, in both directions, because this line was wrong on each side.** It read "the guard has nowhere to bind" on cursor, cline, windsurf, gemini and copilot — refuted for three of the five by the manifest's own `native_event_aliases` table, which already maps `preToolUse`, `PreToolUse` and `BeforeTool` onto `pre_tool_use`: there the guard is **unbound, not unbindable**, and only windsurf and copilot carry no pre-tool alias row here. And it certified augment, claude and cowork as the enforcing set — `host_semantics.ts` verifies **claude alone**, while the augment and cowork trampolines discard dispatcher output and `exit 0` unconditionally, so a guard bound there runs and is then ignored. Both halves are the same failure: a host-capability claim this tree never established. The four states are tabulated once in `docs/contracts/hook-architecture-v1.md` § Which hosts carry pre_tool_use.
|
|
90
90
|
|
|
91
91
|
The frequency join in `check_enforcement_coverage.ts` reports this obligation uncovered on **four** platforms — cursor, cline, windsurf, gemini. It skips `fallback_only` platforms before computing, so copilot never appears in its output and must not be quoted as if it did; copilot is uncovered because this package binds nothing there.
|