Summary
After upgrading from 0.2.1 to 0.2.2, every real query against indexes built by 0.2.1 fails with:
zvec file metadata storage does not exist
zg status continues to report the indexes as ready, so the breakage is invisible to any status-level health check and only surfaces on the first actual search.
Environment
- zvec-grep 0.2.1 -> 0.2.2 (upgrade only; index files untouched)
- Linux x86_64
- 4 separate indexed roots on the same machine, all built by 0.2.1, all affected identically
Repro
- On 0.2.1, index a root and verify queries return hits.
- Upgrade to 0.2.2.
zg status -> still reported ready/healthy. No warning, no version-mismatch flag.
- Run any real query (CLI or MCP
zvec_grep_search) -> zvec file metadata storage does not exist.
Expected
Either:
- 0.2.2 reads 0.2.1-built indexes (backward compatibility), or
zg status fails loudly with an explicit incompatible-index state and migration guidance (e.g. "re-run zg index to upgrade the index format").
Actual
Silent break: status green, queries broken. Any automation that gates adoption on zg status will adopt a release that cannot search existing indexes. My upgrade harness did exactly that: its status-level check passed, and the first real query immediately falsified it.
Workaround / recovery
Downgrade to 0.2.1 -- queries work again immediately against the untouched indexes. This confirms the 0.2.1 data is intact and this is a read/format incompatibility introduced by 0.2.2, not index corruption.
Hypothesis
The error string suggests 0.2.2 introduced (or relocated) a file-metadata storage that 0.2.1-era indexes do not contain, and the read path treats its absence as a hard runtime error instead of detecting it as a version mismatch.
Note: the natural recovery (zg index --rebuild under 0.2.2) is itself broken and destructive -- see #140.
Summary
After upgrading from 0.2.1 to 0.2.2, every real query against indexes built by 0.2.1 fails with:
zg statuscontinues to report the indexes as ready, so the breakage is invisible to any status-level health check and only surfaces on the first actual search.Environment
Repro
zg status-> still reported ready/healthy. No warning, no version-mismatch flag.zvec_grep_search) ->zvec file metadata storage does not exist.Expected
Either:
zg statusfails loudly with an explicit incompatible-index state and migration guidance (e.g. "re-runzg indexto upgrade the index format").Actual
Silent break: status green, queries broken. Any automation that gates adoption on
zg statuswill adopt a release that cannot search existing indexes. My upgrade harness did exactly that: its status-level check passed, and the first real query immediately falsified it.Workaround / recovery
Downgrade to 0.2.1 -- queries work again immediately against the untouched indexes. This confirms the 0.2.1 data is intact and this is a read/format incompatibility introduced by 0.2.2, not index corruption.
Hypothesis
The error string suggests 0.2.2 introduced (or relocated) a file-metadata storage that 0.2.1-era indexes do not contain, and the read path treats its absence as a hard runtime error instead of detecting it as a version mismatch.
Note: the natural recovery (
zg index --rebuildunder 0.2.2) is itself broken and destructive -- see #140.