Generated 2026-06-10T20:01:48.774Z · swipe each strip sideways · beat slides show the full 5-frame burst + mobile (purple border)
banking-101
shipsolid · ~34 min · 6 beats · 0 console errors
[nice-to-have · D2] The capture fixture bursts the BankingResearchProject only at Step 1 (candidates named / pull-the-numbers). The genuinely topic-unique beats — Step 2 net-cost math reveal (fee-drag minus HYSA interest, green +/red − scoring) and the Step 5 one-pager scorecard — are never captured, so the anchor's strongest decision moments go unverified in render. Code review confirms they are real and correct (Step2 reveal gate, Step3 open/backup/walk sort, Step5 tiered scorecard), but the burst should advance the stepper to the math/scorecard step on a future recapture. fix: Extend the capture fixture for slide 5 (research project) to drive the stepper to Step 2 and reveal the score, capturing a burst there; ideally also capture the Step 5 one-pager.
[should-fix · walk] Kevin walk 2026-06-10: thin Part 1 + visual sameness across the arc + fraud dead margin fix: Kevin fix-first (thin, 9 slides, sameness) → overhauled: FollowYourPaycheck dollar-flow trace (checking/debit-as-key/debt-anti-container/savings-vs-HYSA drip + the overdrawn 3-outcome beat), CU-vs-bank system lens, 40 min. Three-rooms test passed by looking. ✓ resolved
slide 1 f1 → f5 + mobile
slide 2 BEAT — full burst
slide 3 f1 → f5 + mobile
slide 4 BEAT — full burst
slide 5 BEAT — full burst
slide 6 f1 → f5 + mobile
slide 7 f1 → f5 + mobile
slide 8 f1 → f5 + mobile
slide 9 f1 → f5 + mobile
slide 10 f1 → f5 + mobile
banking-fees-and-fine-print
shipsolid · ~35 min · 4 beats · 0 console errors
[blocker · D2] RESOLVED — carried-forward blocker is fixed. Capture totals now show pageErrors=0, consoleErrors=0 across all 9 slides; slides 4-9 produce real frames (previously blank cream). The anchor sim renders end-to-end: 04-full.png shows the four clause TILES (overdraft/maintenance/posting-order/ATM), the $126.00 vs $3.00 comparison, and the running-balance SVG timeline with the day-15 cascade crater. 04-reorder-exposed-f5 shows the $126 default-run line dropping at day 15; 04-fee-proof-f5 shows all clauses flipped safe landing at $3.00. The rig fix (JSON.stringify all seed values) plus the sim-level coercion both landed — string-typed ephemeral seeds now round-trip. simProvenInRender=true. fix: None — verified resolved. No action.
[should-fix · B4] RESOLVED — carried-forward should-fix is applied. FeeProofAccountSim.tsx line 283 now reads: const n = parseFloat(String(s).replace(/[^0-9.]/g, '')) with line 284 returning a finite-guarded number. num() is now immune to non-string persisted state — String() coerces a number/boolean/null before .replace, so the white-screen crash that killed the prior capture cannot recur. Module hardening landed exactly as specified. fix: None — verified resolved. No action.
[nice-to-have · L3b] The sim is constrained to max-w-4xl (~896px) and centered on the 1440 viewport, leaving roughly 30% of desktop width as side margin. Content is dense enough (2-col clause-tile grid + full-width timeline) that it does not read as empty, and it matches the standard chassis sim width, so this is not an offensive violation — but the running-balance timeline in particular would breathe better with a wider container, and the $126/$3 comparison pair has room to grow. Borderline; flagged only as a width-utilization note, not a gate fail. fix: Optionally widen FeeProofAccountSim outer container from max-w-4xl to max-w-5xl so the timeline and comparison cards use more of the desktop width; verify the clause tiles still grid cleanly at the wider measure and that mobile stacking is unaffected.
[nice-to-have · D5] Honest ceiling read: the module is excellent at the scale-tier floor and the anchor beat is genuinely strong, but it lands 'at' rather than 'above' the gold. The graft is the one memorable moment; the three reading chapters, while well-paced and richly illustrated, are competent-standard editorial spreads that don't rival the reference pack's best shots. This is a fully shippable scale-tier module that does NOT read minimum-effort — the sim carries real depth — but it is not a pack candidate. fix: No action required to ship. If promoting toward hero later, the lever is the timeline: make the daily drip + per-stamp fire feel more cinematic (stagger stamp reveals to the pathLength draw, animate the reorder-exposure as a visible re-sequencing of the day-15 charges) so the graft becomes a pack-grade moment.
[should-fix · walk] Kevin walk 2026-06-10: thin Part 1 + visual sameness across the arc + fraud dead margin fix: Kevin sameness verdict → night-ledger identity: overnight statement feed, 2:46 AM fee stamps, day/night banding, full width. Mechanic untouched. ✓ resolved
slide 1 f1 → f5 + mobile
slide 2 f1 → f5 + mobile
slide 3 f1 → f5 + mobile
slide 4 BEAT — full burst
slide 5 f1 → f5 + mobile
slide 6 f1 → f5 + mobile
slide 7 f1 → f5 + mobile
slide 8 f1 → f5 + mobile
slide 9 f1 → f5 + mobile
banking-fraud-and-protection
shipsolid · ~33 min · 7 beats · 0 console errors
[should-fix · L3b] During the live feed the phone column is max-w-md inside a left-anchored max-w-3xl, leaving roughly a third of the 1440px viewport as dead right margin (visible in all rail-prompt frames). The phone metaphor justifies a narrow card but not an empty desktop. fix: At lg+ widths, run a second column beside the feed — e.g., the accumulating per-card verdict log or a live drained-vs-perfect ledger — so the verdicts build in view instead of only appearing on the post-run receipt.
[nice-to-have · D2] Capture fixture seeds the deliverable with 'caught 4 of 6 · $400 lost · 0 verify-checks left' but the scripted interaction produces 5-of-6 with both verifies spent correctly — the seeded cert-brief rail and the live receipt tell two different runs in the same capture set. fix: Update the fixture's seeded banking-fraud-playbook strings to match the run the interaction script actually drives (5 of 6 caught, ACT-debit on Zelle as the worst mis-triage), then recapture.
[nice-to-have · D5] Receipt label/tone disagreement: the spoofed-call plain-IGNORE path returns kind 'caught' with right:false, so the row renders the red wrong-answer border while its right-side label reads 'caught in time' (FraudFeedTriage.tsx resolve for 'spoofed-call' ignore branch + receipt label logic ~line 863). fix: Add a distinct label for the right:false + drained:0 + kind 'caught' case (e.g., 'safe — but verify was the move') so the styling and label agree.
[should-fix · walk] Kevin walk 2026-06-10: thin Part 1 + visual sameness across the arc + fraud dead margin fix: Width + identity fixes: real device frame + live status rail two-column, receipt spread. Mechanic untouched (above-bar). ✓ resolved