Model
One CRE8-made int8 model, derived from the recipe in this URL: its card, its training receipt, every weight, the corpus it cuts into, and the layer chain run on the emulator against the native forward pass.
- Root
- 4749998015ed…
- Shape
- 16 → 8 → 4
- Weights
- 160 bytes
- Chunks
- 4 × 40
- Loss
- 63,946 → 7,251
- Edits
- 0
Recipe
- Shape
- 16 → 8 → 4
- Shift
- 4
- Seed
- 7
- Iterations
- 2,000
- Batch
- 16
- Chunk bytes
- 40
- Edits
- none
- Training work
- 5,120,000 mul-adds
This URL is the provenance. Anyone who opens it derives the same bytes and the same root — which is not the root in the path; the canonical page for this recipe is:
/view/model/4749998015ed26b0ad94bbf4ae1db50aba8878e2689a10a801c4ed7b27723b11?name=cre8-tiny-demo&widths=16,8,4&shift=4&seed=7&iterations=2000&batch=16&chunk=40Card
- Schema
- cre8.tiny_model.v1
- Name
- cre8-tiny-demo
- Weights sha256
cf4626abc479271cdf66ffce9cc7aea04cb0c16505609d06960d7875f2b28f2e- Basis root
4749998015ed26b0ad94bbf4ae1db50aba8878e2689a10a801c4ed7b27723b11- Total bytes
- 160
- Chunk bytes
- 40
- Chunk count
- 4
- Input columns
- 16
Training curve
Integer L1 loss over the fixed batch, sampled every 8 iteration(s): 63,946 → 7,251 across 2,000 iterations, 247 accepted moves. Hill-climbing keeps only improving deltas, so the curve never rises.
Layers
| # | Shape | Offset | Bytes | Shift | Chunks | ELF sha256 | Steps | Chain |
|---|---|---|---|---|---|---|---|---|
| 0 | 8 × 16 | 0 | 128 | 4 | #0–#3 | 5ee9178afa66… | 1,096 | probe input |
| 1 | 4 × 8 | 128 | 32 | 4 | #3 | a2f2d93bd1d0… | 296 | chained |
Cells are int8 weights: warm is positive, cool is negative, deeper is larger. Hover a cell for its index and value; a ringed cell was hand-edited.
Corpus
35f382aa5f59…05bf4d504a42…f1376ce80c15…fd343fc60657…4 chunk(s) of 40 bytes fold to root 4749998015ed26b0ad94bbf4ae1db50aba8878e2689a10a801c4ed7b27723b11. Custody is declared per chunk by the peers that hold it; the Foundry holds nothing, so every tile is unheld here. In the lane, a holder answers a custody challenge over the chunk bytes and a checker that holds the same chunk verifies the answer, or confirms membership alone when it does not.
Poke a weight
Change one weight byte and watch what moves: the byte, its chunk's hash, the root, and — sometimes — the probe's outputs. The training receipt does not move; the card records the edit instead. Probe input [40, 59, -19, -84, -61, 23, -58, -51, 13, 63, 108, -90, 42, -85, 11, 81] → outputs [-964, -539, 809, -1051].
Run it here
| Layer | ELF bytes | ELF sha256 | Steps | Outputs | Activation out | Chain |
|---|---|---|---|---|---|---|
| 0 | 4,240 | 5ee9178afa6635e03c10465355d75bcc6e171b031b27d66348f0aa556c49439a | 1,096 | [2509, -198, -713, 1598, 689, 467, 1287, -3200] | ec424d7e9b26… | probe input |
| 1 | 4,136 | a2f2d93bd1d0a06c0be64d1cc6866fee692aaf7ee4620434c790e3ce02b755b0 | 296 | [-964, -539, 809, -1051] | d9d09ed842b8… | chained |
emulated == native The RV64 emulator, running each layer's ELF from the corpus slices, reproduced the native forward pass on the probe: [-964, -539, 809, -1051].
Each ELF's sha256 is the program binding a proof of that layer commits to, so the weight slice is bound through it. This run is local and unproven — a receipt, not a STARK; the lane's executors prove the same ELFs.
Swarm
This page ran every layer itself. In the lane, layer k is a workunit_v1 parcel an executor peer runs and the requester admits (model_lane::admit_model_layer_response: witness-bound, artifact-bound, step-Merkle commitment present, kernel ir_hash) before settling cre8/compute/model to the executor. A durable run log lands with the scheduler tick; until then there are no receipts to list here, and this section says so rather than showing a stand-in.