@gurupanguji

Source Citation Table Bug Implementation Plan

  1. 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.
  2. 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.
  3. 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.
  4. Run the normalizer in write mode across _posts/.
    • Review the changed files list.
    • Confirm the two reported posts are included.
  5. 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.
  6. Commit, push, and open a PR tied to issue #115.