Contribute to AWC¶
The implementation backlog in to-do.json is the canonical work queue. This
guide builds the workspace, picks a task, writes code to the repo style, and
runs the gate before you propose the change.
Spec reference
The reference technology choices, repo layout, and build are spec §22.1, §22.3, and §22.11.
-
Build the workspace.
make buildrunscargo build --workspace --all-targets. The toolchain is Rust1.94.0, pinned byrust-toolchain.tomlwithrustfmtandclippy. Installcargo-denyfor the dependency audit: -
Read the backlog contract.
AGENTS.mddefines how project work runs.to-do.jsonis the single source of truth for implementation work, andto-do.schema.jsonvalidates it. The backlog is implementation-only. Read every document listed undersource_filesbefore you start. -
Pick the next task.
Choose the lowest-numbered
prioritytask with statustodo, breaking ties by lexicographicid:Check the task
depends_onlist. Every dependency MUST bedonebefore you start. Set the task todoingand updateupdated_atbefore you write code. -
Write code to the repo style.
- Run
make fmtto format in place. The config isedition = "2021"andmax_width = 100. - Keep new crates
#![forbid(unsafe_code)]. The manifest library MUST expose no unsafe deserialization path for untrusted objects (spec §22.4). - Clippy warnings are errors. Run
make lint(clippy --workspace --all-targets -- -D warnings). - All components MUST consume the same versioned manifest library and test vectors (spec §22.2).
- Run
-
Write docs in Simplified Technical English.
Prose and doc pages follow
docs/.style-guide.md. Keep sentences under 20 words. Spell out Latin abbreviations. The forbidden-words list applies to every page, including this one. -
Run the CI gate.
make ciisfmt-checkpluslintplustestplusdeny. GitHub Actions runs the same checks, then adds a production-feature compile and the service-backed suites (make ci-pg,make ci-s3). See run the test suite for those suites. -
Propose the change.
Write commits in the conventional style the history already uses, for example
fix(awc-fuse): permit root on the read-only basefs FUSE mount. When the task is complete, set it todone, updateupdated_at, and record paths infilesor outcomes indetails. Keepto-do.jsonat two-space indentation and valid against the schema. Open a pull request. The CI workflow MUST pass before merge.
Scope discipline
AWC is an agent workspace cache:
snapshot → fork → mount → checkpoint → diff/export. Do not add a general
filesystem, a sandbox, an agent scheduler, or a build cache (spec §3.2,
§4.2, §26.12). Work that is deferred, not committed, is listed in spec §27.
See also¶
- Build and package for release artifacts and VM packaging (spec §22.11).
- Run the test suite for the Postgres and S3 integration suites.
- Design decisions for why the design is the way it is.
docs/.style-guide.mdholds the authoring contract.