Phase — Report system (report command + global --report-file)
Status: Shipped — phase closed for the main deliverable (dedicated report command + embedded HTML SPA + DTO). Residual work is tracked only in Follow-ups below; pick these up whenever convenient.
This file is development-only (see repo .gitignore for docs/phases/).
Phase closure (what “done” means here)
The report workstream is closed for product purposes:
- Users can rely on
i18nprune report(html/json/csv/text),--from, and the offline Report UI as documented indocs/commands/reportanddocs/report. - Global
--report-fileon other commands remainsjson|text|csvonly (by design); HTML stays onreport --format htmlonly.
Anything listed under Follow-ups is optional polish or parity audits — not required to call this phase finished.
Scope split (locked direction)
A) Global --report-file / --report-format (on regular commands)
- Per-command artifact at the end of a run.
- Formats:
json|text|csvonly (no HTML on this path). - Wired through config default
reportFormatand CLI overrides.
B) Dedicated i18nprune report command
- Project-level scan →
i18nprune.projectReportDTO, schema-versioned. --format:html|json|csv|text;--out;--fromprior JSON (Zod-validated).--jsonrejected with guidance to--format json.html: single-file embedded React SPA + inline JSON payload (src/spa/report/).
Shipped acceptance (report command)
-
reportsupports--format html|json|csv|text+--out+--fromwith schema validation. -
report --format jsonemits versionedi18nprune.projectReport(full detail lists, summary fields including optionalsourceFilesScannedCount). -
report --format text/csvemit from the same document. -
report --format htmlbundles the SPA; default timestamped artifact when--outomitted. - Clear error when
report --jsonis used (--format jsondocumented).
Global --report-file (non-report commands)
-
--report-formatsupportsjson|text|csvonly (no HTML).
Follow-ups (non-blocking)
All tracked follow-ups for this phase are completed.
- Global
--report-fileparity — wiredfinalizeReportFile/ report entries across remaining runtime commands so global report artifacts are consistently emitted when requested. - Theme dropdown + viewport — dropdown placement now auto-flips by available viewport space (up/down + left/right), while rows still explicitly support drop-up behavior.
- Regression budget — ran
pnpm typecheck,pnpm build, andpnpm testafter the follow-up changes.
No open report-phase follow-ups remain in this doc.
See also
- phases README
- Report UI (SPA)
reportcommand- key-sites.md (observations feed the report DTO)