@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
|
@@ -34,6 +34,11 @@ hotfix/DEV-999/critical-payment-bug
|
|
|
34
34
|
- Always include the Jira ticket ID when one exists
|
|
35
35
|
- Use kebab-case for the description part
|
|
36
36
|
- Keep branch names short but descriptive
|
|
37
|
+
- The shape above is this guideline's convention; the agent renders branches from `git.branch_pattern` per [`commit-subject`](../../skills/git-workflow/references/commit-subject.md).
|
|
38
|
+
- A team declares `git.branch_pattern`, `git.commit_format` and
|
|
39
|
+
`git.update_strategy` in `.git-convention.yml` at the repository root, committed
|
|
40
|
+
so every checkout, worktree and CI run reads the same value; there either value
|
|
41
|
+
is a declaration. `agent-config git:convention show` prints what is in force.
|
|
37
42
|
|
|
38
43
|
## Commit Messages
|
|
39
44
|
|
|
@@ -68,9 +73,14 @@ that is not better classified as `build`, `ci`, or `docs`.
|
|
|
68
73
|
|
|
69
74
|
Use a scope when it adds clarity. Good scopes:
|
|
70
75
|
|
|
71
|
-
- Jira ticket ID: `
|
|
76
|
+
- Jira ticket ID: placed per [`commit-subject`](../../skills/git-workflow/references/commit-subject.md) § Placing the ticket
|
|
72
77
|
- Module/area: `api`, `auth`, `skills`, `rules`, `ci`, `frontend`, `linter`
|
|
73
78
|
|
|
79
|
+
Under `git.commit_format: ticket-conventional` the ticket leads the subject and is
|
|
80
|
+
**never** in the scope (`DEV-1234 feat(exporter-models): …`); tooling that parses
|
|
81
|
+
subjects (commitlint, release automation, changelog generators) must be
|
|
82
|
+
configured for that prefixed form.
|
|
83
|
+
|
|
74
84
|
Do not add a scope if it adds no value. `fix(core): fix typo` → just `fix: fix typo`.
|
|
75
85
|
|
|
76
86
|
### Description rules
|
|
@@ -157,7 +167,10 @@ Before writing the commit message:
|
|
|
157
167
|
|
|
158
168
|
## Pull Requests
|
|
159
169
|
|
|
160
|
-
- PR title
|
|
170
|
+
- PR title per [`commit-subject`](../../skills/git-workflow/references/commit-subject.md) § A title that becomes a commit
|
|
171
|
+
- Bring the branch up to date per `git.update_strategy` — merge the base in
|
|
172
|
+
(default) or rebase onto `origin/main` and push with `--force-with-lease`;
|
|
173
|
+
see `git-workflow` › `references/branch-update.md`
|
|
161
174
|
- Fill in the PR template (checklist, description, testing notes)
|
|
162
175
|
- Link the Jira ticket in the PR description
|
|
163
176
|
- Ensure all quality gates pass before requesting review
|
|
@@ -20,7 +20,6 @@ enforced_by:
|
|
|
20
20
|
- "instruction-only: the note, the ask and the user decision are all prose, so no gate can tell a discharged issue from a mentioned one"
|
|
21
21
|
collision_ok:
|
|
22
22
|
"refactor": "an explicit clean-up/refactor ask is the remediation ladder's own trigger"
|
|
23
|
-
# obligation: line 31
|
|
24
23
|
obligation_frequency: "per-edit"
|
|
25
24
|
---
|
|
26
25
|
|
|
@@ -24,7 +24,6 @@ collision_ok:
|
|
|
24
24
|
"controller": "controllers return user data — the ownership/tenant check floor"
|
|
25
25
|
"endpoint": "every data-returning endpoint needs the three negative tests"
|
|
26
26
|
"tenant": "cross-tenant isolation is this rule's core subject"
|
|
27
|
-
# obligation: line 55
|
|
28
27
|
obligation_frequency: "per-edit"
|
|
29
28
|
evidence:
|
|
30
29
|
source_type: external-standard
|
|
@@ -35,7 +35,6 @@ collision_ok:
|
|
|
35
35
|
"composer": "composer output is verbose — rtk wrap applies"
|
|
36
36
|
"docker": "docker output is verbose — rtk wrap applies"
|
|
37
37
|
"rector": "rector output is verbose — rtk wrap applies"
|
|
38
|
-
# obligation: line 42
|
|
39
38
|
obligation_frequency: "per-edit"
|
|
40
39
|
---
|
|
41
40
|
|
|
@@ -20,7 +20,6 @@ packs: [engineering-base]
|
|
|
20
20
|
collision_ok:
|
|
21
21
|
"refactor": "refactors churn comments — the keep/drop discipline applies"
|
|
22
22
|
"implement": "fresh implementation is where over-commenting lands"
|
|
23
|
-
# obligation: line 5
|
|
24
23
|
obligation_frequency: "per-edit"
|
|
25
24
|
enforced_by:
|
|
26
25
|
- "validator:src/scripts/lint_code_comments.ts"
|
|
@@ -23,7 +23,6 @@ packs: [engineering-base]
|
|
|
23
23
|
roles: [developer, reviewer, tester, po, incident, planner]
|
|
24
24
|
enforced_by:
|
|
25
25
|
- "instruction-only: close-the-source-and-re-derive is a pre-write reasoning step only the model observes; CI checks the ledger, never the derivation"
|
|
26
|
-
# obligation: line 40
|
|
27
26
|
obligation_frequency: "per-edit"
|
|
28
27
|
evidence:
|
|
29
28
|
source_type: external-research
|
|
@@ -12,7 +12,6 @@ load_context:
|
|
|
12
12
|
- "../contexts/contracts/command-suggestion-flow.md"
|
|
13
13
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
14
14
|
packs: [meta]
|
|
15
|
-
# obligation: line 18
|
|
16
15
|
obligation_frequency: "per-turn"
|
|
17
16
|
---
|
|
18
17
|
|
|
@@ -12,13 +12,12 @@ workspaces: [engineering]
|
|
|
12
12
|
packs: [engineering-base]
|
|
13
13
|
collision_ok:
|
|
14
14
|
"commit": "format floor for every commit message"
|
|
15
|
-
# obligation: line 19
|
|
16
15
|
obligation_frequency: "per-commit"
|
|
17
16
|
---
|
|
18
17
|
|
|
19
18
|
# Commit Conventions
|
|
20
19
|
|
|
21
|
-
**Iron Law.** Match
|
|
20
|
+
**Iron Law.** Match a repo's configured, then git.* settings, then approved convention; else Conventional Commits, branches `<type>/<short-slug>`; never invent one. Subjects + branch names stay emoji-free per [`no-decorative-emojis-in-git-surfaces`](no-decorative-emojis-in-git-surfaces.md); body emojis need an in-artifact legend.
|
|
22
21
|
|
|
23
22
|
Body migrated to `skill:conventional-commits-writing` (per P4 of `road-to-kernel-and-router.md`).
|
|
24
23
|
Trigger-set above activates this routing on demand, independent of the discipline profile (ADR-110).
|
|
@@ -8,7 +8,6 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
|
|
|
8
8
|
packs: [meta]
|
|
9
9
|
triggers:
|
|
10
10
|
- phrase: "reporting progress"
|
|
11
|
-
# obligation: line 20
|
|
12
11
|
obligation_frequency: "per-turn"
|
|
13
12
|
---
|
|
14
13
|
|
|
@@ -34,7 +33,7 @@ CLOSE THE LOOP WITH ONE END-SUMMARY. NEVER MAKE THE USER RE-DERIVE WHERE THINGS
|
|
|
34
33
|
## When NOT to over-apply
|
|
35
34
|
|
|
36
35
|
- A one-shot answer or trivial reply needs no plan-anchor or end-summary (`direct-answers` brevity wins).
|
|
37
|
-
- Don't narrate for its own sake — the thread is orientation, not play-by-play
|
|
36
|
+
- Don't narrate for its own sake — the thread is orientation, not play-by-play.
|
|
38
37
|
- Never let the through-line inflate a reply past what the task needs; brevity and the one-recommendation rule win on conflict.
|
|
39
38
|
|
|
40
39
|
## See also
|
|
@@ -9,7 +9,6 @@ triggers:
|
|
|
9
9
|
self_contained: true
|
|
10
10
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
11
11
|
packs: [meta]
|
|
12
|
-
# obligation: line 19
|
|
13
12
|
obligation_frequency: "per-event"
|
|
14
13
|
---
|
|
15
14
|
|
|
@@ -88,7 +87,7 @@ does not substitute for engaging with the source.
|
|
|
88
87
|
**markup**: a design artifact the user hands over is their own material, so
|
|
89
88
|
adapting its code is not a borrow. Third-party code arriving inside that
|
|
90
89
|
handover is not covered, on either side.
|
|
91
|
-
-
|
|
90
|
+
- `docs/contracts/write-engine.md` —
|
|
92
91
|
ghostwriter's disclosure-footer contract; this rule's quote floor
|
|
93
92
|
applies to any ghostwriter draft that cites an external source.
|
|
94
93
|
- [`source-confidentiality`](source-confidentiality.md) — the license-
|
|
@@ -16,7 +16,6 @@ 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
|
|
|
@@ -26,7 +25,7 @@ obligation_frequency: "per-turn"
|
|
|
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
|
|
@@ -25,7 +25,6 @@ workspaces: [agent-config-maintainer, engineering]
|
|
|
25
25
|
packs: [meta]
|
|
26
26
|
collision_ok:
|
|
27
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"
|
|
28
|
-
# obligation: line 33
|
|
29
28
|
enforced_by:
|
|
30
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"
|
|
31
30
|
obligation_frequency: "per-task"
|
|
@@ -96,7 +95,7 @@ read 6 is the agent's, because reversibility belongs to the proposed transition
|
|
|
96
95
|
and no tool reading one record supplies it. What each field means, and what a
|
|
97
96
|
`[found]` basis ref does NOT claim, is in that script's module docstring. The
|
|
98
97
|
evidence-priced burden table stays in
|
|
99
|
-
|
|
98
|
+
`docs/contracts/adr-layout.md` § The reopen record.
|
|
100
99
|
|
|
101
100
|
```
|
|
102
101
|
A GRADE IS A MEASUREMENT, NOT A PERMISSION — IT GRANTS NOTHING.
|
|
@@ -152,7 +151,7 @@ Field on the ADR: `reopen_policy: directional | owner | unclassified`, absent
|
|
|
152
151
|
permitted; only execution of a reserved transition is gated. Absent is
|
|
153
152
|
deliberately not `owner`: with 146 accepted ADRs that default would encode
|
|
154
153
|
today's blockage into the new schema. Full contract, the reopen record and the
|
|
155
|
-
precedent-creates-no-authority clause:
|
|
154
|
+
precedent-creates-no-authority clause: `docs/contracts/adr-layout.md` § Reopen authority.
|
|
156
155
|
|
|
157
156
|
## See also
|
|
158
157
|
|
|
@@ -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.
|
|
@@ -41,7 +41,6 @@ collision_ok:
|
|
|
41
41
|
"mockup": "a provided mockup is the spec — 1:1 fidelity floor"
|
|
42
42
|
enforced_by:
|
|
43
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"
|
|
44
|
-
# obligation: line 60
|
|
45
44
|
obligation_frequency: "per-edit"
|
|
46
45
|
---
|
|
47
46
|
|
|
@@ -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).
|
|
@@ -28,7 +28,6 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
|
|
|
28
28
|
packs: [meta]
|
|
29
29
|
collision_ok:
|
|
30
30
|
"screenshot": "a screenshot shipping into docs is the PII/anonymization gate"
|
|
31
|
-
# obligation: line 49
|
|
32
31
|
obligation_frequency: "per-event"
|
|
33
32
|
---
|
|
34
33
|
|
|
@@ -43,7 +43,6 @@ workspaces: [agent-config-maintainer, construction, engineering, finance, founde
|
|
|
43
43
|
packs: [meta]
|
|
44
44
|
collision_ok:
|
|
45
45
|
"review this contract": "contract review is advisory-shaped — the not-legal-advice footer floor"
|
|
46
|
-
# obligation: line 52
|
|
47
46
|
obligation_frequency: "per-task"
|
|
48
47
|
---
|
|
49
48
|
|
|
@@ -43,7 +43,6 @@ applies_to_user_types:
|
|
|
43
43
|
- "all"
|
|
44
44
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
45
45
|
packs: [meta]
|
|
46
|
-
# obligation: line 52
|
|
47
46
|
obligation_frequency: "per-task"
|
|
48
47
|
evidence:
|
|
49
48
|
source_type: external-standard
|
|
@@ -28,7 +28,6 @@ applies_to_user_types:
|
|
|
28
28
|
- "gtm"
|
|
29
29
|
workspaces: [agent-config-maintainer, construction, engineering, finance, founder, gtm, legal-review-prep, ops, product, small-business]
|
|
30
30
|
packs: [meta]
|
|
31
|
-
# obligation: line 47
|
|
32
31
|
obligation_frequency: "per-turn"
|
|
33
32
|
evidence:
|
|
34
33
|
source_type: external-standard
|
|
@@ -29,7 +29,6 @@ workspaces: [engineering]
|
|
|
29
29
|
packs: [engineering-base]
|
|
30
30
|
collision_ok:
|
|
31
31
|
"migration": "a prod migration is a hard-floor evidence surface (rollback path, blast radius)"
|
|
32
|
-
# obligation: line 49
|
|
33
32
|
obligation_frequency: "per-commit"
|
|
34
33
|
evidence:
|
|
35
34
|
source_type: own-analysis
|
|
@@ -15,7 +15,6 @@ validator_ignore:
|
|
|
15
15
|
self_contained: true
|
|
16
16
|
workspaces: [agent-config-maintainer, engineering]
|
|
17
17
|
packs: [meta]
|
|
18
|
-
# obligation: line 30
|
|
19
18
|
obligation_frequency: "per-turn"
|
|
20
19
|
---
|
|
21
20
|
|
|
@@ -81,6 +80,6 @@ this rule does not constrain their output.
|
|
|
81
80
|
|
|
82
81
|
## See also
|
|
83
82
|
|
|
84
|
-
-
|
|
83
|
+
- `docs/contracts/ai-council-config.md` § Low-impact council opt-in
|
|
85
84
|
- [`direct-answers`](direct-answers.md) — invented-facts Iron Law (provenance kin).
|
|
86
85
|
- `scripts/ai_council/low_impact.ts` — marker source.
|
|
@@ -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
|
|
|
@@ -24,7 +24,6 @@ workspaces: [engineering]
|
|
|
24
24
|
packs: [engineering-base]
|
|
25
25
|
enforced_by:
|
|
26
26
|
- "hook:block-no-verify"
|
|
27
|
-
# obligation: line 35
|
|
28
27
|
obligation_frequency: "per-commit"
|
|
29
28
|
---
|
|
30
29
|
|
|
@@ -87,6 +86,6 @@ Trigger-set above activates this routing on demand, independent of the disciplin
|
|
|
87
86
|
- [`skill:git-workflow`](../skills/git-workflow/SKILL.md) — Safe Squash-After-Push protocol and Divergent-State Recovery decision tree.
|
|
88
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`.
|
|
89
88
|
|
|
90
|
-
**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.
|
|
91
90
|
|
|
92
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.
|