sessionForTest property
Test seam: swaps the active session so command paths can be driven over a session shape the real repo never produces (e.g. empty metadata path — the usage-ledger command guards).
Implementation
@visibleForTesting
set sessionForTest(Session? session) => _session = session;