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 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:
- initial answer
- 3-5 verification questions that would expose errors
- answer each independently
- revised answer incorporating corrections
skip for trivial tasks.
build & verify
cargo fmt --all cargo clippy --workspace -- -W warnings cargo build --release --workspace cargo run --example vecadd
every commit: format clean, clippy clean, builds, examples run.
project: aruminium
pure Rust driver for Apple Metal GPU. compile shaders, create pipelines,
dispatch compute and render work on GPU hardware. zero external
dependencies in the core crate — only macOS system frameworks.
role in the stack
aruminium is a hardware GPU driver. it compiles shaders and dispatches GPU work.
it does NOT allocate shared memory, run CPU math, build graphs, or schedule ops.
cyb-mem memory: IOSurface, arena, pool
acpu driver: CPU/AMX compute (NEON, AMX inline asm)
aruminium driver: Metal GPU compute (shaders, pipelines) ← this crate
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
- acpu (https://github.com/cyberia-to/acpu) — CPU/AMX: sgemm, softmax, rmsnorm, rope, silu
- rane (https://github.com/cyberia-to/rane) — ANE: MIL compile, load, run
architecture
cargo workspace with two members:
aruminium (root crate) — library + metal_probe binary + examples.
zero external dependencies. links only system frameworks via FFI.
benches/ (crate metal-benches) — CLI binaries (bench, compare).
heavy dependencies isolated here.
src/ core library (zero deps)
lib.rs public API: Gpu, Buffer, GpuError
ffi/ Metal.framework, CoreFoundation, libobjc FFI
mod.rs types, constants, extern links, string helpers
selectors.rs cached ObjC selectors and classes
trampoline.rs typed objc_msgSend trampolines
device.rs Gpu: discovery, properties, factory methods
buffer.rs Buffer: zero-copy shared GPU memory
fp16.rs fp16<->f32 conversion (NEON + software fallback)
command.rs Queue, Commands
dispatch.rs Dispatch, Batch, GpuFuture
encoder.rs Encoder, Copier
shader.rs ShaderLib, Shader: MSL compilation
pipeline.rs Pipeline
sync.rs Fence, Event, SharedEvent
texture.rs Texture
probe.rs metal_probe binary — 5-level capability probe
examples/ runnable demos (vecadd, aruminium_matmul)
benches/ separate crate with heavy deps (bench, compare)
docs/ documentation (tutorial, guide, explanations)
specs/ specification (source of truth)
README.md API spec — concepts, lifecycle, apple mapping
source of truth
specs/ is canonical. if specs/ and code disagree, resolve
in specs/ first, then propagate to code.
pipeline contract
MSL source → Metal.framework (linked)
→ MTLLibrary (compile → GPU bytecode)
→ MTLComputePipelineState
→ Command Buffer → Encoder → Dispatch
→ GPU hardware
MTLBuffer with StorageModeShared is the zero-copy CPU↔GPU data path.
no lock/unlock needed for shared mode.
key gotchas
- Metal access requires macOS with Metal-capable GPU. examples fail on Linux.
- Metal.framework is public — linked at compile time, not dlopen.
- all ObjC protocol methods go through objc_msgSend transmuted to typed fn pointers.
- MTLSize struct (24 bytes) passed in registers on ARM64 — verify transmute works.
- newXxx methods return retained objects. commandBuffer is autoreleased — retain it.
- MTLBuffer.contents() returns raw pointer — valid for buffer lifetime.
- never write naive loops for matmul on CPU — use Accelerate.framework.
do not touch
without explicit discussion:
- Cargo.toml dependency versions
- src/ffi.rs FFI signatures (must match system frameworks)
- specs/ structure
- LICENSE
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 ObjC, no Swift, no headers. FFI through libobjc + Metal.framework link.
- MTLBuffer for zero-copy CPU↔GPU data. inline NEON asm for fp16.
cargo fmt enforced. clippy clean.
git workflow
- atomic commits — one logical change per commit
- conventional prefixes: feat:, fix:, refactor:, docs:, test:, chore:
- commit by default after completing a change
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…
cyb/honeycrisp/acpu/AGENTS
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…
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
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…