Skip to content

test: deterministic replay non-regression for anytime nodes - #1239

Open
Scofield626 wants to merge 4 commits into
masterfrom
test/anytime-replay-determinism
Open

test: deterministic replay non-regression for anytime nodes#1239
Scofield626 wants to merge 4 commits into
masterfrom
test/anytime-replay-determinism

Conversation

@Scofield626

@Scofield626 Scofield626 commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Adds a non-regression test proving the anytime runner (#1232) did not break deterministic replay.

An anytime node compiles to a base step plus max_refines refine steps, and each of those steps reads the clock, stamps status text and (for the base step) freezes the task. That is a lot of new emitted code around the parts replay
depends on, and nothing covered it so far.

core/cu29_runtime/tests/replay_anytime.rs builds a small sim app — src -> planner -> smoother -> sink — where planner is a scored anytime node (max_age_ms + quality_target + max_refines) and smoother is a
quality-less one (max_refines only), so the test covers the DOA age check, the per-quantum clock reads, an early quality stop, and a stop by plan position.

@github-actions

Copy link
Copy Markdown

Hi! Thanks for opening this pull request.

Because this is your first time contributing to this repository, please read our contributor guide:
https://github.com/copper-project/copper-rs/blob/master/CONTRIBUTING.md

@gbin gbin left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a noop test in terms of determinism.

Comment thread core/cu29_runtime/tests/replay_anytime.rs Outdated
Comment thread core/cu29_runtime/tests/replay_anytime_config.ron
Comment thread core/cu29_runtime/tests/replay_anytime.rs Outdated
Records 64 copperlists twice, resims the stream, then resims again from a
mid-stream keyframe. Counters on base/refine pin that the quanta really
run; the old call path leaves them at zero.
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.

2 participants