Skip to content

Strict/warn/lenient failure semantics; remove blanket warning suppression #24

Description

@marwinsteiner

Context

calibration.py sets a module-level warnings.filterwarnings("ignore") and compute_ivs_vectorized catches bare Exception into NaN. Failed slices are skipped. Convenient, and exactly how data problems become invisible.

Proposal

  • Explicit failure semantics: mode="strict" | "warn" | "lenient" on the ingestion/fit entry points. Strict: bad input raises. Warn (default): current behaviour plus recording. Lenient: filtered and recorded. Nothing disappears silently -- rejected quotes and failed inversions become counts/locations on the fit report.
  • Remove the blanket warnings filter; catch only the specific py_vollib exceptions.

Acceptance criteria

  • Strict mode raises on the first bad quote/slice with location
  • Rejection accounting flows into the fit report in all modes
  • No module-level warning suppression remains

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions