Add Markdown report generator - #10
Merged
Merged
Conversation
analyses/build_report.py builds a self-describing report from the mart: corpus summary, methodology caveats, and each analysis's lifted header prose followed by its query output as Markdown tables, all via the duckdb CLI with no third-party dependencies. make report now calls it. The pytest skips when no duckdb CLI is on PATH, so CI stays green without new workflow surface. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Item 3 from the improvement list:
make reportnow produces a shareable artifact instead of fenced raw output.analyses/build_report.py(stdlib only, shells to the duckdb CLI): H1 with generation time,git describemethodology version and mart path; corpus summary tables; the four methodology caveats; then one section per analysis with its SQL header comment lifted to prose and its queries rendered as Markdown tables via.mode markdown. Failing sections are recorded inline and the exit code goes non-zero.make reportdelegates to the script;codex_telemetry_filtered.sqlstays excluded by default (--skipis overridable).Verified by the implementing agent and re-verified independently: 28 tests pass, report has 11 sections and 85 table rows on the fixture corpus, error path exits 1 cleanly, ruff/format clean.
🤖 Generated with Claude Code