Summary
PR #3113 introduced significant new functionality that needs E2E test coverage:
Core (Rust) — integration tests needed
Frontend (Vitest) — component tests needed
E2E (WDIO/Playwright)
Context
These were validated manually during #3113 development but lack automated coverage. The coverage gate (≥80% on changed lines) will benefit from these tests on future PRs touching the same paths.
Summary
PR #3113 introduced significant new functionality that needs E2E test coverage:
Core (Rust) — integration tests needed
memory_sync::sources::github::run_github_sync— mock GitHub API, verify summaries land in treememory_tree::ingest::ingest_summary— verify L1 buffer management, seal cascade at SUMMARY_FANOUTmemory_sync::sources::rebuild::rebuild_tree_from_raw— seed raw files on disk, verify tree gets builtmemory_sources::sync::sync_source— verify per-source mutex (second call is no-op), retry_all_failed fires, audit log writtenmemory_sources::sync::check_and_rebuild_tree— verify auto-detect triggers rebuild when raw exists + max_level=0Frontend (Vitest) — component tests needed
SyncAuditPanel— renders entries, formats tokens/cost/duration, handles empty statePixiGraph.updateGraph— verify nodes preserve position on update, new nodes spawn near parentMemoryWorkspace— verify graph doesn't unmount between fetches (nosetGraph(null))MemoryGraph— source node kind renders with orange color, legend includes "Source" entryE2E (WDIO/Playwright)
Context
These were validated manually during #3113 development but lack automated coverage. The coverage gate (≥80% on changed lines) will benefit from these tests on future PRs touching the same paths.