Skip to content

feat(locomo): sharded full-run kit + merged summarize (#184) - #185

Merged
fazpu merged 2 commits into
mainfrom
feat/locomo-sharded-runs
Jul 30, 2026
Merged

feat(locomo): sharded full-run kit + merged summarize (#184)#185
fazpu merged 2 commits into
mainfrom
feat/locomo-sharded-runs

Conversation

@fazpu

@fazpu fazpu commented Jul 30, 2026

Copy link
Copy Markdown
Member

Closes #184.

What

Per-sample deployment isolation makes LoCoMo conversations embarrassingly parallel — N hosts can run disjoint sample subsets under the same protocol pin. The first full publication run took ~20h sequentially (~2h/conversation); sharded across hosts it completes in the wall-clock of the slowest conversation.

Merged summarize (harness). summarize accepts --run multiple times. Single --run: output byte-identical (a wrap-serializer omits the new fields for unmerged summaries; older stored summaries still parse). Multiple runs: validates identical protocol_name/protocol_fingerprint/tier/dataset_sha256/manifest_sha256/item_ids_sha256 and pairwise-disjoint recorded samples (config sample_ids list the full manifest on every shard by design), then materializes a temporary combined run dir and scores it with the unchanged single-run code path — recompute-from-items by construction, never summary-summing. Adds merged_run_count + missing_sample_ids (manifest samples with no records).

Sharding ops kit (benchmarks/locomo/sharding/): balanced shard planner (largest-first packing, stdlib, tested), per-host driver encoding the operational lessons from the first full run (worker scaling extract=3/normalize=6/embed-claim=2 on every compose up, true-drain waits default 6h — no 80-min caps, projections after ingest, forensic pg dump before each wipe, dead-letter abort, resumable per-sample status), collector + merge script, operator README with env-injected secrets. Optional — any N ssh-able hosts work.

No protocol identity, prompts, budgets, or fingerprint content touched; answer/judge runner logic untouched.

Reviews

  • Grok-4.5 adversarial review: APPROVE WITH NOTES — verified single-run byte-identity (CLI stdout and model_dump), record-based disjointness (specifically proved config sample_ids are not used), merge==reference-single-run score invariant, true-drain semantics incl. failed/dead-letter handling, scale flags on every up, no secrets. Notes (non-blocking): identity-field test covers 1/6 fields explicitly, make_shards is publication-centric (tier-manifest filtering as follow-up), forensic-dump retry gap on resume, bash>=4 requirement.

  • Claude (final review): verified serializer omission, temp-dir merge construction, ran the suite (68 passed) + ruff format --check.

  • I have read and agree to the RememberStack Contributor License Agreement v1.0.

@fazpu
fazpu enabled auto-merge (squash) July 30, 2026 12:11
@github-actions

Copy link
Copy Markdown

Coverage report

This PR does not seem to contain any modification to coverable code.

@fazpu
fazpu merged commit 683a754 into main Jul 30, 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.

Benchmark harness: parallelize full-run wall-clock (worker scaling, VM sharding, answer-stage pool)

1 participant