From 28ef92369c1afbed10a9f2916beb5defc687e686 Mon Sep 17 00:00:00 2001 From: George Date: Mon, 20 Jul 2026 21:43:06 -0400 Subject: [PATCH 1/2] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20deps:=20bittensor=2010?= =?UTF-8?q?.5=20+=20btcli=209.23=20for=20multi-mechanism=20chain=20runtime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bittensor 10.1.0 can no longer query the live chain: the multi-mechanism runtime migration wrapped netuid storage keys in a NetUid newtype, so Subtensor.metagraph(netuid) dies with "Invalid type for data: 102 of type " on both finney and archive. Validator bootstrap calls metagraph() (run._sync_lite_metagraph), so any :stable container restart crash-loops fleet-wide. Bump to bittensor 10.5.0 / bittensor-cli 9.23.2 and move the async-substrate-interface pin to the cyscale-based 2.2.1 (both new pins require it; the old scalecodec-era 1.6.4 hack is obsolete — btcli no longer pulls py-scale-codec). Verified in a clean python:3.10 container and layered over the :stable image on a live host (137.184.170.154): deps resolve with no scalecodec, all connito validator/shared modules import, metagraph returns n=256 on netuid 102, and the validator bootstraps through chain-commit fetch and model load. bittensor 11.0.0 was rejected: it removes Subtensor.metagraph and needs a real migration. Co-Authored-By: Claude Fable 5 --- requirements.txt | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/requirements.txt b/requirements.txt index d38ea70..9b9ef0d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -53,12 +53,15 @@ fsspec==2024.6.1 # ----------------------------- # Blockchain # ----------------------------- -bittensor==10.1.0 -bittensor-cli==9.18.0 -# Pinned to pre-cyscale release. Newer async-substrate-interface versions -# migrated scalecodec → cyscale and added an import-time check that fails -# when bittensor-cli's transitive substrate-interface also pulls scalecodec. -async-substrate-interface==1.6.4 +# 10.1 predates the chain's multi-mechanism runtime migration: its storage-key +# encoding sends netuid as a bare int where the runtime now expects the NetUid +# newtype, so metagraph()/btcli-overview fail against live finney+archive. +bittensor==10.5.0 +bittensor-cli==9.23.2 +# Both pins above require the cyscale-based async-substrate-interface 2.x, +# which fails at import if py-scale-codec is also installed — do not +# reintroduce a scalecodec pin alongside these. +async-substrate-interface==2.2.1 # ----------------------------- # Observability From 6250320f4895501d4b236ede9cdd54ef234b1d95 Mon Sep 17 00:00:00 2001 From: George Date: Tue, 21 Jul 2026 15:19:57 -0400 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=9A=91=20deps:=20unblock=20fresh=20re?= =?UTF-8?q?solve=20for=20bittensor=2010.5=20(requests=202.33,=20typer=200.?= =?UTF-8?q?26)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI's clean-image build caught two conflicts the layered container test could not: bittensor 10.5.0 requires requests>=2.33 (repo pinned 2.32.3) and bittensor-cli 9.23.2 requires typer~=0.26 (repo pinned 0.24.1). Verified with a full pip dry-run resolve of requirements.txt in a clean python:3.10 container against the cu124 index. Co-Authored-By: Claude Fable 5 --- requirements.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 9b9ef0d..107ae60 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,8 @@ structlog==24.1.0 prometheus-client==0.20.0 psutil==6.1.1 PyYAML==6.0.1 -typer==0.24.1 +# btcli 9.23 requires typer~=0.26 (fresh-resolve conflict; bumped with the bittensor 10.5 move) +typer==0.26.0 python-dotenv==1.1.0 cryptography==46.0.5 varint==1.0.2 @@ -35,7 +36,8 @@ unsloth @ git+https://github.com/unslothai/unsloth.git; platform_system == "Linu # ----------------------------- fastapi==0.110.1 uvicorn[standard]==0.30.0 -requests==2.32.3 +# bittensor 10.5 requires requests>=2.33 (fresh-resolve conflict caught by CI 2026-07-21) +requests==2.33.0 aiofiles==25.1.0 python-multipart==0.0.22