Nygard format, in-repo, append-only (ADR-0009). After Accepted, an ADR is
immutable; supersede it with a new one. New ADRs: copy
0000-template.md, use the next id, link it here.
| ADR | Title | Status |
|---|---|---|
| 0001 | Use a Rust workspace with core/cli/plugin crates | Accepted |
| 0002 | Adopt a canonical score model as the internal representation | Accepted |
| 0003 | Master timeline is the single source of truth for transport | Accepted |
| 0004 | Forbid unsafe_code at the workspace level | Accepted |
| 0005 | griff is swancore-first, not a general-purpose riff generator | Accepted |
| 0006 | Default to Standard E tuning, not Drop C | Accepted |
| 0007 | CLAP is the plugin target; MIDI-out only; nih-plug | Accepted |
| 0008 | Explainable heuristic phrase detection before any ML | Accepted |
| 0009 | Use the Nygard ADR format, stored in-repo, append-only | Accepted |
| 0010 | Fuzz-test format adapters and core invariants | Accepted |
| 0011 | Retire the legacy linear model in favour of the canonical model | Accepted |
| 0012 | Complementary part generation (ComplementArranger) | Proposed |
| 0013 | DP/Viterbi traversal over the phrase hypergraph | Accepted (amended by ADR-0030) |
| 0014 | Fretboard-aware canonical model (string/fret positions) | Superseded by ADR-0018 |
| 0015 | Separate structure controls and metrics from complexity | Proposed |
| 0016 | Share one UI core across the ratatui and egui frontends | Proposed |
| 0017 | Unify scoring into axes, weights, rationale, and a derived aggregate | Proposed |
| 0018 | Rich note model — fretboard position and multi-technique with evidence | Proposed |
| 0019 | Infer fretboard position with a small local DP | Proposed |
| 0020 | Validate Guitar Pro import against a reference oracle | Proposed |
| 0021 | Property-based invariants over the canonical Score | Proposed |
| 0022 | Repeat unfolding is a projection, not a model rewrite | Proposed |
| 0023 | Control pitch/contour spread of complementary parts | Proposed |
| 0024 | Ship the egui frontend to the browser (WASM) for mobile testing | Proposed (§2–3,6 superseded by ADR-0025) |
| 0025 | Guitar Pro in the browser needs wasm-bindgen (over the import-free web build) | Accepted |
| 0026 | A minimal in-browser chunk.json capture tool (carve-out from "web curation — later") | Accepted |
| 0027 | Grow the M1 playground into the egui M2 cockpit — curation dock + OPFS persistence | Proposed |
| 0028 | Shared theme tokens in the UI core — one palette, two renderers, asserted contrast | Proposed |
| 0029 | Adopt Swang as a deterministic authoring and verified lifting language | Accepted (Phases 0–3 frozen) |
| 0030 | Reduced-state layered DP clients (amends ADR-0013) | Accepted |
| 0031 | Add a curator-assigned canonical song identity to the corpus (schema v10) | Accepted |
| 0032 | Filter holdout over LoadedChunk before corpus material, owned by the offline Reachability Lab |
Accepted |
| 0033 | Human-confirmed, transactional song-id curation workflow (standalone song-curation/ tool) |
Accepted |
| 0034 | Run generator experiments as variant × information regime, with separate identities and comparable-only metrics | Accepted |
See also: ../SPEC.md, ../glossary.md,
../decisions.log.md.