| Autonomy-by-label | “Autonomous” is claimed but there is no AutonomyBudgetDecl or ledger | Autonomy becomes opaque; cannot be audited or compared | Require E.16‑S1/S3; reject publication without AutonomyBudgetDeclRef + version |
| Soft gates | Budget/guards only warn; enactment proceeds anyway | Violates Safety and SoD; makes budgets non-enforceable | Make Green‑Gate blocking on Core surface (E.16‑S2) |
| Self-override | The actual consumer and override assignments are missing, or their holder, actual-Work or proposed-action identity under the selected species, and window facts match the prohibited joint-allocation case in the declared A.2.7 predicate. | A label pair or two different assignment IDs does not establish separation of duties. | Resolve both exact A.2.1 assignments, apply the declared incompatibility predicate, reject a prohibited pair, and check the independent authority relation (E.16-S4). |
| Budget bypass via “scale” | Scaling preference relaxes guards or ignores caps | Undermines declared limits; breaks comparability | In ScaleLensPolicy, guards/SoD must remain non‑weakened (E.16‑S7) |
| Untyped quotas | Tokens/caps are recorded without units, or units are mixed | Ledger becomes non-comparable; audits become meaningless | Type budgets and deltas via MM‑CHR (C.16); keep unitful rates/quotas |
| Ledger-as-logging | Logs exist but are not Work‑anchored (no workRef/budgetId/version or recoverable edition pins) | Evidence is non-portable; cannot support parity/refresh | Require AutonomyLedgerEntry attached to U.Work with workRef, budgetId, version, and the referenced declaration’s edition pins |