weekly maintenance: render report as inline HTML, redact recipient#32
Merged
Merged
Conversation
stevepridemore
added a commit
that referenced
this pull request
May 10, 2026
Step 12 changes: - Convert the markdown report to HTML via `python -m markdown` (extras: `extra` for tables, `sane_lists` for the action-item checkboxes) and send with `gws gmail +send --html`. Tables and headings now render cleanly in Gmail instead of as monospace plaintext. - `PYTHONIOENCODING=utf-8` + `sys.stdout.reconfigure(encoding='utf-8')` on the python invocation — required on Windows so unicode arrows (↔, →) in the report don't blow up the default cp1252 console codec. - Drop the `-a` attachment. The HTML body is the deliverable; the .md file remains on disk under ~/graph-memory/logs/weekly-reports/ for archive/grep. Also avoids the gws "outside cwd" attach validation. - Recipient is now read from `$MAINT_EMAIL` rather than hardcoded. The scheduled-task copy under ~/.claude/scheduled-tasks/ hardcodes the actual address; the checked-in prompt stays generic. - New prerequisite: `pip install markdown` (one-time, ~50KB pure-Python package). Documented as fail-soft — log + skip email rather than auto-install at runtime. Co-authored-by: Claude Opus 4.7 (1M context) <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.
Summary
python -m markdown+gws gmail +send --html— tables and headings render cleanly in Gmail instead of as monospace plaintext..mdattachment (the body is the deliverable; the file stays on disk for archive/grep) and avoids thegws --attach"outside cwd" validation gotcha.$MAINT_EMAILinstead of being hardcoded — the scheduled-task copy under~/.claude/scheduled-tasks/hardcodes the actual address, while the checked-in prompt stays generic.pip install markdown(~50KB pure-Python). Documented as fail-soft (log + skip email rather than auto-install at runtime).PYTHONIOENCODING=utf-8+sys.stdout.reconfigureso unicode arrows (↔, →) in the report don't crash the cp1252 console codec.Test plan
gws gmail +send --htmlend-to-end with the 2026-05-10 report (message IDs19e104d3ed191479,19e104ea3195b5bd)🤖 Generated with Claude Code