Skip to content

Seam walk: 19 stub returns + tantivy compile error + 13 test panics (audit 2026-06-01) #80

Description

@hyperpolymath

Background

Owner directive: meander, walk the seams, check for rubbish lying around, follow every execution path, identify any bugs (syntax, logic, doc mismatch). Audit on 2026-06-01.

Three highest-impact findings

  1. rust-core/verisim-document/src/lib.rs:279 — tantivy 0.26 compile error. TopDocs::with_limit(N) no longer impls Collector in tantivy 0.26.1. Entire document modality store dead. Blocks 13/16 CI checks. Fix in PR fix(verisim-document): tantivy 0.26 collector API — add .order_by_score() #76.

  2. rust-core/verisim-nif/src/lib.rs:70-93 — NIF bridge returns empty JSON placeholders. All 8 NIF entry points (create, get, delete, search_text, search_vector, list, drift, normalize) return {'status': 'nif_placeholder', 'message': '...integration pending'} without touching the store. CLAUDE.md claims 'low latency for same-node deployments' but NIF is a no-op. Direct Elixir→Rust calls via NIF provide zero functionality; users get silently dropped results.

  3. Federation adapters — 5 silent failures.

    • elixir-orchestration/lib/verisim/federation/adapters/verisimdb.ex:221extract_results(_) → [] when response shape unknown
    • elixir-orchestration/lib/verisim/federation/adapters/surrealdb.ex:280extract_surreal_results(_body) → [] incomplete JSON parsing
    • elixir-orchestration/lib/verisim/federation/adapters/object_storage.ex:325,358 — both list parsers return []
    • These aren't optional features. Federation queries to these peers return empty silently; users don't know their data isn't there.

Top 30 findings by category

Stub functions (19 total):

  • 8 NIF entry points (verisim-nif/src/lib.rs:70-93)
  • 5 Elixir federation adapter response parsers
  • 6 Gleam client modules: 18 'TODO: Implement full JSON decoding' across federation, octad, provenance, vql, search, drift

Ignored tests (4):

  • rust-core/verisim-octad/tests/integration_tests.rs:248-319 — save_to_file/load_from_file not implemented on BruteForceVectorStore, InMemoryTensorStore, InMemorySemanticStore, InMemoryVersionStore

Panics in non-test code (13, all in test-assertion helpers — acceptable):

  • verisim-planner/src/prepared.rs:1001,1121, verisim-normalizer/src/regeneration.rs:1128-1442 (11 panics), verisim-wal/src/entry.rs:386, verisim-provenance/src/lib.rs:522, verisim-storage/src/typed.rs:280

Unwraps:

  • verisim-repl/src/vql_fmt.rs:447.unwrap() on output.lines().next() could panic on empty output (real bug, not test)
  • ~200 in test code (cosmetic)

Stub Elixir returns (production paths):

  • vql_executor.ex:536extract_embedding_from_modality(_) → [] (non-vector modality silently empty)
  • vql_executor.ex:1800,1952wrap_provenance_results(_), wrap_spatial_results(_) both return []
  • vql_type_checker.ex:164,189parse_proof_specs(nil/_) → []
  • vql_executor.ex:782verify_multi_proof(_, nil) → {:ok, []} silently accepts nil proof list

Codebase health

Well-maintained: verisim-octad/vector/tensor/semantic/provenance/spatial/temporal — real implementations, no stubs, comprehensive tests. verisim-normalizer regeneration strategies do actual work (issue #1 resolved). VQL pipeline works. Orchestration (drift_monitor.ex, entity_server.ex, federation_executor.ex) is real. Zero unsafe blocks across all 18 crates with forbid directive.

Rot concentration: Client SDKs (Gleam JSON codecs incomplete). Federation adapters (verisimdb, surrealdb, object_storage response parsing returns [] on unrecognized format). NIF bridge advertised as working — isn't.

Totals

Category Count
TODO/FIXME in code 0
Panics in non-test code 13 (all test-assertion helpers)
Unsafe blocks 0
Stub functions returning empty 19 (8 NIF + 5 federation + 6 Gleam)
Unwrap/expect in production code ~200
Compile errors 1 CRITICAL (PR #76 fixes)
KNOWN-ISSUES resolved 25/25

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions