dowel

Architecture Decision Records

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