Problem
The fail-closed public API BDD cutover in #347 exposed mismatches between documented find/index behavior and the Rust-owned runtime: unknown labels raise GF_VALIDATION instead of returning a typed empty table, vector forms without an explicit space are rejected, and vector/index refresh scenarios do not produce the documented rows.
Acceptance criteria
- Unknown or unindexed labels return the documented typed empty Arrow result where specified.
- Vector dimension and space handling matches the public contract.
- Vector and fused text/vector results expose the documented
score and matched_on values.
- Indexed vector upsert and post-index node additions are visible after reopen.
- Rust, Python, and Node have exact behavioral coverage.
Related to #347. These scenarios remain explicitly excluded from release-tested BDD evidence until this issue closes.
Problem
The fail-closed public API BDD cutover in #347 exposed mismatches between documented
find/index behavior and the Rust-owned runtime: unknown labels raiseGF_VALIDATIONinstead of returning a typed empty table, vector forms without an explicit space are rejected, and vector/index refresh scenarios do not produce the documented rows.Acceptance criteria
scoreandmatched_onvalues.Related to #347. These scenarios remain explicitly excluded from release-tested BDD evidence until this issue closes.