Decisions made along the way, recorded together with their rationale. To overturn a decision, mark its ADR as Superseded and add a new one; existing ADRs are never rewritten. Each record is kept in the language it was originally written in.
| ADR | Decision | Status |
|---|---|---|
| 0001 | Own the toolchain, delegate dependency supply | Accepted |
| 0002 | No resident daemon | Accepted |
| 0003 | Split the manifest into dowel.toml and dowel.build |
Accepted |
| 0004 | The syntax is a TOML-style dialect; borrow elements whose semantics match existing languages | Accepted |
| 0005 | Migration is dynamic extraction only; no static translation | Accepted |
| 0006 | Use dowel as a provisional name |
Superseded by 0014 |
| 0007 | Implement in Rust; the core uses the standard library only | Accepted |
| 0008 | Runner transfer paths are positional; no string interpolation | Accepted |
| 0009 | FileId is the hash of the normalized path |
Accepted |
| 0010 | check runs through the planning stage |
Accepted |
| 0011 | Derived fingerprints exclude spans; provenance reads bypass the memo | Accepted |
| 0012 | The store holds evaluation results only; files with diagnostics are not stored | Accepted |
| 0013 | dowel acquires itself via a separate binary; references are pinned to commit shas | Accepted |
| 0014 | Adopt dowel as the official name |
Accepted |
| 0015 | Resolve version dependencies through pkg-config, record them in dowel.lock |
Accepted |
| 0016 | The language standard is a typed property merged by maximum | Accepted |
| 0017 | Features belong to the package that declares them; dep/feature forwards |
Accepted |
| 0018 | The output stage is a backend layer over one neutral build graph | Accepted |
| 0019 | abi = "c" names a boundary, not a language |
Accepted |