Commit Graph
48 Commits
Author SHA1 Message Date
krisf 30a0a067ef audit: math-fix twentieth-pass re-verification (all gates fresh, OFFLAN-OK 22:03Z, deploy + 34/34 byte sweep, passes3 + DOM rows byte-identical to passes 14-19, frame-set observation logged) 2026-10-09 18:04:08 -04:00
krisf f53bc9ecc2 audit: math-fix pass 19 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:00:41 -04:00
krisf 566079dbec audit: math-fix nineteenth-pass re-verification (all gates fresh, OFFLAN-OK 21:59Z, deploy + 34/34 byte sweep, passes3 + DOM rows byte-identical to passes 14/15/16/17/18) 2026-10-09 18:00:37 -04:00
krisf 959401c266 audit: math-fix pass 18 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 17:57:17 -04:00
krisf 89c884b149 audit: math-fix eighteenth-pass re-verification (all gates fresh, OFFLAN-OK 21:55Z, deploy + 34/34 byte sweep, passes3 + DOM rows byte-identical to passes 14/15/16/17) 2026-10-09 17:57:12 -04:00
krisf 1af3afd287 audit: math-fix pass 17 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 17:53:23 -04:00
krisf 208f02d612 audit: math-fix seventeenth-pass re-verification (all gates fresh, OFFLAN-OK 21:52Z, deploy + 34/34 byte sweep, passes3 + DOM rows byte-identical to passes 14/15/16) 2026-10-09 17:53:18 -04:00
krisfandClaude 6cd83228b8 audit: math-fix pass 16 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-09 17:49:56 -04:00
krisfandClaude f6a050510a audit: math-fix sixteenth-pass re-verification (all gates fresh, OFFLAN-OK 21:49Z, deploy + 34/34 byte sweep, passes3 + DOM rows byte-identical to passes 14/15)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-09 17:49:51 -04:00
krisfandClaude 8802af8750 audit: math-fix pass 15 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-09 17:46:53 -04:00
krisfandClaude ce5b69df3e audit: math-fix fifteenth-pass re-verification (all gates fresh, OFFLAN-OK 21:46Z, deploy + 34/34 byte sweep, canonical couple frame on first attempt)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-09 17:46:49 -04:00
krisf c87f876770 audit: math-fix pass 14 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 17:43:01 -04:00
krisf a1697cb728 audit: math-fix fourteenth-pass re-verification (all gates fresh, OFFLAN-OK 21:40Z, deploy + 34/34 byte sweep, animation-phase frame set generalized) 2026-10-09 17:42:40 -04:00
krisf 6d42bf0f0d audit: math-fix pass 13 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 17:38:17 -04:00
krisf ef6962bbe9 audit: math-fix thirteenth-pass re-verification (all gates fresh, OFFLAN-OK 21:37Z, deploy + 34/34 byte sweep, render-race cause closed) 2026-10-09 17:38:10 -04:00
krisf c2a66a3fdb audit: math-fix twelfth-pass re-verification (all gates fresh, OFFLAN-OK 21:33Z, deploy + 34/34 byte sweep, first-attempt render determinism) 2026-10-09 17:34:18 -04:00
krisf fbae89cf36 audit: math-fix eleventh-pass re-verification (all gates fresh, OFFLAN-OK 21:30Z, deploy + 34/34 byte sweep, render-race determinism note) 2026-10-09 17:31:19 -04:00
krisf 5a90a120d2 audit: math-fix tenth-pass re-verification (all gates fresh, OFFLAN-OK 21:24Z, deploy + 21/21 byte sweep, live FIRE/mobile 390 capture) 2026-10-09 17:26:45 -04:00
krisf 5ec2bf6ce5 audit: math-fix ninth-pass re-verification (all gates fresh, OFFLAN-OK 21:21Z, deploy + 21/21 byte sweep) 2026-10-09 17:22:26 -04:00
krisf 2e4e0963a4 audit: math-fix eighth-pass re-verification (all gates fresh, OFFLAN-OK 21:17Z, live mixed-window probe) 2026-10-09 17:19:38 -04:00
krisf dec4798cd9 audit: math-fix seventh-pass re-verification (all gates fresh, OFFLAN-OK 21:14Z) 2026-10-09 17:15:09 -04:00
krisf 73018a193e audit: math-fix sixth-pass re-verification (all gates fresh, OFFLAN-OK 21:11Z) 2026-10-09 17:12:23 -04:00
krisf 45387af04d audit: math-fix fifth-pass re-verification (all gates fresh, OFFLAN-OK 21:08Z) 2026-10-09 17:08:54 -04:00
krisf 8ba23dac56 audit: math-fix fourth-pass re-verification (all gates fresh, OFFLAN-OK 21:05Z) 2026-10-09 17:06:14 -04:00
krisf 2846656ea8 audit: math-fix third-pass re-verification (all gates fresh, OFFLAN-OK 21:03Z) + report tracked 2026-10-09 17:03:59 -04:00
krisf 6a61adeeb4 audit: off-LAN recheck after math-fix deploy (OFFLAN-OK, re-verification pass) 2026-10-09 16:04:11 -04:00
krisf a210e7edfc engine: GIS 65+ floor, clawback only with OAS, couple mixed-row footnote, FIRE retire age 40 2026-10-09 15:52:53 -04:00
krisf de451f0525 ps auto-service: report + math-fix queue watcher 2026-10-09 15:42:56 -04:00
krisf 97cecb91a7 ps: auto-derive years of service from join year + retirement age 2026-10-09 15:41:58 -04:00
krisf a0fbb390b5 Header lang-toggle: independent verification section (50/50 PASS + pre-existing FR title ellipsis noted) 2026-10-09 13:51:16 -04:00
krisf 043fa8a683 Header: right-align EN|FR toggle in .hdr-in (top-right of page)
One CSS line: .lang-toggle{order:99;margin-left:auto}. Spec's literal order:99 alone
failed its own <=2px right-edge acceptance (gap 45.6-467.6px, 18/24 cases — order
reorders, .hdr-in is left-packed; geo-literal-order99.json), so margin-left:auto on
the toggle absorbs the free space; pill/logo untouched (spec-forbidden zone respected).

Battery: A1 gap=0px + rightmost + nothing-past-left in 24/24 (320/360/390/1280 x EN/FR
x intro/quiz/results); A2 header height unchanged 56/66px; A3 320px no overflow/wrap,
FR logo ellipsis intact, elementFromPoint hit-tests lang buttons + Start over pass;
A4 FR/EN clicks switch lang+title+aria-pressed; A5 24 screenshots before/after; A6
engine 36 + i18n 48 + smoke 92 + ps-pension 70 green; A7 desktop pixdiff header-strip-
only, 0 px below header at every device, self-jitter bit-identical; A8 DEPLOY-OK,
origin marker=1 + byte-identical CSS, off-LAN troublebox 200+marker+rule OFFLAN-OK.
2026-10-09 13:32:40 -04:00
krisf b209a19ae3 PS pension report: post-deploy independent verification section (4 bugs found+fixed: stuck-Next, blank card, tbl-wrap float, EN month in FR) 2026-10-09 13:22:42 -04:00
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