Reports & Health Score
beginner conceptsEditor Doctor Pro · Core Concepts
Reports & Health Score
EDP emits three report formats, computes a per-module Health Score, and supports a baseline-vs-last-scan diff so you can answer "what got worse since yesterday?" in one click.
Formats
| Format | Use it for |
|---|---|
| JSON | Programmatic post-processing, custom dashboards, attaching to PRs. Schema documented in docs/report-schema.md; schema field at the root for forward compatibility. |
| CSV | Spreadsheet review and quick pivots. Flat one-row-per-finding format, RFC 4180 quoting, UTF-8. |
| HTML | Standalone styled page, ready to share with the team or attach to a ticket. No external dependencies, opens in any browser. |
JUnit XML is a v1.0.1 follow-on; the schema is documented but the formatter is not in the v1.0 cut.
Exporting
From the Doctor toolbar after a scan completes, click JSON, CSV or HTML. Pick a destination on disk via the standard save panel. The JSON is the canonical format - CSV and HTML are derived from it.
From the CLI, use --report file.json for JSON, --csv-report file.csv for CSV, --html-report file.html for HTML. Multiple flags can be combined to emit all three in one run.
Health Score
The Health Score is a 0-100 integer per module plus a project-wide aggregate. Each finding penalises its module's score by a configurable weight (default: Critical 20, Error 5, Warn 1, Info 0). The per-module score is max(0, 100 - sum(penalty)); the project aggregate is the average across modules.
The score appears as a ring gauge on the Doctor's Overview tab and as a single number in the JSON / HTML reports. Tune the penalties under Settings > Health Score.
Baseline
A baseline is a saved snapshot of a previous scan. EDP compares the current scan against it and emits a per-module delta: how many findings appeared, how many resolved, the Health Score change.
- Save a baseline from the Doctor toolbar (Save as Baseline) or from the CLI with
--save-baseline file.json. - Use a baseline at scan time via
--baseline file.jsonin the CLI, or by setting the path under Settings > Health Score > Baseline file for editor scans. - The HTML report renders both absolute counts and deltas side by side.
JSON schema
Top-level keys: schema, tool, project, scan, summary, issues[], ignoredIssues[]. Each issue carries id, checkId, module, severity, title, description, location, fixable, fixDescription, optional rootCause, suppressed and tags[]. The full schema lives in docs/report-schema.md in the EDP repo.
schema field on every report) so when EDP bumps the schema you fail loud rather than silently miss new fields.
Suggest an improvement
Help us improve this documentation page.