Errors
guides / v1
Runtime contract error taxonomy
These are the contract §7 error names and HTTP statuses. This is the runtime specification, not a claim that the MCP endpoint implements the guard envelope.
| HTTP | error | Meaning |
|---|---|---|
| 400 | invalid_request | Bad envelope or missing write idempotency key. |
| 401 | unauthorized | Invalid credential. |
| 403 | plan_limit | Plan ceiling. |
| 409 | drift_blocked | Write blocked by known policy. |
| 409 | drift_halted | Strict policy halt. |
| 422 | contract_violation | No known contract. |
| 429 | rate_limited | Guard-side throttle. |
| 5xx | internal | Availability failure; explicit client fallback rules apply. |
Five decisions
Engine fault bypassed is different from policy blocked. A fail-open read can be degraded; a successful selective replacement is repaired.
| Decision | Meaning |
|---|---|
| ok | No actionable drift reported; this alone does not prove protection was configured. |
| repaired | A verified selective patch was applied; bytes may change and byte_identical is false. |
| degraded | Policy permits the original read with a loud drift warning. |
| bypassed | Inspection unavailable or skipped; original outcome preserved. |
| blocked | Policy refusal; distinguish request refusal from a completed response halt. |
SDK and administration errors
AgindowSetupError is deterministic misuse before a call. AgindowDriftError carries policy feedback and preserves original exceptions as cause where available. A response halt may retain a completed outcome; inspect it before taking further action. Dashboard session, permissions, retention and validation failures belong to their own administrative contracts, not this runtime taxonomy.
Continue
Keep configuration, call decisions and evidence separate.