- Rewrote _normalize_university_summary() with explicit pre_list / closing_blocks separation
- _is_closing_note() detects "we keep expanding and updating" phrase
- Applies to both intro field and doc_v1 block paragraphs
- Structure is always: title β intro β list β closing note β note field
- Added two new tests to assert ordering is enforced (91 tests pass)
fix: use USD X,XXX format instead of $X,XXX for all currency valuesβ
- format_money_figures() now outputs "USD 1,800" not "$1,800"
- Normalizes any existing $ or USD prefix before re-formatting
- emphasize_keywords() bolds "USD X,XXX" patterns in bold
- All monetary figures in paragraphs, tables, steps, bullets are bold + USD format
- All 89 tests pass
audit: enforce design rules and enhance handbook formattingβ
- Global typography: Century Gothic, left-aligned text, before-margins only
- Enrollment steps: Telegram as plain text, auto-generate QR, ensure Step 2 website link
- Program options: Auto-pair REGULAR/PRIME when inconsistent
- Qualification section: Red title (#FF5E5E), bold key terms (GPA, regions)
- Program contributions: Green headers, black bold body text
- Table styling: Left-aligned, no row shading, column-aware coloring
- University section: Standardized benefits heading, remove image captions
- Right-side ribbon: Vertically centered to avoid header/footer
- Add consistency warnings for REGULAR/PRIME pairing
- All 89 tests pass
- All margins set to 2.54cm on all four sides
- Body: Century Gothic 10pt, justified, line-height 1.4
- H1: 12pt bold blue #1C75BC, H2+: 12pt bold green #1A9970
- Auto-bold REGULAR, PRIME, dollar amounts via emphasize_keywords()
- Benefits: green #00F600 header, cyan #00FCFC items
- Fixed critical missing } in CSS reset block
- Fixed benefit-text/benefit-bullet class mismatches
- Moved inline styles to CSS classes
- Updated tests to match spec changes (93/93 pass)