Adds the project's first external dependency, GRDB 7.11 (the plan's locked choice;
verified it resolves and builds under the native build system).
- SessionMetadataStore protocol in NucleicCore so the pipeline stays storage-
agnostic (tests/UI can swap in a fake).
- GRDBMetadataStore: WAL-mode DatabasePool on disk, in-memory DatabaseQueue for
tests; DatabaseMigrator v1 creates project/session/approval tables + indices per
§4 (device table deferred to M4). Domain types map through 1:1 row records;
approval input/decision stored as canonical JSON.
- SessionController gains an optional metadataStore sink at pipeline step 3,
persisting session metadata + approvals at boundaries (best-effort; never breaks
the canonical transcript or fan-out).
6 store tests (round-trips, scoped upsert, approval pending→resolved, on-disk
reopen, and end-to-end controller→store persistence). Full suite 75 green.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>