Error Catalog
Forge aims to keep error categories stable across all six SDKs, even when each language expresses them differently.
Why this page exists
Vendor-native errors are not a portable contract. Forge needs stable categories so developers can reason about runtime behavior without reverse-engineering every provider.
Coding-provider categories
- provider not configured
- provider unavailable
- provider authentication failed
- capability unsupported
- boundary contract denied
- delegation denied
- credential scope denied
- session expired
- interrupt unsupported
- resume unsupported
Glyph categories
- glyph input invalid
- glyph render unsupported
What developers should do with these categories
| Category | Typical developer action |
|---|---|
| provider not configured | supply or correct provider configuration before runtime start |
| provider unavailable | retry or route to a different provider according to application policy |
| provider authentication failed | rotate or repair credentials and re-run negotiation |
| capability unsupported | request a different provider or a narrower capability set |
| boundary contract denied | adjust the issuing policy or request a different contract |
| delegation denied | inspect the authority chain and delegation scope |
| credential scope denied | inspect Arsenal-scoped capability policy |
| session expired | recreate or resume the session if supported |
| interrupt unsupported | fall back to cancel-or-complete behavior |
| resume unsupported | treat the session as non-resumable |
| glyph input invalid | repair the identity input before rendering |
| glyph render unsupported | choose a supported render target |
Documentation rule
The public error model must match the runtime contract. If a new error category is introduced in code, it should be documented here and included in the release-gate truthfulness model.