Commit Graph
90 Commits
Author SHA1 Message Date
krisf 1fad222624 audit: math-fix pass 42 post-push addendum (eb02665, 34/34 sweep re-run vs new origin/main) 2026-10-09 19:35:58 -04:00
krisf eb026657ea audit: math-fix forty-second-pass re-verification (all gates fresh, OFFLAN-OK 23:35Z, deploy + 34/34 sweep, passes3 byte-identical to passes 14-41, all five row JSONs byte-identical (audit/math-fix, gitignored), canonical couple+fire frames re-drawn, all three MIXEDLIVE probes OK incl. 52/56 clamp-driven dagger rows, NEW band-limited canonical-couple frame variant a634425c) 2026-10-09 19:35:53 -04:00
krisf 9dabdaa831 audit: math-fix pass 41 post-push addendum (89d8d51, 34/34 sweep re-run vs new origin/main) 2026-10-09 19:32:12 -04:00
krisf 89d8d51add audit: math-fix forty-first-pass re-verification (all gates fresh, OFFLAN-OK 23:31Z, deploy + 34/34 sweep, passes3 byte-identical to passes 14-40, all five row JSONs byte-identical (audit/math-fix, gitignored), canonical couple+fire frames re-drawn, all three MIXEDLIVE probes OK incl. 52/56 clamp-driven dagger rows, NEW band-limited 52/56 frame variant) 2026-10-09 19:32:05 -04:00
krisf f426d89228 audit: math-fix pass 40 post-push addendum (d6850bb, 34/34 sweep re-run vs new origin/main) 2026-10-09 19:28:29 -04:00
krisf d6850bbaf6 audit: math-fix fortieth-pass re-verification (all gates fresh, OFFLAN-OK 23:26Z, deploy + 34/34 sweep, passes3 byte-identical to passes 14-39, all five row JSONs byte-identical (audit/math-fix, gitignored), canonical couple+fire frames re-drawn, all three MIXEDLIVE probes OK incl. 52/56 clamp-driven dagger rows) 2026-10-09 19:28:22 -04:00
krisf 75fe0a12c2 audit: math-fix pass 39 post-push addendum (85ebb1d, 34/34 sweep re-run vs new origin/main) 2026-10-09 19:24:14 -04:00
krisf 85ebb1d0fc audit: math-fix thirty-ninth-pass re-verification (all gates fresh, OFFLAN-OK 23:23Z, deploy + 34/34 sweep, passes3 byte-identical to passes 14-38, all five row JSONs byte-identical (audit/math-fix, gitignored), canonical couple+fire frames re-drawn, all three MIXEDLIVE probes OK incl. 52/56 clamp-driven dagger rows) 2026-10-09 19:24:08 -04:00
krisf 0c7ca482c2 audit: math-fix pass 38 post-push addendum (7e42ccf, 34/34 sweep re-run vs new origin/main) 2026-10-09 19:20:00 -04:00
krisf 7e42ccf133 audit: math-fix thirty-eighth-pass re-verification (all gates fresh, OFFLAN-OK 23:19Z, deploy + 34/34 sweep, passes3 byte-identical to passes 14-37, all five row JSONs byte-identical (audit/math-fix, gitignored), canonical couple+fire frames re-drawn, all three MIXEDLIVE probes OK incl. 52/56 clamp-driven dagger rows) 2026-10-09 19:19:55 -04:00
krisf 777f957576 audit: math-fix pass 37 post-push addendum (6fb6799, 34/34 sweep re-run vs new origin/main) 2026-10-09 19:16:13 -04:00
krisf 6fb6799a4b audit: math-fix thirty-seventh-pass re-verification (all gates fresh, OFFLAN-OK 23:14Z, deploy + 34/34 sweep, passes3 byte-identical to passes 14-36, all five row JSONs byte-identical (audit/math-fix, gitignored), canonical couple+fire frames re-drawn, all three MIXEDLIVE probes OK incl. 52/56 clamp-driven dagger rows) 2026-10-09 19:16:04 -04:00
krisf 59306f2e85 audit: math-fix pass 36 post-push addendum (562248e, 34/34 sweep re-run vs new origin/main) 2026-10-09 19:11:08 -04:00
krisf 562248e73d audit: math-fix thirty-sixth-pass re-verification (all gates fresh, OFFLAN-OK 23:10Z, deploy + 34/34 sweep, passes3 byte-identical to passes 14-35, canonical fire frame re-drawn, MIXEDLIVE-OK on reachable + 52/56 probes) 2026-10-09 19:10:59 -04:00
krisf 464d2ddf9b audit: math-fix pass 35 post-push addendum (ab9e1f9, 34/34 sweep re-run vs new origin/main) 2026-10-09 19:06:52 -04:00
krisf ab9e1f9123 audit: math-fix thirty-fifth-pass re-verification (all gates fresh, OFFLAN-OK 23:05Z, deploy + 34/34 sweep, passes3 byte-identical to passes 14-34, canonical couple+fire frames re-drawn, 52/56 clamp-driven mixed probe MIXEDLIVE-OK) 2026-10-09 19:06:43 -04:00
krisf 864ce3afea audit: math-fix pass 34 post-push addendum (f20e62a, 34/34 sweep re-run vs new origin/main) 2026-10-09 19:02:23 -04:00
krisf f20e62a29c audit: math-fix thirty-fourth-pass re-verification (all gates fresh, OFFLAN-OK 23:01Z, deploy + 34/34 sweep, passes3 byte-identical to passes 14-33, canonical couple+fire frames re-drawn, 52/56 clamp-driven mixed probe MIXEDLIVE-OK) 2026-10-09 19:02:18 -04:00
krisf b8bef71853 audit: math-fix pass 33 post-push addendum (cc38c2d, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:57:12 -04:00
krisf cc38c2d010 audit: math-fix thirty-third-pass re-verification (all gates fresh, OFFLAN-OK 22:56Z, deploy + 34/34 sweep, passes3 byte-identical to passes 14-32, canonical couple+fire frames re-drawn, 52/56 clamp-driven mixed probe MIXEDLIVE-OK) 2026-10-09 18:56:51 -04:00
krisf a21b6804c0 audit: math-fix pass 32 post-push addendum (bafb88a, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:53:01 -04:00
krisf bafb88a283 audit: math-fix thirty-second-pass re-verification (all gates fresh, OFFLAN-OK 22:50Z, deploy + 34/34 sweep, passes3 + all row JSONs byte-identical to passes 14-31, canonical couple/fire frames re-drawn, + 52/56 clamp-driven mixed-row live probe) 2026-10-09 18:52:53 -04:00
krisf 77f4658d1c audit: math-fix pass 31 post-push addendum (7ab6ee1, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:48:36 -04:00
krisf 7ab6ee114e audit: math-fix thirty-first-pass re-verification (all gates fresh, OFFLAN-OK 22:46Z, deploy + 34/34 byte sweep, passes3 + all row JSONs byte-identical to passes 14-30, canonical fire frame re-drawn, FIRE 390 + mixed-reachable dagger/legend frames confirmed) 2026-10-09 18:48:25 -04:00
krisf ed25211c57 audit: math-fix pass 30 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:44:27 -04:00
krisf 7ec8e399fb audit: math-fix thirtieth-pass re-verification (all gates fresh, OFFLAN-OK 22:43Z, deploy + 34/34 byte sweep, passes3 + all row JSONs byte-identical to passes 14-29, FIRE 390 + mixed-reachable dagger/legend frames confirmed) 2026-10-09 18:44:21 -04:00
krisf 288d183e9c audit: math-fix pass 29 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:40:08 -04:00
krisf 5a43398e1b audit: math-fix twenty-ninth-pass re-verification (all gates fresh, OFFLAN-OK 22:37Z, deploy + 34/34 byte sweep, passes3 + all row JSONs byte-identical to passes 14-28, FIRE 390 + mixed-reachable dagger/legend frames confirmed) 2026-10-09 18:39:58 -04:00
krisf b785ab66dd audit: math-fix pass 28 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:35:37 -04:00
krisf cb85ea5c56 audit: math-fix twenty-eighth-pass re-verification (all gates fresh, OFFLAN-OK 22:34Z, deploy + 34/34 byte sweep, passes3 + all row JSONs byte-identical to passes 14-27, FIRE 390 + mixed-reachable dagger/legend frames pixel-identical) 2026-10-09 18:35:31 -04:00
krisf d1aab5223c audit: math-fix pass 27 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:31:19 -04:00
krisf 5e67257948 audit: math-fix twenty-seventh-pass re-verification (all gates fresh, OFFLAN-OK 22:28Z, deploy + 34/34 byte sweep, passes3 + all row JSONs byte-identical to passes 14-26, reachable-mixed dagger + legend re-confirmed live, FIRE 390 frame pixel-identical) 2026-10-09 18:31:10 -04:00
krisf 76474b106f audit: math-fix pass 26 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:26:02 -04:00
krisf b8eaf89a2e audit: math-fix twenty-sixth-pass re-verification (all gates fresh, OFFLAN-OK 22:23Z, deploy + 34/34 byte sweep, passes3 + DOM rows byte-identical to passes 14-25, NEW live reachable-mixed probe: dagger + legend on deployed site closes Deviation 2) 2026-10-09 18:25:58 -04:00
krisf 107262e4e0 audit: math-fix pass 25 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:20:52 -04:00
krisf d915d8aa98 audit: math-fix twenty-fifth-pass re-verification (all gates fresh, OFFLAN-OK 22:19Z, deploy + 34/34 byte sweep, passes3 + DOM rows byte-identical to passes 14-24, couple frame roles match pass 24) 2026-10-09 18:20:45 -04:00
krisf a315c71f1a audit: math-fix pass 24 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:17:33 -04:00
krisf 1b95be6b97 audit: math-fix twenty-fourth-pass re-verification (all gates fresh, OFFLAN-OK 22:16Z, deploy + 34/34 byte sweep, passes3 + DOM rows byte-identical to passes 14-23, couple frame roles inverted vs pass 23) 2026-10-09 18:17:27 -04:00
krisf 8fee68e20f audit: math-fix pass 23 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:14:17 -04:00
krisf 773be382d5 audit: math-fix twenty-third-pass re-verification (all gates fresh, OFFLAN-OK 22:12Z, deploy + 34/34 byte sweep, passes3 + DOM rows byte-identical to passes 14-22, couple frame roles match pass 22) 2026-10-09 18:14:11 -04:00
krisf 98381137d5 audit: math-fix pass 22 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:10:40 -04:00
krisf d2f6e2071d audit: math-fix twenty-second-pass re-verification (all gates fresh, OFFLAN-OK 22:09Z, deploy + 34/34 byte sweep, passes3 + DOM rows byte-identical to passes 14-21, couple frame roles inverted vs pass 21) 2026-10-09 18:10:34 -04:00
krisf aaa8ec5504 audit: math-fix pass 21 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:07:18 -04:00
krisf 436d3e13f2 audit: math-fix twenty-first-pass re-verification (all gates fresh, OFFLAN-OK 22:06Z, deploy + 34/34 byte sweep, passes3 + DOM rows byte-identical to passes 14-20, both couple runs on canonical frame) 2026-10-09 18:07:14 -04:00
krisf a9a89476dc audit: math-fix pass 20 post-push addendum (audit commit hash, 34/34 sweep re-run vs new origin/main) 2026-10-09 18:04:14 -04:00
krisf b8dbee2460 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 f50a90b61c 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 f3570da482 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 4d66a6e802 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 c5daee52a4 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 198b3efbaa 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 4c66a83f7b 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 97123a1245 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 9bd07adeba 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 3c76b7f3b6 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 5d7c84a3af 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 3f6a44d644 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 99afe5259e 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 126f90eefe 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 dc812601b6 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 1d5fd124a0 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 7d88a2083b 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 f2eca41bef 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 57b05d9f2b audit: math-fix seventh-pass re-verification (all gates fresh, OFFLAN-OK 21:14Z) 2026-10-09 17:15:09 -04:00
krisf 920abe7ee1 audit: math-fix sixth-pass re-verification (all gates fresh, OFFLAN-OK 21:11Z) 2026-10-09 17:12:23 -04:00
krisf d6a7cb62d0 audit: math-fix fifth-pass re-verification (all gates fresh, OFFLAN-OK 21:08Z) 2026-10-09 17:08:54 -04:00
krisf 42da244e08 audit: math-fix fourth-pass re-verification (all gates fresh, OFFLAN-OK 21:05Z) 2026-10-09 17:06:14 -04:00
krisf 9dcf575b89 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 1074a7f6ac audit: off-LAN recheck after math-fix deploy (OFFLAN-OK, re-verification pass) 2026-10-09 16:04:11 -04:00
krisf 0839826704 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 53f12f207e ps auto-service: report + math-fix queue watcher 2026-10-09 15:42:56 -04:00
krisf 807a96693b ps: auto-derive years of service from join year + retirement age 2026-10-09 15:41:58 -04:00
krisf 5995748926 Header lang-toggle: independent verification section (50/50 PASS + pre-existing FR title ellipsis noted) 2026-10-09 13:51:16 -04:00
krisf 79c40a7b9d 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 4c8fcad8ad 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 cab6e3d1ed 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 d53dd81202 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 244f59904c 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 ed37f82511 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 bef1f9e3df 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 249be69a57 PS pension module: optional federal PSSA engine + UI (PSPC-accurate, EN/FR) 2026-10-09 11:44:40 -04:00
krisf 2ab52c2f5e 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 a5923da47c 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 f4b5698); + capture/verify/pixdiff/offlan audit tooling and before/after evidence; closes QUIZ-APPSHELL-FIX.md 2026-10-09 10:52:23 -04:00
krisf f4b5698272 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 5f01dd7ca6 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 666b6c5e29 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 be57deb5a2 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 a7576b8c28 Stage 10: final REPORT.md (stages 6-10 evidence, deviations, runbook) 2026-10-08 23:05:10 -04:00
krisf aac974dd7a Stage 5: gitea push + secret scan evidence 2026-10-08 23:01:21 -04:00
krisf 83b01d0136 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