Run these before every push:
# Format — must be clean
cargo fmt --check
# Lint — zero warnings (pedantic + nursery enabled)
cargo clippy --workspace -- -D warnings
# Test — all must pass
cargo test --workspace
# Docs — must build without warnings
cargo doc --workspace --no-deps
# Dependency audit
cargo deny checkcrates/
akida-chip/ Silicon model (register map, NP mesh, BAR layout, SRAM)
akida-driver/ VFIO driver, software backend, hybrid ESN
akida-models/ FBZ parser, model zoo, quantization, conversion pipeline
akida-bench/ Benchmark and experiment binaries
akida-cli/ `akida` command-line tool
specs/ Technical specifications — read before coding
baseCamp/ Model zoo, domain applications, systems documentation
metalForge/ Hardware experiments and silicon characterization
whitePaper/ Scientific write-ups and outreach
- Edition 2024 — all crates use Rust 2024 edition.
unsafe_code = "forbid"at workspace level. The driver crate uses targeteddenywith SAFETY comments for VFIO/DMA.missing_docs = "deny"— all public items require doc comments.- Clippy pedantic + nursery — both enabled at workspace level.
- No TODO/FIXME in production code — use issue tracker or specs.
- Named constants — no magic numbers in test assertions. Tolerances
go in
TOLERANCE_REGISTRY.mdand are referenced by name.
- Check
specs/for relevant specifications. - Write the implementation with doc comments on all public items.
- Add tests — both unit tests and integration tests where appropriate.
- Update
CHANGELOG.mdunder[Unreleased]. - Update relevant baseCamp or specs documentation.
- Run the full quality command suite above.
- Generate or export the
.fbzfile tobaseCamp/zoo-artifacts/. - Add a variant to the
ZooModelenum incrates/akida-models/src/zoo.rs. - Implement all required methods — the compiler will guide you.
- Update
baseCamp/ZOO_GUIDE.md. - Run
cargo test --test zoo_regression -- --ignoredto verify.
Use imperative mood. Reference the affected crate or area:
akida-models: add safetensors weight import with f16/bf16 upcast
baseCamp: document streaming sensor domain pattern
ci: add cargo-deny to workflow
All contributions are licensed under the scyBorg Provenance Trio: AGPL-3.0-or-later (code), ORC (mechanics), CC-BY-SA 4.0 (creative). See LICENSE and LICENSE-ORC.
rustChip absorbs functionality from the wider ecoPrimals ecosystem (coralReef, toadStool, etc.) to operate as a standalone onboarding tool. Code with ecoPrimals lineage carries the full scyBorg triple by inheritance. Relocation does not strip provenance — these systems are inheritors of the ecoPrimals commons and are not eligible for any symbiotic exception.
When absorbing code from a primal or spring into rustChip:
- Preserve provenance comments identifying the origin (e.g. "Absorbed from coral-ember/src/sysfs.rs")
- The absorbed code carries full scyBorg — it does not become exception-eligible simply by living in rustChip
- New code built on top of absorbed patterns inherits the lineage
- Document the absorption in the LICENSE tail's lineage section
The BrainChip symbiotic exception (and any future NPU vendor exception) covers only rustChip-original code with no ecoPrimals ancestry.