Skip to content

feat(25): E2E Core Pipeline Tests — 10 tests across 4 files#14

Merged
RichardHightower merged 10 commits intomainfrom
feature/phase-25-e2e-core-pipeline
Feb 11, 2026
Merged

feat(25): E2E Core Pipeline Tests — 10 tests across 4 files#14
RichardHightower merged 10 commits intomainfrom
feature/phase-25-e2e-core-pipeline

Conversation

@RichardHightower
Copy link
Contributor

Summary

  • New crates/e2e-tests/ crate with shared TestHarness (temp RocksDB, mock summarizer, event builders)
  • 10 E2E tests covering all 5 Phase 25 success criteria:
    • Pipeline (2 tests): full ingest→TOC→grip→route_query, grip expand with context
    • BM25 (3 tests): relevance ranking across 3 topics, doc type filtering, agent attribution
    • Vector (2 tests): semantic similarity with CandleEmbedder, agent attribution
    • Topics (3 tests): importance-ordered retrieval, keyword search, status reporting
  • Phase 25 verification passed (5/5 must-haves)
  • Requirements E2E-01 through E2E-04 and E2E-07 marked done

Test plan

  • cargo test -p e2e-tests --test pipeline_test — 2 passed (5.82s)
  • cargo test -p e2e-tests --test bm25_teleport_test — 3 passed (8.73s)
  • cargo test -p e2e-tests --test topic_graph_test — 3 passed (0.05s)
  • cargo test -p e2e-tests --test vector_search_test — 2 exist (marked #[ignore] due to ~80MB model download)
  • cargo clippy -p e2e-tests --all-targets -- -D warnings — clean
  • CI format/clippy/build checks

🤖 Generated with Claude Code

RichardHightower and others added 10 commits February 10, 2026 22:09
- Add e2e-tests to workspace members
- Create Cargo.toml with all workspace dependencies
- Implement TestHarness with temp dir, storage, and index paths
- Add helpers: ingest_events, create_test_events, build_toc_segment
- All helpers pub for reuse by later E2E test plans

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- test_full_pipeline_ingest_toc_grip_route_query: verifies ingest ->
  TOC segment build -> grip extraction -> BM25 index -> route_query
- test_grip_provenance_expand_with_context: verifies grip expansion
  returns excerpt events with surrounding context
- Both tests use pretty_assertions and structural + content assertions
- Add tonic dev-dependency for Request type in tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- SUMMARY.md with task commits, decisions, and deviation documentation
- STATE.md updated to Phase 25, Plan 1 of 3

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- test_bm25_ingest_index_search_ranked: 3 topic segments, verifies ranking
- test_bm25_search_filters_by_doc_type: TocNode/Grip filter isolation
- test_bm25_search_with_agent_attribution: agent field propagation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Vector search returns semantically similar results ordered by score
- Group A (Rust) ranks first for Rust queries, Group B (cooking) for pasta
- Agent attribution propagates through vector search results
- OnceLock shared embedder prevents concurrent model loading race condition
- Tests marked #[ignore] due to ~80MB model download requirement

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- get_top_topics returns topics ordered by importance score
- Topic keyword search finds matching topics by label and keywords
- Topic graph status correctly reports availability and count
- All tests use pretty_assertions and direct handler testing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Phase 25 fully complete (3/3 plans done)
- SUMMARY.md with self-check passed
- STATE.md updated with position, decisions, metrics

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5/5 success criteria verified: full pipeline (E2E-01), BM25 search
(E2E-02), vector search (E2E-03), topic graph (E2E-04), grip
provenance (E2E-07). 10 E2E tests across 4 test files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@RichardHightower RichardHightower merged commit fa896aa into main Feb 11, 2026
8 checks passed
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.

1 participant