Skip to content

feat(maintain-report): --markdown + --pdf export — the real receipt-backed report, shareable#101

Merged
QodeXcli merged 1 commit into
mainfrom
feat/maintain-report-export
Jul 2, 2026
Merged

feat(maintain-report): --markdown + --pdf export — the real receipt-backed report, shareable#101
QodeXcli merged 1 commit into
mainfrom
feat/maintain-report-export

Conversation

@QodeXcli

@QodeXcli QodeXcli commented Jul 2, 2026

Copy link
Copy Markdown
Owner

The priority was "export the report" — the live numbers, not just the demo story.

qodex maintain-report --markdown [-o file]

A paste-ready block for a PR description / issue / standup thread: stats table, this-week delta, unicode sparkline, OLS forecast, by-scope, suggested-next. Framed honestly up top: "every number below comes from verified-run receipts, not model claims."

qodex maintain-report --pdf [-o file]

A one-page PDF with the 8-week trend as a real vector bar chart. pdf-lite gains a bars block type — normalized re f rectangles, q/Q-scoped gray fill (never leaks into text), 1pt floor so zero-weeks stay visible — because sparkline glyphs (▁▂▃…) simply aren't in the Latin-1 base fonts and would be stripped.

Design

Both formats render from one data struct through PURE exporters (maintain-report-export.ts) — the report can't disagree with itself across console/markdown/PDF. The existing console output is unchanged.

Validated live: file says PDF document, version 1.4, 1 pages; 8 vector bars present; markdown renders cleanly.

+9 tests (markdown content incl. sparkline + no-suggestion fallback; PDF numbers; bar normalization/floor; divide-by-zero guard; no glyph leakage). Full suite 1531 green, tsc clean.

…acked report, shareable

"Export the report" — not just the demo story. maintain-report now emits the LIVE numbers in the
two formats teams actually consume:

- --markdown: a paste-ready PR/issue/standup block — stats table, this-week delta, unicode
  sparkline, forecast, by-scope, suggested next. Framed honestly: "every number comes from
  verified-run receipts, not model claims."
- --pdf: a one-pager via pdf-lite, with the 8-week trend as a REAL vector bar chart — pdf-lite
  gains a `bars` block type (normalized `re f` rects, q/Q-scoped gray, 1pt floor so zero weeks
  stay visible) because sparkline glyphs aren't in the Latin-1 base fonts.
- Both render from ONE data struct through PURE exporters (maintain-report-export.ts), so the
  report can never disagree with itself across formats.
- ADOPTION.md "show your team" now points story-exports AND numbers-exports.

Validated live: markdown renders; PDF is `PDF document, version 1.4, 1 pages` with 8 vector bars.
@QodeXcli QodeXcli merged commit 02a7b56 into main Jul 2, 2026
2 checks passed
@QodeXcli QodeXcli deleted the feat/maintain-report-export branch July 2, 2026 02:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant