SIFR-<FAMILY>-dddd, where the four-digit number is scoped within its family. This page lists every active diagnostic family and links each code to a dedicated reference page. Use sifr --explain <CODE> in your terminal to get the exact renderer template and suggestions for your installed compiler version.
PARSE — Parsing and source syntax
PARSE — Parsing and source syntax
PARSE family covers errors that the parser encounters before any semantic analysis. These diagnostics fire when your source file contains syntax the Sifr parser cannot recover from.NAME — Name binding and resolution
NAME — Name binding and resolution
NAME family covers errors that arise when the compiler cannot resolve an identifier — a variable, function, type, or member — to a known declaration.IMPORT — Module import and path resolution
IMPORT — Module import and path resolution
IMPORT family covers errors that occur when resolving import and from … import statements. These diagnostics fire before type-checking when the module graph cannot be built.SIFR-IMPORT-0008 fires when you write from math import floor instead of from sifr.math import floor. Sifr’s standard library lives under the sifr.* namespace.TYPE — Static type compatibility and inference
TYPE — Static type compatibility and inference
TYPE family covers type system violations detected during static analysis and lowering. These diagnostics indicate that the inferred or annotated types in your program are not compatible with each other or with the operation being performed.ASYNC — Async effect and awaitability
ASYNC — Async effect and awaitability
ASYNC family covers violations of Sifr’s async effect system. Sifr tracks whether functions perform real suspension, and it enforces that blocking or CPU-heavy work is never called directly from an async context.PYENV — Embedded CPython environment
PYENV — Embedded CPython environment
PYENV family covers root Python environment selection and live interpreter probe failures for embedded CPython interop.PYTRUST — Embedded Python trust policy
PYTRUST — Embedded Python trust policy
PYTRUST family covers import-root and native-extension trust policy for embedded Python interop.PYIMP, PYCALL, PYCONV, PYRES, PYCTX, PYCB, and PYZC families are active compiler-emitted Python interop diagnostics. PYCTX covers context-manager entry, exit, suppression, and cause contracts. PYZC covers typed buffer, Arrow, and DLPack declaration, ownership, layout or stream policy, transfer, and hidden-copy errors. Runtime failures at active boundaries are returned as structured PythonError values.RUST — Rust interop
RUST — Rust interop
SIFR-RUST-* families cover declaration-level Rust interop through Cargo. These diagnostics are emitted by the same compiler path used by sifr check, sifr bridge check, package build, and package publish validation.DECIMAL — Decimal and fixed-point arithmetic
DECIMAL — Decimal and fixed-point arithmetic
DECIMAL family covers errors in Sifr’s Decimal and BigDecimal numeric types. Sifr’s decimal types are distinct from Python floats and have their own literal syntax, scale rules, and construction constraints.INT — Exact and fixed-width integer model
INT — Exact and fixed-width integer model
INT family covers errors in Sifr’s exact integer (int) and fixed-width integer types (i8–i128, u8–u128). Sifr enforces explicit conversions and overflow handling rather than silently wrapping or truncating.IO — File and stream text/binary boundary
IO — File and stream text/binary boundary
IO family covers errors at the boundary between text-mode and binary-mode file operations. Sifr requires that text-mode file opens declare an explicit encoding at compile time.ENCODING — Text encoding and error handlers
ENCODING — Text encoding and error handlers
ENCODING family covers errors related to text encoding configuration. Sifr requires that encoding error handlers be statically known so that encoding behavior is predictable and verifiable at compile time.CALL — Function and method call diagnostics
CALL — Function and method call diagnostics
CALL family covers errors at call sites: wrong argument counts, unexpected keyword arguments, duplicate arguments, missing required arguments, and uncallable expressions.OWN — Ownership, borrow, move, and lifetime
OWN — Ownership, borrow, move, and lifetime
OWN family covers violations of Sifr’s ownership and borrow model. Because Sifr compiles to Rust, it enforces that values are not used after being moved, that borrows do not conflict, and that values respect sendability and shareability boundaries across task and channel boundaries.FLOW — Control flow and reachability
FLOW — Control flow and reachability
FLOW family covers control-flow correctness: invalid break/continue placement, missing return values, unsupported loop forms, and constructs that HIR lowering cannot represent.FMT — Source formatting
FMT — Source formatting
FMT family covers formatting enforcement. It fires when sifr fmt --check detects that one or more source files have drifted from canonical Sifr formatting.LINT — Suppressible policy-rule diagnostics
LINT — Suppressible policy-rule diagnostics
LINT family covers the policy-rule engine (sifr lint). These are Warning-severity diagnostics that can be suppressed per-line with # sifr: ignore[rule-id]. The family also includes meta-diagnostics about suppression hygiene.MATCH — Pattern matching and exhaustiveness
MATCH — Pattern matching and exhaustiveness
MATCH family covers match statement correctness. Sifr requires that match statements are exhaustive over enum types and that patterns are well-formed.PROTO — Protocol and structural conformance
PROTO — Protocol and structural conformance
PROTO family covers violations of Sifr’s structural protocol system: iterator and reversible protocols, context-manager protocols, and hashability/comparability constraints.CLASS — Class declaration, fields, and methods
CLASS — Class declaration, fields, and methods
CLASS family covers class-level structural errors: missing field initializers, field ordering violations, duplicate enum variants, invalid base classes, and unsupported class forms.RESULT — Result, Option, and checked error flow
RESULT — Result, Option, and checked error flow
RESULT family covers Sifr’s checked error-handling model. Sifr requires that Result values are explicitly handled, that error types are valid, and that try/except blocks cover all possible error types from the try body.SIFR-RESULT-0001 fires whenever you call a function that returns Result and discard the return value without handling it. Use match, unwrap(), or propagate the result with ? syntax to resolve it.STDLIB — Standard library surface and intrinsics
STDLIB — Standard library surface and intrinsics
STDLIB family covers errors related to Sifr’s embedded standard library. These diagnostics fire when a stdlib constructor or method is called in an unsupported way, or when the stdlib bootstrap or cache has a problem.WORKSPACE — Workspace manifest and project discovery
WORKSPACE — Workspace manifest and project discovery
WORKSPACE family covers errors in workspace configuration: malformed manifests, source roots that escape the workspace boundary, and invalid source root entries. It also includes legacy import resolution errors that mirror the IMPORT family for workspaces not yet migrated to the current module system.PACKAGE — Cargo-backed package coordination
PACKAGE — Cargo-backed package coordination
PACKAGE family is the largest family and covers the full lifecycle of Sifr packages: manifest validation, dependency resolution, import scope enforcement, trust policy, archive integrity, and publish guardrails.CODEGEN — Rust lowering and code generation
CODEGEN — Rust lowering and code generation
CODEGEN family is reserved for diagnostics that arise during the Rust lowering and code-generation phase, after HIR construction. No codes are active yet; this family is reserved for future use.BUILD — Build orchestration and artifacts
BUILD — Build orchestration and artifacts
BUILD family covers failures in Sifr’s build pipeline: file materialization, temporary workspace creation, Cargo manifest generation, Rustc/Cargo execution, and missing artifacts.INTERNAL — Compiler invariant and internal failures
INTERNAL — Compiler invariant and internal failures
INTERNAL family covers compiler-internal failures that escape the panic boundary. If you see an INTERNAL diagnostic, it indicates a compiler bug rather than a problem with your source code.