Hepatica — Screen Flow Workbench · Part 2

Part 2 of the worked screen flow — continues from flow.html (Modules 8–10 — core flow, Today, Coach, Labs) and design.html (Modules 1–7). Here: Module 11 — Progress, Module 12 — Log, Module 13 — Settings, and Module 14 — the whole-app review, where all five tabs are evaluated together as one product.

📐 Screen flow · Modules 11–14 🔒 Design system · B · Clinical Tab order: Today · Coach · +Log · Progress · Labs Best practice: Cysta AI · Folik · Calibrum
МОДУЛЬ 11

Progress — the long view, milestones & the doctor PDF

Today answers "how am I right now"; Progress answers "how far have I come". It holds the full-history charts, the cohort's whole metric set (not just the hero), the milestone timeline, and the doctor-visit PDF export. §11.1 settles the organising principle, §11.2 works the screen for Robert, §11.3 covers all 6 cohorts, §11.4 the milestones + PDF.

11.1 · Progress consilium — how to organise the long view

Progress can hold a lot — multiple metrics, months of history, milestones, an export. Three ways to organise it; the cohorts vote.

CandidateOrganising principleRiskVerdict
A · One mega-timelineEvery metric plotted on a single shared timeline.Six lines on one axis is unreadable — units don't share a scale.✗ Rejected
B · Per-metric cards ⭐A metric switcher on top; the cohort's hero chart large, secondary metrics as cards below; milestones + PDF at the foot.None material — matches how each cohort already thinks about its numbers.✓ Ships
C · Milestone-feed firstAchievements/wins lead; charts are a secondary scroll.Buries the data the renewal decision rests on; reads as gamified.✗ Rejected
Cohortaud %A · megaB · cardsC · feed
🍷 Nick25253
💉 Greta15352
🍔 Pete20352
💊 Rachel8251
🧬 Patricia15253
🍺 Robert17244
Weighted Σ1002.404.832.66

Why B — per-metric cards

Robert is the only one tempted by the milestone feed (C=4) — his streak is emotional fuel. But even he scores B=4, because when he is deciding whether the app is worth renewing he wants the chart, not a trophy case. The fix isn't to lead with milestones — it's to keep them visible inside B (§11.4). Rachel kills C outright: a feed of badges is the opposite of the sober clinical document her insurer needs.

⭐ B · Per-metric cards — ships A · mega-timeline — rejected · unreadable C · milestone-feed — folded into B as a section

11.2 · Progress — worked for Robert

The Progress tab for Robert. A metric switcher on top, the full GGT recovery history large, the supporting stats, the next milestone, and the doctor-PDF export at the foot.

ProgressRobert's recovery
GGTSober daysWeightAll
GGT · full historyWatch
95 U/L↓ 145 since Day 0
AASLD ref ~50 240 Day 0 Day 160
Educational tracking — the band is the typical AASLD post-abstinence range, not a personal prediction.
47
Days sober
−145
GGT drop
92%
Weeks logged
🎉
Next · Day 60 — "Your liver at 2 months"
13 days away · 4 milestones reached so far
📄 Export a doctor-visit PDF — labs, trends & adherence

Standing in the user's shoes

