Skip to content

Tag docker image with sha; fix two prod-down validator bugs#438

Merged
LandynDev merged 6 commits into
testfrom
ci/docker-tag-sha
May 31, 2026
Merged

Tag docker image with sha; fix two prod-down validator bugs#438
LandynDev merged 6 commits into
testfrom
ci/docker-tag-sha

Conversation

@anderdc
Copy link
Copy Markdown
Collaborator

@anderdc anderdc commented May 31, 2026

1. ci(docker): tag pushed image with git sha

docker-publish.yml now pushes entrius/allways:<git-sha> alongside :latest, mirroring gittensor. A future rollback becomes a direct docker pull entrius/allways:<sha> instead of a source rebuild. :latest unchanged, so watchtower behavior is unaffected.

2. fix(scoring): live crown snapshot unpack crash + missing squat gate

snapshot_current_crown_holders unpacked reconstruct_window_start_state into 4 names, but #423 changed it to 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 (this is what took prod down).

Fix unpacks collaterals and feeds 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).

3. fix(validator): construct bounds_cache before bootstrap_miner_rates

#437 moved bounds_cache creation after the bootstrap_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).
  • Confirmed the new squat test fails when the gate is removed, so it isn't vacuous.

anderdc 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.
@anderdc anderdc changed the title ci(docker): tag pushed image with git sha as well as latest Tag docker image with sha; fix two prod-down validator bugs May 31, 2026
@LandynDev LandynDev merged commit a317170 into test May 31, 2026
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