Skip to content

bench: add result v3 block-corpus contract - #50

Merged
amishabenramani merged 2 commits into
mainfrom
agent/kel-90-result-v3-block-corpus
Sep 19, 2026
Merged

amishabenramani merged 2 commits into
mainfrom
agent/kel-90-result-v3-block-corpus

Conversation

@amishabenramani

@amishabenramani amishabenramani commented Sep 19, 2026 •

Copy link
Copy Markdown
Member

Summary

  • add frozen schema/result.v3.schema.json without modifying v1/v2
  • represent high-volume independent session/paired-round corpora as hash-bound block ledgers instead of expanding every observation into arms[].samples[]
  • add machine-enforced IPC block policy: >=20 valid blocks, >=100000 scored observations/block, block bootstrap, numeric p99 + p99 CI
  • bind every valid block to repo-relative raw sidecar path, SHA-256 and byte count plus an ordered digest chain
  • extend shared validator to verify promoted raw sidecar existence/size/hash
  • emit v3 tier documents from future Bun-only and paired Bun/Rust KIPC campaigns while keeping historical manifests immutable
  • preserve product-client-vs-library-floor comparisons as diagnostic comparisons without converting them into a same-orchestration scoreboard verdict

Bloat boundary

Result v3 does not pretty-print 100k-call vectors. The result document stores one compact block receipt per independent session/round; raw per-call vectors remain the existing one-line *.raw.json sidecars.

A backward falsifier generated temporary v3 documents from the real immutable 2026-09-18 Bun fresh-process corpus:

  • 20 blocks/tier
  • 100000 observations/block
  • 2,000,000 observations represented per tier
  • small result document: ~12.8 KB / 371 lines
  • representative result document: ~13.0 KB / 371 lines
  • shared validator re-hashed and size-checked all 40 referenced real sidecars successfully

No historical result/manifest is rewritten by this PR.

Publication semantics

The existing IPC sample requirement itself is unchanged; the registry gains machine-readable metadata for its already-declared 20-session x 100k block-bootstrap policy, so the registry version does not bump under the repository versioning rule.

Future thermally verified Bun-only campaigns can clear the schema-gap blocker but remain scope-blocked by NO_SAME_SESSION_PAIRED_RUST_ARM. Future paired Bun/Rust campaigns can clear thermal + schema blockers but remain explicitly PRODUCT_CLIENT_VS_LIBRARY_FLOOR_DIAGNOSTIC; this PR does not turn that into pure Bun-overhead or end-to-end product evidence.

Validation

  • Linux harness: 54/54
  • block-result helpers: 4/4
  • KIPC campaign/v3 emission tests: 5/5
  • schema contract/negative controls: pass
  • result validator tests incl. real raw sidecar hash/size checks: 6/6
  • planner: 21/21
  • required aggregator: 6/6
  • launch-theme contract: pass
  • git diff --check: pass

Linear: KEL-90.

Summary by CodeRabbit

  • New Features

    • Added result schema v3 for high-volume benchmark data using hash-bound block/session corpora.
    • Added block-bootstrap statistics, confidence intervals, raw-sidecar integrity checks, and publication eligibility metadata.
    • Benchmark campaigns now produce validated v3 results for individual and paired comparisons, including diagnostic ratios and deltas.
    • Added thermal boundary reporting for nominal, throttled, and unverified outcomes.
  • Bug Fixes

    • Improved validation of corpus structure, statistics, provenance, environment metadata, and raw evidence integrity.
  • Documentation

    • Updated benchmark, schema, and harness documentation to describe v3 result formats and publication requirements.

@coderabbitai

coderabbitai Bot commented Sep 19, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 1b4092b0-8764-4a0b-bb18-5425fa0a3242

📥 Commits

Reviewing files that changed from the base of the PR and between d27fb26 and 20ed6ac.

📒 Files selected for processing (20)
  • .github/workflows/ci.yml
  • HARNESS-CONTRACT.md
  • ci/plan.py
  • ci/test_plan.py
  • linux/bench/README.md
  • linux/bench/block_result.py
  • linux/bench/test_block_result.py
  • linux/keld/kipc-bun-echo/README.md
  • linux/keld/kipc-bun-echo/campaign.py
  • linux/keld/kipc-bun-echo/paired_campaign.py
  • linux/keld/kipc-bun-echo/test_campaign.py
  • linux/keld/kipc-rust-echo/README.md
  • schema/README.md
  • schema/check.py
  • schema/examples/ipc-rtt.block-corpus.v3.example.json
  • schema/metrics.v1.json
  • schema/result.v3.schema.json
  • schema/result_contract.py
  • windows/bench/test_validate_result_v1.py
  • windows/bench/validate_result_v1.py
 __________________________________________________________
< Not just a pretty face, but a pretty good code reviewer! >
 ----------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@amishabenramani
amishabenramani merged commit 8961986 into main Sep 19, 2026
8 checks passed
@amishabenramani
amishabenramani deleted the agent/kel-90-result-v3-block-corpus branch September 19, 2026 14:53
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.

1 participant