Skip to content

docs(rank_io): note OVFS metadata-probe deferral (#232)#242

Merged
project-navi-bot merged 2 commits into
mainfrom
fix/ovfs-probe-note
Jun 15, 2026
Merged

docs(rank_io): note OVFS metadata-probe deferral (#232)#242
project-navi-bot merged 2 commits into
mainfrom
fix/ovfs-probe-note

Conversation

@Fieldnote-Echo

Copy link
Copy Markdown
Owner

Stop-gate follow-up to #233. A review flagged that .ovfs (RankQuantFastscan) persistence "bypasses the metadata/manifest path" — probe_index_metadata handles the four OV*/TV* formats but OVFS falls through to the unknown-magic error with no note that this is intentional.

It is intentional: surfacing OVFS in the probe requires a new IndexKind variant, and IndexKind is not #[non_exhaustive], so adding one is a breaking change — deferred to the 0.8.0 API re-architecture (#232). .ovfs files still round-trip via RankQuantFastscan::{write,load}; only the metadata-probe path is pending. This adds a comment so the deferral reads as deliberate.

No behaviour change (comment only). Builds + fmt clean.

)

A stop-gate review noted that `.ovfs` (RankQuantFastscan) persistence "bypasses
the metadata path": `probe_index_metadata` dispatches the four OV*/TV* formats
but `OVFS` falls through to the unknown-magic error, with no in-code note that
this is deliberate.

It IS deliberate: surfacing OVFS in the probe requires a new `IndexKind` variant,
and `IndexKind` is not `#[non_exhaustive]`, so adding one is a breaking change —
deferred to the 0.8.0 API re-architecture (#232). `.ovfs` files still round-trip
via `RankQuantFastscan::{write,load}`; only the metadata-probe path is pending.
Add a comment in the dispatch so the deferral reads as intentional, not an
oversight. No behaviour change.

Signed-off-by: Nelson Spence <nelson@projectnavi.ai>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@qodo-code-review

qodo-code-review Bot commented Jun 15, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Document intentional OVFS deferral in index metadata probe
📝 Documentation 🕐 Less than 5 minutes

Grey Divider

Walkthroughs

Description
• Add an in-code note explaining why OVFS is not handled by probe_index_metadata.
• Clarify that adding OVFS would require a breaking IndexKind expansion, deferred to 0.8.0.
• Document that .ovfs still round-trips via RankQuantFastscan::{write,load}.
High-Level Assessment

The following are alternative approaches to this PR:

1. Add `IndexKind::Ovfs` now (breaking)
  • ➕ Makes the probe path fully cover OVFS immediately
  • ➕ Avoids the current unknown-magic fallback for OVFS
  • ➖ Breaking API change because IndexKind is not #[non_exhaustive]
  • ➖ Not suitable for a stop-gate/doc-only follow-up PR
2. Introduce a non-breaking probe result type
  • ➕ Allows surfacing OVFS in probing without expanding IndexKind
  • ➕ Can preserve current public API while improving diagnostics
  • ➖ Adds parallel type(s)/APIs and potential confusion
  • ➖ Still likely part of broader 0.8.0 re-architecture work

Recommendation: For a non-behavioral stop-gate PR, the chosen approach (documenting the intentional OVFS deferral and why it falls through) is optimal. The meaningful functional alternatives either require a breaking IndexKind change or introduce new API surface area better handled in the planned 0.8.0 re-architecture (#232).

Grey Divider

File Changes

Documentation (1)
rank_io.rs Explain why OVFS is excluded from 'probe_index_metadata' +6/-0

Explain why OVFS is excluded from 'probe_index_metadata'

• Adds a comment in the magic-number dispatch documenting that OVFS (RankQuantFastscan) is intentionally not probed. Notes that supporting it would require a breaking 'IndexKind' variant and is deferred to the planned 0.8.0 API work; '.ovfs' continues to round-trip via 'RankQuantFastscan::{write,load}'.

src/rank_io.rs


Grey Divider

Qodo Logo

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a detailed comment in src/rank_io.rs explaining why OVFS (RankQuantFastscan) is intentionally omitted from the metadata probing path to avoid a breaking API change. The reviewer suggested explicitly matching OVFS_MAGIC and returning a specific error indicating that metadata probing is unsupported in this version, rather than letting it fall through to an "unknown magic" error.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread src/rank_io.rs Outdated
@codecov

codecov Bot commented Jun 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Address gemini review on #242: instead of letting an .ovfs (OVFS /
RankQuantFastscan) magic fall through to the generic "unknown ordvec
index magic" error in probe_index_metadata — misleading, since the magic
*is* recognized — explicitly match OVFS_MAGIC and return an actionable
error pointing the caller at RankQuantFastscan::load and the #232 probe
deferral.

Add a regression test pinning the deferral contract: probing a valid
.ovfs file must return the specific unsupported-probe error and must NOT
report it as an unknown magic.

Signed-off-by: Nelson Spence <nelson@projectnavi.ai>
@Fieldnote-Echo

Copy link
Copy Markdown
Owner Author

Addressed the gemini-code-assist suggestion in f0808ad: probe_index_metadata now explicitly matches OVFS_MAGIC and returns a specific, actionable error —

OVFS (RankQuantFastscan) metadata probing is not supported in this version; load the index with RankQuantFastscan::load (tracked in #232)

— instead of letting .ovfs fall through to the generic "unknown ordvec index magic" case (misleading, since the magic is recognized). Added a regression test (probe_rejects_ovfs_with_specific_unsupported_error) pinning the deferral contract so it can't silently regress. Full metadata-probe support for OVFS remains deferred to the 0.8.0 IndexKind re-architecture (#232).

@project-navi-bot project-navi-bot merged commit 40b4050 into main Jun 15, 2026
38 checks passed
@project-navi-bot project-navi-bot deleted the fix/ovfs-probe-note branch June 15, 2026 17:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants