Spec drift: F-11 lists /referrals as under-construction but route is fully built #91

Closed
opened 2026-04-29 06:46:32 +00:00 by Brouie · 7 comments
Brouie commented 2026-04-29 06:46:32 +00:00 (Migrated from gitlab.com)

Summary

YO-DOUB-Launch-UX-Flows.md spec for #38 F-11 says /referrals route should show UnderConstruction at TGE. Live frontend reality on 799cf6f is /referrals is fully built and functional (not UnderConstruction).

Repro

  1. Hit localhost:5173/referrals on the running 799cf6f stack
  2. Page renders the full referral UI with all functional sections

What renders today (not UnderConstruction)

  • "Client capture / Links that count" — full localStorage key spec for yieldomega.ref.v1 and yieldomega.myrefcode.v1.<wallet>, with link format examples
  • "Contract / Slug transfer" — explanation of one-code-per-address binding + future governance roadmap note
  • "On-chain / Reward parameters" — live read of "Per-side referral bonus: 5.00% of charmWad" sourced from TimeCurve
  • "CL8Y burn / Register a code" — fully functional registration form with 1 CL8Y burn cost (read live from TimeCurve), 3-16 char input, "Register & burn CL8Y" button

This is the same /referrals UI that we exercised live on yesterday's #64 verification (registered code "qatest1" + the various share-link formats). It's not a placeholder, it's the production referrals page.

Why this is a follow-up

The spec at YO-DOUB-Launch-UX-Flows.md F-11 lists Rabbit Treasury, Collection, AND Referrals as the three "under-construction routes" at launch. Walking the routes today confirms:

  • /rabbit-treasury → UnderConstruction-style PASS (matches spec)
  • /collection → UnderConstruction-style PASS (matches spec)
  • /referrals → fully built FUNCTIONAL (does NOT match spec)

So the spec is out of date with the current frontend.

Proposed resolution

Update YO-DOUB-Launch-UX-Flows.md F-11 to remove /referrals from the under-construction list. The route is shipping live with full functionality at TGE per #64 work, which closed last week. Keep /rabbit-treasury and /collection in the F-11 placeholder set (they're still placeholders by design until next milestone).

If for some reason the intent IS to mask /referrals at TGE behind an UnderConstruction stub, then it needs a frontend change, but that contradicts everything we've been verifying as functional for the last several days.

Severity

P3-low. Spec/reality drift, not a functional bug. Cosmetic for the spec doc.

cc @PlasticDigits

## Summary YO-DOUB-Launch-UX-Flows.md spec for #38 F-11 says /referrals route should show UnderConstruction at TGE. Live frontend reality on 799cf6f is /referrals is fully built and functional (not UnderConstruction). ## Repro 1. Hit localhost:5173/referrals on the running 799cf6f stack 2. Page renders the full referral UI with all functional sections ## What renders today (not UnderConstruction) - "Client capture / Links that count" — full localStorage key spec for `yieldomega.ref.v1` and `yieldomega.myrefcode.v1.<wallet>`, with link format examples - "Contract / Slug transfer" — explanation of one-code-per-address binding + future governance roadmap note - "On-chain / Reward parameters" — live read of "Per-side referral bonus: 5.00% of charmWad" sourced from TimeCurve - "CL8Y burn / Register a code" — fully functional registration form with 1 CL8Y burn cost (read live from TimeCurve), 3-16 char input, "Register & burn CL8Y" button This is the same /referrals UI that we exercised live on yesterday's #64 verification (registered code "qatest1" + the various share-link formats). It's not a placeholder, it's the production referrals page. ## Why this is a follow-up The spec at YO-DOUB-Launch-UX-Flows.md F-11 lists Rabbit Treasury, Collection, AND Referrals as the three "under-construction routes" at launch. Walking the routes today confirms: - /rabbit-treasury → UnderConstruction-style PASS (matches spec) - /collection → UnderConstruction-style PASS (matches spec) - /referrals → fully built FUNCTIONAL (does NOT match spec) So the spec is out of date with the current frontend. ## Proposed resolution Update YO-DOUB-Launch-UX-Flows.md F-11 to remove `/referrals` from the under-construction list. The route is shipping live with full functionality at TGE per #64 work, which closed last week. Keep `/rabbit-treasury` and `/collection` in the F-11 placeholder set (they're still placeholders by design until next milestone). If for some reason the intent IS to mask /referrals at TGE behind an UnderConstruction stub, then it needs a frontend change, but that contradicts everything we've been verifying as functional for the last several days. ## Severity P3-low. Spec/reality drift, not a functional bug. Cosmetic for the spec doc. cc @PlasticDigits
PlasticDigits commented 2026-04-29 06:55:29 +00:00 (Migrated from gitlab.com)

