Public alpha. Stripe Live in ~2 weeks. → Get on the launch list
DSLError codes

Error codes

Status: stub. Day 3 will autogenerate from src/athena/types.ts.

Every issue carries a stable machine code, a severity (error | warning), a JSON path locating the offending node, a human-readable message, and optional structured detail. Codes are stable — write tooling against them.

CodeSeverityMeaning
SCHEMA_VIOLATIONerrorTop-level shape doesn’t match the spec.
DUPLICATE_RULE_IDerrorTwo rules share an id.
UNDEFINED_RULE_REFERENCEerrorA when references an undeclared input.
CIRCULAR_DEPENDENCYerrorA rule chain forms a cycle.
CONTRADICTORY_RULESerrorTwo rules accept identical input but emit conflicting decisions.
REDUNDANT_RULEwarningA rule is dominated by an earlier rule.
FALLBACK_MASKEDwarningA rule shadows the fallback clause.
MISSING_ARRAY_MAXerrorAn array-typed input lacks the required max.
PREDICATE_PARSE_ERRORerrorA when expression failed to parse.
COMPILER_BOMB_*errorA DSL hard limit was exceeded — see Hard limits.