Skip to main content
Version: v0.3.100

v0.0.71 — Wire-filter error surfacing hotfix

Released: 2026-05-15. One commit.

Single-commit hotfix for a regression the team hit on v0.0.70 after the snapshot-rollback fix landed.

What was broken​

On Nuitka-compiled builds, any raw exception escaping the wire-filter apply or apply-suggestions endpoints got reshaped by anyio's BaseExceptionGroup cleanup into a generic TypeError: expected a function, exception type or tuple of exception types with no user-code frames in the journal. The frontend modal showed only "Failed to apply (HTTP 500)" — exactly the symptom v0.0.70's extractApplyErrorMessage() work was meant to solve, but the exception was being mangled before the frontend ever saw it.

The fix​

Catching at the endpoint boundary keeps the response on FastAPI's exception-handler path. The modal now shows the real exception class and message, and the journal gets a full traceback via print(). The snapshot-skip path also prints the swallowed exception so future failures are diagnosable from the logs without re-running.

Pinned by test_wire_filter_apply_db_failure_surfaces_500_with_detail.