DUNIN7 · LOOMWORKS · RECORD
record.dunin7.com
Status Current
Path scoping-notes/loomworks-mobile-companion-surface-scoping-note-v0_1.html

Loomworks — mobile Companion surface — scoping note — v0.1

Document: loomworks-mobile-companion-surface-scoping-note-v0_1 Version: v0.1 Status: scoping note — precedes a frontend CR. Shape settled with the Operator; defaults below confirm at CR drafting. Date: 2026-06-27 Origin: Operator observed on iPhone that there is no way to read the Companion conversation on mobile. Diagnostic confirmed: the mobile in-engagement layout (MobileSurface) matches mobile-mockup-2 faithfully — rooms-swipe + a transient 5-second hint flash, no persistent conversation surface. The hint flash is useful and stays. The absence of any readable Companion surface is the oversight (the mockup accounted for the transient hint but not for "where do I go to read the conversation"). Not a regression: the mobile transcript never existed; this is a deliberate extension of mockup-2, not a restoration.


What this adds

The desktop in-engagement surface has the Companion conversation as a persistent left pane (ConversationPane). Mobile has no equivalent — the Companion's replies only flash transiently in the hint line. This CR brings mobile to parity in the way mobile's model allows: the Companion becomes a surface in the swipe plane, alongside the four rooms.

Today's mobile swipe plane: Memory → Manifestation → Shaping → Rendering (four rooms, swipe horizontally, MobileSurface). After: Companion → Memory → Manifestation → Shaping → Rendering (five surfaces; the Companion is the readable, persistent conversation).

The hint flash stays exactly as is. It is not replaced. The two affordances do different jobs and complement each other: - The hint flash (5-second transient, fixed bottom bar, on every surface) — the at-a-glance "a reply just came in," visible regardless of which surface you're on. - The Companion surface (a swipe-to view) — the persistent, scrollable, readable conversation you go to when you want to read the back-and-forth.

You glance at the hint as replies arrive; you swipe to the Companion when you want to read.

Shape (settled with the Operator)

Open decisions (defaults; confirm at CR drafting)

  1. Swipe order / default landing. Lean: Companion first, and the default surface on entering an engagement — the Companion is how you operate Loomworks (voice-first), so landing there is natural; swipe right into the rooms. Alternative: Companion last (after the rooms). Confirm.
  2. The room-nav row. Today the nav row reads "‹ prev | room name + dots | next ›" for four rooms. Adding the Companion as a fifth dot/label — confirm the nav row + dots accommodate five, and that the Companion's label reads "Companion" (the user-facing name, per vocabulary discipline), not a room name.
  3. Does the Companion surface scroll independently? The rooms are flex-1 overflow-y-auto. The Companion transcript should scroll the same way (newest at bottom, scroll up for history), with the bottom bar fixed. Confirm the conversation's load-earlier (the CR-2 paged spine) works on this mobile surface too — it should, since it's the same usePagedList/ConversationPane data.

What this reuses (so it's not a rebuild)

So the work is: extend MobileSurface's swipe plane from four surfaces to five, render the conversation (reusing ConversationPane's logic adapted to single-column), keep the hint flash and bottom bar, wire the nav row for five. Frontend-only — no engine.

Sequencing

Independent of the truthfulness fix (that's engine; this is frontend) and the folder-upload work. Can build any time after its decisions are confirmed. Note it should build on a branch that includes the CR-2 timestamp work (so the mobile transcript gets timestamps too) — i.e. off current feat-companion-surface once the pending voice-panel/timestamp commits are pushed/settled.

Operator decisions before a CR

  1. Swipe order — Companion first + default landing (lean), or last?
  2. Confirm the nav row + dots extend to five and the Companion's label is "Companion."
  3. Confirm the Companion surface reuses the desktop transcript logic (with load-earlier) rather than a new bespoke mobile conversation view.

DUNIN7 — Done In Seven LLC — Miami, Florida Loomworks — mobile Companion surface — scoping note — v0.1 — 2026-06-27 Adds the Companion as a fifth swipe surface in MobileSurface, peer to the four rooms — a persistent readable conversation. The 5-second hint flash stays. Frontend-only, reuses the desktop transcript + CR-2 paging. Extends mobile-mockup-2.