Severity: High · Source: full-repo audit (Pipeline-core) — see AUDIT.md, finding PIPE-1.
Location: cold_read.py:76 vs pdf_writer.py:141; gui.py:1280
Absorbs GUI-C6: cold_read._compute_max_chars hardcodes its own margin table + page width that must stay identical to pdf_writer or lines get re-wrapped; gui page-estimate re-hardcodes margins too. Move page size + per-preset margins into models.py (like WRAPPABLE_INDENT_UNITS); all three derive from it.
Filed from the ColdRead full-repo audit. Promote to ready-for-agent when ready to dispatch.
Severity: High · Source: full-repo audit (Pipeline-core) — see
AUDIT.md, findingPIPE-1.Location:
cold_read.py:76 vs pdf_writer.py:141; gui.py:1280Absorbs GUI-C6: cold_read._compute_max_chars hardcodes its own margin table + page width that must stay identical to pdf_writer or lines get re-wrapped; gui page-estimate re-hardcodes margins too. Move page size + per-preset margins into models.py (like WRAPPABLE_INDENT_UNITS); all three derive from it.
Filed from the ColdRead full-repo audit. Promote to
ready-for-agentwhen ready to dispatch.