Skip to content

Releases: fugal-ai/fugal-subnet

Fugal Subnet v0.2.0

Choose a tag to compare

@jtdoherty jtdoherty released this 05 Sep 15:09
047024c

The TEE architecture, finished and proven against a real chain. v0.1.0 predates all of it — if you are running that build, upgrade.

Attested claims are now bound to what they prove

Five exploit classes succeeded against the previous verifier, modelling an attacker who owns genuine Intel TDX hardware — so DCAP really passes and only the bindings can stop them. All five are closed:

  • Approved-image matching read proof.source_hash, a field the workload writes about itself. It now reads the quote's own MRTD/RTMR0-2 registers.
  • Results were never checked against the assigned slice, and gold_answers was the entire 21K pool.
  • proof.weights_hash was never compared to the on-chain commitment.
  • The downloaded bundle was never checked against the advertised proof_hash.
  • Cost inconsistency was only a warning, though understating total_cost_usd raises a miner's score.

Three bugs meant the subnet could not have set a single weight

Bug Effect
Miner and validator formatted epoch_id differently Slices overlapped 45/300 → every proof rejected on nonce
Miner imported a function that does not exist Every epoch died inside an except that only logged
Harness passed a raw loader dict to grade() Every TEE answer graded 0, silently

Also in this release

  • Scoring is quality per dollar against the best single model, priced against a hash-pinned table rather than a stub.
  • scripts/dress_rehearsal.py runs the shipped binaries against a real local subtensor node; its first run surfaced eight defects no in-process test could see. 28/28 now pass.
  • CI exercises the path that actually runs. It previously tested the pre-TEE pipeline end to end and the TEE pipeline only in pieces.
  • The docker compose demo completes end to end; launch_testnet works, and mock mode can no longer spend money.
  • TDX quotes are generated through the kernel; dcap-qvl locked and pinned exactly.

Full detail in CHANGELOG.md, and the reasoning in #2.

Full changelog: v0.1.0...v0.2.0

Fugal Subnet v0.1.0

Choose a tag to compare

@jtdoherty jtdoherty released this 31 Aug 20:27

Warning

Superseded — do not run this build. v0.1.0 predates the TEE architecture by 58 commits. Three defects fixed in v0.2.0 meant this version could not set a single weight, and its attestation verifier accepted five classes of forged proof. Use v0.2.0.

Initial open-source release of Fugal Subnet. Includes the Bittensor validator and miner, deterministic benchmark and grader pipeline, router-head training and evaluation, commitment and reveal integrity, mock local-testnet tooling, operator guides, reproducible dependency lock, CI across Python 3.10–3.12, CodeQL scanning, and open-source community and security policies.