Robert comes to Progress at a different moment than Today — usually near the trial's end, asking the renewal question: "is this app actually showing me something real?" The full-history curve is the answer Today's recent-trend chart can't give.
Metric switcherGGT · Sober days · Weight · All. Today shows only the hero; Progress lets him pull any metric forward.
Full historyDay 0 → Day 160, every logged point — the long arc. Same chart grammar as §8.5: actual solid, projection dashed, band shaded.
Supporting statsThree honest numbers — sober days, total GGT drop, logging consistency. "Weeks logged" quietly rewards the loop.
Milestones insideThe milestone card lives in Progress (the consilium's fix for Robert) — emotional fuel without a gamified feed taking over.
Doctor PDFThe export — the same artefact Coach can generate (§9.4). Progress is the natural home for "show this to my doctor".
Borrowed — Calibrum (the chart-history tab + printable doctor brief), Cysta AI (metric switcher + 3-month export). Progress is the renewal screen — it has to make six months of small actions feel like one large arc.

11.3 · The metric set, per cohort

Same B-layout, different contents. Each cohort's Progress tab carries its own metric switcher and chart set — the hero plus the supporting metrics that cohort's JTBD needs.

CohortMetric switcherHero chartDoctor-PDF angle
🍷 NickALT · AST · Liver score · Diet6-month ALT vs AASLD 40"Diet is working" — trend for the follow-up visit
💉 GretaALT · Weight · GLP-1 · AllDual-axis ALT ↓ + weight ↓GLP-1 liver response — for the prescriber
🍔 PeteHbA1c · ALT · FIB-4 · WeightDual-axis HbA1c + ALT + FIB-4Metabolic-syndrome panel for the PCP
💊 RachelFibroScan · FIB-4 · ALT · RezdiffraFibroScan F3→F2→F1 staircaseFibrosis regression + adherence — for insurance re-auth
🧬 PatriciaALT · Cycle · Inositol · WeightALT trend shaded by cycle phasePCOS + liver — for the gynae/endo
🍺 RobertGGT · Sober days · Weight · AllGGT recovery — rendered in §11.2Recovery markers — for the GP / hepatologist
ProgressGreta
ALTWeightGLP-1All
ALT × weight · 20 weeks
ALT ↓34 · weight ↓18 lb, locked-step
−34
ALT
−18
Pounds
98%
Doses
💬+📈🧪
💉 GLP-1 Greta
Dual-axis hero — the two lines falling together is the whole story.
ProgressRachel
FibroScanFIB-4ALTRx
FibroScan · 14-month staircase
12.5 → 8.1 kPa · F3 → F2
F2
Stage
−4.4
kPa
99%
Rezdiffra
💬+📈🧪
💊 Rezdiffra Rachel
Staircase + adherence % — the export her insurer reads at re-authorisation.
ProgressPatricia
ALTCycleInositolAll
ALT × cycle phase · 4 cycles
ALT easing across cycles — phase noise legible
−14
ALT
4
Cycles
86%
Inositol
💬+📈🧪
🧬 PCOS-NAFLD Patricia
Cycle shading makes the wobble legible — the trend still eases down.
Today vs Progress — the division of labour. Today renders the recent hero chart to answer "is it working today?" and drive the daily loop. Progress renders the full history of every metric, the milestone arc and the export — it answers "is six months of this worth renewing?". Same chart grammar, two time horizons; no screen duplicates the other.

11.4 · Milestones & the doctor-visit PDF

Two pieces that live at the foot of Progress: the milestone timeline (the consilium's home for Robert's emotional fuel) and the doctor-visit PDF — the artefact that turns six months of logging into one page a clinician reads in 30 seconds.

Milestone timeline

Robert's recovery milestones

Day 7
First week
Day 30
GGT first drop
🔒
Day 90
Recovery quarter
🔒
Day 180
Half-year

Milestones are factual, not gamified — each is a real, cited recovery moment ("most alcohol-related GGT normalises by ~6–12 weeks"), never a points-and-badges trophy. Universal milestones (logging streaks) and cohort milestones (GGT, FibroScan stage, ALT-in-range) interleave on one track.

Hepatica · Doctor Visit Summaryp.1
Robert M. · prepared 21 May 2026
LIVER MARKERS · 6-MONTH TREND
QUESTIONS FOR YOUR DOCTOR
AASLD 2023 NIAAA

Why these two close the tab

MilestonesThe consilium's fix. Robert wanted a milestone feed; the data must lead — so milestones live inside Progress as a timeline, visible but not in charge.
Factual framingEach milestone is a cited recovery fact, not a badge — keeps the calm clinical tone and dodges the "gamification beyond streaks" anti-pattern.
The PDFOne-to-two pages: patient + protocol, marker trends with reference ranges, the 14-day symptom view, and Coach-drafted questions — each with its guideline citation.
Rachel's JTBDFor Rachel this is the product — adherence % + FibroScan regression in an exportable form is what her insurer demands at re-auth. Highest-WTP cohort, served here.
Shared artefactThe same PDF Coach offers at §9.4 — built once, reachable from Coach (a conversation) and Progress (the history). Carries the "patient-generated, not a clinical record" watermark on every page.
Borrowed — Calibrum's "Pre-Doctor Visit Brief" (printable, B&W, questions each citing a guideline §) and Cysta AI's 3-month doctor export.

11.5 · Progress — ready for review

Module 11 — ready for founder review. Consilium picked B · per-metric cards (Σ 4.83): a metric switcher, the cohort hero chart at full history, supporting metrics, milestones and the doctor PDF. §11.2 worked it for Robert; §11.3 set the per-cohort metric switchers and hero charts (dual-axis, FibroScan staircase, cycle-shaded); §11.4 placed the milestone timeline (factual, not gamified) and the doctor-visit PDF. The Today/Progress split is explicit — recent trend vs full arc. Next — Module 12 · Log.
МОДУЛЬ 12

Log — the «+» FAB, the highest-frequency interaction

The centre «+Log» FAB is tapped more than any other control — every meal, every dose, every sober day. It has to be instant, predictable and dismissible. §12.1 runs the consilium on the capture UX, §12.2 works the capture sheet, §12.3 walks the five mini-flows behind it.

12.1 · Log consilium — what happens when «+» is tapped

The FAB is a ritual control — used many times a day, often one-handed, often mid-task. Three interaction models; the cohorts vote.

CandidateOn tapping «+»FeelVerdict
A · Full-screen pagePushes a whole logging screen onto the stack.Heavy — a full navigation for a 2-second action; needs a back-tap to escape.✗ Rejected
B · Bottom-sheet, 5 tiles ⭐A half-height sheet slides up — 5 capture tiles; tap a tile → its mini-form. Swipe down to dismiss.Fast, predictable, never loses the screen behind it. The Loveiko FAB pattern.✓ Ships
C · Smart single-actionFAB guesses the most likely capture by cohort + time; long-press for the full menu.Fastest when it guesses right — disorienting when it guesses wrong.~ Folded in
Cohortaud %A · pageB · sheetC · smart
🍷 Nick25353
💉 Greta15254
🍔 Pete20353
💊 Rachel8254
🧬 Patricia15253
🍺 Robert17354
Weighted Σ1002.605.003.39

Why B — the bottom-sheet, with C folded in

B is unanimous — a sheet is fast and predictable, and it never costs the user the screen they were on. C's idea isn't wasted: Greta, Rachel and Robert all scored it 4, because their daily action is obvious (a dose, a dose, a sober day). So C folds into B — the sheet always opens with the cohort's most-likely tile pre-highlighted at the top, full-width. The user gets the smart guess and the predictable menu, with no wrong-guess penalty.

⭐ B · Bottom-sheet — ships C · smart guess — folded in as the highlighted tile A · full-screen page — rejected · too heavy

12.2 · The capture sheet — worked

The «+» tapped from Robert's Today. The sheet slides over a dimmed Today; the cohort's likely action — a sober day — sits highlighted on top, the other four below. Swipe down or tap a tile.

Tue · May 20Good morning, Robert
🔥 47 days
58
Liver score ↑
47
Days sober
🍺
Recovery
Liver recovery · GGT
Log something
🍺
Mark today sober — Day 48
Your daily action · keeps the streak & the curve moving
suggested
📷
Meal photo
Liver-risk scan
🩸
Lab panel
Scan · PDF · manual
💊
Medication
Dose + adherence
🩹
Symptom
Energy · mood · pain

Standing in the user's shoes

Robert taps «+» the same way every evening. He should be done logging before he's even thought about it — the sheet must put his action under his thumb, first, every time.
Slides overThe sheet covers a dimmed Today — never a new screen. Swipe down returns him exactly where he was. Zero navigation cost.
Suggested tileCandidate C, folded in: the cohort's likely action is full-width on top, gold-highlighted — Robert's "sober day", Rachel's "medication", Nick's "meal photo".
Five tilesMeal · Drink/sober · Lab · Medication · Symptom — the complete capture set. Always the same five, always the same place — muscle memory.
JTBD stepThis is the daily loop's input step (Module 6). Everything on Today is the payoff; this sheet is the deposit.
Tap → mini-formEach tile opens a 2–3-tap mini-form, not a page — §12.3. The whole log is done without leaving Today.
Borrowed — the Loveiko FAB pattern (AcidWise, JabWell): a bottom-sheet of capture tiles, dismissible, screen-preserving. Cysta AI's «+Log» is the direct sibling.

12.3 · The five mini-flows

Behind each tile, a mini-form built for 2–3 taps. None is a full screen; each writes to Today, to the relevant tab, and into the Coach's context.

LogMeal photo
🥗
Grilled salmon bowl
Top risk: none flagged
Liver-friendly
Add to today's log
💬+📈🧪
📷 Meal photo
Camera → liver-risk verdict + swap suggestion. AcidWise scanner DNA. Feeds the Liver-Friendly Score.
LogDrink / sober day
🌿
Day 48 — alcohol-free
One tap confirms today.
✓ Sober today
I drank — log it
Logging a drink never breaks the recovery — it just moves the curve. No judgment.
💬+📈🧪
🍺 Drink / sober day
Sober tap or non-judgmental drink log. Either writes the streak + GGT context. Robert's daily action.
LogLab panel
📷
Camera scan
📄
Upload PDF
✏️
Manual
Routes straight into the Labs capture flow — Module 10.4. Built once, entered from two places.
💬+📈🧪
🩸 Lab panel
Re-uses the M10.4 scan / PDF / manual capture — no duplicate flow. Lands the result in the Labs grid.
LogMedication
Rezdiffra 100 mg
Morning dose · taken
Adherence · this month28 / 30
🩹
Any side effects? Log diarrhoea / fatigue with this dose.
💬+📈🧪
💊 Medication
Dose tick + adherence streak + side-effect prompt. JabWell tracker DNA. Rezdiffra for Rachel, GLP-1 for Greta.
LogSymptom
How's your energy today?
Low Okay Good
Mood · sleep · pain
Quick chips — builds the 14-day symptom view for the doctor PDF.
Save check-in
💬+📈🧪
🩹 Symptom
Energy / mood / sleep / pain chips. Feeds the symptom-cause AI correlations + the doctor-PDF heatmap.
Every capture has three destinations. A logged item updates Today (the hero chart, the streak, the heatmap), writes to its home tab (a meal → Labs-adjacent score, a dose → Progress adherence), and enters the Coach's context so the next question is answered with fresh data. Compliance: the drink log is non-judgmental by construction (COMPLIANCE.md — "logging a drink never breaks the recovery"); meal scans give a liver-risk rating, never a diagnosis.

12.4 · Log — ready for review

Module 12 — ready for founder review. Consilium was unanimous (B · bottom-sheet, Σ 5.00) with Candidate C folded in — the sheet opens over a dimmed Today with the cohort's likely action pre-highlighted full-width, four more tiles below. §12.3 worked all five mini-flows (meal · drink/sober · lab · medication · symptom), each a 2–3-tap form, none a full screen; the Lab tile re-uses the M10.4 capture rather than duplicating it. Every capture fans out to Today + its home tab + Coach context. Next — Module 13 · Settings.
МОДУЛЬ 13

Settings — the cohort switch & Today customisation

Settings is where the user owns the cohort-aware behaviour the rest of the app runs on. It holds the cohort switch (re-assign your lane post-onboarding), the per-cohort JTBD tracking path, and the toggles that show/hide Today's widgets. §13.1 the anatomy, §13.2 the cohort switch + tracking paths, §13.3 the Today-customisation before/after.

13.1 · Settings — screen anatomy

One scrolling screen, grouped iOS-style. The two groups that matter for this workbench: Your lane (the cohort) and Today screen (the widget toggles). Until Onboarding ships, the cohort row is also the debug lane switch §8.4 referred to.

SettingsSettings
Account
SubscriptionAnnual · trial
Restore purchases
Your lane
🍺Cohort
Recovering Robert · tap to change
Today screen — show / hide
📉Hero JTBD chart
core — always on
🔥Streak & days-sober pill
«Hepatica noticed» insight
🎉Milestone card
📅Weekly heatmap
💬Coach ribbon
App
🔔Notifications
🛡Re-read disclaimer & sources

Standing in the user's shoes

A user opens Settings for one of two reasons: their situation changed (a new diagnosis, they quit drinking) and the app no longer fits — or Today feels too busy. Both are cohort-aware controls, and both live here.
Reached fromA gear on Today's header (not a sixth tab — the tab bar is locked at five). Low-frequency, so it stays out of the bar.
Your laneThe cohort row — the single control that drives Today's layout, Coach's tone and Labs' pinning. Opens the switch in §13.2.
Today togglesOne switch per Today widget. The user trims their own home screen — §13.3 shows the effect.
Locked widgetThe hero JTBD chart toggle is locked on — it's the core value and carries the compliance disclaimer. A user can't accidentally hide the reason the app works.
Compliance"Re-read disclaimer & sources" is always reachable; the hero chart's educational disclaimer can never be toggled away (COMPLIANCE.md).
Borrowed — Calibrum & Cysta AI settings (grouped iOS lists, a single "your focus / lane" control). The Today-widget toggles are the Hepatica-specific addition.

13.2 · The cohort switch & the JTBD tracking path

Tapping the cohort row opens the switch. Picking a cohort previews its tracking path — the JTBD chain that cohort lives on — before the user commits. Changing it re-shapes Today, Coach and Labs at once.

Settings › LaneChange your lane
Current
🍺 Recovering Robert
🍷 Nick💉 Greta🍔 Pete💊 Rachel🧬 Patricia🍺 Robert
Your tracking path · Robert
Sober day GGT panel Recovery curve Day-60 milestone
This is the JTBD chain Hepatica will track for you. Switching cohort changes the hero chart, the Coach's tone and which analyte Labs pins.
⚠️ Switching lanes is self-reported setup — not a clinical assessment. Your logged data is kept; only the focus changes.
Keep Recovering Robert

The control that drives everything

The cohort isn't a label — it's the routing key for the whole app. So the switch must show the user what changes before they commit, and reassure them nothing logged is lost.
Tracking pathEach cohort's JTBD rendered as a 4-step chain — start action → marker → chart → milestone. The user sees the plan, not just a name.
Preview before commitTapping a cohort previews its path; the path updates live. "Keep / Switch" is the only destructive-ish action and it's explicit.
What it re-pointsToday's hero chart + widget order (§8.4), Coach's lead lens + tone (§9.4), Labs' pinned analyte (§10.3), Progress's metric set (§11.3). One switch, four tabs.
Data is safeEvery logged value is kept across a switch — only the view changes. Said plainly, so the user isn't afraid to correct a mis-set lane.
ComplianceThe amber strip repeats the onboarding line — cohort is self-reported tracking setup, not a diagnosis (COMPLIANCE.md).
All six tracking paths

The JTBD chain Settings surfaces per cohort

🍷 Nick
Scan mealLiver scoreALT panel6-month trend
💉 Greta
Weigh-inALT panelALT × weightGLP-1 response
🍔 Pete
HbA1cALT panelFIB-4Metabolic trend
💊 Rachel
Rezdiffra doseFibroScanF-stage staircaseInsurance PDF
🧬 Patricia
Cycle dayInositol + ALTALT × cycleCross-condition view
🍺 Robert
Sober dayGGT panelRecovery curveDay-60 milestone

13.3 · Today customisation — the toggles in effect

The §13.1 toggles aren't decoration — they re-shape Today. Here is the same Robert Today with every widget on, and trimmed to the essentials. The hero chart and its disclaimer survive both.

Today · fullRobert
🔥 47
58
Score ↑
47
Sober
Hepatica noticed
GGT down 145 since Day 1.
GGT recoveryWatch
🎉
Day 60 milestone — 13 days away
This week6/7
💬Ask Coach →
💬+📈🧪
All widgets on
Score · insight · hero · milestone · heatmap · Coach ribbon — the full default Today.
Today · trimmedRobert
🔥 47
58
Score ↑
47
Sober
GGT recoveryWatch
Educational tracking — not a diagnosis.
+
Log Day 48 sober
💬Ask Coach →
💬+📈🧪
Trimmed — heatmap, insight & milestone off
A calmer Today. The hero chart + disclaimer + daily action stay — they can't be switched off.
What can't be toggled off. The hero JTBD chart and its educational disclaimer, the daily-action card, and the tab bar are fixed — they are the core value and the compliance surface. Everything else (insight banner, milestone card, weekly heatmap, Coach ribbon, streak pill) is the user's call. Customisation lets a user calm a busy screen without ever letting them hide the reason the app works — or the disclaimer that keeps it Health & Fitness, not Medical.

13.4 · Settings — ready for review

Module 13 — ready for founder review. Settings is the home of the cohort-aware controls: §13.1 the grouped anatomy with per-widget Today toggles; §13.2 the cohort switch that previews each lane's JTBD tracking path before commit and re-points Today + Coach + Labs + Progress in one move; §13.3 proved the toggles re-shape Today, with the hero chart, disclaimer and daily action locked on. Until Onboarding ships, the cohort row doubles as the §8.4 debug lane switch. Next — Module 14 · the whole-app review.
МОДУЛЬ 14

Whole-app review — the five tabs evaluated together

Modules 8–13 worked each tab on its own. This module steps back and judges the product as one thing: the complete flow map (§14.1), a cross-tab consistency audit that surfaces the real gaps (§14.2), the build → evaluate → re-evaluate loop the whole workbench ran on (§14.3), the open questions (§14.4), and the ready-for-lock summary (§14.5).

14.1 · The complete app flow

The whole journey, end to end — every stage now worked. The pre-auth funnel (Onboarding, Paywall) is designed in flow3.html M15–16, the post-paywall Setup walkthrough in M18; everything from the Disclaimer inward is worked screen-by-screen across Modules 8–13.

START📲 LaunchApp opens — cold start.
M15 · WORKED ↗OnboardingWOW-then-justify funnel + cohort triage.✓ flow3.html · M15
M16 · WORKED ↗PaywallCohort-routed fear-playbook · 4 tiers.✓ flow3.html · M16
M8 · WORKED🛡 DisclaimerOne-time post-paywall gate.
M18 · WORKED ↗Setup5-card post-paywall walkthrough.✓ flow3.html · M18
M8–13 · WORKEDMain appLands on Today. 5 surfaces, all worked:
TodayCoach+LogProgressLabs
SurfaceModuleWhat it answersConsilium outcome
⌂ TodayM8"Is it working — right now?"Cohort-aware hero chart + daily loop · skeleton empty state
💬 CoachM9"What does this mean — and what do I do?"B · specialist-lens panel (Σ 4.80) · v2 verdict-first layout
+ LogM12"Capture what just happened."B · bottom-sheet, 5 tiles (Σ 5.00) · smart tile folded in
📈 ProgressM11"How far have I come — is it worth renewing?"B · per-metric cards (Σ 4.83) · milestones + doctor PDF
🧪 LabsM10"Are my numbers OK?"B · analyte-grid first (Σ 5.00) · ranges + capture in-tab
⚙ SettingsM13"Re-fit the app to my situation."Cohort switch + JTBD path + Today-widget toggles

14.2 · Cross-tab consistency audit

Each tab was designed in its own module — so they have to be checked against each other. ✓ = handled; ⚠ = a real gap to close before lock. The audit is honest: it surfaces what the per-tab modules left open.

SurfaceDesign tokensWarm verdict triadCitation / safetyEmpty stateCohort-awareDoctor-PDF link
⌂ Today
💬 Coach
+ Log
📈 Progress
🧪 Labs
Gaps the audit surfaces — to close before lock.

14.3 · The loop — built → evaluated → re-evaluated

Every module in this workbench ran the same loop. It's not decoration — it's why the screens are defensible: each was built, then judged from the user's seat and by a 6-cohort vote, then re-worked where it failed.

1✏️
Build
Draft the screen from the cohort's JTBD — a real artefact, not a wireframe.
2👤
Stand in the user's shoes
Write the POV annotation — what they see, feel, do. Catches overload & dead ends.
3🗳
Consilium
3 candidates, 6 cohorts vote, audience-weighted Σ. The cohorts pick, not taste.
4🔁
Re-evaluate & iterate
Where it failed, re-build. Coach ran this three times before it was right.
5🔒
Recommend for lock
Ready-for-review summary → founder + compliance sign-off → Swift V1 spec.
Ran once per module — and visibly more than once where the first answer was wrong.
Where the loop changed the design

Three places re-evaluation overruled the first build

14.4 · Open questions before lock

What still needs a founder or compliance decision.

14.5 · Ready for lock

The five-tab product — worked end to end

Today · Coach · +Log · Progress · Labs — every surface worked screen-by-screen, across all 6 cohorts, with the empty state designed and the compliance line held throughout. Three consilia run (Coach · Labs · Log), the Progress organising principle settled, the Coach screen iterated three times in the open. The tab order was re-evaluated and changed. On founder + compliance sign-off — and after the §14.2 gaps are closed — these screens become the spec for the Swift V1 skeleton; the decisions append to DECISIONS.md.

M8–14 ✓ ready
Modules 8–14 — ready for founder review. Core flow + Today (M8), Coach (M9), Labs (M10), Progress (M11), Log (M12), Settings (M13), and this whole-app review (M14). Nothing is locked. The upstream gates are now worked too — Onboarding & Paywall in flow3.html M15–16, the post-paywall Setup walkthrough in M18, the fresh-eyes restructure consilium in M17, and the asset-style consilium in M19. The workbench now covers Modules 1–19.