geno_lewm.errors¶
errors
¶
GenoLeWM exception hierarchy and error-code registry.
This module is the single source of truth for the runtime error model
defined in docs/spec/04-error-model.md and RFC-0012. Every other
subsystem raises typed exceptions from this hierarchy.
Discipline (summary; see the spec for the full table):
- Caller-supplied invalid data ->
InputErrorfamily - Misconfiguration / missing fields ->
ConfigErrorfamily - Capacity, IO, network ->
ResourceErrorfamily - Training-loop instability ->
TrainingErrorfamily - Eval harness failures ->
EvalErrorfamily - Export / runtime backend failures ->
DeployErrorfamily - Receipt/hash consistency failure ->
ProvenanceErrorfamily - Bugs we caught ->
InternalErrorfamily
GenoLeWMError
¶
GenoLeWMError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: Exception
Root of the GenoLeWM exception hierarchy.
Every typed exception in this package inherits from GenoLeWMError.
Subclasses must set a code class attribute that matches an entry
in :data:ERROR_CODES.
Source code in geno_lewm/errors.py
to_dict
¶
Return the structured payload as a plain dict.
The output is JSON-serializable provided details values are
JSON-native. Keys mirror the structured-log error event so
the CLI dispatcher and observability layer can pass it through
without translation.
Source code in geno_lewm/errors.py
to_json
¶
Return the structured payload as a JSON string.
Adds a UTC ts field so log sinks receive a self-contained
record.
Source code in geno_lewm/errors.py
ConfigError
¶
ConfigError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
SchemaCompatError
¶
SchemaCompatError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: ConfigError
An on-disk artifact's schema MAJOR version is incompatible.
Source code in geno_lewm/errors.py
MissingConfigError
¶
MissingConfigError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
UnknownTopLevelKeyError
¶
UnknownTopLevelKeyError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: ConfigError
A configuration payload contained a top-level key not in the schema.
Source code in geno_lewm/errors.py
InputError
¶
InputError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: GenoLeWMError
Caller-supplied input violates a documented invariant.
Source code in geno_lewm/errors.py
InvalidEditError
¶
InvalidEditError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: InputError
An EditSpec fails one of its constructor invariants.
Source code in geno_lewm/errors.py
UnsupportedEditError
¶
UnsupportedEditError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: InputError
An edit's type or length is outside the v1 scope (RFC-0003).
Source code in geno_lewm/errors.py
WindowMismatchError
¶
WindowMismatchError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: InputError
Window reference bases do not match EditSpec.ref at rel_pos.
Source code in geno_lewm/errors.py
OverlappingEditsError
¶
OverlappingEditsError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: InputError
Two or more edits in a haplotype overlap in genomic coordinates.
Source code in geno_lewm/errors.py
OutOfWindowError
¶
OutOfWindowError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: InputError
An edit's rel_pos falls outside the encoder window.
Source code in geno_lewm/errors.py
VcfParseError
¶
VcfParseError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
ResourceError
¶
ResourceError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
CacheCorruptError
¶
CacheCorruptError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
DiskFullError
¶
DiskFullError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
OutOfMemoryError
¶
OutOfMemoryError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: ResourceError
Re-raise of CUDA / host OOM with attached GenoLeWM context.
Intentionally shadows the builtin OutOfMemoryError only inside
this module's namespace; downstream code that needs the builtin can
use builtins.OutOfMemoryError.
Source code in geno_lewm/errors.py
ModelNotFoundError
¶
ModelNotFoundError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: ResourceError
A model checkpoint is missing locally and cannot be downloaded.
Source code in geno_lewm/errors.py
RuntimeSetupError
¶
RuntimeSetupError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: ResourceError
First-run network setup step (download / verification) failed.
Source code in geno_lewm/errors.py
NetworkCallProhibitedError
¶
NetworkCallProhibitedError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: ResourceError
A post-setup network call was attempted under fail-closed policy.
See RFC-0010 §3.7 ("on-device fail-closed").
Source code in geno_lewm/errors.py
TrainingError
¶
TrainingError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
CollapseDetectedError
¶
CollapseDetectedError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: TrainingError
A representation-collapse alert tripped (RFC-0005).
Source code in geno_lewm/errors.py
NaNLossError
¶
NaNLossError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
DataLoaderError
¶
DataLoaderError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: TrainingError
Data pipeline raised an exception the trainer cannot recover from.
Source code in geno_lewm/errors.py
EvalError
¶
EvalError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
EvalDatasetError
¶
EvalDatasetError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: EvalError
A benchmark file or dataset could not be loaded.
Source code in geno_lewm/errors.py
EvalRegressionError
¶
EvalRegressionError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
DeployError
¶
DeployError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
ExportFormatError
¶
ExportFormatError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
QuantizationError
¶
QuantizationError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
BackendUnsupportedError
¶
BackendUnsupportedError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: DeployError
Requested runtime backend is not available on the host.
Source code in geno_lewm/errors.py
ProvenanceError
¶
ProvenanceError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: GenoLeWMError
Receipt or artifact-provenance failure (RFC-0011).
Source code in geno_lewm/errors.py
ManifestHashMismatchError
¶
ManifestHashMismatchError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: ProvenanceError
Recomputed manifest hash does not match the stated model_id.
Source code in geno_lewm/errors.py
InputCommitmentMismatchError
¶
InputCommitmentMismatchError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: ProvenanceError
Recomputed input commitment does not match the receipt.
Source code in geno_lewm/errors.py
OutputCommitmentMismatchError
¶
OutputCommitmentMismatchError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: ProvenanceError
Recomputed output bytes do not match the receipt.
Source code in geno_lewm/errors.py
ProvenanceKindUnsupportedError
¶
ProvenanceKindUnsupportedError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: ProvenanceError
Verifier does not understand the receipt provenance kind.
Source code in geno_lewm/errors.py
ReceiptSchemaError
¶
ReceiptSchemaError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
InternalError
¶
InternalError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: GenoLeWMError
A bug we caught; should never surface to end users.
Source code in geno_lewm/errors.py
InvariantViolation
¶
InvariantViolation(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: InternalError
A runtime invariant marked INV-* was breached.
Source code in geno_lewm/errors.py
UnreachableError
¶
UnreachableError(message: str = '', *, details: Mapping[str, Any] | None = None, remediation: str | None = None)
Bases: InternalError
Control flow reached a branch marked unreachable.
Source code in geno_lewm/errors.py
ErrorCodeEntry
¶
exit_code_for
¶
Return the CLI exit code for exc.
Used by geno_lewm.cli._dispatch. Non-GenoLeWM exceptions map to
exit code 1 ("uncategorized failure"); KeyboardInterrupt maps to
130.