You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
verify-gguf: fail closed by default when no strong layer ran (magic-only verdict) — deferred until the next MAJOR release #915
Decision C-3 adds an opt-in --require-strong-layer (Phase 16 S5) and keeps a magic-only verdict at exit 0 by default, because flipping the default breaks the jq -e '.valid' recipe the manual recommends, which error-handling.md rule 3 makes a MAJOR change. This issue is the flip itself: a run in which neither the GGUF metadata parse nor a SHA-256 sidecar check happened must not exit 0 by default.
Condition or budget
The next MAJOR release, after Phase 16 S5 (#891) lands C-3 and C-4 — the exporter then writes the sidecar, so the strong layer is present by default and the flip is nearly free.
State today (re-checked 2026-10-09)
No --require-strong-layer flag exists yet, the exporter writes no .gguf.sha256, and a magic-only check still returns valid=True; the package is at 0.11.1rc1.
Related
#83 (magic-only acceptance; lists the non-zero exit only as an alternative) and #84 (the exporter writing the sidecar).
Acceptance criteria
With no strong layer, verify-gguf exits non-zero by default; the opt-out is documented and the release notes name the MAJOR change.
The row is removed from the deferral table and the CHANGELOG names its ID (the table's removal contract).
Recorded in docs/roadmap/risks-and-decisions.md (read at f94595f) and re-checked against the code on 2026-10-09. The row leaves that table only when the fix is on main, the CHANGELOG names its ID and any promised guard exists.
Activity