Source Citation Table Bug Implementation Plan
- Update
scripts/normalize_source_citations.py.
- Add support for bracketed source lines.
- Convert all recognized source lines to
*Source:* [Title](URL).
- Strip publication suffixes encoded as
Title | Publication from the link text.
- Update
scripts/validate_posts.py.
- Reject raw
Source: quote-following lines.
- Reject bracketed source-link lines that still contain
|.
- Accept the new
*Source:* [Title](URL) form.
- Expand automated tests.
- Cover raw
Source: conversion.
- Cover bracketed
[Source: ... | Publication](...) conversion.
- Cover validator rejection of pipe-bearing bracketed source labels.
- Preserve existing coverage for
gp-quote cleanup.
- Run the normalizer in write mode across
_posts/.
- Review the changed files list.
- Confirm the two reported posts are included.
- Verify locally.
- Run targeted unit tests.
- Run
python3 scripts/validate_posts.py --today 2026-03-27.
- Spot-check affected post source for the new canonical shape.
- Commit, push, and open a PR tied to issue
#115.