warriors/erga/specs.md

erga — specification

What the application must do, and the invariants it may not break. The docs explain how it does it.

1. purpose

Mine Autolykos v2 on Apple Silicon and pay the proceeds to a wallet the user controls, with one visible action and no configuration required.

2. correctness invariants

These are not features; violating any of them is a defect.

# invariant enforced by
C1 Every submitted share is re-verified against the CPU reference before it leaves the process engine::mine_session re-runs pow_hit and compares to the job target
C2 The GPU kernel is byte-exact to the reference erga-miner difftest over 512 nonces; five rows of every built table are checked against gen_element
C3 The reference matches the chain test vector: height 614400, nonce 0x3105 → hit 0x0002fcb1…412a
C4 The seed never leaves the machine stored 0600 in the app-support directory; nothing transmits it
C5 Only the address the user chose is credited, except for the documented development share the address is passed to mining.authorize; the donation uses its own session

3. the mining loop

  • The table is a function of block height alone. It must be rebuilt when the height changes and must not be reused across heights.
  • The previous table is released before the next is allocated. Holding both doubles peak memory (14 GB against 7 GB) and is the difference between running on a 16 GB machine and not.
  • The nonce space searched is masked to the pool's extranonce prefix, so two connections never duplicate work.
  • A dropped connection reconnects with backoff. Only an explicit stop ends the session.

4. pools

A pool is listed only after this client has held a real conversation with it: a job parsed, and where possible a share accepted. An endpoint published in documentation is not evidence — most Ergo pools' published endpoints no longer resolve at all. See the survey in the README.

Per-pool differences that must stay behind the interface:

  • solo routing — an address prefix (herominers) or a separate host (2miners)
  • ledger units — nanoERG for most, plain ERG for k1pool
  • payout floor — read from the pool's own API where it publishes one

Network difficulty and the ERG price are chain facts, not pool facts, and are read from a single source regardless of where the user mines.

5. resources

resource requirement
memory ~7 GB steady, 8.5 GB peak at height 1.86M, growing ~28% a year with N
GPU Metal; the table build and the search both saturate it
CPU one core's worth for verification and reporting
network a few KB/s

8 GB machines cannot run this and must not be told otherwise.

Blake batches and R-tables own fully initialized actual backing for fixed nonzero logical record counts. CPU and GPU access must address the same physical pages. Builds/views cover logical records; native objects stay retained through synchronous completion, excluding conflicting access. Mine executors retain immutable table/device borrows and initialized private output; their CPU/GPU table reads may overlap. V9 owns an initialized texture copy of logical bytes. Partial builds and failed Blake/probe completion close affected owners. Failed mine completion closes executor/output; read-only tables remain initialized. Pre-submit rejection preserves usable input.

6. the interface

  • One primary action: the crystal starts and stops mining.
  • Colour carries meaning and nothing else: mint is gain, amber is cost, coral is failure, blue is a chain fact.
  • Every number shown must be traceable to something measured. Projections are labelled as such and derive from live difficulty, never from a constant.
  • The application never claims to have earned what the pool has not credited.

7. out of scope

Sending funds (import the seed into a wallet), running an Ergo node, true solo mining against your own node, Intel Macs, and any platform that is not macOS on Apple Silicon.

Homonyms

