UI inventory and owner approval ledger
Headline
The owner has explicitly approved 31 distinct numbered surfaces, not 38. The rulings' named lists contain 31 unique IDs; the unexplained seven are exactly Home (024) and the six OSL Chats scenes (036–041) that D68 still says are wrong. Calling those seven approved would claim a proof that did not happen. [RULINGS D46, D56, D58, D62, D67, D68]
The complete established approval set is: 001, 002, 004, 006, 008, 009, 010, 011, 012, 013, 014, 015, 016, 018, 019, 020, 021, 022, 023, 025, 026, 027, 028, 029, 030, 031, 032, 033, 034, 035, 043. D58’s running counter jumps from 15 to 22 while naming only 022; later counters propagate that seven-screen error. [RULINGS D56, D58, D62, D67, D68]
The design folder is not a clean completion list. It contains 72 files, but 33 still render the retired Home / Inbox / People / Privacy / Activity / Connections rail, one file declares itself retired, several files are deliberately paired to unrelated routes, and the actual recipient-side view-once journey has no complete design. [DESIGN UI-FINAL-INSTRUCTIONS/*.dc.html:4; SPEC 01-FULL-SPEC.md:308; RULINGS D41, D45(b)]
The owner’s suspicion about the 69-item review section is confirmed by its own canonical code: 74 of 76 owner-review captures predated 109 UI commits, and the file records his complaint that they were old UI. The review page also accepts live frames, static captures, or copied words, so an entry’s presence does not prove the current shipping surface was exercised. [CODE integration/full:apps/osl-hub-ui/scripts/task-7997-owner-reviews-lib.mjs:161-176; CODE integration/full:apps/osl-hub-ui/review-harness/owner-reviews.js:14-49; TASK 7997]
What the columns mean
- Design says whether the rendered authority contains the surface. “Inside” means a distinct popup, modal, overlay, composer state, or region inside a larger
.dc.html, not its own page. [Owner instruction in this audit; RULING D46(a)] - Review site is “Yes” only when the actual surface was a named screen/region in the deployed review. A review entry that merely points at another screen is marked Proxy only. [RULING D43; TASK 7950; TASK 7997]
- Approved is “Yes” only for an explicit owner acceptance in D46/D56/D58/D62/D67/D68. A design file, a checked build task, a site entry, or approval of a parent page is not approval of a nested popup. [RULINGS D45(c), D56, D62, D67, D68]
- NEVER SEEN means no actual review-site presentation could be established. “Not established” is used where a live parent was present but the evidence does not show that the owner opened the child surface. That distinction avoids inventing either a view or an approval. [TASK 7950; TASK 7997]
Complete inventory
| Surface | Kind / product status | Design | Review site | Approved | Evidence and finding |
|---|---|---|---|---|---|
| 001 Create account | Onboarding route | Yes — Create Account.dc.html | Yes | Yes | Accepted in D62. [RULING D62; TASK 7950 screen 001] |
| 002 Create a password | Onboarding state | Yes — Create Password.dc.html | Yes | Yes | Accepted in D46. [RULING D46; TASK 7950 screen 002] |
| 003 Recovery-protection refusal | Deleted route/state | No current page | Yes, then removed | No | D48/D55 delete it; it must not return. [RULINGS D43, D48, D55] |
| 004 Recovery kit | Onboarding route | Yes — Recovery Kit.dc.html | Yes | Yes | Accepted in D46. [RULING D46; TASK 7950 screen 004] |
| 005 Recovery-word check | Deleted route | No current page | Yes, then deleted | No | Owner said the page should not exist. [RULING D43; TASK 7954] |
| 006 Identity choice, State A | Onboarding route | Yes — 006-007.dc.html | Yes | Yes | Accepted in D56 after 006/007 were combined. [RULINGS D53, D56] |
| 006/007 minted-link State B | Re-homed to Friends; stale onboarding state | Yes, stale — 006-007.dc.html:65-84 | The old 007 appeared; moved version did not | No | D53 removes State B from onboarding. The file still contains it. [RULING D53; DESIGN 006-007.dc.html:65-84] |
| 008 Stealth password | Onboarding route | Yes — Stealth Password.dc.html | Yes | Yes | Accepted in D46. [RULING D46] |
| 009 Burn password | Onboarding route | Yes — Burn Password.dc.html | Yes | Yes | Accepted in D46. [RULING D46] |
| 010 Pro code entry | Onboarding route | Yes — Pro Code.dc.html | Yes | Yes | Accepted in D46. [RULING D46] |
| 011 Pro active morph | Onboarding state | Yes — Onboarding Pro Active.dc.html | Yes | Yes | Accepted in D46. [RULINGS D45(b), D46] |
| 012 Onboarding privacy / send checks | Onboarding route | Yes — Send Checks.dc.html | Yes | Yes | Accepted in D46 after the authority pairing was corrected. [RULINGS D45(b), D46] |
| 013 Choose connection | Onboarding route | Yes — Connection Choice.dc.html | Yes | Yes | Accepted in D56. [RULING D56] |
| 014 Old-message defaults | Onboarding route/state | Yes — Old Messages.dc.html | Yes | Yes | Accepted in D46; earlier accepted in D43. [RULINGS D43, D46] |
| 015 Sending behavior | Onboarding route | Yes — Send Mode.dc.html | Yes | Yes | Accepted in D56. [RULINGS D50, D56] |
| 016 Cover insertion | Onboarding route | Yes — Cover Insertion.dc.html | Yes | Yes | Accepted in D56. [RULING D56] |
| 017 Visibility onboarding | Deleted route; stale design | Yes, stale — Onboarding Visibility.dc.html | Yes, then deleted | No | D43 deletes it; the spec says no Visibility onboarding page, but its manifest still says routed. [RULING D43; SPEC 01-FULL-SPEC.md:308; DESIGN Onboarding Visibility.dc.html:4] |
| 018 Browser import | Onboarding route | Yes — Onboarding Browser.dc.html | Yes | Yes | D68 accepts it only after the multi-profile behavior was demonstrated. [RULING D68] |
| Browser profile dropdown | Popover within 018 | Inside — Onboarding Browser.dc.html:27-59 | Yes, behavior demonstrated | No separate approval | D68 accepts numbered screen 018 after this behavior was proven, but does not separately accept the open dropdown UI. [RULINGS D62, D68; owner UI rule] |
| Browser “none found” | Empty state within 018 | Inside — Onboarding Browser.dc.html:27-59 | Not established | No separate approval | The approved ruling proves the real multi-profile path, not this synthetic empty state. [RULING D68; DESIGN Onboarding Browser.dc.html:27-59] |
| 019 Detected apps | Onboarding route | Yes — Onboarding Detected.dc.html | Yes | Yes | Accepted in D68 after the Telegram/logo defect was repaired. [RULINGS D67, D68] |
| Merged “Set up your apps” | Retired design / unpaired route family | Yes, explicitly retired — Onboarding Install.dc.html | NEVER SEEN as this surface | No | Its manifest calls it retired and lists unpaired runtime routes. Keeping it as a parity gate buys no product safety. [DESIGN Onboarding Install.dc.html:4; RULING D10(a)] |
| 020 Unlock | Onboarding route | Yes — Sign In Final.dc.html | Yes | Yes | Accepted in D62. [RULING D62] |
| Returning-user welcome | Onboarding route | Yes — Onboarding Welcome Returning.dc.html | NEVER SEEN | No | This is a distinct rendered design surface, not the approved 020 unlock page. [DESIGN Onboarding Welcome Returning.dc.html; RULING D62] |
| 021 Password recovery | Onboarding route | Yes — Forgot Password.dc.html | Yes | Yes | Accepted in D56. [RULING D56] |
| 022 Key lost | Onboarding route | Yes — Key Lost.dc.html | Yes | Yes | Accepted in D58 and listed again in D67. [RULINGS D58, D67] |
| 023 Restore account | Onboarding route | Yes — Restore Account.dc.html | Yes | Yes | Accepted in D56. [RULING D56] |
| 024 Home base | Workspace route | Yes — Home.dc.html | Yes | No | D68 accepts how it looks but still says the notification-bell click is wrong; it is not in D68’s accepted list. [RULING D68] |
| Home notifications popover | Popover | Inside — Home.dc.html:35-60 | Not established; 024 was live | No | The outstanding bell behavior is exactly this surface boundary. [RULING D68; DESIGN Home.dc.html:35-60] |
| Home empty | Empty state; old rail in design | Yes — Home Empty.dc.html | NEVER SEEN | No | Standalone state was not one of the numbered review screens. It renders retired shell chrome. [DESIGN Home Empty.dc.html:4; SPEC 01-FULL-SPEC.md:308] |
| Home notifications empty | Empty state; retired by spec | Yes — Home Notifications Empty.dc.html | NEVER SEEN | No | TASK 6892 says the Home notifications panel is out; the file still exists. [TASK 6892; DESIGN Home Notifications Empty.dc.html:4] |
| Home notifications off | Off state; retired by spec | Yes — Home Notifications Off.dc.html | NEVER SEEN | No | TASK 6892 excludes this panel. [TASK 6892; DESIGN Home Notifications Off.dc.html:4] |
| Home tile customize/hide mode | Overlay/edit mode | Inside — Home.dc.html:63-104 | Proxy only via TASK 0849 entry | No | The 69-review manifest points to a subject route, but no owner acceptance exists. [TASKS 0849, 7997; DESIGN Home.dc.html:63-104] |
| Home Friends panel closed/open | Drawer/panel | Inside — Home.dc.html:66-67,110-225 | Proxy only via screen 024 | No | TASK 0833’s review entry points at generic Home rather than a driven panel state. [TASKS 0833, 7997] |
| Home Friends add/list/pending | Panel states | Inside — Home.dc.html:113-151 | NEVER SEEN as driven states | No | No numbered review surface or verdict names these states. [DESIGN Home.dc.html:113-151; RULING D68] |
| Home friend detail/profile | Nested page/panel | Inside — Home.dc.html:152-205 | Proxy only via TASK 0841 | No | TASK 0841 points at screen 027, not the actual Home friend detail. [TASKS 0841, 7997] |
| Home outgoing invitations | Panel | Inside — Home.dc.html:207-225 | NEVER SEEN | No | No review screen or ruling names it. [DESIGN Home.dc.html:207-225] |
| Burn-account confirmation | Modal; old rail in design | Yes — Burn Dialog Account.dc.html | NEVER SEEN | No | Separate destructive modal was not in the 43-screen pack. [DESIGN Burn Dialog Account.dc.html:4; TASK 6892] |
| Generic toast | Toast | Yes — Toast.dc.html | NEVER SEEN | No | A design leaf exists; no reviewed screen or approval names it. [DESIGN Toast.dc.html:4; RULINGS D46-D68] |
| Update dialog | Modal; old rail in design | Yes — Update Dialog.dc.html | NEVER SEEN | No | D45(b) says it was wrongly used as the About reference. [RULING D45(b); DESIGN Update Dialog.dc.html:4] |
| Public Website Home | Non-app page / stale pairing | Yes — Website Home.dc.html | NEVER SEEN as app UI | No | README calls it the public site; D45(b) says using it for Appearance was wrong. [RULING D45(b); DESIGN README.md:53; DESIGN Website Home.dc.html:4] |
| 025 Settings Account | Settings region | Inside — Settings.dc.html | Yes | Yes | Accepted in D67. [RULING D67] |
| Settings Account empty | Empty state; old rail in file | Yes — Settings Account Empty.dc.html | NEVER SEEN | No | A state file is not the accepted populated Account region. [DESIGN Settings Account Empty.dc.html:4; RULING D67] |
| Settings Account loading | Loading state; old rail in file | Yes — Settings Account Loading.dc.html | NEVER SEEN | No | No review verdict names it. [DESIGN Settings Account Loading.dc.html:4] |
| Settings Account locked | Locked state; old rail in file | Yes — Settings Account Locked.dc.html | NEVER SEEN | No | No review verdict names it. [DESIGN Settings Account Locked.dc.html:4] |
| Settings Account unavailable | Error state; old rail in file | Yes — Settings Account Unavailable.dc.html | NEVER SEEN | No | No review verdict names it. [DESIGN Settings Account Unavailable.dc.html:4] |
| 026 Settings Apps | Settings region | Inside — Settings.dc.html | Yes | Yes | Accepted in D67 after behavior work. [RULING D67] |
| 027 Settings Friends | Settings region | Inside — Settings.dc.html | Yes | Yes | Accepted in D67. [RULING D67] |
| 028 Settings Privacy | Settings region | Inside — Settings.dc.html | Yes | Yes | Accepted in D67. [RULING D67] |
| Settings Security | Settings region | Inside — Settings.dc.html:387-529 | NEVER SEEN as its own review region | No | It was missing from the numbered pack; D57 says it ships. Shipping is not visual approval. [RULINGS D45(b), D57] |
| 029 Settings Whitelist | Settings region | Inside — Settings.dc.html | Yes | Yes | Accepted in D67. [RULING D67] |
| 030 Settings Scrub | Settings region/route | Yes — Scrub.dc.html | Yes | Yes | Accepted in D46, with behavior explicitly still needing real wiring. [RULING D46] |
| 031 Cleanup / Device Storage | Onboarding route after 016 | Yes — Device Storage.dc.html | Yes | Yes | Accepted in D68 after slider behavior was fixed; its manifest still says Settings and is stale. [RULINGS D46(b), D68; DESIGN Device Storage.dc.html:4] |
| 032 Settings Notifications | Settings region | Inside — Settings.dc.html | Yes | Yes | Accepted in D62. [RULING D62] |
| Notifications Scrub-scope expansion | Disclosure/expanded state | Inside — Settings.dc.html:161-171 | Not established | No separate approval | Approval of 032 does not prove this expansion was opened. [DESIGN Settings.dc.html:161-171; RULING D62] |
| 033 Settings Window and sounds | Settings region | Inside — Settings.dc.html | Yes | Yes | Accepted in D62 after the owner’s design added it. [RULINGS D57, D62] |
| 034 Settings Appearance | Settings region | Inside — Settings.dc.html | Yes | Yes | Accepted in D67. [RULING D67] |
| Appearance profile/account-visibility editor | Nested settings panel | Inside — Settings.dc.html:198-301 | Not established | No separate approval | The parent region passed; no ruling names this editor state. [DESIGN Settings.dc.html:198-301; RULING D67] |
| 035 Settings About | Settings region | Inside — Settings.dc.html | Yes | Yes | Accepted in D62. [RULING D62] |
| Settings change-password modal: main | Modal | Inside — Settings.dc.html:28-61 | NEVER SEEN as modal | No | No reviewed ID or ruling names the modal. [DESIGN Settings.dc.html:28-61] |
| Settings change-password modal: stealth | Modal state | Inside — Settings.dc.html:28-61 | NEVER SEEN | No | Parent-region approval cannot be inherited. [DESIGN Settings.dc.html:28-61; owner UI rule] |
| Settings change-password modal: burn | Modal state | Inside — Settings.dc.html:28-61 | NEVER SEEN | No | Parent-region approval cannot be inherited. [DESIGN Settings.dc.html:28-61; owner UI rule] |
| Settings “Resist screenshots” control | Stale control in accepted file | Inside — Settings.dc.html:469 | Unknown | No | Current spec says this switch was removed. Cut it; matching a poisoned control is negative work. [SPEC 01-FULL-SPEC.md:314; DESIGN Settings.dc.html:469] |
| Arrange tiles | Workspace edit route | No clean dedicated final-design page | Present as TASK 0849 entry | No | Route manifest marks it unreferenced; owner-review entry is not an approval. [PROOF 7049-route-design-manifest.json; TASKS 0849, 7997] |
| Tile status detail | Routed/page state | No dedicated design page | Proxy only via Home in TASK 0857 | No | The subject points at screen 024 rather than the status page. [TASKS 0857, 7997] |
| Mullvad workspace | Workspace route | No current design page | NEVER SEEN | No | Live route is unreferenced in the route/design manifest. [PROOF 7049-route-design-manifest.json; CODE integration/full:apps/osl-hub-ui/src/main.ts:365-366] |
| Onboarding Mullvad | Onboarding route | No current design page | NEVER SEEN | No | Explicitly unpaired in Onboarding Install.dc.html. [DESIGN Onboarding Install.dc.html:4; PROOF 7049-route-design-manifest.json] |
| Onboarding silent-visible | Legacy live route, design deleted | No current page | NEVER SEEN | No | Current code union still lists it while EDITS says deleted. Cut the route instead of designing it. [CODE integration/full:apps/osl-hub-ui/src/main.ts:473; DESIGN EDITS.md:84-85] |
| Onboarding tutorial route | Legacy live route, tutorial deleted | No current page | NEVER SEEN | No | EDITS deletes the tutorial set, yet code still lists the route. [CODE integration/full:apps/osl-hub-ui/src/main.ts:473; DESIGN EDITS.md:70-71] |
| Onboarding apps route | Legacy live route, merged/deleted | No clean one-to-one page | NEVER SEEN | No | EDITS says the page was deleted; the live union still lists it. [CODE integration/full:apps/osl-hub-ui/src/main.ts:473; DESIGN EDITS.md:96-97] |
| Onboarding install route | Legacy live route / unreferenced | No valid current pairing | NEVER SEEN | No | The manifest calls the merged design retired and route accounting calls runtime install unreferenced. [DESIGN Onboarding Install.dc.html:4; PROOF 7049-route-design-manifest.json] |
| Onboarding decoy route | Forbidden live route | No current page | NEVER SEEN | No | Spec says no decoy workspace; code still lists decoy. Cut it. [SPEC 01-FULL-SPEC.md:308; CODE integration/full:apps/osl-hub-ui/src/main.ts:473] |
| Onboarding forward-secrecy picker, empty | Route using old-rail design | Yes — Native Protect Picker Empty.dc.html | NEVER SEEN | No | It is a separate picker state, not an approved numbered screen. [DESIGN Native Protect Picker Empty.dc.html:4] |
| Native protection picker, populated | Picker state using old rail | Yes — Native Protect Picker Populated.dc.html | NEVER SEEN | No | No acceptance names it. [DESIGN Native Protect Picker Populated.dc.html:4] |
| Owned confirmation / verification | Modal/page using old rail | Yes — Owned Confirmation Verify.dc.html | NEVER SEEN | No | Its manifest points at the deleted recovery-check lineage. [DESIGN Owned Confirmation Verify.dc.html:4; RULING D43] |
| Service page | Workspace route using old rail design | Yes — Service.dc.html | Present in older owner tasks; not in 43-screen pack | No | D41 says the old rail is wrong; no D46-D68 acceptance names Service. [RULING D41; DESIGN Service.dc.html:4] |
| Service local-protected sheet: initial | Sheet state using old rail | Yes — Local Protected Sheet Initial.dc.html | NEVER SEEN | No | Separate state, no verdict. [DESIGN Local Protected Sheet Initial.dc.html:4] |
| Service local-protected sheet: prepared | Sheet state using old rail | Yes — Local Protected Sheet Prepared.dc.html | NEVER SEEN | No | Separate state, no verdict. [DESIGN Local Protected Sheet Prepared.dc.html:4] |
| Service local-protected sheet: ready | Sheet state using old rail | Yes — Local Protected Sheet Ready.dc.html | NEVER SEEN | No | Separate state, no verdict. [DESIGN Local Protected Sheet Ready.dc.html:4] |
| Timed-delete scheduler | Undesigned route/screen | No | NEVER SEEN | No | Owner ruled it ships but did not approve its UI. [RULING D65; CODE integration/full:apps/osl-hub-ui/src/timed-delete-scheduler-screen.ts:102-104] |
| Settings schedule | Undesigned route/screen | No | Proxy entry TASK 1467 points at generic Scrub | No | D65 says it ships; TASK 7997 does not render the actual schedule surface. [RULING D65; TASKS 1467, 7997] |
| Auto-whitelist rules | Undesigned route/screen | Wrong proxy — People In Chat Dialog Populated.dc.html:4 | Proxy entry points at screen 029 | No | The design manifest and review subject both substitute unrelated UI. [RULING D65; TASKS 0741, 7997; DESIGN People In Chat Dialog Populated.dc.html:4] |
| Friend page | Undesigned route/screen | Wrong proxy — Friends Dialog Populated.dc.html:4 | Proxy entry points at screen 027 | No | D65 says it ships; the review site did not present the actual page. [RULING D65; TASKS 0841, 7997] |
| Behaviour screen | Undesigned route/screen | No | Proxy entry points at 032 Notifications | No | This is a concrete mislabeled old/wrong-UI review entry. [RULING D65; TASKS 3167, 7997] |
| Scrub idle | Route state | Inside — Scrub.dc.html:65-75 | Generic 030 shown | No separate approval | D46 approved 030 visually, not each operational state. [RULING D46; DESIGN Scrub.dc.html:65-75] |
| Scrub running | Route state | Inside — Scrub.dc.html:65-75,142-166 | Proxy only via 030 | No | No ruling names the running state. [TASK 1436; DESIGN Scrub.dc.html:142-166] |
| Scrub stopped | Route state | Inside — Scrub.dc.html:65-75,142-166 | Proxy only via 030 | No | No ruling names the stopped state. [TASK 1436; DESIGN Scrub.dc.html:142-166] |
| Scrub what-to-find | Routed/state screen | No dedicated final page | Proxy only via 030 | No | TASK 1415 points at generic Scrub, not the driven subject. [TASKS 1415, 7997] |
| Scrub start choices | Routed/state screen | No dedicated final page | Proxy only via 030 | No | TASK 1420 points at generic Scrub. [TASKS 1420, 7997] |
| Scrub empty review | Modal using old rail design | Yes — Scrub Review Dialog Empty.dc.html | NEVER SEEN | No | No numbered review screen or approval names it. [DESIGN Scrub Review Dialog Empty.dc.html:4; TASK 6898] |
| Scrub populated review | Modal | No complete final design page | NEVER SEEN | No | Only the empty design exists; actual selection/review is a distinct state. [DESIGN Scrub Review Dialog Empty.dc.html:4; SPEC 01-FULL-SPEC.md:282-288] |
| AutoScrub activity | Screen | No dedicated final page | Proxy only via 030 | No | TASK 1479’s entry points at generic Scrub. [TASKS 1479, 7997] |
| AutoScrub purchase/Pro path | Screen/modal sequence | No dedicated final page | Proxy only via 010 Pro Code | No | TASK 1510’s review entry substitutes onboarding Pro Code. [TASKS 1510, 7997] |
| Activity | Retired route; old rail | Yes — Activity.dc.html | Early old-shell review only | No | The route is retired; matching it buys no working product. [RULING D41; SPEC 01-FULL-SPEC.md:308] |
| Activity empty | Retired empty state; old rail | Yes — Activity Empty.dc.html | NEVER SEEN as distinct state | No | Retired surface. [DESIGN Activity Empty.dc.html:4; SPEC 01-FULL-SPEC.md:308] |
| Activity off | Retired state / wrong pairing | Yes — Activity Off.dc.html | NEVER SEEN as distinct state | No | D45(b) says using it for Notifications was wrong. [RULING D45(b); DESIGN Activity Off.dc.html:4] |
| Connections | Retired route; old rail | Yes — Connections.dc.html | Early old-shell review only | No | Explicitly retired. [RULING D41; SPEC 01-FULL-SPEC.md:308] |
| Connections empty | Retired empty state; old rail | Yes — Connections Empty.dc.html | NEVER SEEN | No | Explicitly retired. [DESIGN Connections Empty.dc.html:4; SPEC 01-FULL-SPEC.md:308] |
| Inbox | Retired route; old rail | Yes — Inbox.dc.html | Early old-shell review only | No | Explicitly retired. [RULING D41; SPEC 01-FULL-SPEC.md:308] |
| Inbox empty | Retired empty state; old rail | Yes — Inbox Empty.dc.html | NEVER SEEN | No | Explicitly retired. [DESIGN Inbox Empty.dc.html:4; SPEC 01-FULL-SPEC.md:308] |
| People | Retired route; old rail | Yes — People.dc.html | Early old-shell review only | No | Explicitly retired; features were re-homed. [RULING D41; TASK 5048c] |
| People empty | Retired empty state; old rail | Yes — People Empty.dc.html | NEVER SEEN | No | Retired route state. [DESIGN People Empty.dc.html:4; TASK 5048c] |
| People key-change page | Retired page; behavior re-homed to chat banner | Yes — People Key Change.dc.html | NEVER SEEN | No | TASK 6892 says do not ship it as a page; keep the key-change banner near the composer. [TASK 6892] |
| Friends dialog empty | Dialog using old rail | Yes — Friends Dialog Empty.dc.html | NEVER SEEN | No | Separate dialog state, no verdict. [DESIGN Friends Dialog Empty.dc.html:4] |
| Friends dialog populated | Dialog / wrong route pairing | Yes — Friends Dialog Populated.dc.html | NEVER SEEN as actual dialog | No | Manifest pairs it to friend-pictures, which is a different surface. [DESIGN Friends Dialog Populated.dc.html:4; TASK 7997] |
| People-in-chat dialog empty | Dialog using old rail | Yes — People In Chat Dialog Empty.dc.html | NEVER SEEN | No | Separate dialog state, no verdict. [DESIGN People In Chat Dialog Empty.dc.html:4] |
| People-in-chat dialog populated | Dialog / wrong route pairing | Yes — People In Chat Dialog Populated.dc.html | NEVER SEEN as actual dialog | No | Manifest pairs it to auto-whitelist rules. [DESIGN People In Chat Dialog Populated.dc.html:4] |
| Privacy destination | Retired route; old rail | Yes — Privacy.dc.html | Early old-shell review only | No | Explicitly retired; settings owns privacy now. [RULING D41; SPEC 01-FULL-SPEC.md:308] |
| 036 OSL Chats active thread | Main native chat scene | Yes — OSLChats.dc.html | Yes | No | D68 still says Chats is too far left and not 1:1. [RULING D68] |
| 037 OSL Chats chat settings | Modal region | Inside — OSLChats.dc.html:255-297 | Yes | No | It appeared as a named scene but remained in the rejected six-scene Chats set. [RULINGS D45(b), D68] |
| 038 OSL Chats no friends | Empty scene; companion file is stale authority | Yes — OSLChats No Friends.dc.html and click-through state | Yes | No | D46 says the single click-through page is authority; D68 rejects Chats. [RULINGS D46(a), D68] |
| 039 OSL Chats no active thread | Empty scene; companion file is stale authority | Yes — OSLChats No Active Thread.dc.html and click-through state | Yes | No | Same rejection. [RULINGS D46(a), D68] |
| 040 OSL Chats groups empty | Empty scene; companion file is stale authority | Yes — OSLChats Groups Empty.dc.html and click-through state | Yes | No | Same rejection. [RULINGS D46(a), D68] |
| 041 OSL Chats enclaves empty | Empty scene; companion file is stale authority | Yes — OSLChats Enclaves Empty.dc.html and click-through state | Yes | No | Same rejection. [RULINGS D46(a), D68] |
| Chats friends dropdown | Popover | Inside — OSLChats.dc.html:34-52 | Not established | No | No independent verdict; parent Chats remained rejected. [DESIGN OSLChats.dc.html:34-52; RULING D68] |
| Chats conversation filters/sidebar | Main region | Inside — OSLChats.dc.html:76-170 | Yes as part of scenes | No | The shared left offset is the outstanding D68 defect. [RULING D68; DESIGN OSLChats.dc.html:76-170] |
| Chats category context menu | Popover | Inside — OSLChats.dc.html:85-115 | Not established | No | Rename/new channel/delete menu has no independent review. [DESIGN OSLChats.dc.html:85-115] |
| Chats conversation context menu | Popover | Inside — OSLChats.dc.html:135-146 | Not established | No | No verdict names it. [DESIGN OSLChats.dc.html:135-146] |
| Chats docked voice panel | Panel | Inside — OSLChats.dc.html:175-207 | Not established | No | No verdict names the joined-call state. [DESIGN OSLChats.dc.html:175-207] |
| Chats voice participant moderation | Popover | Inside — OSLChats.dc.html:189-200 | NEVER SEEN | No | No review evidence shows it opened. [DESIGN OSLChats.dc.html:189-200] |
| Chats pinned-message strip | Strip/banner | Inside — OSLChats.dc.html:241-246 | Not established | No | No independent approval. [DESIGN OSLChats.dc.html:241-246] |
| Chats bot disclosure strip | Strip/banner | Inside — OSLChats.dc.html:248-253 | Not established | No | No independent approval. [DESIGN OSLChats.dc.html:248-253] |
| Chats header overflow | Popover | Inside — OSLChats.dc.html:300-310 | NEVER SEEN | No | No review evidence shows it opened. [DESIGN OSLChats.dc.html:300-310] |
| Chats key-change block | Banner/composer gate | Inside — OSLChats.dc.html:313-321 | Not established | No | Correct re-home of key-change behavior, but unapproved UI. [TASK 6892; DESIGN OSLChats.dc.html:313-321] |
| Chats message menu + emoji row | Context menu | Inside — OSLChats.dc.html:417-441 | Not established | No | No review verdict names it. [DESIGN OSLChats.dc.html:417-441] |
| Chats members rail | Main region | Inside — OSLChats.dc.html:506-536 | Proxy only via active-thread TASK 1379 | No | TASK 1379 points at 036 but does not prove the permissions screens were driven. [TASKS 1379, 7997] |
| Chats member role/moderation | Popover | Inside — OSLChats.dc.html:513-524 | NEVER SEEN | No | No actual driven subject in the review manifest. [DESIGN OSLChats.dc.html:513-524] |
| Chats typing indicator | Ephemeral state | Inside — OSLChats.dc.html:461-466 | Not established | No | A live active thread does not establish this timed state appeared. [DESIGN OSLChats.dc.html:461-466] |
| Chats blocked-user composer banner | Banner/state | Inside — OSLChats.dc.html:469-473 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:469-473] |
| Chats chosen-audience banner | Banner/state | Inside — OSLChats.dc.html:475-480 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:475-480] |
| Chats reply composer banner | Banner/state | Inside — OSLChats.dc.html:482-487 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:482-487] |
| Chats edit composer banner | Banner/state | Inside — OSLChats.dc.html:489-494 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:489-494] |
| Chats composer | Composer | Inside — OSLChats.dc.html:496 onward | Present in 036, but not independently judged | No | The owner’s rule explicitly says the composer is its own surface; Chats was rejected. [RULING D68; DESIGN OSLChats.dc.html:496-536] |
| Chats attachment/message preview states | Message states | Inside — OSLChats.dc.html:325-455 | Not established | No | Includes attachment preview, consumed placeholder, comments, poll, spoiler, bot commands, reactions and metadata. [DESIGN OSLChats.dc.html:325-455] |
| Chats plus menu | Popover | Inside — OSLChats.dc.html:631-658 | NEVER SEEN | No | No evidence it opened on the review site. [DESIGN OSLChats.dc.html:631-658] |
| Chats attachment sheet | Modal | Inside — OSLChats.dc.html:539-579 | NEVER SEEN | No | Sender options exist, but no independent review. [DESIGN OSLChats.dc.html:539-579] |
| Chats view-once sender toggle | Control in attachment sheet | Inside — OSLChats.dc.html:539-579 | NEVER SEEN | No | Distinct from recipient open/consume UI. [DESIGN OSLChats.dc.html:539-579; owner view-once callout] |
| Chats audience picker | Modal | Inside — OSLChats.dc.html:581-607 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:581-607] |
| Chats custom timer | Popover/error state | Inside — OSLChats.dc.html:661-686 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:661-686] |
| Chats GIF picker | Popover | Inside — OSLChats.dc.html:689-700 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:689-700] |
| Chats poll composer | Modal | Inside — OSLChats.dc.html:1084-1104 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1084-1104] |
| Chats shared browser | Modal | Inside — OSLChats.dc.html:609-629 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:609-629] |
| Chats full-screen voice/video call | Overlay | Inside — OSLChats.dc.html:1106-1117 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1106-1117] |
| Chats profile card | Modal | Inside — OSLChats.dc.html:702-833 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:702-833] |
| Chats story settings | Nested modal/panel | Inside — OSLChats.dc.html:742-764 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:742-764] |
| Chats post composer/image/reply/burn | Composer/panel states | Inside — OSLChats.dc.html:766-824 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:766-824] |
| Chats story viewer | Full-screen overlay | Inside — OSLChats.dc.html:836-865 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:836-865] |
| Chats new-story composer/audience | Composer/modal | Inside — OSLChats.dc.html:867-893 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:867-893] |
| Chats group/enclave invite | Modal | Inside — OSLChats.dc.html:895-916 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:895-916] |
| Chats enclave settings | Modal | Inside — OSLChats.dc.html:918-1082 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:918-1082] |
| Chats role/permission editor | Modal region | Inside — OSLChats.dc.html:938-960 | Proxy only via TASK 1379 | No | Review entry does not drive this exact editor. [TASKS 1379, 7997; DESIGN OSLChats.dc.html:938-960] |
| Chats enclave customization | Modal region | Inside — OSLChats.dc.html:963-974 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:963-974] |
| Chats channel settings | Modal region | Inside — OSLChats.dc.html:979-1016 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:979-1016] |
| Chats create channel | Sheet/modal | Inside — OSLChats.dc.html:1019-1029 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1019-1029] |
| Chats moderation/joining | Modal region | Inside — OSLChats.dc.html:1031-1043 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1031-1043] |
| Chats housekeeping | Modal region | Inside — OSLChats.dc.html:1045-1061 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1045-1061] |
| Chats bot permissions | Modal region | Inside — OSLChats.dc.html:1063-1080 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1063-1080] |
| Chats new-conversation picker | Wizard | Inside — OSLChats.dc.html:1119-1185 | NEVER SEEN | No | Picker, DM, group and enclave scenes have no independent review. [DESIGN OSLChats.dc.html:1119-1185] |
| Chats app customization: Background | Modal pane | Inside — OSLChats.dc.html:1187-1366 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1187-1366] |
| Chats app customization: Messages | Modal pane | Inside — OSLChats.dc.html:1187-1366 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1187-1366] |
| Chats app customization: Profile | Modal pane | Inside — OSLChats.dc.html:1187-1366 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1187-1366] |
| Chats safety-number verification | Generic modal variant | Inside — OSLChats.dc.html:1368-1408 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1368-1408] |
| Chats proof/capabilities | Generic modal variants | Inside — OSLChats.dc.html:1368-1408 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1368-1408] |
| Chats burn-size picker | Generic modal variant | Inside — OSLChats.dc.html:1368-1408 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1368-1408] |
| Chats burn confirmation | Generic modal variant | Inside — OSLChats.dc.html:1368-1408 | NEVER SEEN | No | No review evidence. [DESIGN OSLChats.dc.html:1368-1408] |
| Chats tutorial/replay pill | Overlay | Inside — OSLChats.dc.html:1415-1437 | NEVER SEEN | No | No independent review. [DESIGN OSLChats.dc.html:1415-1437] |
| OSL Feed main feed/stories/composer | Route/page; mail pairing is stale | Yes — OSLFeed.dc.html:62-120 | NEVER SEEN | No | Design README says OSL Mail was cut; no D46-D68 approval names Feed. [DESIGN README.md:13; DESIGN OSLFeed.dc.html:4,62-120] |
| OSL Feed saved empty | Empty state | Inside — OSLFeed.dc.html:122-147 | NEVER SEEN | No | No review evidence. [DESIGN OSLFeed.dc.html:122-147] |
| OSL Feed saved populated | State | Inside — OSLFeed.dc.html:122-147 | NEVER SEEN | No | No review evidence. [DESIGN OSLFeed.dc.html:122-147] |
| OSL Feed profile | Nested page | Inside — OSLFeed.dc.html:150-219 | NEVER SEEN | No | No review evidence. [DESIGN OSLFeed.dc.html:150-219] |
| OSL Feed profile edit | Nested state | Inside — OSLFeed.dc.html:161-188 | NEVER SEEN | No | No review evidence. [DESIGN OSLFeed.dc.html:161-188] |
| OSL Feed story viewer | Overlay | Inside — OSLFeed.dc.html:222-248 | NEVER SEEN | No | No review evidence. [DESIGN OSLFeed.dc.html:222-248] |
| OSL Mail status | Code-only workspace route | No current design | NEVER SEEN | No | Live route is unreferenced. [PROOF 7049-route-design-manifest.json; CODE integration/full:apps/osl-hub-ui/src/main.ts:365-366] |
| OSL Notes status | Code-only workspace route | No current design | NEVER SEEN | No | Live route is unreferenced. [PROOF 7049-route-design-manifest.json; CODE integration/full:apps/osl-hub-ui/src/main.ts:365-366] |
| 042 OSL Servers | Removed from review/product set | Yes — OSLServers.dc.html | Yes | No | D46 corrected the numbering and removed 042; it was never accepted. [RULING D46(c)] |
| OSL Servers normal channel | Page region | Inside — OSLServers.dc.html:111-145 | Only inside rejected 042 | No | No acceptance. [RULING D46(c); DESIGN OSLServers.dc.html:111-145] |
| OSL Servers announcement channel | Page state | Inside — OSLServers.dc.html:147-178 | Not established | No | No acceptance. [DESIGN OSLServers.dc.html:147-178] |
| OSL Servers read-only composer | Composer state | Inside — OSLServers.dc.html:181-193 | Not established | No | Composer is a separate surface under the owner rule. [DESIGN OSLServers.dc.html:181-193] |
| OSL Servers members rail | Region | Inside — OSLServers.dc.html:197-215 | Not established | No | No acceptance. [DESIGN OSLServers.dc.html:197-215] |
| OSL Servers member profile | Modal | Inside — OSLServers.dc.html:219-238 | NEVER SEEN | No | No acceptance. [DESIGN OSLServers.dc.html:219-238] |
| 043 Discord OSL strip, default face | Carrier overlay | Yes — Strip.dc.html | Yes | Yes | Accepted in D68 after its works-to-spec condition was met. This approval stops at the reviewed default surface and expressly named behavior. [RULINGS D67, D68] |
| Strip coach tour | Nine-step overlay | Inside — Strip.dc.html:67-80,414-425 | NEVER SEEN as current overlay; D62 says it did not appear | No separate approval | D68 later accepts numbered screen 043 but does not say the owner saw or accepted the tour. [RULINGS D62, D68; owner UI rule] |
| Strip quick settings | Popover | Inside — Strip.dc.html:82-104 | Yes, defect explicitly reviewed | No separate approval | D62 names quick-settings parity; D68 accepts numbered screen 043, not this popover separately. [RULINGS D62, D68; owner UI rule] |
| Strip synthetic carrier window | Demo-only carrier backdrop | Inside — Strip.dc.html:107-181 | Yes on comparison site | No product approval | Synthetic carrier content is not the product and cannot prove real carrier UI. [RULING D45(c); DESIGN Strip.dc.html:107-181] |
| Strip carrier composer | Composer | Inside — Strip.dc.html:158-179 | Seen in synthetic comparison; real state not established | No separate approval | The owner says the composer counts separately; D68 does not name it as an approved surface. [DESIGN Strip.dc.html:158-179; owner UI rule] |
| Strip composer-unreachable warning | Warning/banner | Inside — Strip.dc.html:158-165 | Not established | No | No review verdict names the warning state. [DESIGN Strip.dc.html:158-165] |
| Strip cover wrap/slice preview | Composer state | Inside — Strip.dc.html:167-179 | Not established | No | No review verdict names it. [DESIGN Strip.dc.html:167-179] |
| Strip eye closed/open reveal | Overlay/control state | Inside — Strip.dc.html:141-146 | Synthetic state may be present; real reveal not established | No separate approval | The eye is explicitly its own surface. No ruling separately approves its open/closed real-carrier states. [SPEC 01-FULL-SPEC.md:232; DESIGN Strip.dc.html:141-146; owner UI rule] |
| Strip burn modal | Modal | Inside — Strip.dc.html:184-254 | NEVER SEEN as current modal; D56 says no menu existed | No separate approval | D68 accepts numbered screen 043, not this modal separately. [RULINGS D56, D68; owner UI rule] |
| Strip proof/readback | Modal | Inside — Strip.dc.html:256-271 | Not established | No | No verdict names it. [DESIGN Strip.dc.html:256-271] |
| Strip whitelist modal | Modal | Inside — Strip.dc.html:273-299 | Only the old incomplete popup was seen; current full modal not established | No separate approval | D56 names the full-popup defect; D68 accepts numbered screen 043, not this modal separately. [RULINGS D56, D68; owner UI rule] |
| Strip duplicate whitelist markup | Stale duplicate, not a second product surface | Inside — Strip.dc.html:378-404 | No reason to review twice | No | Delete the duplicate; preserving it buys no safety or product function. [DESIGN Strip.dc.html:273-299,378-404] |
| Strip timer editor | Modal | Inside — Strip.dc.html:301-335 | Not established | No | No verdict names this editor. [DESIGN Strip.dc.html:301-335] |
| Strip timed-message log | Modal/panel | Inside — Strip.dc.html:337-353 | NEVER SEEN | No | No verdict names it. [DESIGN Strip.dc.html:337-353] |
| Strip view-once sender settings | Modal | Inside — Strip.dc.html:357-375 | Only the old incorrect settings were seen; current modal not established | No separate approval | D56 names the incorrect settings; D68 later accepts numbered screen 043. Neither this modal nor recipient view-once has its own acceptance. [RULINGS D56, D68; owner UI rule] |
| Discord checking | Overlay state | Yes — Discord Overlay Checking.dc.html | NEVER SEEN as distinct state | No | No numbered review ID or approval names it. [DESIGN Discord Overlay Checking.dc.html:4] |
| WhatsApp overlay empty | Carrier overlay empty state | Yes — WhatsApp Overlay Empty.dc.html | NEVER SEEN | No | No review verdict. [DESIGN WhatsApp Overlay Empty.dc.html:4; SPEC 01-FULL-SPEC.md:130] |
| WhatsApp overlay draft/composer | Carrier overlay composer state | Yes — WhatsApp Overlay Draft.dc.html | NEVER SEEN | No | No review verdict. [DESIGN WhatsApp Overlay Draft.dc.html:4] |
| WhatsApp overlay error | Carrier overlay error state | Yes — WhatsApp Overlay Error.dc.html | NEVER SEEN | No | No review verdict. [DESIGN WhatsApp Overlay Error.dc.html:4] |
| Native Discord protected transcript rows | Shipping overlay state | No matching complete design page | NEVER SEEN as shipping state | No | Canonical renders pending/revealed rows inline; 043’s synthetic design does not prove them. [CODE integration/full:apps/osl-hub-ui/src/overlay.ts:1468-1517; RULING D45(c)] |
| Native Discord attachment tray | Shipping overlay tray | No dedicated final design page | NEVER SEEN | No | Shipping overlay exposes a distinct attachment surface; no approval names it. [CODE integration/full:apps/osl-hub-ui/src/overlay.html; TASK 4403] |
| Native Discord shield | Native overlay/scrim window | No design page | NEVER SEEN | No | It is a separate native window, not the reviewed Strip HTML. [CODE integration/full:apps/osl-hub/src/native_discord_overlay.rs; TASK 4403] |
| Timer editor overlay | Generic overlay | No final .dc.html | NEVER SEEN; fixture only | No | Code has a scrim/panel; screenshots are fixtures, not owner approval. [CODE integration/full:apps/osl-hub-ui/src/timer-overlay.ts:70-101; TASK 0553] |
| Recipient view-once: tap-to-open | Required recipient state | No design | NEVER SEEN | No | Design has sender settings and a consumed placeholder only. [DESIGN Strip.dc.html:357-375; DESIGN OSLChats.dc.html:370-371,539-579] |
| Recipient view-once: open image/video | Shipping native window | No design | NEVER SEEN | No | Shipping uses a bare native Win32 image viewer, not the reviewed generic fixture. [CODE integration/full:apps/osl-hub/src/native_image_viewer.rs:289-315] |
| Recipient view-once: countdown/open timer | Required state; missing visible UI | No design | NEVER SEEN | No | Native timer starts after first paint and closes the window but draws no countdown. [CODE integration/full:apps/osl-hub/src/native_image_viewer.rs:173-175,272-285] |
| Recipient view-once: close/consumed | Required state | Only placeholder — OSLChats.dc.html:370-371 | NEVER SEEN as working transition | No | “VIEWED ONCE — GONE” is demo copy, not an audited transition. [RULING D45(c); DESIGN OSLChats.dc.html:370-371] |
| Recipient view-once: second-open refusal | Required error state | No design | NEVER SEEN | No | No complete rendered recipient journey exists. [TASK 1350; CODE integration/full:apps/osl-hub-ui/src/view-once-player-screen.ts:91-104] |
| Recipient view-once: screenshot notice/result | Required notification state | No design | NEVER SEEN | No | Task requires an honest notice; no reviewed UI surface exists. [TASK 6844; DESIGN README.md:74] |
| Generic view-once overlay fixture | Dead/unwired UI module | Fixture only | Fixture, not dev-site product | No | No production importer exists; do not cite it as the shipping UI. [CODE integration/full:apps/osl-hub-ui/src/view-once-overlay.ts:74-90] |
| Generic view-once player fixture | Dead/unwired UI module | Fixture only | Fixture, not dev-site product | No | No production importer exists. [CODE integration/full:apps/osl-hub-ui/src/view-once-player-screen.ts:91-104] |
| Telegram private composer/box | Carrier-specific surface | No .dc.html | NEVER SEEN | No | No carrier-specific design/review surface exists. [CODE integration/full:apps/osl-hub-ui/src/telegram-private-box.ts:179; SPEC 01-FULL-SPEC.md:114] |
| Telegram eye/reveal state | Carrier-specific overlay/control | No .dc.html | NEVER SEEN | No | Only code/tests establish the control; no owner review. [CODE integration/full:apps/osl-hub-ui/src/telegram-eye-controls.test.ts:45-88; SPEC 01-FULL-SPEC.md:114] |
| Signal private composer/box | Carrier-specific surface | No .dc.html | NEVER SEEN | No | No carrier-specific design/review surface exists. [CODE integration/full:apps/osl-hub-ui/src/signal-private-box.ts:192; SPEC 01-FULL-SPEC.md:122] |
| Signal story composer | Carrier-specific composer | No .dc.html | NEVER SEEN | No | Implemented surface has no design/review verdict. [CODE integration/full:apps/osl-hub-ui/src/signal-story-composer.ts:51; TASK 1162] |
| Instagram attachment tray | Carrier-specific tray | No .dc.html | NEVER SEEN | No | No design/review verdict. [CODE integration/full:apps/osl-hub-ui/src/instagram-attachment-tray.ts:99; TASK 1150] |
| Instagram story composer | Carrier-specific composer | No .dc.html | NEVER SEEN | No | No design/review verdict. [CODE integration/full:apps/osl-hub-ui/src/instagram-story-composer.ts:41; TASK 1162] |
| Instagram eye/reveal controls | Carrier-specific overlay/control | No .dc.html | NEVER SEEN | No | No design/review verdict. [CODE integration/full:apps/osl-hub-ui/src/instagram-eye-controls.ts:51] |
| X attachment tray | Carrier-specific tray | No .dc.html | NEVER SEEN | No | No design/review verdict. [CODE integration/full:apps/osl-hub-ui/src/x-attachment-tray.ts:76-78] |
| X reply composer | Carrier-specific composer | No .dc.html | NEVER SEEN | No | No design/review verdict. [CODE integration/full:apps/osl-hub-ui/src/x-reply-chain.ts:26-47] |
| Email draft overlay/composer | Shared Gmail/Outlook/etc. overlay | No final .dc.html | NEVER SEEN; screenshot fixtures only | No | Code defines a full draft, attachment and send-review surface; design folder has none. [CODE integration/full:apps/osl-hub-ui/src/email-protected-overlay.ts:201-233; TASK 1228] |
| Email reading overlay | Shared carrier reveal/timer surface | No final .dc.html | NEVER SEEN; screenshot fixtures only | No | Code defines a distinct reading overlay. [CODE integration/full:apps/osl-hub-ui/src/email-protected-overlay.ts:241-259; TASK 1228] |
| Gmail-specific carrier states | Carrier overlays/composers/reveal/errors | No | NEVER SEEN | No | No carrier-specific rendered page exists; provider screenshot tasks are not owner UI approval. [TASKS 1235, 7769; DESIGN README.md:13] |
| Outlook web/desktop states | Carrier overlays/composers/reveal/errors | No | NEVER SEEN | No | No carrier-specific rendered page exists. [TASKS 1241, 1290; DESIGN README.md:13] |
| Proton/Yahoo/AOL/GMX/Mail.com/iCloud states | Carrier overlays/composers/reveal/errors | No | NEVER SEEN | No | No carrier-specific rendered page exists. [TASKS 1247, 1253, 1259, 1265, 1271, 1277; DESIGN README.md:13] |
| “Opening OSL” boot shell | Boot/loading window | No .dc.html | NEVER SEEN | No | This is a shipping entry surface outside the numbered review. [CODE integration/full:apps/osl-hub-ui/index.html:24] |
| Bootstrap failure/retry | Error/recovery state | No .dc.html | NEVER SEEN | No | No review verdict names it. [CODE integration/full:apps/osl-hub-ui/src/main.ts:2377] |
| Render-recovery screen | Error/recovery state | No .dc.html | NEVER SEEN | No | No review verdict names it. [CODE integration/full:apps/osl-hub-ui/src/main.ts:12499] |
| JavaScript-loading state | Loading/error state | No .dc.html | NEVER SEEN | No | No review verdict names it. [CODE integration/full:apps/osl-hub-ui/src/main.ts:13056] |
| Capture shield window | Intentionally black native overlay | No .dc.html | NEVER SEEN | No | It is a distinct shipping window and cannot inherit Strip approval. [CODE integration/full:apps/osl-hub-ui/shield.html:1] |
| WhatsApp QA window | QA-only window | No shipping design | NEVER SEEN as product UI | No | README excludes QA-failed harnesses; QA UI is not product approval. [CODE integration/full:apps/osl-hub-ui/src/whatsapp-qa.ts:50; DESIGN README.md:18] |
| Signal QA protected-composer page | QA-only route/window | Wrongly paired to Strip in route manifest | The 043 Strip was seen; this page was not | No | A QA surface cannot inherit 043 approval. [CODE integration/full:apps/osl-hub-ui/src/signal-qa-main.ts:37; PROOF 7049-route-design-manifest.json] |
| Service unavailable | Route state | No separate current design | NEVER SEEN | No | Canonical Service renders this distinct state. [CODE integration/full:apps/osl-hub-ui/src/main.ts:7124] |
| Service setup guide/card | Route state | No separate current design | NEVER SEEN | No | No approval names the setup state. [CODE integration/full:apps/osl-hub-ui/src/main.ts:7124] |
| Service existing native session | Route state | No separate current design | NEVER SEEN | No | No approval names it. [CODE integration/full:apps/osl-hub-ui/src/main.ts:7124] |
| Service hosted native viewport | Embedded surface | No separate current design | NEVER SEEN | No | No approval names it. [CODE integration/full:apps/osl-hub-ui/src/main.ts:7124] |
| Service browser-companion viewport | Embedded surface | No separate current design | NEVER SEEN | No | No approval names it. [CODE integration/full:apps/osl-hub-ui/src/main.ts:7124] |
| Service embedded-loading skeleton | Loading state | No separate current design | NEVER SEEN | No | No approval names it. [CODE integration/full:apps/osl-hub-ui/src/main.ts:7124] |
| Service account picker | Picker/popover | No separate current design | NEVER SEEN | No | No approval names it. [CODE integration/full:apps/osl-hub-ui/src/main.ts:7124] |
| OSL Mail loading/unavailable | Loading/error states | No current design; mail pages cut | NEVER SEEN | No | Full mail UI is not reached from normal Home; Home routes to a not-in-release status page. [CODE integration/full:apps/osl-hub-ui/src/osl-mail-view.ts:89-97; CODE integration/full:apps/osl-hub-ui/src/main.ts:11255] |
| OSL Mail provisioning | Setup state | No current design; mail pages cut | NEVER SEEN | No | Not part of current reviewed design. [CODE integration/full:apps/osl-hub-ui/src/osl-mail-view.ts:101; DESIGN README.md:13] |
| OSL Mail inbox/empty/refusal | Main and empty/error states | No current design; mail pages cut | NEVER SEEN | No | Not part of current reviewed design. [CODE integration/full:apps/osl-hub-ui/src/osl-mail-view.ts:109-111; DESIGN README.md:13] |
| OSL Mail no-thread-selected | Empty state | No current design; mail pages cut | NEVER SEEN | No | Not part of current reviewed design. [CODE integration/full:apps/osl-hub-ui/src/osl-mail-view.ts:115; DESIGN README.md:13] |
| OSL Mail thread reader | Reading surface | No current design; mail pages cut | NEVER SEEN | No | Not part of current reviewed design. [CODE integration/full:apps/osl-hub-ui/src/osl-mail-view.ts:120; DESIGN README.md:13] |
| OSL Mail compose | Composer | No current design; mail pages cut | NEVER SEEN | No | Not part of current reviewed design. [CODE integration/full:apps/osl-hub-ui/src/osl-mail-view.ts:131; DESIGN README.md:13] |
| OSL Mail settings | Nested settings surface | No current design; mail pages cut | NEVER SEEN | No | Not part of current reviewed design. [CODE integration/full:apps/osl-hub-ui/src/osl-mail-view.ts:134; DESIGN README.md:13] |
| OSL Mail error strip | Strip/banner | No current design; mail pages cut | NEVER SEEN | No | Not part of current reviewed design. [CODE integration/full:apps/osl-hub-ui/src/osl-mail-view.ts:134; DESIGN README.md:13] |
| Settings account populated identity list | Account state | Inside accepted 025 but not separately designed | Present in 025 | No separate approval | Only the parent Account region is approved. [CODE integration/full:apps/osl-hub-ui/src/main.ts:8336; RULING D67] |
| Account export warning/reauthorize | Modal/journey states | No .dc.html | NEVER SEEN | No | No owner verdict names this export journey. [CODE integration/full:apps/osl-hub-ui/src/account-export.ts:393-431] |
| Account export writing/verifying | Progress states | No .dc.html | NEVER SEEN | No | No owner verdict names them. [CODE integration/full:apps/osl-hub-ui/src/account-export.ts:393-431] |
| Account export success/failure | Result states | No .dc.html | NEVER SEEN | No | No owner verdict names them. [CODE integration/full:apps/osl-hub-ui/src/account-export.ts:393-431] |
| Remove Everything | Destructive screen | No .dc.html | NEVER SEEN | No | A distinct screen exists in canonical code. [CODE integration/full:apps/osl-hub-ui/src/remove-everything-screen.ts:57] |
| Settings Friends requests empty | Empty state | No separate .dc.html | NEVER SEEN | No | Parent 027 approval does not cover this state. [CODE integration/full:apps/osl-hub-ui/src/friends-settings-surface.ts:225-241; RULING D67] |
| Settings Friends friends/accounts empty | Empty states | No separate .dc.html | NEVER SEEN | No | Parent 027 approval does not cover them. [CODE integration/full:apps/osl-hub-ui/src/friends-settings-surface.ts:225-241; RULING D67] |
| Settings Friends requests/friends/accounts populated | Tab states | No separate .dc.html | Not established | No separate approval | Parent 027 approval does not prove each tab state. [CODE integration/full:apps/osl-hub-ui/src/friends-settings-surface.ts:225-241; RULING D67] |
| Whitelist no conversations/no match | Empty/search states | No separate .dc.html | NEVER SEEN | No | Parent 029 approval does not prove these states. [CODE integration/full:apps/osl-hub-ui/src/whitelisting-screen.ts:210-230; RULING D67] |
| Whitelist saved/unsaved | Mutation/result states | No separate .dc.html | Not established | No separate approval | Parent 029 approval does not prove both mutation states. [CODE integration/full:apps/osl-hub-ui/src/whitelisting-screen.ts:210-230; RULING D67] |
| About update banner | Banner | Inside About code, no distinct design leaf | Not established | No separate approval | 035 approval does not establish this transient banner. [CODE integration/full:apps/osl-hub-ui/src/main.ts:12389; RULING D62] |
| Link-disconnect confirmation | Modal | No .dc.html | NEVER SEEN | No | Separate modal, no approval. [CODE integration/full:apps/osl-hub-ui/src/link-disconnect-screen.ts:268] |
| Native fresh-start confirmation | Native popup | No .dc.html | NEVER SEEN | No | Separate native confirmation. [CODE integration/full:apps/osl-hub-ui/src/main.ts:4573] |
| Native sending-mode confirmation | Native popup | No .dc.html | NEVER SEEN | No | Separate native confirmation. [CODE integration/full:apps/osl-hub-ui/src/main.ts:7958] |
| Native protected-fallback confirmation | Native popup | No .dc.html | NEVER SEEN | No | Separate native confirmation. [CODE integration/full:apps/osl-hub-ui/src/main.ts:9367] |
| Native reopen-app confirmation | Native popup | No .dc.html | NEVER SEEN | No | Separate native confirmation. [CODE integration/full:apps/osl-hub-ui/src/main.ts:10870] |
| Native borrow-open-app confirmation | Native popup | No .dc.html | NEVER SEEN | No | Separate native confirmation. [CODE integration/full:apps/osl-hub-ui/src/main.ts:10959] |
| In-DOM tooltip system | Tooltip | No page-level design | NEVER SEEN as independently reviewed UI | No | Tooltips count as surfaces under the owner rule. [CODE integration/full:apps/osl-hub-ui/src/in-dom-tooltip.ts:5-9] |
| Local protected sheet: write/open/capsule/plaintext/view-once modes | Sheet states | Initial/prepared/ready files only | NEVER SEEN | No | Canonical has more modes than the three old-rail design leaves. [CODE integration/full:apps/osl-hub-ui/src/local-protected-sheet.ts:119; DESIGN Local Protected Sheet *.dc.html:4] |
| Peer protected sheet: friend-empty/approval/write/open/receipt/opened-once | Sheet states | No final .dc.html | NEVER SEEN | No | Distinct current surfaces with no design or verdict. [CODE integration/full:apps/osl-hub-ui/src/peer-protected-sheet.ts:157] |
| Verify-friend confirmation | Modal | No final .dc.html | NEVER SEEN | No | Separate confirmation state. [CODE integration/full:apps/osl-hub-ui/src/main.ts:7109] |
| Remove-friend confirmation | Modal | No final .dc.html | NEVER SEEN | No | Separate confirmation state. [CODE integration/full:apps/osl-hub-ui/src/main.ts:7109] |
| Clear-activation confirmation | Modal | No final .dc.html | NEVER SEEN | No | Separate confirmation state. [CODE integration/full:apps/osl-hub-ui/src/main.ts:7109] |
| Safety-number dialog | Modal | Design only as a generic Chats variant | NEVER SEEN as shipping dialog | No | No verdict names the shipping dialog. [CODE integration/full:apps/osl-hub-ui/src/main.ts:6515; DESIGN OSLChats.dc.html:1368-1408] |
| Start Something: direct | Sheet state | Inside new-conversation design only | NEVER SEEN as shipping sheet | No | Separate direct-chat scene. [CODE integration/full:apps/osl-hub-ui/src/start-something.ts:114; DESIGN OSLChats.dc.html:1119-1185] |
| Start Something: group | Sheet state | Inside new-conversation design only | NEVER SEEN as shipping sheet | No | Separate group scene. [CODE integration/full:apps/osl-hub-ui/src/start-something.ts:114; DESIGN OSLChats.dc.html:1119-1185] |
| Start Something: enclave | Sheet state | Inside new-conversation design only | NEVER SEEN as shipping sheet | No | Separate enclave scene. [CODE integration/full:apps/osl-hub-ui/src/start-something.ts:114; DESIGN OSLChats.dc.html:1119-1185] |
| Shipping Chats no selected conversation | Empty state | Inside current Chats authority | Seen as 039, but current code state not proven current | No | D68 rejects Chats. [CODE integration/full:apps/osl-hub-ui/src/osl-chats-view.ts:600; RULING D68] |
| Shipping Chats empty conversation/no messages | Empty state | Inside current Chats authority | Not established | No | No independent review. [CODE integration/full:apps/osl-hub-ui/src/osl-chats-view.ts:663; RULING D68] |
| Shipping Chats blocked-send | Composer refusal state | Inside current Chats authority | NEVER SEEN | No | No independent review. [CODE integration/full:apps/osl-hub-ui/src/osl-chats-view.ts:679] |
| Shipping Chats attachment refusal/offline/receipt/drop/display | Composer/message states | Inside current Chats authority at best | NEVER SEEN | No | Current code renders these states; no owner verdict names them. [CODE integration/full:apps/osl-hub-ui/src/main.ts:6466] |
| Strip failed-send banner | Banner | No distinct final design state | NEVER SEEN as current shipping state | No | Current overlay contains the banner; 043 approval does not prove it. [CODE integration/full:apps/osl-hub-ui/overlay.html:10-22] |
| Strip composer lock/off/busy/refused/unavailable | Composer states | Partially represented in Strip.dc.html | NEVER SEEN as the complete current matrix | No | The current matrix is broader than the reviewed default strip. [CODE integration/full:apps/osl-hub-ui/src/main.ts:5465; CODE integration/full:apps/osl-hub-ui/overlay.html:22] |
| Strip composer warning/counter/attachment/view-once/send | Composer states | Partially represented in Strip.dc.html | NEVER SEEN as the complete current matrix | No | The owner explicitly counts composer states separately. [CODE integration/full:apps/osl-hub-ui/src/main.ts:5465; owner UI rule] |
| Strip whitelist-revoked warning | Warning/banner | No distinct design state | NEVER SEEN | No | No verdict names it. [CODE integration/full:apps/osl-hub-ui/src/main.ts:5428] |
| Strip unreachable-plaintext warning, shipping implementation | Warning/banner | Related design at Strip.dc.html:158-165 | Design state not proven against shipping | No | The current warning must be reviewed in its real overlay, not inherited from HTML. [CODE integration/full:apps/osl-hub-ui/src/main.ts:5378; DESIGN Strip.dc.html:158-165] |
Surfaces the owner has never actually seen on the dev site
This is the actionable list, grouped only to keep it usable. Every item is a separate row above.
- The entire recipient view-once journey: tap-to-open, open image/video, visible countdown, close/consumed transition, second-open refusal, and screenshot notice/result. The sender setting was reviewed; the recipient product was not. [RULINGS D56, D68; CODE
integration/full:apps/osl-hub/src/native_image_viewer.rs:173-175,272-315] - Carrier-specific working UI outside the synthetic Discord strip: WhatsApp empty/draft/error, Telegram private box and eye, Signal private box/story composer, Instagram trays/story/eye, X tray/reply composer, shared email draft/read overlays, and every provider-specific mail state. [DESIGN
WhatsApp Overlay *.dc.html:4; CODE paths cited in the table] - Every unapproved OSL Chats child surface: all context menus, banners, composer modes, plus menu, attachment/audience/timer/GIF/poll sheets, calls, profile/story/post UI, enclave/channel/role UI, new-conversation wizard, customization panes, generic modals, and tutorial. The owner saw six Chats scenes and rejected all six; that is not approval of their children. [RULING D68; DESIGN
OSLChats.dc.html:34-1437] - OSL Feed and OSL Servers child states: feed saved/profile/story states and server announcement/read-only/member/profile states. [RULING D46(c); DESIGN
OSLFeed.dc.html:62-248; DESIGNOSLServers.dc.html:111-238] - Standalone state/dialog leaves outside the numbered journey: Home empty/off states, account empty/loading/locked/unavailable, toast, update dialog, burn dialog, local-protected sheets, native picker states, Friends/People dialogs, Scrub review states and Discord checking. [TASK 7950; DESIGN manifests at line 4]
- The five D65 undesigned routes and other unreferenced live routes: timed-delete scheduler, schedule, auto-whitelist rules, friend, Behaviour, Arrange tiles, tile status, Mullvad, OSL Mail status and OSL Notes status. Several received review-site entries that point at a different generic screen; that is not the subject appearing. [RULING D65; TASK 7997; PROOF
7049-route-design-manifest.json] - Deleted/poisoned routes still present in code or design: silent-visible, tutorial, apps, install lineage, decoy, Visibility, minted-link onboarding State B, and retired Activity/Connections/Inbox/People/Privacy pages. These should be cut, not reviewed. [RULINGS D41, D43, D53; SPEC
01-FULL-SPEC.md:308; CODEintegration/full:apps/osl-hub-ui/src/main.ts:473]
Product-first decision
Cut the review and parity work for retired routes, stale sidebar pages, the duplicated whitelist modal, and mismatched proxy subjects. None stops a user being harmed and none stops a shipping lie; keeping them slows the working product and can make the review site itself lie about what was shown. Keep only the truth boundary: a surface is not approved until the actual current surface appears on the dev site and the owner approves it. [Owner instruction in this audit; RULINGS D41, D45(b), D45(c); TASK 7997]
The next UI review should start with the working paths the owner has never seen: recipient view-once, real carrier composer/eye/error states, and the actual nested Chats composer/modals. Do not spend that sitting re-reviewing accepted numbered screens or polishing deleted pages. [RULING D55; owner product-first instruction in this audit]