feat(bench): RFC 0033 green (comparative) — cold-vs-warm acquisition, .6 - #512
Conversation
RFC0033.6 un-stubbed as a locally-runnable cold-vs-warm integration test in the querier's rfc0033 file: a 64-event audit history (one Parquet file per event, so the fold pays the full envelope while the artifact carries one JSON row per template) makes the write-through publish decisively past the §3.5 abstention rule — measured cold 518,016 B (audit fold) vs warm 9,288 B (one artifact GET, equal to the artifact's on-disk size exactly), ~55.8x against the committed warm x 10 <= cold gate. The RFC 0031 comparative harness gains the headline-corpus channel: the artifact persists across pairs by design (caches persist in production), each pair's registry component is classified cold/warm against the published artifact's size at measurement time, and the outcome prints both at measurement (stderr) and in the report block next to the bytes breakdown. Latency-channel docs updated — reps are warm artifact GETs once the write-through has published. The .7 observability stub is untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WQY9wfrfRggqSpMLH8Xj3Y
|
Warning Review limit reached
Next review available in: 30 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR advances RFC 0033’s cached template-map work by turning scenario RFC0033.6 into a real, locally-runnable end-to-end test (cold vs warm acquisition) and by augmenting the RFC 0031 comparative harness to classify and report whether each query’s template-map acquisition was a cold audit fold or a warm artifact GET.
Changes:
- Un-stub RFC0033.6 in
ourios-querierintegration tests: generate a 64-event audit stream, run the same body-rendering query twice, and assert cold/warm byte contracts plus thewarm × 10 ≤ coldgate. - Add
template_map_outcome()in theourios-benchcomparative harness and print per-pair cold/warm acquisition classification during measurement and in the final report block. - Update harness documentation/comments to reflect “template-map acquisition” (vs prior “registry derivation”) terminology in the latency-channel description.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| crates/ourios-querier/tests/it/rfc0033_cached_template_map.rs | Implements RFC0033.6 local arm as a real integration test (cold fold publishes; warm reads artifact; ratio gate asserted). |
| crates/ourios-bench/tests/rfc0031_comparative.rs | Adds acquisition outcome classification/printing for RFC0033.6’s cold-vs-warm channel in the comparative harness. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…the acquisition label Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WQY9wfrfRggqSpMLH8Xj3Y
…not derivation Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WQY9wfrfRggqSpMLH8Xj3Y
.1 fold+format (#509), .3 publish (#510), .2/.4/.5 freshness + write-through (#511), .6 comparative cold-vs-warm (#512, local arm 55.8x past the 10x gate), .7 observability (#513). The headline-corpus warm measurement runs as comparative dispatch run #20. Claude-Session: https://claude.ai/code/session_01WQY9wfrfRggqSpMLH8Xj3Y Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
What
RFC 0033's comparative green slice — discharges RFC0033.6 (the measured-tax-collapses scenario) locally and arms the RFC 0031 harness to measure the cache on the headline corpus (run #20).
rfc0033_6_measured_tax_collapses(querier crate, un-stubbed): a 64-event widened-template audit history through the productionParquetAuditSink, queried end-to-end twice. Cold:registry_bytes_read== the summed audit file bytes on disk, and the miss write-through published. Warm (fresh querier):registry_bytes_read== the artifact's on-disk size exactly (§5 wording), identical answers, andwarm × 10 ≤ cold.rfc0031_comparative.rs): each pair's registry component is classified cold (audit fold) vs warm (bytes equal the published artifact's size) viatemplate_map_outcome(), printed at measurement time and in the report block. Doc note: the artifact persists across pairs by design — production caches persist; the first measured pair may already be warm because the L1 picker's rendering-validation query publishes. Informational until the dispatch run; the frozen-gate math is untouched.write_throughabstains iff the JSON would be ≥ the folded audit bytes — at fixture scale a single audit Parquet file (~8 KB) already dwarfs the JSON, so abstention is only reachable for near-empty audit streams; .6 is sized at 64 events so the ratio wins decisively, not just publication.What this unlocks
Dispatch run #20 measures warm acquisition on otel-demo-v8 — the named §7 condition for unfreezing M_L2. The .7 observability slice (lookup-outcome telemetry via the weaver registry) is the last stub.
Pinned contracts
The bench crate's single-pass/byte tests (
honest_total_bytes_breaks_down_additively,one_row_materialization_reads_pages_not_whole_chunks, fixture round-trips) are unmodified and green.Checks run
cargo fmt --all --check;cargo clippy --all-targets --all-features -- -D warnings(workspace); strict rustdoc (-D broken/private-intra-doc-links);cargo nextest run -p ourios-querier -p ourios-bench— 331 passed, 12 skipped (ignored container/S3 arms + the .7 stub), re-verified after rebasing onto the merged #511.🤖 Generated with Claude Code
https://claude.ai/code/session_01WQY9wfrfRggqSpMLH8Xj3Y