v2.9.6 — Deterministic inventory dump
Determinism fix
last_checked stored epoch seconds as REAL. SQLite's iterdump prints REAL columns with version-specific float precision, so a locally regenerated inventory.sql diverged from CI's on ~every row.
Fix: last_checked is normalized to int on the entry before both the SQL record and the YAML dump, and the column is now INTEGER. Readers only do coarse day-level staleness comparisons, so sub-second precision is unused.
Verified: load→save is idempotent for both inventory.sql and inventory.yaml, and local (SQLite 3.40.1) output is byte-identical to the CI-equivalent python:3.11 image (SQLite 3.46.1). inventory.sql can now be regenerated locally and stay CI-compliant.
Shipped code-only; the deterministic data regenerates on the next pipeline save (avoids conflicting with frequent pipeline inventory commits).
🤖 Generated with Claude Code