Summary
Track downstream acceptance evidence for the runtime authorized-signer refresh implemented by #7 after #6 closes.
The focused tests in #7 prove watcher refresh delivery, forward-head rotation, same-height reorgs, retry semantics, and in-process SystemContractConsensus decisions. The existing node signer-rotation e2e supplements those tests by manually injecting a consensus notification. A real live RotateSequencerSigner transition through the synthetic L1 and watcher bridge remains to be proven.
Cross-repository harness owner: DogeOS69/dogeos-core#722
Related snapshot hardening: #8, blocked by DogeOS69/dogeos-core#721
Acceptance contract
Close this issue when the cross-repository harness demonstrates all of the following using a rollup-node image that contains #7:
- the synthetic L1 executes a real
RotateSequencerSigner action while continuing to advance;
- the relevant sequencer and a follower are already running before the transition;
- both use production
SystemContractConsensus, not NoopConsensus;
- neither node relies on a static
--network.valid_signer override to mask dynamic behavior;
l1_interface, the standby/new sequencer, and the follower keep the same process/container identities throughout the transition;
- the already-running nodes log
Authorized signer updated to: <new signer>;
- the same standby/new-sequencer process begins producing blocks signed by the new signer without restart;
- the follower that started before the switch accepts those blocks and continues advancing; and
- the old signer no longer passes the relevant sequencing/validation checks after the update.
Evidence to attach
- Exact rollup-node image tag, source SHA, and image digest.
- Exact
dogeos-core revision and harness command.
- Old and new signer addresses used by the test.
- Pre/post process or container identities.
- Signer-update log excerpts from the pre-existing nodes.
- Block production and follower-advancement assertions.
- Confirmation that no genesis/config patch, replay reseed, or
l1_interface restart was used to perform the transition.
Boundaries
This is an acceptance/evidence tracker, not a request to weaken the focused test suite or add a NoopConsensus workaround.
EIP-1898 block-hash pinning is tracked separately in #8. The live harness should first prove #7's supported unpinned runtime behavior; it can later be extended to exercise canonical pinned reads when DogeOS69/dogeos-core#721 and #8 land.
Summary
Track downstream acceptance evidence for the runtime authorized-signer refresh implemented by #7 after #6 closes.
The focused tests in #7 prove watcher refresh delivery, forward-head rotation, same-height reorgs, retry semantics, and in-process
SystemContractConsensusdecisions. The existing node signer-rotation e2e supplements those tests by manually injecting a consensus notification. A real liveRotateSequencerSignertransition through the synthetic L1 and watcher bridge remains to be proven.Cross-repository harness owner: DogeOS69/dogeos-core#722
Related snapshot hardening: #8, blocked by DogeOS69/dogeos-core#721
Acceptance contract
Close this issue when the cross-repository harness demonstrates all of the following using a rollup-node image that contains #7:
RotateSequencerSigneraction while continuing to advance;SystemContractConsensus, notNoopConsensus;--network.valid_signeroverride to mask dynamic behavior;l1_interface, the standby/new sequencer, and the follower keep the same process/container identities throughout the transition;Authorized signer updated to: <new signer>;Evidence to attach
dogeos-corerevision and harness command.l1_interfacerestart was used to perform the transition.Boundaries
This is an acceptance/evidence tracker, not a request to weaken the focused test suite or add a
NoopConsensusworkaround.EIP-1898 block-hash pinning is tracked separately in #8. The live harness should first prove #7's supported unpinned runtime behavior; it can later be extended to exercise canonical pinned reads when DogeOS69/dogeos-core#721 and #8 land.