The z00z workspace is a Rust monorepo, not a docs-first site. It contains live crates, binaries, tests, benches, verification scripts, and a research corpus under docs/. The first workspace habit to learn is evidence ownership: crate behavior is proved by the workspace, while broader protocol posture is often proved by the whitepaper corpus and must stay maturity-aware.
Readers who keep that boundary visible make fewer placement mistakes and write safer public claims. That habit scales.
Use the workspace map before making changes. Most mistakes in this repository come from editing the wrong crate, bypassing a shared abstraction, or writing a claim as if a corpus concept were already a shipped runtime surface.
Repository Shape
The active workspace is organized around member crates and repo-level support surfaces:
| Path | Owns | Typical edits |
|---|---|---|
crates/z00z_core/ |
typed protocol objects and shared domain semantics | object meaning, settlement-facing types, examples |
crates/z00z_crypto/ |
approved crypto facade and Tari-backed exports | crypto boundaries, wrappers, proof-facing utilities |
crates/z00z_storage/ |
durable storage, roots, proofs, backend contracts | storage rows, proof paths, replay-adjacent persistence |
crates/z00z_runtime/ |
aggregators, validators, watchers | runtime execution responsibilities by actor |
crates/z00z_rollup_node/ |
rollup-node orchestration surface | operator entrypoint, CLI, runtime composition |
crates/z00z_wallets/ |
wallet library, bins, GUI-facing and WASM-friendly surfaces | wallet flows, tests, validation bins, features |
crates/z00z_simulator/ |
scenario binaries, examples, integration-style validation | scenario runners, fixtures, contract checks |
docs/whitepapers/ and docs/tech-papers/ |
research corpus and technical notes | maturity-aware architecture claims |
.github/ |
repo instructions, requirements, skills, prompts, workflows | contributor and automation rules |
reports/ and tools/ |
generated outputs and specialized tooling | verification artifacts and formal/auxiliary tooling |
Do not treat docs/ as the runtime authority and do not treat the workspace manifest as a whitepaper substitute. Each layer answers a different question.
Crate Ownership Model
The main structure is not route-based. It is ownership-based:
This model matters because most implementation work should not add a second authority. Storage should not redefine core object meaning. Wallet helpers should not quietly become settlement truth. Research prose should not outrun the crates.
Workspace And Manifest Boundaries
The root Cargo.toml is the fastest structural source. It defines workspace members, default members, resolver, lint posture, and rust-version = "1.90.0". Individual crate manifests then define bins, tests, benches, features, and local dependency edges.
That means a contributor should ask these questions first:
| Question | Where to inspect |
|---|---|
| Is this surface in the workspace at all? | Root Cargo.toml and the owning crate manifest |
| Which crate owns the behavior? | crate-local Cargo.toml, src/, tests/, examples/, or bin/ |
| Which behavior is live versus corpus-only? | README.md, tests, help output, and docs/whitepapers/ |
| What is the current broad gate? | ./.github/skills/z00z-full-verify-gate/scripts/full_verify.sh |
Do not add a second config system, a parallel semantic authority, or a new bypass around z00z_utils just because a narrow crate change feels faster.
Configuration And Scripts
The z00z repo uses repo-level scripts and cargo entrypoints together. The most important first-session commands are:
| Script | Backing behavior |
|---|---|
cargo check --workspace |
Fast workspace compile signal |
cargo test --workspace |
Broad functional signal across crates |
cargo run -p z00z_rollup_node -- --help |
Live node CLI contract |
cargo run -p z00z_simulator --bin scenario_1 -- --help |
Live scenario entrypoint |
./scripts/build_wasm.sh --dev |
Wallet WASM artifact build path |
./.github/skills/z00z-full-verify-gate/scripts/full_verify.sh |
Broad verification sweep across fmt, clippy, tests, benches, and runnable targets |
If you document a command, it should appear in README.md, a crate manifest, or an actual script file. If the command does not exist, that is implementation work, not documentation wording.
Instruction Surfaces
.github/ contains the local automation and instruction layer:
| Surface | Use |
|---|---|
.github/copilot-instructions.md |
repo-wide operating rules, English-only artifacts, safe file operations, verification posture |
.github/requirements/Z00Z_DESIGN_FOUNDATION.md |
canonical architecture, split rules, API boundaries, and safety discipline |
.github/instructions/ |
focused implementation guidance such as Rust-specific rules |
.github/skills/ |
reusable workflows such as versioning, review, verification, and audits |
.github/prompts/ |
repeatable review checklists and deeper workflow prompts |
These files are local evidence for workflow claims. They are not a reason to publish private prompt internals. Public docs should describe the supported workflow at the right level: which surfaces exist, what they are for, and how they protect the repository from drift.
Where Not To Put Things
The fastest workspace mistakes are placement mistakes:
| Do not put… | Put it here instead |
|---|---|
| New core abstractions directly inside business crates | z00z_utils or the existing shared crate if the abstraction is cross-cutting |
Changes inside crates/z00z_crypto/tari/ |
approved exports through z00z_crypto, leaving vendor code read-only |
| Settlement authority inside wallet or support code | typed runtime, storage, and checkpoint boundaries |
| Whitepaper-only concepts described as shipped APIs | maturity-labeled docs or code-backed implementation notes |
| Repo-wide verification assumptions inside one crate README | the shared verify gate or repo root docs |
| Debug-only wallet or logging features in production guidance | clearly marked debug or test-only instructions |
This boundary keeps the repository understandable. It also prevents concept drift where one crate quietly starts acting like a second protocol authority.
Local Versus Target Architecture
The workspace has three evidence levels:
- Live local repo evidence: crates, manifests, tests, scripts, bins, and help output that exist in
z00ztoday. - Corpus-backed architecture: protocol concepts defined in
content/whitepapers/, such as wallet-local possession, checkpoint settlement, assets, vouchers, rights, privacy boundaries, and post-quantum migration. - Open or target work: surfaces the papers describe more broadly than the current crates prove.
When writing developer docs, keep those levels visible. For example, this repository can prove that the rollup-node crate exists, that the simulator exposes scenario_1, and that the wallet crate declares specific bins and features. It should not pretend that every whitepaper lane is already a generated public API or a fully stabilized operator surface.
Practical Reading Path
If you are new to the workspace, use this path:
- Open
README.mdand the sharedfull_verify.shscript to understand local commands. - Read
README.mdfor the current quickstart and common workflows. - Read the root
Cargo.tomlfor workspace membership and lint posture. - Read the owning crate manifest and nearby
src/,tests/,examples/, orbin/files. - Read the relevant whitepaper before adding protocol, wallet, privacy, legal, or crypto claims.
- Run the targeted cargo gates and the shared full verify script before closing the work.
This sequence is intentionally boring. It keeps builders aligned with the actual repo instead of forcing them to infer structure from stale page names or assumptions carried over from other repositories.
It also keeps review cost down. When a contributor can name the owning crate, the governing manifest, the relevant tests, and the whitepaper section behind the claim, the next reviewer does not have to rediscover the repository from scratch.
Read Next
Continue to Core Protocol API for the object vocabulary, Verification And Tests for the gate stack, or AI Agent Playbook for repo automation rules.
Evidence and Further Reading
github.com/z00z-labs/z00z,README.md, and rootCargo.tomldefine the live workspace map, common workflows, and member crates summarized here.crates/z00z_rollup_node/Cargo.toml,crates/z00z_simulator/Cargo.toml, andcrates/z00z_wallets/Cargo.tomldefine the live operator, scenario, and wallet surfaces referenced here..github/copilot-instructions.mdand.github/requirements/Z00Z_DESIGN_FOUNDATION.mdin thez00zrepo define contributor rules, architecture boundaries, and verification posture../.github/skills/z00z-full-verify-gate/scripts/full_verify.shin thez00zrepo defines the shared broad verification gate.- Main Whitepaper sections 3, 4, and 12 define the object, checkpoint, and maturity split used when workspace docs distinguish live code from broader protocol architecture.