specs
specs
cyber/specs
soft3/nox/specs
nox reference canonical specification of the nox virtual machine. this is the source of truth — when code and reference disagree, fix reference first, then propagate to code. specifications | page | scope | status | |------|-------|--------| | vm.md | overview, field, hash, algebra polymorphism,…
soft3/hemera/specs
Hemera: A Permanent Hash Primitive for Planetary-Scale Collective Intelligence | field | value | |----------|--------------------------------| | version | 2.0 | | status | Decision Record | | authors | mastercyb | | date | March 2026 | Abstract Hemera is the cryptographic hash primitive for cyber,…
soft3/bbg/specs
specs
neural/rune/specs
rune language specification rune K140 — working spec, mutations expected see [../README.md](/neural/rune/readme) for project overview and implementation status. specification | file | what it covers | |------|----------------| | [subject.md](/neural/rune/specs/subject) | the subject noun — the…
soft3/mudra/specs
mudra reference canonical specification for seven cryptographic primitives. each module proves a property. each module has its own security assumption. they share no cryptographic code with each other. modules | module | proves | security assumption | spec |…
cyberia/cyberia-my/specs
specs
soft3/conformance/specs
conformance specification | field | value | |----------|-----------------| | version | 0.2 | | status | implemented — stack snapshot in soft3 | | authors | mastercyb | | date | October 2026 | canonical encoding every `Conformant` type defines exactly one byte sequence as its canonical encoding.…
soft3/cybergraph/specs
cybergraph specs cybergraph is exactly its structure, nothing more and nothing less: a cybergraph is built from signals; a signal is built from cyberlinks; each has a fixed, finite set of fields. these specs define those fields — one article per field — plus the two emergents that appear when you…
soft3/tru/specs
tru specs the build map for tru — the convergence vm. one pipeline, `.graph` → φ* → Δφ* → reward, specified across four layers. focusing computes φ*; compilation freezes it into a model; **economics is why any of it runs** — the proven focus shift Δφ* is what a neuron self-mints against. this index…
cyb/evy/specs
specs
neural/eidos/specs
eidos reference canonical specification of the eidos proof assistant. this is the source of truth — when code and reference disagree, fix reference first, then propagate to code. specifications | page | scope | status | |------|-------|--------| | terms.md | CIC term syntax, encoding as nox nouns,…
soft3/foculus/specs
specs
neural/inf/specs
inf specs — what canonical specification for inf, proof language #10 of the cyber stack (Infer — Horn clauses, relation/inference). the declarative twin of rune; sibling of Rs, Trident|Tri, Bt, Ten. specs/ is the source of truth. when specs/ and rs/ (implementation) disagree, resolve in specs/…
soft3/radio/specs
specs
soft3/zheng/specs
zheng: polynomial proof system one IOP: SuperSpartan + sumcheck (CCS constraints, O(N) prover, O(log N) verifier). one folding: HyperNova (CCS-native, ~30 field ops per fold, one decider at the end). one hash: hemera (~3 calls per proof — binding, Fiat-Shamir seed, domain separation). five…
warriors/joy/specs
specs
cyb/seer/specs
seer specs the contracts of seer, the miner of the mint. two pages: the mining loop and its boundary, and the first method that runs it. | spec | defines | status | |---|---|---| | [interface.md](/cyb/seer/specs/interface) | scope (existing→existing, no new files), inputs from tru and the…
cyb/wysm/specs
wysm reference canonical specification of the cyber wysm runtime. this is the source of truth — when code and reference disagree, fix reference first, then propagate to code. `wysm` is cyber's name for its wasm runtime. `wasm`/`WASM` is the WebAssembly format. `wasmi` is the upstream project this…
soft3/lens/specs
lens reference canonical specification for polynomial commitment — five lenses for five algebras. the trait three operations. commit is O(N). open produces a proof. verify checks the proof. all transparent (no trusted setup), all post-quantum. see trait for the full specification. naming convention…
soft3/mir/specs
specs
cy/sigma/specs
specs
soft3/strata/nebu/specs
nebu specification canonical reference for the Goldilocks prime field, its arithmetic, and its hardware. spec pages | page | defines | |------|---------| | field | prime, elements, arithmetic, properties, why Goldilocks | | ntt | Number Theoretic Transform, roots of unity, butterfly, Cooley-Tukey |…
cyb/honeycrisp/acpu/specs
acpu — API specification pure Rust driver for Apple Silicon CPU compute. direct access to every useful compute unit in M1–M4: matrix coprocessor, vector engine, numeric extensions, atomics, memory system, performance counters. zero external dependencies — only inline assembly and system calls.…
cyb/prysm/molecules/specs
specs
cy/chroma/sigma/specs
specs
cyb/honeycrisp/unimem/specs
unimem: Zero-Copy Memory Driver for Apple Silicon Goal Single pinned buffer visible to CPU, GPU, AMX, and ANE — zero copies between pipeline stages. The memory layer for inference on unified memory. v1 adds NVMe DMA via DEXT — full zero-copy from disk to compute. Why this exists Every inference…
soft3/strata/trop/specs
trop specification canonical reference for tropical semiring arithmetic: the (min, +) semiring, its matrix algebra, and dual certificate verification. spec pages | page | defines | |------|---------| | [semiring](/soft3/strata/trop/specs/semiring) | tropical semiring axioms, (min, +) definition,…
soft3/glia/run/specs
cyb-llm runtime specification Canonical spec for the cyb-llm runtime. Defines what models we run, how we represent them, how we execute them. Every backend (wgpu, metal, cpu, ane) is verified against this spec. Code disagreeing with spec is a bug. Spec disagreeing with reality is a spec bug — fix…
cyb/honeycrisp/rane/specs
specs
cyb/prysm/chroma/specs
chroma cyb's UI is a **3×3 grid**: eight fixed overlay elements ("chroma") arranged around a central renderer slot ("spacetime"). Each chroma owns a fixed screen position, a single semantic role, and a strictly typed cyberlink interface. Chromas never share state directly — every interaction…
soft3/glia/import/specs
import crate specification How external model formats become canonical `.model` files. Scope `import` reads source models (GGUF, safetensors, ONNX, HF PyTorch, MLX), normalizes naming, shapes, dtypes, and config, and writes the canonical `.model` file consumed by [run/](/soft3/glia/run).…
cyb/prysm/system/specs
specs
soft3/strata/genies/specs
genies specification canonical reference for isogeny group action arithmetic: F_q field operations, supersingular curves, isogeny computation, and class group action. spec pages | page | defines | |------|---------| | [prime](/soft3/strata/genies/specs/prime) | CSIDH prime form, selection criteria,…
soft3/strata/jali/specs
jali reference canonical specification for polynomial ring arithmetic R_q = F_p[x]/(x^n+1) over Goldilocks. what jali is jali (जाली — lattice/mesh) is the fifth execution algebra for cyber. polynomial ring elements are structured vectors of n Goldilocks field elements with multiplication defined by…
cyb/honeycrisp/aruminium/specs
aruminium — API specification pure Rust driver for Apple Metal GPU. direct objc_msgSend FFI, zero external dependencies, only macOS system frameworks. concepts | concept | what it is | |---------|-----------| | device | a Metal GPU — discovered at runtime, owns all GPU resources | | buffer |…
cyb/prysm/atoms/specs
specs
soft3/strata/kuro/specs
kuro specification canonical reference for the F₂ tower field, its arithmetic, packed operations, and hardware targets. spec pages | page | defines | |------|---------| | [field](/soft3/strata/kuro/specs/field) | tower levels, all field operations, properties, cost model vs Goldilocks | |…

Graph