cyb/honeycrisp/acpu/AGENTS.md

AGENTS.md — honeycrisp/acpu

the doctrine of the home is ~/cyber/AGENTS.md; it applies here first. Claude Code receives both files at session start through ~/.config/cyber/agents-md.nu; other agents read them in order.

auditor mindset

the project is supervised by an engineer with 30 years of experience. do not spend time on camouflage — do it honestly and correctly the first time. one time correctly is cheaper than five times beautifully.

honesty

never fake results. if a system produces nothing — show nothing. a dash is more honest than a copied number. never substitute appearance of progress for actual progress. never generate placeholder data to fill a gap.

literal interpretation

when the user says something, they mean it literally. do not reinterpret. if unsure, ask once. do not guess and iterate.

chain of verification

for non-trivial decisions affecting correctness:

  1. initial answer
  2. 3-5 verification questions that would expose errors
  3. answer each independently
  4. revised answer incorporating corrections

skip for trivial tasks.

build & verify

cargo fmt --all                           # format
cargo clippy --workspace -- -W warnings   # lint
cargo build --release --workspace         # build all
cargo run --example matmul                # verify AMX access

every commit: format clean, clippy clean, builds, examples run.

project: acpu

pure Rust driver for Apple Silicon CPU compute. direct access to AMX matrix coprocessor, NEON vector engine, numeric extensions (FP16, BF16, DotProd, I8MM, FCMA, RDM), sync primitives (LSE atomics, core affinity, memory barriers), and PMU performance counters. zero external dependencies — only inline assembly, sysctl, and dlopen for libkperf.

role in the stack

acpu is a hardware compute driver. it runs math on CPU/AMX/NEON. it does NOT allocate memory, compile shaders, build graphs, or schedule ops.

cyb-mem      memory: IOSurface, arena, pool
acpu         driver: CPU/AMX compute (NEON, AMX inline asm)  ← this crate
aruminium    driver: Metal GPU compute (shaders, pipelines)
rane         driver: ANE hardware (MIL compile, dispatch)
  ↑ drivers — raw hardware access, no model knowledge
──────────────────────────────────────────────────────
  ↓ runtimes — model graphs, scheduling, inference logic
cyb/llm      runtime: graph IR, jets, scheduling, model loading

