Give every pull request its own exact-replay tree. Run the suite. Promote digests into main when green. Compose with Neon branches for database state.
Summary
- Fork per PR —
X-Ohm-Cache-Tree: pr-842 - HIT isolation — Preview does not pollute production agent inventory
- Promote — Merge child tips into parent without copying blobs
- Freeze — Lock a tip for audit after release
- Compose —
NEON_BRANCH+ Metrecept tree in the same workflow
- Dashed = preview tip (ephemeral)
- Hatch = main (durable)
- Silver = Promote crossing
Metrecept branches exact-replay inventory by tip. For pairing tips with a database preview branch in CI, see Compose with Neon.
Why CI needs replay trees
Prompt suites are mechanical. Without trees, every PR writes into one shared tip — or you disable caching and burn tokens. Trees are the git-shaped surface for inventory, not schema.
Anti-pattern: staging gateway + hope
A second full stack per PR is slow and expensive. A shared cache is fast and unsafe. Cache trees are the middle path.
How we win
- CI forks a tree (or uses a deterministic name).
- Jobs send the tree header on chat completions.
- On merge: promote (or freeze, then promote policy of your choice).
- Neon handles DB preview; Metrecept handles replay preview.
Guide: Compose with Neon · Docs: Cache trees