pages / example / grid_fpga

example · grid_fpga

canister coord://offchain/genie/program/grid_fpga@v1/93422311c8467f51 · v1 · artifact root 0x93422311c8467f517bae8440e356babc3fc9a413996bbd0bbf2645dff7d1ba15 · previous none (first version) · superroot at publish not sealed yet

sealed cases that reached it: 0 — sealed cases that reached this word (the store counts, never reads)

the words it says

its helpdesk graph

grid fpga (a .genie program) in the studio: 11 symptoms, 10 fixes

the source

// _GRID_FPGA_TEE_v1_ (owner 2026-10-29: "if you don't want FPGA, let's not do it, but I am happy to pre-allocate 1k USDC just for joining
// in FPGA bonus"). The two kinds that are measured but not sold: an FPGA answers a lane challenge (its digest and elapsed time) the layer
// recomputes — a rank that stands, never PROVEN, since no vendor attestation tells an FPGA from a fast CPU — and earns no GRID per probe; it earns
// the FPGA join bonus once per owner from the pre-allocated pool (grid_bonus.genie), after the auditor's review. A TEE (SGX, TDX) finds
// the door closed: the quote verifier exists (TDX v4, the dstack simulator, Phala's DCAP) but the join does not call it, so a TEE joined
// today would be an unverified claim; the program records the claim and names what opens the door. Nothing here pays, signs or moves value.
genie grid_fpga v1
about "GRID FPGA and TEE: an FPGA answers the lane challenge and is ranked, never proven, and earns the join bonus once; a TEE finds the door closed until the join verifies its quote"

use product sma.case
use guard owner-arm sign-owner-go

agent lane is "one FPGA on the GRID: brought, challenged, measured, ranked; no GRID per probe; the join bonus once, after review"
  states brought challenged measured ranked bonus_due recorded no_owner failed_challenge
  start brought
  final recorded no_owner failed_challenge
  failed no_owner failed_challenge
  read GET /v1/grid/join as door
  read GET /v1/grid/leaderboard as leaderboard
  move brought -> no_owner when lane.owner == null
  move brought -> challenged hop offer_in op POST /v1/grid/join effect record
  move challenged -> measured when challenge.digest == expected.digest hop classify effect record
  move challenged -> failed_challenge
  move measured -> ranked hop listed effect record
  move ranked -> bonus_due when owner.fpga_bonus == null hop graded effect record
  move ranked -> recorded hop recorded effect record
  move bonus_due -> recorded hop recorded op POST /v1/pipe/send effect record
  refuse no_owner "an FPGA without an owner wallet is not ranked; the owner is who the bonus is paid to"
  refuse failed_challenge "the lane challenge was not answered: the digest the layer recomputed disagreed"
  refuse not_proven "an FPGA is never PROVEN today: no vendor attestation exists; the rank stands, the points are zero"
  say brought "The FPGA is on the table: its owner, its endpoint"
  say challenged "Challenged: a lane challenge with a digest and an elapsed time to answer"
  say measured "MEASURED: the digest matched; the elapsed time is on the row"
  say ranked "Ranked on the leaderboard; no GRID per probe (not proven)"
  say bonus_due "The FPGA join bonus is due once to this owner, after the auditor's review (grid_bonus.genie)"
  say recorded "Recorded: the challenge, the rank, the bonus if any"
  say no_owner "Refused: no owner wallet"
  say failed_challenge "Refused: the challenge failed"
  next brought challenged "Run the one command with kind fpga; the layer sends the lane challenge"
  next ranked bonus_due "One bonus per owner wallet and per endpoint, from the pre-allocated pool, until it is spent"

agent enclave is "one TEE (SGX, TDX) at the GRID door: the door is closed; the claim is recorded and what opens it is named"
  states brought closed
  start brought
  final closed
  failed closed
  read GET /v1/grid/join as door
  move brought -> closed
  refuse closed "the TEE door is closed: the join does not verify a quote yet; a TEE joined today would be an unverified claim and the registry filters it"
  say brought "The enclave is on the table: its owner, its endpoint, the quote it could present"
  say closed "Closed: the quote verifier exists (TDX v4, the dstack simulator, Phala's DCAP) but the join does not call it"
  next brought closed "Nothing to run yet: the door opens when the join asks for a quote and verifies it"

agent auditor is "the genie auditor: this program reviewed as a case by an agent with a key, graded by the four questions, armed on the owner's go"
  states asked read answered graded armed rejected
  start asked
  final armed rejected
  failed rejected
  move asked -> read when input.program != "" hop classify
  move read -> answered hop delivered asks spec_met unsupported_claim ending cheat_shaped assure 0.7 meter sma.case
  move answered -> graded hop graded
  move graded -> armed when grade.assured == true guard sign-owner-go owner-arm hop recorded effect record
  move graded -> rejected
  refuse not_assured "the review did not stand; no FPGA bonus is due and the refusal names the question that failed"
  say asked "The program is on the table: its text, its IR, its delta"
  say answered "Your own agent answered the four questions"
  say graded "Graded and sealed as a case"
  say armed "Armed: the owner's go after a standing review"
  say rejected "Rejected: the review did not stand"

knowledge
  symptom "the FPGA is ranked but earns no GRID" caused_by "an FPGA is never PROVEN: no vendor attestation tells it from a fast CPU, so the kind pays no points" fixed_by "nothing on your side: the rank stands; the join bonus pays once per owner from the pool"
  fix "nothing on your side: the rank stands; the join bonus pays once per owner from the pool" opens graded
  symptom "the TEE join is refused" caused_by "the door is closed: the join path does not ask for or verify a quote" fixed_by "wait for the join that verifies a quote; the verifier exists and is wired to grading today"
  fix "wait for the join that verifies a quote; the verifier exists and is wired to grading today" opens listed
  rule "measured is not proven: an FPGA's rank stands and its points are zero until a verifier can tell it from a fast CPU"
  rule "the FPGA join bonus is one per owner wallet and endpoint, after the auditor's review, from the pre-allocated pool until spent"
  rule "a TEE joins the day the join verifies its quote; until then the TEE lane runs as a labelled simulator"

door "Bring an FPGA to the GRID" as lane takes owner: string endpoint: string
  product sma.case
  step brought "Name the FPGA: your wallet, its https endpoint" next challenged
  step challenged "The lane challenge: a digest and an elapsed time" next measured
  step measured "MEASURED: the digest matched" next ranked opens ranked
  step ranked "Ranked; no GRID per probe" next bonus_due
  step bonus_due "The join bonus once, after review" next recorded
  step recorded "Recorded"
  handoff "Talk to Taifoon about your FPGA" booking https://taifoon.io meet https://taifoon.io room genie-grid-fpga

door "Bring a TEE to the GRID" as enclave takes owner: string endpoint: string
  product sma.case
  step brought "Name the enclave: your wallet, its https endpoint" next closed
  step closed "Closed until the join verifies a quote"
  handoff "Talk to Taifoon about your enclave" booking https://taifoon.io meet https://taifoon.io room genie-grid-tee

door "Review the FPGA program with the genie auditor" as auditor takes program: string
  product sma.case
  step asked "Paste the program or name it" next read
  step read "Its IR and its delta are on the table" next answered
  step answered "Your own agent answers the four questions" next graded
  step graded "Graded and sealed as a case" next armed opens armed
  step armed "The owner's go"
  handoff "A human reviewer" booking https://cal.com/taifoon meet https://meet.jit.si room genie-grid-fpga-audit