Repository navigation
Fix: Preprocess the CPU timestamp - #1025
nicole-graus wants to merge 3 commits into
Conversation
|
/ai-review |
|
/bench-gpu |
GPU Benchmark (ABBA) —
|
|
/bench |
Codex Code ReviewNo actionable issues found in the PR diff. Reviewed statically, including timestamp bounds, split CPU tables, continuation verification, and preprocessed commitments. No builds or tests run. |
|
Review: no blocking issues found. What I checked:
One optional nit ( |
AI ReviewPR #1025 · 33 changed files
FindingsNo non-rejected structured findings were reported. Reviewer Lanes
Native Codex and Claude reviews run separately and post their own comments. They are not included in this structured provenance report. Raw lane outputs, candidates, final issues, and model metrics are uploaded as workflow artifacts. |
Benchmark — real block (
|
| Metric | main | PR | Δ |
|---|---|---|---|
| Peak heap | 46791 MB | 46472 MB | -319 MB (-0.7%) ⚪ |
| Prove time | 133.665s | 137.165s | +3.500s (+2.6%) ⚪ |
✅ No significant change.
⚠️ Real-block prove-time spread: 4.9% (139.329s / 137.165s / 132.607s) — the median above is less trustworthy than usual.
Commit: dfa0d5c · Baseline: built from main · Runner: self-hosted bench
Motivation
The spec defines the CPU
timestampas a preprocessed column (4·(i+1)), but the code had it as a free column. That allowed two bugs:pc_double_readforgery: a prover could set a row's timestamp so thatpc_double_readreads a register before the previous row writes it, e.g. provingexit(0)for a program that exits with 5.Description
TIMESTAMPis preprocessed. With several CPU tables, tablekadds4·S_k, whereS_kis the total height of the previous tables. The verifier reads the heights from the proof.2^30 − 1CPU rows per epoch.PREV_PC_TIMESTAMP_BORROW.4·N + 1(new preprocessedIS_PCcolumn).2^32 − 1, as in the spec.< 2^30and checked by the verifier.