What: Add SQLite as an opt-in storage backend alongside the JSONL default. Reviewer picks at first run.
Why: JSONL works for dozens to low hundreds of traces but breaks down with large datasets, multi-reviewer access, and queryability. SQLite gives a single-file upgrade path without standing up a real database.
Acceptance criteria:
- Wizard offers "JSONL (default)" or "SQLite" at first run
- Same Trace shape and labeling flow, different backend
- Migration path: import existing JSONL labels into SQLite
- README documents the choice
Out of scope: multi-user / server-mode SQLite.
Originally surfaced in #15 (was tagged v1.5; folded into v3 once v1 shipped).
What: Add SQLite as an opt-in storage backend alongside the JSONL default. Reviewer picks at first run.
Why: JSONL works for dozens to low hundreds of traces but breaks down with large datasets, multi-reviewer access, and queryability. SQLite gives a single-file upgrade path without standing up a real database.
Acceptance criteria:
Out of scope: multi-user / server-mode SQLite.
Originally surfaced in #15 (was tagged v1.5; folded into v3 once v1 shipped).