This was generated by AI during triage. Body rewritten 28 Aug 2026 to hold the current state — four items were raised, two collapsed under checking, two were settled by the owner. The corrections that were tracked as separate comments are folded in below, in the item they belong to.
Four apparent conflicts between closed rulings and prototype/v1 Readiness Audit.html — the design's own ship/defer document, which our tickets had never cited. Two were real and are now settled; two were artifacts of misreading the audit.
1. Free tier: three lessons, or all of Module 1? — SETTLED: three lessons
Ruling (owner, 28 Aug): ADR-0007 stands. Free is m1l1–m1l3, and all of Module 1 stays deliberately postponed.
This was never genuinely open. The ADR, dated 22 Aug, both widened the tier from two lessons to three and named "all of Module 1" in its Rejected list with the cost written out — ~22% of a 129-minute product, the module-complete free arc consciously forgone, the wall held at m1l4. The audit's 18 Aug amendment says otherwise, and prototype/gating.jsx:20 states it outright, but docs/README.md's precedence rule settles this shape of conflict without an owner: product rulings win over the prototype — "the prototype shows what was designed; the rulings say what ships." The ADR also post-dates the amendment.
ADR-0007 now carries a dated Reaffirmed: line so this is not re-litigated a third time. Nothing in the app moves: no lesson-level entitlement gate exists yet, and #215 is unstarted.
2. Is the paid product "BrewPath Plus" or "Foundations"? — NOT A CONFLICT
Struck 25 Aug. The audit marks its subscription section "Superseded by the Aug 2026 amendment above" and says the copy below it "stands as the historical record of the decision this amendment replaces." That historical text was quoted here as if it were live.
Every source agrees: Design System §6, the audit's live amendment and #55 all say Foundations, one-time purchase. What remains is a copy decision, not a scope one — the app's user-facing string says "BrewPath Plus" where the design calls the product Foundations. Settle it whenever the paywall is written (#89).
3. The onboarding question flow is v2 — but the app built it — SETTLED: the audit wins
Ruling (owner, 28 Aug), recorded as ADR-0010 (#408): v1 onboarding is
loading → Welcome → Meet Roasty → name (optional) → paywall
Goal, brewer, level and reminders leave v1, as the audit deferred them — "nothing reads the answers yet, so they cost taps and return nothing."
The name step stays on one condition: the answer becomes editable. Nothing else in v1 can supply a name — no account, no Sign in with Apple, Firebase gated off — and Profile's greeting already carries the design's Hello, there. fallback. The step is worth one skippable tap only if a typo can be corrected afterwards.
4. The free mini-game pair — NOT A CONFLICT, and #125 is correct
Struck 25 Aug by Audit D. The audit's 19 Aug amendment names True or false and Match the facts as the free pair, citing "the DS access-tier table" — but that table's data (prototype/ds-content.js:1742-1756) marks three rows FREE, and its rule text says so: "today True or false, Match the facts and Name the origin, the three M1-topic games." The amendment matches a stale comment sitting above the table (ds-content.js:1737-1740), not the data beneath it. The app agrees with the data.
Where the build lives
|
Ticket |
| The three intro screens — Welcome built from nothing, Meet Roasty split into its own route, Loading's tap cue |
#383 |
Goal and brewer out of the flow; the name screen's 3 OF 3 eyebrow |
#407 |
| Settings can edit the name |
#406 |
| Paywall at the end of onboarding |
#242 |
All four are open and listed in the #368 tracker.
What still needs the owner
The name screen has no design source. The prototype has no name step anywhere, so its parity cannot be built until one is authored. #407 records this as a known divergence and forbids inventing a treatment — a guess becomes the thing the design would then have to match.
Four stale lines survive in prototype/, which agents may not edit:
- the DS access-tier comment (
ds-content.js:1737-1740) — the retired two-format model
- the audit's 19 Aug "free mini-game pair" line — same
- the paywall benefit row "The five premium formats" (
customize.jsx:162-168) — same
- the audit's free-tier line ("all of Module 1") and its v1 onboarding line ("Meet Roasty goes straight to Learn") — both overtaken by ADR-0007 and ADR-0010
Four apparent conflicts between closed rulings and
prototype/v1 Readiness Audit.html— the design's own ship/defer document, which our tickets had never cited. Two were real and are now settled; two were artifacts of misreading the audit.1. Free tier: three lessons, or all of Module 1? — SETTLED: three lessons
Ruling (owner, 28 Aug): ADR-0007 stands. Free is
m1l1–m1l3, and all of Module 1 stays deliberately postponed.This was never genuinely open. The ADR, dated 22 Aug, both widened the tier from two lessons to three and named "all of Module 1" in its Rejected list with the cost written out — ~22% of a 129-minute product, the module-complete free arc consciously forgone, the wall held at
m1l4. The audit's 18 Aug amendment says otherwise, andprototype/gating.jsx:20states it outright, but docs/README.md's precedence rule settles this shape of conflict without an owner: product rulings win over the prototype — "the prototype shows what was designed; the rulings say what ships." The ADR also post-dates the amendment.ADR-0007 now carries a dated
Reaffirmed:line so this is not re-litigated a third time. Nothing in the app moves: no lesson-level entitlement gate exists yet, and #215 is unstarted.2. Is the paid product "BrewPath Plus" or "Foundations"? — NOT A CONFLICT
Struck 25 Aug. The audit marks its subscription section "Superseded by the Aug 2026 amendment above" and says the copy below it "stands as the historical record of the decision this amendment replaces." That historical text was quoted here as if it were live.
Every source agrees: Design System §6, the audit's live amendment and #55 all say Foundations, one-time purchase. What remains is a copy decision, not a scope one — the app's user-facing string says "BrewPath Plus" where the design calls the product Foundations. Settle it whenever the paywall is written (#89).
3. The onboarding question flow is v2 — but the app built it — SETTLED: the audit wins
Ruling (owner, 28 Aug), recorded as ADR-0010 (#408): v1 onboarding is
loading → Welcome → Meet Roasty → name (optional) → paywall
Goal, brewer, level and reminders leave v1, as the audit deferred them — "nothing reads the answers yet, so they cost taps and return nothing."
The name step stays on one condition: the answer becomes editable. Nothing else in v1 can supply a name — no account, no Sign in with Apple, Firebase gated off — and Profile's greeting already carries the design's
Hello, there.fallback. The step is worth one skippable tap only if a typo can be corrected afterwards.4. The free mini-game pair — NOT A CONFLICT, and #125 is correct
Struck 25 Aug by Audit D. The audit's 19 Aug amendment names True or false and Match the facts as the free pair, citing "the DS access-tier table" — but that table's data (
prototype/ds-content.js:1742-1756) marks three rowsFREE, and its rule text says so: "today True or false, Match the facts and Name the origin, the three M1-topic games." The amendment matches a stale comment sitting above the table (ds-content.js:1737-1740), not the data beneath it. The app agrees with the data.Where the build lives
3 OF 3eyebrowAll four are open and listed in the #368 tracker.
What still needs the owner
The name screen has no design source. The prototype has no name step anywhere, so its parity cannot be built until one is authored. #407 records this as a known divergence and forbids inventing a treatment — a guess becomes the thing the design would then have to match.
Four stale lines survive in
prototype/, which agents may not edit:ds-content.js:1737-1740) — the retired two-format modelcustomize.jsx:162-168) — same