Skip to content

feat(providers): what the Gonka network sells and what TRI-NET would rent - #5800

Merged
gHashTag merged 3 commits into
masterfrom
claude/gonka-providers-gpu-fpga-d283cd
Oct 4, 2026
Merged

gHashTag merged 3 commits into
masterfrom
claude/gonka-providers-gpu-fpga-d283cd

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

Description

This PR adds specs/providers/, the source of truth for a seventh rung on the site's spec ladder, PROVIDERS. The rung sets two things side by side:

  • every neural model the Gonka network sells;
  • the network we are building, where an ordinary owner rents out a GPU or an FPGA and is paid in $TRI.

Gonka is the closest working compute market paid in its own token. What it proves and what it does not belongs in specs with tests.

Closes #5788

Changes

specs/providers/gonka/*.t27: 5 model cards. Every number is copied from node3.gonka.ai at epoch 413 (models_all, params, /v1/governance/pricing, /v1/epochs/current/participants).

card hosts of 30 VRAM per host PoC model
minimax-m2-7 26 320 GB yes
deepseek-v4-flash-0731 11 280 GB yes
glm-5-3-flash 6 560 GB yes
glm-5-2-fp8 0 1120 GB no
kimi-k2-6 0 720 GB no

No participant address, seed or validator key is recorded; participants are counted per model.

specs/providers/trinet/*.t27: two host classes.

  • fpga-xc7a200t is measured: the bench record.
  • gpu-consumer-24gb is planned. Fourteen 24 GB cards make one 320 GB Gonka node. Gonka admitted consumer cards from 2025-11-05 to 2026-06-05, and the class it left behind is the class TRI-NET would serve. Its GAPS name what does not exist: no GPU worker, no job format, no sampling verifier, no buyer, and no $TRI on mainnet.

specs/providers/tri_gnk_pair.t27 covers how Gonka pays its hosts (subsidy about 10^5 x fees at epoch 413) and four routes to a $TRI/GNK pair:

  1. Ethereum Uniswap, against WGNK.
  2. A Gonka-native pool.
  3. Osmosis over IBC.
  4. TON or Solana.

It also draws seven parallels with TRI-NET. It decides none of the routes: $TRI was decided for TON and Solana, GNK lives on its own chain and, wrapped, on Ethereum, and the choice is the owner's. It has 8 tests.

specs/providers/catalog.t27 defines kinds, families, networks, statuses and witnesses, the ID and module rules, and the fields each family must carry. It has 6 tests and 2 invariants.

Seals: 9 seals in .trinity/seals/{providers,gonka,trinet}_*.json, saved with the t27c built from this tree.

NOW: docs/now/2026-10-04-specs-providers-what-gonka-sells-and-what-tri-net-would-rent.md.

Testing

Every command below ran with ./target/release/t27c built from this tree (master 3cea5b2 + this commit):

for f in $(find specs/providers -name '*.t27'); do ./target/release/t27c check "$f"; ./target/release/t27c test-report "$f" --specs-dir specs; done
./target/release/t27c parse-complete --specs-dir specs/providers
./scripts/tri seal <spec> --save            # each of the 9
python3 tools/check_seal_currency.py && python3 tools/check_seal_coverage.py && python3 tools/check_duplicate_declarations.py
python3 tools/dupe_scan.py && python3 tools/check_catalog_count.py && python3 tools/check_catalog_integrity.py
  • check: 9/9 typecheck OK.
  • parse-complete: 9 scanned, 9 consume all, 0 truncated, 0 discarded.
  • test-report:
    • catalog: 6/6 pass, 2 invariants proved.
    • tri_gnk_pair: 8/8 pass.
    • Each of the 7 cards: its invariants are proved at comptime.
  • Seal currency rc=0; seal coverage OK (1442 seals, no new broken one); duplicate declarations rc=0; dupe ratchet "no new duplicate body"; catalog count and integrity OK.
  • Negative controls:
    • A planted false invariant blocks the build in catalog (STATUS_PLANNED == 4) and in gpu-consumer-24gb (15 cards).
    • So "proved" is not vacuous.
  • Spec-parse ratchet (T27C_BIN=./target/release/t27c BASE_SHA=3cea5b2a9 python3 tools/ci/check_specs_still_parse.py): rc=0, 9 changed specs, 0 newly unparseable.
  • Corpus ratchet (t27c suite --repo-root . --ratchet --corpus-only): RATCHET: CLEAN. The ledger stands at 95 / 126 cap, with 0 unexpected failures, 0 unexpected passes, 0 expired entries and 0 discard drift.
  • Commit 2 (10f79d7) fixes a seal. The first seal of catalog.t27 caught a transient FileNotFound in the local zig cache and saved it as tests.blocked, with a home path inside it; secret-scan rejected the path. After re-sealing, the seal records 6/6 passed, and spec_hash is unchanged.

Red checks on this PR that are already red on master. CI tests the merge with master, so these reach this PR:

Review Notes

  • Invariant form. Invariants are written invariant x { assert EXPR; }. The bare invariant x { EXPR } form compiles to a Zig statement that discards a bool (value of type 'bool' ignored), so test-report reported every card BLOCKED.
  • A compiler defect, worked around rather than fixed. assert (A - 1) * B < C emits unreachable code. gpu-consumer-24gb says A * B - B < C instead.
  • The cards are a snapshot. The chain moves every epoch (about 22.9 h). The site re-reads the same four endpoints on request and prints every field that differs, so a stale card is shown stale and never silently wrong. Refreshing a card is a new commit here.
  • Companion PR. The companion is gHashTag/trinity TRINITY_PR (issue Providers tab: Gonka's models and TRI-NET's GPU/FPGA hosts as the seventh spec rung trinity#1301). It vendors these 10 files byte-identically and renders them as the Providers tab (Queen key g, #/providers). Merge this PR first.

φ² + 1/φ² = 3 | TRINITY

🤖 Generated with Claude Code

…rent

One card per model the Gonka network sells (specs/providers/gonka, 5 cards,
every number read from node3.gonka.ai at epoch 413), one card per class of
host an owner could rent to TRI-NET for $TRI (specs/providers/trinet: the
XC7A200T board, measured; a 24 GB consumer GPU, planned), the catalog that
states the rules every card obeys, and tri_gnk_pair.t27: how Gonka pays its
hosts, four routes to a $TRI/GNK pair, and seven parallels with TRI-NET.

No participant address, seed or validator key is recorded. Invariants are
`invariant x { assert EXPR; }`, which test-report proves at comptime.

Closes #5788

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-03 19:08:20 UTC

Summary

Status Count
Total Open PRs 49
PRs with Failing Checks 41
PRs with All Checks Green 8
READY 7
FAILING 41
PENDING 0
NO CHECKS YET 0

These columns do not partition: 7 + 41 + 0 + 0 = 48, and there are 49 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b45a356c2eb6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

… miss

The first seal of specs/providers/catalog.t27 caught a transient
FileNotFound in the local zig cache and saved it as tests.blocked, with
the developer's home path inside. secret-scan rejected the path, and the
seal itself was false: test-report passes 6/6. Re-sealed with the same
spec_hash; only sealed_at and the tests block change.

Refs #5788

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-03 19:18:53 UTC

Summary

Status Count
Total Open PRs 49
PRs with Failing Checks 41
PRs with All Checks Green 8
READY 7
FAILING 41
PENDING 0
NO CHECKS YET 0

These columns do not partition: 7 + 41 + 0 + 0 = 48, and there are 49 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b45a356c2eb6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

This was referenced Oct 3, 2026
The three red checks on this PR (corpus ratchet types, emit-bitexact on
specs/xilinx7/packets.t27, spec-guards) were measured on 2026-10-03 against a
master that was red for the same reasons; #5812 and the packets fixes have
since landed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-04 04:03:43 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 44
PRs with All Checks Green 6
READY 5
FAILING 44
PENDING 0
NO CHECKS YET 0

These columns do not partition: 5 + 44 + 0 + 0 = 49, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b45a356c2eb6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

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.

specs/providers: Gonka model cards, TRI-NET host classes and the $TRI/GNK study

1 participant