Tag docker image with sha; fix two prod-down validator bugs#438
Merged
Conversation
added 3 commits
May 31, 2026 12:39
Mirrors gittensor's docker-publish so every main build is pullable by its exact commit sha (entrius/allways:<sha>), not just :latest. Makes pinning/rolling back to a known-good build a direct image pull instead of a source rebuild.
…shot snapshot_current_crown_holders unpacked reconstruct_window_start_state into 4 names, but #423 made it return 5 (added collaterals). On a fresh process the forced first scoring pass hit this and threw 'too many values to unpack (expected 4)' every forward step, blocking weight-setting. Unpack collaterals and feed the same can_fund boundary-squat gate the ledger path uses, so the live crown table no longer credits a holder whose collateral can't fund their own smallest legal leg. Adds the first tests for this function (crash regression + squat exclusion).
#437 moved bounds_cache creation after the bootstrap call, so bootstrap_miner_rates read a not-yet-set attribute and logged 'no attribute bounds_cache', falling back to unbounded (min/max=0) commitment reads on cold start. Move the axon/bounds_cache block above the bootstrap call so the bounds are available.
LandynDev
approved these changes
May 31, 2026
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.
1. ci(docker): tag pushed image with git sha
docker-publish.ymlnow pushesentrius/allways:<git-sha>alongside:latest, mirroring gittensor. A future rollback becomes a directdocker pull entrius/allways:<sha>instead of a source rebuild.:latestunchanged, so watchtower behavior is unaffected.2. fix(scoring): live crown snapshot unpack crash + missing squat gate
snapshot_current_crown_holdersunpackedreconstruct_window_start_stateinto 4 names, but #423 changed it to return 5 (addedcollaterals). On a fresh process the forced first scoring pass hit this and threwtoo many values to unpack (expected 4)every forward step, blocking weight-setting (this is what took prod down).Fix unpacks
collateralsand feeds the samecan_fundboundary-squat gate the ledger path uses, so the live crown table no longer credits a holder whose collateral can't fund their own smallest legal leg. Adds the first tests for this function (crash regression + squat exclusion).3. fix(validator): construct bounds_cache before bootstrap_miner_rates
#437 moved
bounds_cachecreation after thebootstrap_miner_rates()call, so bootstrap read a not-yet-set attribute, logged'Validator' object has no attribute 'bounds_cache', and fell back to unbounded (min/max=0) commitment reads on cold start. Reordered so bounds are available.Verification
pytest tests/test_scoring_v1.py→ 141 passed (was 139 + 2 new).