Compiler Design and Maintenance Documentation
This directory contains current cross-crate compiler contracts and repository maintenance policy. Public language, platform, CLI, diagnostic, and editor behavior belongs exclusively in spec/. Standard-library declarations and declaration documentation belong to each development/std/**/index.nct; the standard-library catalog assigns each longer observable subject to one behavior guide. A workspace crate's private mechanism belongs in that crate's colocated README.md. Implementation history and qualification evidence belong under development/history/, not in current design documents.
Reading Order
- 1. Compiler Architecture — pipeline, side authorities, and dependency rules.
- The relevant workspace crate README — one crate's inputs, outputs, internal responsibilities, and invariants.
- A cross-crate contract below when a decision spans more than one crate.
- The milestone index or review index only when scope, implementation history, or qualification evidence is needed.
Cross-Crate Contracts
- Checked Program Boundary
- Target, Executable, and MIR Boundary
- Machine Program and Native Target Boundary
- Declaration Diagnostic Boundary
- Semantic Presentation Boundary
- Incremental Computation Boundary
- Associative Collection Implementation Boundary
- JSON Implementation Boundary
- Tuple Representation Boundary
- Unicode Scalar Representation Boundary
- Static Unicode Data Boundary
- Performance Measurement Boundary
Maintenance Contracts
Superseded implementation design lives under development/history/ and is excluded from the generated website. It must not be consulted to determine current compiler behavior.
Information Ownership
| Information | Sole owner |
|---|---|
| Public language, platform, CLI, diagnostic, and editor behavior | spec/ |
| Exact standard-library declarations and declaration documentation | each development/std/**/index.nct |
| Longer observable standard-library behavior | the sole guide assigned by development/std/README.md |
| Published versions and downloads | root releases/ |
| Compiler pipeline and cross-crate dependency direction | architecture.md |
| One crate's responsibility, internal modules, and invariants | that crate's README.md |
| Exact Rust workspace membership and dependency edges | development/compiler/Cargo.toml and crate manifests |
| Exact Rust API | Rust source and rustdoc |
| Milestone scope and completion gates | development/history/milestones/ |
| Review findings and remediation evidence | development/history/reviews/ |
| Next concrete work and blockers | development/TODO.md |
| Published-candidate qualification evidence | development/history/release-audits/ |
| Website build mechanism and static inputs | development/site/ |
| Generated website output | docs/ |
Do not copy a crate's module layout into a cross-crate document. Do not copy milestone progress into architecture. A cross-crate document may name the contracts on both sides of a boundary, but it must not explain either side's private implementation.