Repository navigation
feat: Go→Rust migration — m0..m3, m5 W1/W2.T1 landed (210 tests, parity green) - #29
Merged
Merged
Conversation
…flock, clock + parity harness
…with lifecycle parity
…qlite - index.rs: IndexStore (Rebuild, CheckFresh, MarkDirty, Search, claims catalog, trust-input mtime/change-token freshness, symlink boundary validation, FTS5 query builder with Go byte-scan semantics) - index_state.rs: published manifest + rebuild state read/write with schema validation (user_version 3) - search.rs: legacy workspace markdown search (token scoring, snippets) - 1:1 ports of index_test.go, index_state_test.go, search_test.go - manifest.rs/coordination.rs: pub(crate) visibility for reused helpers - index_fts5_probe.rs: import moved into test fn
… embedder - query.rs: TrustedQuery fail-closed semantics (missing/dirty/stale/rejected), canonical index binding, contradiction surfacing, --include scopes, after/before/as_of temporal recall, RRF hybrid merge, Go-exact JSON mirror - embedder.rs: LoopbackEmbedder (deterministic token vectors, no network), SQLite embedding sidecar, RebuildWithOptions - 1:1 ports of query_test.go, hybrid_test.go, embedder_test.go (304 lib tests)
…fact - tests/bench_100k.rs: TestAskP95At100K port gated by ZBRAIN_BENCH_100K=1, corpus size overridable via ZBRAIN_BENCH_CORPUS (default 100000); writes docs/proofs/rust-bench-100k.json in the eval-perf-100k/v1 proof schema - 10K-corpus local run: p95 384.8ms <= 2s target (Go baseline 498ms @10k)
…s-read proofs - fixture-gen --op index/--op ask: Go oracle emits IndexSummary, FTS search results (6-decimal score rounding, documented tolerance), index state, claims rows, generation, derived tree (index binaries excluded from hashing) - --op index-verify/--op ask-verify: read-only re-read of either runtime's tree; parity.sh proves Go opens the Rust index file and vice versa - parity.rs mirrors all four ops; ask JSON byte-identical on deterministic fields (rebuilt_at normalized, home paths normalized, scores rounded) - serde_json raw_value feature for Go-style float formatting
…ampaign with approval parity
RUSTSEC-2025-0067/0068 flagged serde_yml as unsound and unmaintained. Parse-only surface (claims/evidence frontmatter), swap is API-identical; 150-case oracle corpus + full suite still green. Also cargo fmt normalization.
The Go oracle is preserved under tag v0.2.0-go-final and in git history. Differential parity (fixture-gen, parity.sh, cli-parity.sh, parity bin, bench-fts5.go) retires with the oracle; committed fixtures and golden capture tests keep the regression value.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is this
Incremental landing of the Go→Rust big-bang migration (plan:
docs/plans/active/go-to-rust-migration.md). This PR is the living migration branch — each milestone merges here as it lands; the single cutover commit (delete Go tree, flip CI) comes at m8 and is the only part that touchesmasterauthority.Landed so far
--op setupRemaining
Verification (current HEAD 4053873)
cargo test -p zbrain --lib→ 210 passed, 0 failedcargo clippy --workspace --all-targets -- -D warnings→ clean./scripts/parity.sh→ parity: OK (workspace / claims / lifecycle)go test ./...,go vet,CGO_ENABLED=0 go build→ all green, zero regressions