PhoinixDR

ADR-0008 — Candidate addressing before a session database exists

Status: accepted · Date: 2026-09

Context

The CLI needs explain <candidate> and recover <candidate> before the SQLite session database (a later milestone) exists. CandidateId values are random UUIDs generated per scan, so they cannot be typed back in.

Decision

Until sessions exist, CLI commands address a candidate by source plus filesystem object: phoinix explain <source> <mft-record> and phoinix recover <source> <mft-record> --output <dir>. The commands rebuild the candidate deterministically from the source. --json output still carries the CandidateId for consumers that hold a scan result.

Consequences