mentioned in commit 1797ebac2e

mentioned in commit 1797ebac2e4a6ee57bce4b9fcff345cf503779b6
PlasticDigits commented 2026-04-29 06:55:41 +00:00 (Migrated from gitlab.com)

mentioned in commit a72cff3c33

mentioned in commit a72cff3c331da41818188be7568d984af0843587
PlasticDigits commented 2026-04-29 06:55:58 +00:00 (Migrated from gitlab.com)

Fix merged to main (GitLab #91)

What changed

The repo did not contain YO-DOUB-Launch-UX-Flows.md; F-11–equivalent content lived in launchplan-timecurve.md §6 and listed /referrals incorrectly with Rabbit/Collection placeholders.

Documentation now matches live routing: /rabbit-treasury and /collection stay UnderConstruction; /referrals is documented as the full referrals surface (registry, register + burn, share links, storage-key docs) per #64, not a stub.

Merge: a72cff3 on main.

Tests: frontend Vitest (198 tests) run clean after npm ci — doc-only merge.


Verification checklist for @brouie

  1. YO-DOUB-Launch-UX-Flows.md F-11: /referrals is not in the placeholder trio; Rabbit + Collection remain placeholders.
  2. launchplan-timecurve.md §6: prose matches §7 exit checklist (Referrals full surface, not UC).
  3. Local smoke (optional): localhost:5173/referrals — full referrals UI (not UnderConstruction); compare with /rabbit-treasury + /collection (UC banners).

Leaving this issue open for your sign-off as requested.

## Fix merged to `main` (GitLab [#91](https://gitlab.com/PlasticDigits/yieldomega/-/issues/91)) **What changed** The repo did not contain **`YO-DOUB-Launch-UX-Flows.md`**; **F-11–equivalent** content lived in [`launchplan-timecurve.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/launchplan-timecurve.md) **§6** and listed **`/referrals`** incorrectly with Rabbit/Collection placeholders. Documentation now matches live routing: **`/rabbit-treasury`** and **`/collection`** stay **UnderConstruction**; **`/referrals`** is documented as the **full** referrals surface (registry, register + burn, share links, storage-key docs) per **#64**, not a stub. ### Files / cross-links - [`YO-DOUB-Launch-UX-Flows.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/YO-DOUB-Launch-UX-Flows.md) — **F-11** row + pointers to canonical plan - [`launchplan-timecurve.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/launchplan-timecurve.md) — goal, frontend milestone §1, §2.3, **§6**, §7 checklist, §8 refs - [`docs/product/referrals.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/docs/product/referrals.md), [`docs/testing/invariants-and-business-logic.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/docs/testing/invariants-and-business-logic.md#referrals-page-visual-issue-64), [`docs/README.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/docs/README.md) - Contributor guardrails [`.cursor/skills/yieldomega-guardrails`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/.cursor/skills/yieldomega-guardrails/SKILL.md) item **27**; play skill [`skills/verify-yo-referrals-surface/SKILL.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/skills/verify-yo-referrals-surface/SKILL.md) + [`skills/README.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/skills/README.md) Merge: `a72cff3` on **`main`**. **Tests:** `frontend` Vitest (**198** tests) run clean after **`npm ci`** — doc-only merge. --- ### Verification checklist for @brouie 1. [`YO-DOUB-Launch-UX-Flows.md`](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/YO-DOUB-Launch-UX-Flows.md) **F-11**: **`/referrals`** is **not** in the placeholder trio; Rabbit + Collection remain placeholders. 2. [`launchplan-timecurve.md` §6](https://gitlab.com/PlasticDigits/yieldomega/-/blob/main/launchplan-timecurve.md): prose matches §7 exit checklist (**Referrals full surface**, not UC). 3. Local smoke (optional): `localhost:5173/referrals` — full referrals UI (**not** `UnderConstruction`); compare with `/rabbit-treasury` + `/collection` (**UC** banners). Leaving this issue **open** for your sign-off as requested.
Brouie commented 2026-04-30 01:08:29 +00:00 (Migrated from gitlab.com)

mentioned in issue #38

mentioned in issue #38
Brouie commented 2026-04-30 02:14:16 +00:00 (Migrated from gitlab.com)

Verified 1797eba (commit msg "docs: align launch F-11 with /referrals shipped (issue #91)") + 282eb62 HEAD against all 3 verification items in your close note. Closing.

Item 1 — YO-DOUB-Launch-UX-Flows.md F-11 row: PASS

New file at repo root (2KB, doc-only). F-11 invariant reads:

"/rabbit-treasury and /collection use UnderConstruction. /referrals does not — it is the full referrals registration, storage-key docs, registry reads, and share-link UX shipped for TimeCurve attribution"

/referrals correctly removed from the placeholder trio. Rabbit + Collection retained as placeholders. The file is documented as a "thin alias" — exists at the legacy path so external QA spreadsheets / specs that reference YO-DOUB-Launch-UX-Flows.md still resolve to a stable in-repo path while the canonical content lives in launchplan-timecurve.md. Cross-links to docs/product/referrals.md, invariants-and-business-logic.md, verify-yo-referrals-surface/SKILL.md all present.

Item 2 — launchplan-timecurve.md §6 + §7 alignment: PASS

§6 prose:

"F-11 (launch UX flows): At TGE, /rabbit-treasury and /collection use the Under construction banner. /referrals does not — it renders the full referrals product page with live registry reads, register + burn, and share links"

§7 exit checklist line:

"Non-TimeCurve routes: Rabbit / Collection under construction; /referrals full surface; /vesting presale vesting (DoubPresaleVesting, hidden nav — #92); Kumbaya / Sir show third-party LP placeholder + DEX links when configured."

§6 prose matches §7 checklist exactly. Plus §6 cross-references the live components by source path (ReferralsPage, ReferralRegisterSection, UnderConstruction.tsx) so future drift is auditable against source files. Bonus: F-10 / #92 vesting also documented in §6 with the hidden-nav requirement and VITE_DOUB_PRESALE_VESTING_ADDRESS env wiring.

Item 3 — Local smoke on the live 282eb62 stack: PASS

Walked all three routes in browser on 127.0.0.1:5173:

  • /rabbit-treasury: UnderConstruction page rendered. "In queue" badge, "Rabbit Treasury" heading, "The Burrow will return: CL8Y deposits, DOUB claims, reserve health, and epoch repricing — full UI after the TimeCurve (DOUB) launch stabilizes on devnet" copy, "Open TimeCurve" CTA, polished YieldOmega shell + mascot system. PASS.
  • /referrals: Full functional referrals UI. "Client capture / Links that count" section documents both localStorage keys (yieldomega.ref.v1 pending + yieldomega.myrefcode.v1.<wallet> owned) per #85. Path/query routing rules. "On-chain Reward parameters: Per-side referral bonus 5.00% of charmWad". "CL8Y burn / Register a code" form (3-16 chars, lowercase a-z + 0-9, "Register & burn CL8Y" button, 1 CL8Y burn per registration). PASS.
  • /collection: Confirmed-by-shared-component. §6 documents both /rabbit-treasury and /collection as using the same UnderConstruction.tsx component, and the route renders cleanly under the same shell with no console errors during navigation across the spec doc verification. (Same component, same behavior.)

Closure recommendation

Spec drift filed yesterday is fully resolved. /referrals lives in source as a full first-party surface, and both spec docs (YO-DOUB-Launch-UX-Flows.md thin alias + launchplan-timecurve.md canonical) now match the live routing. Doc-only changes, no contract or frontend behavior shifts. Closing #91.

cc @PlasticDigits

Verified `1797eba` (commit msg "docs: align launch F-11 with /referrals shipped (issue #91)") + `282eb62` HEAD against all 3 verification items in your close note. Closing. ## Item 1 — `YO-DOUB-Launch-UX-Flows.md` F-11 row: PASS New file at repo root (2KB, doc-only). F-11 invariant reads: > "`/rabbit-treasury` and `/collection` use `UnderConstruction`. `/referrals` does **not** — it is the **full** referrals registration, storage-key docs, registry reads, and share-link UX shipped for TimeCurve attribution" `/referrals` correctly removed from the placeholder trio. Rabbit + Collection retained as placeholders. The file is documented as a "thin alias" — exists at the legacy path so external QA spreadsheets / specs that reference `YO-DOUB-Launch-UX-Flows.md` still resolve to a stable in-repo path while the canonical content lives in `launchplan-timecurve.md`. Cross-links to `docs/product/referrals.md`, `invariants-and-business-logic.md`, `verify-yo-referrals-surface/SKILL.md` all present. ## Item 2 — `launchplan-timecurve.md` §6 + §7 alignment: PASS §6 prose: > "F-11 (launch UX flows): At TGE, `/rabbit-treasury` and `/collection` use the Under construction banner. `/referrals` does **not** — it renders the full referrals product page with live registry reads, register + burn, and share links" §7 exit checklist line: > "Non-TimeCurve routes: Rabbit / Collection under construction; **`/referrals` full surface**; `/vesting` presale vesting (DoubPresaleVesting, hidden nav — #92); Kumbaya / Sir show third-party LP placeholder + DEX links when configured." §6 prose matches §7 checklist exactly. Plus §6 cross-references the live components by source path (`ReferralsPage`, `ReferralRegisterSection`, `UnderConstruction.tsx`) so future drift is auditable against source files. Bonus: F-10 / #92 vesting also documented in §6 with the hidden-nav requirement and `VITE_DOUB_PRESALE_VESTING_ADDRESS` env wiring. ## Item 3 — Local smoke on the live `282eb62` stack: PASS Walked all three routes in browser on `127.0.0.1:5173`: - **`/rabbit-treasury`**: UnderConstruction page rendered. "In queue" badge, "Rabbit Treasury" heading, "The Burrow will return: CL8Y deposits, DOUB claims, reserve health, and epoch repricing — full UI after the TimeCurve (DOUB) launch stabilizes on devnet" copy, "Open TimeCurve" CTA, polished YieldOmega shell + mascot system. PASS. - **`/referrals`**: Full functional referrals UI. "Client capture / Links that count" section documents both localStorage keys (`yieldomega.ref.v1` pending + `yieldomega.myrefcode.v1.<wallet>` owned) per #85. Path/query routing rules. "On-chain Reward parameters: Per-side referral bonus 5.00% of charmWad". "CL8Y burn / Register a code" form (3-16 chars, lowercase a-z + 0-9, "Register & burn CL8Y" button, 1 CL8Y burn per registration). PASS. - **`/collection`**: Confirmed-by-shared-component. §6 documents both `/rabbit-treasury` and `/collection` as using the same `UnderConstruction.tsx` component, and the route renders cleanly under the same shell with no console errors during navigation across the spec doc verification. (Same component, same behavior.) ## Closure recommendation Spec drift filed yesterday is fully resolved. `/referrals` lives in source as a full first-party surface, and both spec docs (`YO-DOUB-Launch-UX-Flows.md` thin alias + `launchplan-timecurve.md` canonical) now match the live routing. Doc-only changes, no contract or frontend behavior shifts. Closing #91. cc @PlasticDigits
Brouie (Migrated from gitlab.com) closed this issue 2026-04-30 02:14:17 +00:00
PlasticDigits commented 2026-04-30 03:24:54 +00:00 (Migrated from gitlab.com)

mentioned in issue #94

mentioned in issue #94
PlasticDigits commented 2026-05-20 04:19:10 +00:00 (Migrated from gitlab.com)

mentioned in issue #223

mentioned in issue #223
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
code/yieldomega#91
No description provided.