Skip to content

feat(phase-60): live-backend isolation for LOCOMO (60-01) - #49

Open
RichardHightower wants to merge 1 commit into
mainfrom
feature/phase-60-live-backend-isolation
Open

feat(phase-60): live-backend isolation for LOCOMO (60-01)#49
RichardHightower wants to merge 1 commit into
mainfrom
feature/phase-60-live-backend-isolation

Conversation

@RichardHightower

Copy link
Copy Markdown
Contributor

Summary

Phase 60-01 of v3.2 Prove It (#46). --backend cli no longer bleeds events across LOCOMO conversations.

  • Spawn one daemon per conversation (tempdir, free port, --pid-file)
  • Drain waits poll GetIndexCheckpoints (no thread::sleep stand-in)
  • Result JSON records isolation: per-conversation daemon and per-conversation drain_wait_ms
  • --limit-questions ready for the 60-02 dry-run
  • CI job bench-cli-smoke runs the 1-conversation fixture against a spawned daemon

Two bugs that would have made the live number 0.0:

  1. Query-path Tantivy reader never reloaded after the indexer committed
  2. Outbox sequence 0 did not advance the BM25 checkpoint, so a one-event drain hung

Closes BENCH-10 / BENCH-11. Unblocks #39 (60-02, maintainer-owned).

Acceptance

  • memory-bench locomo --backend cli --scorer mock --dataset benchmarks/fixtures/locomo-smoke.jsonisolation: per-conversation daemon + drain_wait_ms
  • cli_isolated_daemons_do_not_bleed (under MEMORY_BENCH_LIVE=1)
  • CI job bench-cli-smoke added
  • No std::thread::sleep in the cli-backend path (poll_pause uses recv_timeout)

Verified locally: locomo smoke drain_wait_ms=50390, bleed test 65s, two daemons, no cross-talk.

Test plan

  • cargo fmt --all -- --check
  • cargo clippy -p memory-bench -p memory-indexing --all-targets -- -D warnings
  • CI bench-cli-smoke + workspace test/clippy/doc

Spawn one daemon per conversation (tempdir, free port, pid-file) so
`--backend cli` no longer bleeds events across samples. Drain waits
poll GetIndexCheckpoints instead of sleeping; results record isolation
and drain_wait_ms. Sequence 0 now advances the BM25 checkpoint, and
TeleportSearcher reloads so query sees indexer commits.

CI job bench-cli-smoke runs the 1-conversation fixture against a
spawned daemon. `--limit-questions` is ready for the 60-02 dry-run.
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.

2 participants