Skip to content

v1.2.1 — Scorer Hardening & Rust Safety Lints

Choose a tag to compare

@anulum anulum released this 27 Feb 23:00
· 3046 commits to main since this release

What's New

Scorer hardening

  • strict_mode parameter — disables heuristic fallbacks when NLI is unavailable.
    Returns neutral 0.5 instead of keyword heuristics, preventing misleading scores
    in production deployments without torch installed.

    scorer = CoherenceScorer(strict_mode=True, threshold=0.6)
  • Configurable scoring weightsw_logic and w_fact constructor params
    (default 0.6/0.4) let you tune the logical vs. factual divergence balance
    for your domain.

    scorer = CoherenceScorer(w_logic=0.3, w_fact=0.7)  # fact-heavy for RAG apps

Rust kernel safety

  • #![deny(unsafe_code)] enforced on 5 of 6 Backfire Kernel crates
    (backfire-types, backfire-core, backfire-physics, backfire-ssgf,
    backfire-observers). The compiler now rejects any future unsafe blocks.
  • backfire-ffi documents why deny(unsafe_code) can't apply (PyO3 proc
    macros generate unsafe internally) and carries FFI safety invariants.
  • 4 safety invariants documented on backfire-core: halt irreversibility,
    NaN/Inf lethality, independent halt mechanisms, zero hot-path allocations.

Documentation

  • "Known Limitations" section in README — honest about heuristic accuracy,
    summarisation weakness, single-document NLI, and weight sensitivity.
  • Full CHANGELOG entries for both v1.2.0 and v1.2.1.

Tests

  • 4 new tests: strict_mode logical/factual neutral return, heuristic mode
    divergence, custom weight assignment.
  • 378 tests passing (8 skipped — optional deps).

Full Changelog

v1.2.0...v1.2.1