Commit Graph
66 Commits
Author SHA1 Message Date
krisf 57ba63c57f Bilingual as-of line: FR card/stamp showed English 'October 2026 (CPP 2026, OAS/GIS Oct-Dec 2026, tax 2026)'. Added asOfFr (octobre 2026, RPC/SV/SRG, impôts) in canada.js + generator; render sites pick by getLang(). Smoke 90->92 with a localization guard. 2026-10-09 13:20:58 -04:00
krisf 3d54d64dee Fix .tbl-wrap::before float bug (<=560px): float:right 340px-tall pseudo-element pushed tables 340px below their wrap, clipping them out of view — broke BOTH the PS pension card table AND the year-by-year table on mobile. Now position:absolute overlay. PS card also gets max-height:none (8 rows, show all). 2026-10-09 13:00:09 -04:00
krisf 9945e46dec Fix PS card blank-body bug: table class cards collided with .cards display:grid (gap-cards) — grid-on-a-table collapses rows to zero height. Renamed to ps-tbl + smoke guard (smoke 88->90) 2026-10-09 12:44:32 -04:00
krisf 3981b9bc26 Fix PS module stuck-Next bug: validate() on number-input oninput (typing into empty PS join/service/salary step never enabled Next; real users were stuck) + click-through regression test (smoke 74->88, EN+FR) 2026-10-09 12:25:05 -04:00
krisf becdf53f1a PS pension: add case K (G1 55+ min(F1,F2) lowest-reduction rule, PSPC-verified) + report wording fixes 2026-10-09 11:54:12 -04:00
krisf 583b5ee2f8 PS pension module: optional federal PSSA engine + UI (PSPC-accurate, EN/FR) 2026-10-09 11:44:40 -04:00
krisf fe62022a32 PS pension plan v1.1: step-count impact note (15/18 base) + round-4 app-shell constraint 2026-10-09 11:15:46 -04:00
krisf 7697639fb8 round 4: app-shell quiz screen at <=700px — #step-body is the only scroller, #btn-next/#panel become the static bottom cluster; revert FR .opt override (keep 972f3a7); + capture/verify/pixdiff/offlan audit tooling and before/after evidence; closes QUIZ-APPSHELL-FIX.md 2026-10-09 10:52:23 -04:00
krisf 972f3a7caa FR round 3: end-anchor retire marker label (was clipped at 320px card window); compact FR option buttons at <=700px (grid stays above pinned nav at 390px; EN untouched) 2026-10-09 10:26:40 -04:00
krisf ea953ec23c Bilingual EN/FR: i18n.js dict+t(), lang state+payload, header toggle, FR copy, Intl formatters; i18n.test.js + bilingual smoke; FR mobile audit evidence + BILINGUAL-REPORT.md 2026-10-09 10:06:55 -04:00
krisf 1b194b6f92 Round 2 mobile pass: CTA pinned above bottom sheet, swipe hint in chart header, anchor scroll-margin
- Issue 1: --sheet-h CSS var (live sheet height via syncSheetH: load/toggle/resize/
  panel-content), .scr clearance and sticky #btn-next/.step-nav above the sheet;
  income short step pixel-identical to round 1 (CTA top 485).
- Issue 2: chart() helper renders .chart-h (h3+p + .swipe span) into #g1-#g4;
  .chartbox::before overlay removed; hint is flex sibling in header, sticky left.
- Issue 3: [id]{scroll-margin-top:70px} so #whatif anchor lands below sticky hdr.
- G2 tick clip and Four-futures scroll documented as non-issues in report.
- verify2.py: 90/90 PASS live; before/after evidence in audit/mobile-{before,after}2/.

Spec: MOBILE-FIX-2.md. Report: MOBILE-FIX-2-REPORT.md.
2026-10-09 06:44:08 -04:00
krisf 53315e03e8 Mobile pass: 8 fixes per MOBILE-FIX.md (single-row 55px header, 560px-scroll charts w/ bigger SVG fonts + swipe hint, content-height chips sheet w/ scrim, 44px touch targets, year table 13px/-2 cols/fade/sticky Age, vision manifest-race fix, honest share fallback, theme-color+type bumps); before/after audits + geo-check evidence 2026-10-09 06:04:03 -04:00
krisf 73132a1edf Post-run: independent verification section (Hermes), webroot relocated to /mnt/better/appdata/retireapp, gaps & limitations, deploy.sh path fix 2026-10-08 23:21:22 -04:00
krisf e470985936 Stage 10: final REPORT.md (stages 6-10 evidence, deviations, runbook) 2026-10-08 23:05:10 -04:00
krisf 4f1207b1b8 Stage 5: gitea push + secret scan evidence 2026-10-08 23:01:21 -04:00
krisf e25dd4e0a1 Retire Planner v1: engine (live 2026 CPP/OAS/GIS/RRIF/tax), 17-step UI, 4 SVG charts, vision gallery, tests 2026-10-08 23:00:18 -04:00