# Scrum review — materializer_replay_substrate_fix — qwen (openrouter/qwen/qwen3-coder)

**Latency:** 6329ms · **Tokens:** 51601 in / 297 out · **Date:** 2026-05-02

---

INFO: STATE_OF_PLAY.md:216
WHAT:     vectord's source-of-truth comment added
WHY:      Clarifies architectural invariant that i.vectors map is source-of-truth, not the hnsw graph

INFO: STATE_OF_PLAY.md:217
WHAT:     vectord save coalescing comment added
WHY:      Documents async save behavior and RPO trade-off for durability vs performance

INFO: docs/ARCHITECTURE_COMPARISON.md:313
WHAT:     Multi-tier 100k load test result updated
WHY:      Reflects verified fix at original failure-surfacing scale with 132,211 scenarios at 438/sec, 6/6 classes at 0% failure

WARN: cmd/vectord/main.go:137
WHAT:     Potential nil pointer dereference in saveAfter if h.persist is nil
WHY:      Although guarded by h.persist == nil check, the h.savers map access and saveTask trigger could panic if h.savers not initialized

BLOCK: cmd/vectord/main.go:146
WHAT:     Race condition in saveTask trigger method
WHY:      Concurrent access to s.pending and s.inflight without proper locking can cause data races and inconsistent state

VERDICT: hold — Race condition in saveTask and potential nil dereference require fixes before shipping.
