veto_decisions
Record architectural decisions as machine-checkable constraints and automatically flag diffs that violate them, preventing AI assistants from re-litigating settled choices like database or library selections.
Instructions
Decision-drift enforcement: records architectural decisions as machine-checkable constraints, then flags diffs that violate them. AI assistants forget decisions and re-litigate them sessions later — record "we use Postgres" with forbidden_patterns ["mongoose", "mongodb"] once, and veto_diff_review / veto_ci_gate automatically fail any future diff that adds them. Actions: add (rule + forbidden_patterns), list, check (a diff or the working tree), disable / enable (by id).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | disable/enable: the constraint id. | |
| why | No | add: rationale, shown alongside violations. | |
| diff | No | check: a unified diff to check. Omit to read uncommitted git changes from project_dir. | |
| rule | No | add: the decision in human terms, e.g. "We use Postgres — no Mongo". | |
| action | Yes | What to do. | |
| severity | No | add: 'block' (default — fails reviews/gates) or 'warn'. | |
| file_scope | No | add: optional glob limiting which files the constraint applies to, e.g. "src/**/*.ts". Default: all files. | |
| project_dir | No | Scope the constraint / check to a project. Defaults to the active project; constraints saved without one apply everywhere. | |
| include_inactive | No | list: include disabled constraints (default false). | |
| forbidden_patterns | No | add: case-insensitive regexes (fallback: substring) that violate the decision when they appear in added lines, e.g. ["mongoose", "mongodb"]. |