Files

13 KiB
Raw Permalink Blame History

C7 People, Photos, Downloads, Store: evidence log

Package card: PLAN §2.4 "C7". Concept: docs/phase2/concepts/social-media.md (SM). Owned files: PLAN §2.6 (theme/70-social.css, device/rt/70-social.js, theme/layers/70-social.json, the concept, every social-media-* mockup, social-media.css, social-media.js, this log and C7-cmp.json).

Status

READY: wp.c7 (2026-10-07 13:05 EDT, session 2, build 11094443). With --flags wp.c1a,wp.p3,wp.c7 on C7's routes, in both input modes: no GONE, HIDDEN or UNCLICKABLE function (after the 12:50 fix of the More-host registration, see S2-FIX); gamepad traversal equals stock on Downloads and /media/grid (pad-bfs, 0 irreversible); runtime module social installed with no failed load and no warning; flags off leave none of its attributes (G-REMOVE). wp.c7 works without wp.c1a (the More hosts are then simply not registered). Evidence: S2-G, S2-BFS, S2-RT, S2-N1, S2-N2, S2-FIX below.

  • Milestones reached: M0 (by note, expedited: no re-renders), M2 for C7's own elements (T1 CSS live, unflagged), M3 (T2 behind wp.c7), M4 written and checked once (theme/layers/70-social.json + the /invites panel plate; native sgcheck --route /media/grid overall PASS with the focused tile at +15 mm, one hv look of Photos in native mode viewed and deleted: glass L 57.9, not doubled).
  • What the user sees (T1, live now): People as a 512 px black .14 sidebar (Title 1 "Friends", 60 px action circles, a recessed 64 px segmented track with the white selected segment and L1 / R1 circles, 80 px friend rows lit by the row hook, the open conversation as the white .18 nav pill with a More circle), the conversation on bare window glass (header lockup, side circles, 64 px compose capsule with the blue Send circle, ending above the ornament); Downloads as black .14 platters (Title 2 section headers, no rules, 96+ px rows, a 60 px device capsule, idle band 184); Photos with rounded tiles that lift x1.035 with a contact shadow and glow; /account and /invites typography; /invites on windowless routes as one 720 px panel plate. Every chrome label >= 18 px, >= 500, no uppercase or tracking added.
  • Not built (recorded): store navigation ornament (Plan A, needs the bounds refresh), segment text labels and the compose placeholder (no new strings), the 760 px /account column, the viewer / clip player beyond look-only rules (no media opened in tests), Downloads' active card verified only by CSS (no real download may run).
  • Open, owned by others: REQ C7->C4a (60 px DialogButtons' 80 px hit, /account dropdown P-83 and tiles), REQ C7->P10 (layout SHRUNK of large panes). Gate CONTRAST items seen only in steps that ran during another agent's native session (native=on, they also hit C1a's legend) are not CSS-only results.
  • Device left: theme on, CSS only (every native session ended "back to CSS only: yes"), no C7 flag left on: a wp.c7 key had stayed in the session layer after overlapping steps (another agent's step restored it at its exit, lab §1.1 race), so it was removed under flags.lock and unset live with the device's lgs flags wp.c7= (runtime then: social: off); the other keys there belong to other agents, VR keyboard closed (it opened once when a pad step reached /chat's compose; hidden with SteamClient.OpenVR.Keyboard.Hide()), hv frames 0 on both machines.

Requests

  • REQ C7->C4a: Steam's 60 px DialogButtons standing alone in a row fail P-08 on C7's routes with only their own 60 px as hit (72-88 % own over 80 x 80, gates pad 2026-10-07 10:40): Downloads "Clear All" (%{RemoveAllButton}), /account "View Profile", "Add Friends", "Sign Out", "Change Account". An 80 px hit on the primitive (e.g. a 10 px transparent border with background-clip: padding-box, or an outset ::before) would fix it on every route. Also /account's two-line %{DropDownControlButton} (467 x 76, radius 30) fails P-83 (radius < 0.45 x 76) and its row P-08; the three %{FatButton} tiles (Add Funds, Privacy Settings, Account Details, 394 x 108, radius 20) fail P-83 (SM §3.4 wants 156 px tiles, radius 30: taller than 120 they are not judged as capsules; when C7 tried that, the focusable %{ParentalWrapper} around each tile dropped to 61 % own on P-08, so the change is left to C4a). C7 does not restyle primitives (C4a's interface table); C7 sets only the tiles' label type (TYPE gate).
  • REQ C7->P10: G-AUD lists SHRUNK for large focusable panes that a sanctioned layout change resizes: /chat's SteamDeckChats, multiChatDialog, chatDialogs (980 x 720 -> 768 x 652: C1a's --lgs-hdr-pad top pad + the 92 px footer pad + SM §3.1's 512 px sidebar). They are containers, not targets, and stay far above 300 x 300; please judge non-leaf focusable panes >= 300 x 300 like scroll containers (exempt: scroll-container), as every area that pads its page root (REQ C1a->all) will hit the same item. Same for /invites on the windowless card (SM §3.5: 720 wide): HiddenFrame>InvitesList / TopSection panes and the title's text box (1032 x 32 -> 472 x 38: narrower box, larger type, the whole string visible).
    • P10 (2026-10-07 session 5): done, in two rules. (1) Panes: a focusable Panel that holds other controls, or has no activation handler of its own (read from Steam's React props), and stays ≥ 300 × 300 is listed under exempt as container-pane with both sizes, not SHRUNK; its controls are audited one by one, and a leaf target with its own handler that shrinks is still SHRUNK. (2) Text boxes are not panes; they are judged as text: a text run whose box shrinks while its whole string stays shown (no ellipsis, line clamp or clip that cannot scroll cuts it) with the same text at a drawn size no smaller than stock is listed as text-whole; a cut string or smaller type stays SHRUNK whatever the box's size. Live (gates main --route /chat and --route /invites, --only aud --flags wp.c1a,wp.p3,wp.c7 --mode laser, 13:34 and 13:36): AUD PASS on both, 0 issues. /chat: FriendsListAndChatsSteamDeck 1280 × 720 → 1280 × 560, SteamDeckChats, multiChatDialog and chatDialogs 980 × 720 → 768 × 560 as container-pane; the empty-chat prompt emptyChatDialogs as text-whole (22 px, stock 12). /invites: InvitesList 1280 × 680 → 720 × 592 as container-pane; the title %{IncomingInvites>Title} 1032 × 32 → 472 × 38 as text-whole at 29.6 px (stock 22). Fixture cases 10a–c and 11a–d. These two rules are sent to the coordinator to confirm (REQ P10->Coordinator in wp/P10.md). contracts/lab.md §4 AUD.

Requests to C7, handled

  • REQ C1a->C7 (page roots under the toolbar): done. /chat (%{FriendsChats} top pad 68 + footer pad 92), /account (%{AccountPanelPage}), /invites (top pad; 0 on the windowless card, which has its own 80 px header band), /media/grid (%{ScreenshotList} pad + scroll-padding-top: var(--lgs-guard-top)). Downloads' own 240 px top band already clears the row (idle band now 184).
  • REQ C1a->C7 (quiet legend .sm-quiet.room in social-media.css): accepted, C1a's dim band (quietBacking) is the design; the mockup CSS is not re-rendered this session (expedited mode, no re-renders); the concept text defers to C1a.
  • REQ C1c->C7 (friend menu mockups with the C1c recipe): accepted, C1c builds the menu; mockups not re-rendered this session (expedited mode).

Evidence

M0 note (session 2, 10:20): conflicts with PLAN §1 settled (PLAN §1 wins; concept text not re-edited, mockups not re-rendered: expedited mode)

  • Pops: SM's +12 mm becomes PLAN §1.7's set {0, +10, +15}: menus +10 (C1c), media tile +15 attended, Downloads Pause +10, account avatar 0 (its crop would lie over the profile video: rule 3), viewer and clip player 0.
  • Filters sheet / share sheet: no t1 tint (PLAN §1.8); Steam's scrim at black .35 (C1c).
  • Search: the capsule (C1a's fallback; searchCircle is off), so SM §3.0's circle positions on /chat and /invites are not built; Back and search stay in C1a's toolbar row, page roots are padded under it.
  • Store: Plan A (navigation ornament + bounds refresh) is not built (flag storeOrnament absent): look-only chrome on Steam's URL bar; web content untouched (E-WEB).
  • Friends tabs: no E-SEG tag; the tabs are 80 px tall contiguous segments with L1 / R1 as 60 px circles in 80 px boxes at the track's ends (they are clickable), so they pass P-08 as ordinary controls.
  • Text: every chrome label takes a --lgs-type-* token (>= 18 px, >= 500, no uppercase or tracking); Steam's strings unchanged (no new strings: segment labels and the compose placeholder of SM §6.2 are not added).

Session 2 evidence (2026-10-07, build 11094443; shots shots/p2_c7_*, gate JSON kept outside the repo)

Id Command Result
S2-B0 gates main --route R --mode pad (phase 1 CSS) on /chat, Downloads, /account, /invites, /media/grid (10:14-10:25) baseline: all FAIL (TYPE 12-16 px uppercase tracked labels, SIZE 26-42 px targets on /chat, OUTLINE 1 px rules and inset lines, AUD SHRUNK text on /invites)
S2-T1 same, CSS only, after the T1 rewrite (10:40) /invites PASS, /media/grid PASS; /chat SIZE: L1 / R1 (clickable) and AUD SHRUNK of the chat pane; Downloads: device row 42 px (clickable), Clear All P-08, one CONTRAST; /account: C4a's primitives (REQ) + 2 CONTRAST. All fixed except C4a's and the pane SHRUNK (REQs)
S2-T2a shot main p2_c7_chat_t2 --route /chat --mode pad --flags wp.c1a,wp.p3,wp.c7 --pre <pad down 2> data-lgs-current on the open conversation's row (nav pill), More circle on the attended row, chat header + compose + side circles in place
S2-T2b gates main --route /chat --mode laser --flags wp.c1a,wp.p3,wp.c7 (native off, 11:40) MOTION, SIZE, TYPE, OUTLINE PASS; AUD: only SHRUNK of 5 panes (layout by design: toolbar + footer pads, 512 sidebar; REQ C7->P10); no GONE / HIDDEN / UNCLICKABLE
S2-T2c same --mode pad (the step ran while another agent's native session was on: native=on) SIZE, TYPE, OUTLINE PASS; AUD: the same SHRUNK + CONTRAST items that also hit C1a's legend labels (no window glass in the capture: environmental, not CSS-only)
S2-N1 native-session --flags wp.c1a,wp.p3,wp.c7 --mode pad --pre "L.nav('/media/grid')" --step "sgcheck --route /media/grid --pre <pad down/up>" --step "hv c7_native_media2 --look" (11:07) sgcheck overall PASS: main 1 pop, depths [0, 15.0] mm (the focused media tile, media-tile), every other surface 0. hv: viewed, then deleted (hv --clean: 1 frame; Frame /tmp/lgs/hv-*.png: 0); the frame showed another agent's game page (the route changed between the locked steps), so it says nothing about C7's area; glass L 71, edge visible, not doubled. Back to CSS only: yes. A third session for a second look could not start (lab locks busy 240 s)
S2-G gates main --route R --mode pad|laser --flags wp.c1a,wp.p3,wp.c7 --json, native off (12:00-13:00) Downloads pad PASS (all 5 gates); /media/grid laser PASS, pad PASS after the lift cap (x1.035; at x1.05 a lifted tile reached 1 % into its neighbour's P-08 band); /chat laser: SIZE / TYPE / OUTLINE / MOTION PASS, AUD only the panes' layout SHRUNK (REQ C7->P10); /account pad: only C4a's View Profile (P-08 72 %) and two-line dropdown (P-83) left (REQ C7->C4a); /invites laser: AUD the card's layout SHRUNK (card 720 wide by design, SM §3.5)
S2-BFS pad-bfs --route /library/downloads --flags … vs --stock; same for /media/grid --max 40 Downloads: 3 nodes, the same 4 unreached (device row, empty-queue panel, row art, content-type line: reached by Y / A paths), 0 irreversible in both; the flagged run has more edges (row Up = Clear All, search Down = Clear All) where stock says "untakeable". Media: 4 nodes, the same 15 unreached virtualised tiles ("untakeable" in both), 0 irreversible, entry on the first tile in both. Equal to stock
S2-RT js with --flags wp.c1a,wp.p3,wp.c7 over /chat, /invites, Downloads; then without flags on /invites module social installed, failedLoads: [], no social warn/error in the runtime log. Flags off: module off, [data-lgs-current] 0, c7-invites plate 0 (G-REMOVE for C7's attributes)
S2-N2 native-session --flags wp.c1a,wp.p3,wp.c7 --mode pad --pre <nav /media/grid, focus a tile> --step "hv c7_native_media4 --look" (12:44) Viewed, then deleted (hv --clean; PC look folders 0, Frame /tmp/lgs/hv-*.png 0): C7's Photos grid in native mode, window glass L 57.9 (inside 55-110), not doubled, Large Title, tiles, ornament legend under the glass; no stray plate or slab. Back to CSS only: yes
S2-FIX /invites laser AUD showed GONE text SELECT only with wp.c7 (2 of 2; without it: none): C1a's Options member appeared on /invites because Steam keeps the friends UI mounted, so a registered More host was in the document. Fixed 12:50: 70-social.js registers each More host only while its page is visible after the fix (laser, flags): legends /invites Select / Back only, /chat Options (C1a's member) / Collapse / Back, Downloads Change Device / Options / Go to game page / Back; gates /invites --mode laser --only aud: no GONE (only the card's text-box SHRUNK, REQ C7->P10)
S2-T1b gates main --route /chat --mode pad without flags (the shipped T1 state), 13:20 MOTION, SIZE, TYPE, OUTLINE, AUD all PASS
S2-RT2 runtime check again after the S2-FIX change, flags on social installed, failedLoads: [], no warning or error