DUNIN7 · LOOMWORKS · RECORD
record.dunin7.com
Status Current
Path session-handoffs/cr-2026-208-checkpoint-a-v0_1.md

CR-2026-208 — Checkpoint A — v0.1

Date. 2026-08-13 · CR. change-requests/cr-2026-208-loomworks-message-order-default-v0_1. State. Built and tested. HALTED before tag and push, per the Checkpoint A instruction. Surface main local commit 00ed2f2 (NOT pushed; no tag). Engine untouched, as ruled (§1.C). Baseline note (Step 0). The CR states baseline 7ac3cb2; the tree stood at b3b01d7 — exactly one commit ahead (CR-2026-207, the candidate-commit banner, engagement-page-side; no overlap with the conversation pane). Built on b3b01d7. Tree was clean.

What is built

Tests — each observed failing first

New ConversationPane.order.test.tsx: ORDER_DEFAULT === "newest_first"; DOM order asserted both ways (the oldest_first composer-below case is the fence that the toggle still means something); the bar-moves-as-a-unit assertion. The two ruled-in failures were observed failing before the flip; the fence passed before AND after, as it must. Full suite 780/780 green; tsc clean.

Step 4 eye-test — PASS (dev server, fresh-preference account)

Performed with a minted dev session for the repro persona (ff532bf0…, active on E0027, no stored conversation.message_order) against localhost:3001:

  1. Fresh view: newest-first, composer at top (screenshot kept: /tmp/cr208-fresh-newest-first.png).
  2. Toggle → oldest-first, composer at bottom.
  3. Reload → preference survives (still oldest-first, composer bottom).

Cleanup performed per the e2e cleanup rule: the oldest_first row the toggle wrote for the repro persona was deleted, restoring its no-preference state (DELETE 1).

Findings to rule on / carry

  1. Mobile scope finding (Step 1). ConversationPane NEVER renders on mobile: MobileSurface renders ConversationTranscript directly plus an engagement-wide bottom bar that serves all five slots (Companion + four rooms — hint line, attach, composer, mic). The conditional placement therefore applies to the desktop pane only. Moving the mobile bar per-slot (top on the Companion slot under newest_first, bottom on rooms) would make the bar jump on swipe and is a design question the CR does not rule on — left unbuilt, flagged here rather than decided piecemeal. On mobile under newest_first the transcript reads newest-at-top while the composer stays at the bottom bar.
  2. The one-time placement flip on preference load. A no-default account renders composer-top for the instant before a stored oldest_first preference loads, then the input zone remounts below — a one-time jump on page load for stored-oldest-first accounts. Inherent to "the composer moves with the order" + async preference read; the draft (controlled textarea) survives the remount. Two existing tests held DOM references across that remount and were fixed to settle/re-query (voicePlaceholder, micTiming) — idiom fixes, the guarantees under test are unchanged.
  3. The Operator's own account will NOT flip on deploy. person_settings holds conversation.message_order = "oldest_first" for the Operator persona, written 2026-08-12 15:27 (during the walk arc). The deploy-day flip governs no-preference accounts; the Operator sees oldest-first until they clear or toggle it. Named so the post-deploy eye-test isn't misread as a failed flip.
  4. Carried for the completion record, per the Operator's instruction at approval: every no-preference account flips on deploy as the ruling's intent, not a side effect — a default, not an option; the toggle staying is what makes it a default rather than a removal.
  5. Pre-existing cosmetic (not this CR): the composer placeholder text wraps and clips slightly at the pane's width — present in both orders, before and after.

seed-mutability

Kind C as expected: a surface default and a layout rule. No seed-adjacent surface touched; null finding recorded as an entry, per §4.

What Step 5 awaits

Push 00ed2f2; watch the run; redeploy; post-deploy eye-test on a no-preference account (NOT the Operator's own — finding 3).


DUNIN7 — Done In Seven LLC — Miami, Florida — CR-2026-208 Checkpoint A — v0.1 — 2026-08-13 The transcript and the composer agree about where "newest" is.