all inference logic (attention blocks, transformer layers, model loading, op scheduling, graph optimization) belongs in the runtime layer (https://github.com/cyberia-to/cyb), not in the drivers.

drivers expose raw capabilities. runtimes compose them.

sibling drivers

  • cyb-mem (https://github.com/cyberia-to/unimem) — memory: IOSurface, arena, zero-copy buffers
  • aruminium (https://github.com/cyberia-to/aruminium) — Metal GPU: shaders, buffers, compute
  • rane (https://github.com/cyberia-to/rane) — ANE: MIL compile, load, run

architecture

single crate, six organs:

src/
  lib.rs              pub API re-exports, RamxError
  probe.rs            Chip, Caps, Feature, detect()
  matrix/             AMX coprocessor
    mod.rs            AmxCtx lifecycle (set/clr)
    ops.rs            load/store, fma32/fma16/fmabf16/mac16
    regs.rs           XRow, YRow, ZRow typed wrappers
    asm.rs            raw .word encoding macros
  vector/             NEON compute kernels
    mod.rs            dispatch
    math.rs           exp, log, tanh, sigmoid, gelu, silu
    reduce.rs         sum, max, min, dot, norm_l2
    softmax.rs        softmax, rmsnorm
    rope.rs           rotary positional embedding
  numeric/            precision and format extensions
    fp16.rs           FP16 arithmetic + bulk convert
    bf16.rs           BF16 ops + bulk convert
    quant.rs          DotProd, I8MM, quantize/dequantize
    complex.rs        FCMA complex mul-acc
  sync/               concurrency primitives
    mod.rs            barriers, wfe/sev
    affinity.rs       pin_p_core, pin_e_core
    prefetch.rs       PRFM wrappers
  pulse/              performance counters
    mod.rs            PulseCtx, Counter, Snapshot
    ffi.rs            dlopen libkperf, kpc_* symbols
  gemm.rs             sgemm, hgemm, bgemm, qgemm (auto-dispatch)
  convert.rs          bulk conversion re-exports
  probe/
    main.rs           acpu_probe binary
examples/
  matmul.rs           AMX matrix multiply demo
specs/
  README.md           API specification (source of truth)

source of truth

specs/ is canonical. if specs/ and code disagree, resolve in specs/ first, then propagate to code.

key gotchas

  • AMX instructions are undocumented. encoded via .word in inline asm.
  • AMX context is per-thread. each thread needs its own AmxCtx.
  • AMX set/clr must bracket all AMX operations.
  • NEON registers v8–v15 are callee-saved. inline asm must respect this.
  • PMU access requires dlopen of libkperf.dylib (same pattern as rane).
  • core affinity uses QoS classes, not hard pinning.
  • all public functions operate on caller-owned slices. acpu allocates nothing.
  • target: aarch64-apple-darwin only. not cross-platform.

do not touch

without explicit discussion:

  • Cargo.toml dependency versions
  • specs/ structure
  • LICENSE
  • AMX .word encodings (must match corsix/amx documentation)

quality

file size limit: 500 lines per source file. split into submodules if exceeded.

every commit:

  • type check / lint — zero warnings
  • builds clean
  • examples run

coding conventions

  • no external dependencies. no C compiler. no frameworks.
  • inline asm for AMX (.word encoding), core::arch::aarch64 for NEON.
  • dlopen only for libkperf.dylib (PMU).
  • cargo fmt enforced (max_width = 100). clippy clean.
  • unsafe code confined to asm.rs, ffi.rs, and ops.rs.

git workflow

  • atomic commits — one logical change per commit
  • conventional prefixes: feat:, fix:, refactor:, docs:, test:, chore:
  • commit by default after completing a change

shell: nushell

use nu -c '...' or nu script.nu for scripting. reserve bash for git commands and system tools only.

writing style

state what something is directly. never define by negation.

license

cyber license: don't trust. don't fear. don't beg.

Homonyms

AGENTS
AGENTS.md — cyber > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. Git Workflow **Commit by default.** After completing a change, commit it. Don't wait…
cyb/AGENTS
AGENTS.md — cyb > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. Архитектура Bevy — корневой runtime. Один бинарник для всех платформ. Внешние…
soft3/AGENTS
AGENTS.md — soft3 > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. what this repo is soft3 owns foundational stack composition contracts and developer…
cyberia/AGENTS
AGENTS.md — cyberia > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. this repository adds no rules of its own beyond the home's and `cyberia/dev.md`.
cy/AGENTS
AGENTS.md — cy Rules for every coding agent in this repository are the shared doctrine of `~/cyber/cyberia/dev.md` (published as the cyberia/dev page): git, reports, vocabulary, release train, moving a page. Read it first. Nothing is restated here. This repository holds the contract of the agent:…
cyb/honeycrisp/AGENTS
AGENTS.md — honeycrisp > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. auditor mindset the project is supervised by an engineer with 30 years of…
soft3/mudra/AGENTS
AGENTS.md — mudra > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. principles for working with AI coding agents across any project. this page is the…
soft3/lens/AGENTS
AGENTS.md — lens > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. principles for working with AI coding agents across any project. this page is the…
soft3/bbg/AGENTS
AGENTS.md — bbg > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. principles for working with AI coding agents across any project. this page is the…
cy/sigma/AGENTS
AGENTS.md — sigma Rules for every coding agent here are the shared doctrine of `~/cyber/cyberia/dev.md` (the cyberia/dev page). Nothing is restated. This repository holds the contract of sigma (`README.md`, `specs/`); reports go to `audit/`. The ladder and the registry of parts belong to `soft3`.
neural/trident/AGENTS
AGENTS.md — trident > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. A building block for a cyberstate with superintelligence. Trident is a provable…
soft3/soma/AGENTS
AGENTS.md — soma > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. Local cognitive architecture of one cyber Avatar. A machine that perceives, decides,…
neural/rs/AGENTS
AGENTS.md — rs > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. principles for working with AI coding agents across any project. this page is the…
warriors/erga/AGENTS
AGENTS.md — erga > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. Git workflow **Commit by default.** After completing a change, commit it. **Atomic…
soft3/zheng/AGENTS
AGENTS.md — zheng > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. principles for working with AI coding agents across any project. this page is the…
cyb/evy/AGENTS
AGENTS.md — evy > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. project evy is a unified-memory, multi-engine, neural-first game engine. selectively…
warriors/trisha/AGENTS
AGENTS.md — trisha > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. Triton VM warrior. Execute, prove, verify, deploy Trident programs. Structure Source…
cyb/wysm/AGENTS
AGENTS.md — wysm > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. principles for working with AI coding agents on the cyber wysm runtime. read this and…
neural/eidos/AGENTS
AGENTS.md — eidos > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. principles for working with AI coding agents across any project. this page is the…
warriors/joy/AGENTS
AGENTS.md — joy > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. nox VM warrior for the cyber battlefield. Build, execute, prove and verify Trident…
soft3/neuron/AGENTS
AGENTS.md — neuron > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. The user's requested canonical specification directory is specs/. docs/ explains the…
neural/rune/AGENTS
AGENTS.md — rune > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. Git Workflow **Commit by default.** After completing a change, commit it. **Atomic…
soft3/nox/AGENTS
AGENTS.md — nox > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. principles for working with AI coding agents across any project. this page is the…
soft3/cybernode/AGENTS
AGENTS.md — cybernode > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. cybernode is rung 7 of the soft3 ladder: the node. `rs/` is the crate and the…
cyb/seer/AGENTS
AGENTS.md — seer > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. seer is a miner. it mines the mint of any chain that pays for focus — every token has…
cy/chroma/sigma/AGENTS
AGENTS.md — sigma Rules for every coding agent here are the shared doctrine of `~/cyber/cyberia/dev.md` (the cyberia/dev page). Nothing is restated. This repository holds the contract of sigma (`README.md`, `specs/`); reports go to `audit/`. The ladder and the registry of parts belong to `soft3`.
soft3/strata/kuro/AGENTS
AGENTS.md — strata/kuro > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. kuro (黒) — F₂ tower field arithmetic for binary proving. project structure key…
soft3/strata/jali/AGENTS
AGENTS.md — strata/jali > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. jali (जाली) — polynomial ring arithmetic R_q = F_p[x]/(x^n+1) over Goldilocks.…
soft3/strata/nebu/AGENTS
AGENTS.md — strata/nebu > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. principles for working with AI coding agents across any project. this page is…
cyb/honeycrisp/unimem/AGENTS
AGENTS.md — honeycrisp/unimem > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. project: unimem pure Rust memory driver for Apple Silicon.…
cyberia/research/events/AGENTS
cyb/honeycrisp/aruminium/AGENTS
AGENTS.md — honeycrisp/aruminium > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. auditor mindset the project is supervised by an engineer with 30 years…
soft3/strata/trop/AGENTS
AGENTS.md — strata/trop > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. trop — tropical semiring arithmetic for provable optimization. project…
soft3/strata/genies/AGENTS
AGENTS.md — strata/genies > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. genies — isogeny group action arithmetic for post-quantum privacy. project…
cyb/honeycrisp/rane/AGENTS
AGENTS.md — honeycrisp/rane > the doctrine of the home is `~/cyber/AGENTS.md`; it applies here first. Claude Code receives both files at session start through `~/.config/cyber/agents-md.nu`; other agents read them in order. auditor mindset the project is supervised by an engineer with 30 years of…

Graph