Repository navigation
config: type every decided vote in main — rollover 9136800, v2 launch 9399600, pre-launch burn 9486900 (no archive RPC on restart) - #462
Merged
Conversation
…h (9399600 / commit 9395601) in main A restarting node on main no longer needs activation history or an archive RPC: with every block typed the calendar startup trial and the first-poll timestamp resolution are both skipped. Values = what a live node computes: apply_activation(main, 9136800) + resolve_calendar_launch on the real chain (9395601 stamped 2026-10-30T09:00:00Z, 9396501 the 12:00:00Z crossing). Config-equivalence: every section identical except activation.resolved_block. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMT4D7eZUKUF2gocYLVFmj
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMT4D7eZUKUF2gocYLVFmj
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…t regression test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMT4D7eZUKUF2gocYLVFmj
…shipped-file facts assert the typed values Scenario fixtures (fake block clocks, the rollover vote, dated-launch resolution) load the release file with the decided blocks untyped (exact inverse, see tests/unit/predecision_main.py); tests about the shipped file assert the typed rollover / launch, with the old behaviour kept on the pre-decision file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMT4D7eZUKUF2gocYLVFmj
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMT4D7eZUKUF2gocYLVFmj
…es the audit test fixes despite its message Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMT4D7eZUKUF2gocYLVFmj
tensorlink-dev
marked this pull request as ready for review
November 13, 2026 22:53
…om_block = 9486900) Decided on every node seen (9486000 -> 9486900). Behaviour-identical: the burn applies only before the first v2 settlement and v2 is active from 9399600, so it never applied; typing frees the last note segment and leaves no vote open in the release. Drift guard: prelaunch-95-r2 typed (OK); no row HELD. predecision_main removes the line (it was absent before). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMT4D7eZUKUF2gocYLVFmj
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMT4D7eZUKUF2gocYLVFmj
…shipped file; shipped v2 carries 9486900; restore ci.yml from main Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMT4D7eZUKUF2gocYLVFmj
…urn vote reopened); merge-test None branch only for the shipped config Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BMT4D7eZUKUF2gocYLVFmj
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Types the fleet's decided rollover and the resolved v2 launch into main's
chain.toml, so a validator restarting on main needs no activation history and no archive RPC. Before this, a node restarting on main had to read old chain timestamps on its first poll (a lite RPC fails with "use an archive endpoint or pin…"), and #457's typed v2b switch made the old startup trial refuse to start at all (fixed separately in #460).What is typed
[round] epoch_blocks/epoch_blocks_prev/epoch_activation_block[round] rolling_from_block[scoring] era_king_from_block,tenure_blocks_from_block,cohort_maxt_increment_from_block[v2] commit_from_block[v2] from_block[v2] prelaunch_burn_from_block9136800 = the rollover the operator's node locked in (9133200 → 9136800); the trainer's published 900-block settlements have followed it since 2026-10-31.
9395601 / 9399600 read from the archive node: block 9395601 is stamped exactly 2026-10-30T09:00:00Z (
commit_open_at_utc); 9396501 is the 12:00:00Z crossing (launch_at_utc), next era start on the decided grid = 9136800 + 73×3600 = 9399600.9486900 = the decided
prelaunch-95-r2block (lock 9486000) on every node seen. Behaviour-identical:emission_policyapplies the burn only before the first v2 settlement and v2 is active from 9399600, so it never applied. With it typed, no vote is left open in the release (a fully typed node's own note payload is empty; validators then simply don't rewrite their commitment — audited safe).Equivalence (proven)
apply_activation(old_main, 9136800)+resolve_calendar_launchagainst the real chain stamps equals the new main in every config section exceptactivation.resolved_block/resolved_prelaunch_burn_block(the typed-vs-resolved markers; receipts then omit the optional stamped blocks — bytes only, no verdict change). Training contract digests (v1 and v2) unchanged. Pinned bytest_shipped_main_restarts_on_a_lite_rpc_without_reading_history.Effect on validators
configured_rollover); the grids coincide from 9378000, so its live scoring is unchanged; only replay of pre-9378000 history changes (towards what the trainer published).Drift guard
decided_votes.toml:rolling-era-kingmoves from HELD to typed (reads OK);prelaunch-95-r2moves from HELD to typed. No row is held.Tests
tests/unit/predecision_main.py: the release file with the decided lines untyped (exact inverse;test_predecision_main_is_the_exact_inversepins it to exactly these 9 keys + values). Scenario fixtures (fake block clocks, the rollover vote, dated-launch resolution) and the sessioncfgfixture load it; shipped-file tests assert the typed values, with the old vote/pre-launch assertions kept on the pre-decision file.docs/AGENT_MINING.mdconfig table regenerated.🤖 Generated with Claude Code
https://claude.ai/code/session_01BMT4D7eZUKUF2gocYLVFmj