Files
SoulStream/handoff/rounds/ins-r39-doc-seen.txt
T
KeelrLeek 9f0601027c android: the handoff — the pending rounds, the pipeline, and what is unverified
Everything written this session that has not been through the device: rounds 43
to 48 (each patch adversarially verified, 43's transient-notice expectation
fixed), a partial round 49, the pipeline scripts, the Android Auto design and
the icon comparison mock. Also the two harness changes that were never A/B'd —
adaptive waits, which may only shorten a declared wait and never lengthen it,
and a ship that runs the mock walk and the deploy at the same time. The A/B and
its 255-step baseline are in handoff/tools; main stays at what the phone has
actually walked.
2026-09-14 07:57:41 -05:00

35 lines
2.3 KiB
Plaintext

toast says it in English.
**What the walk has seen.** The round that wrote all of the above was straight
about what it had not proved: six of these fixes shipped with no expectation at
all, because neither `loadHome` nor `loadLyrics` was reachable from the `__ss`
handle the walk drives the app through, and both answer a second ask with
nothing — `loadHome` is gated on `started`, `loadLyrics` on the track's own
`key` — so no amount of tapping re-runs them. They are driven now: Home's
`catalogDown`, the Gaps line, a catalog record's stub, the artist page's two
different sentences, a playlist that would not read, the lyrics `failed` face,
and `failed · <sentence>` on a transfer row. Each is armed with
`__ssMock.fail`, asserted both by the words a person reads and by the Rust
string being absent from them, and disarmed by the step that proves the face
heals. The handle grew four names for it and no more — `home` and `loadHome`,
`lyr` and `loadLyrics` — because a test seam that exports the internals
wholesale stops being a seam. The toast's own **Try again** is pressed for the
first time too, through You → **Rescan library**: `lib.error` is written by
`loadLibrary` alone, and that row is the only door in the app that reaches it
a second time.
What is still unseen, honestly. **Three sites draw a raw backend string**, so
the rule above has holes: `screens/Browse.svelte` — a peer's shares that would
not read, which is a full error face, Try again and all, that was simply missed
— and `screens/Import.svelte`, twice. `SyncRoom.svelte` is a fourth, by way of
`saveTapSync`'s catch. **Six error faces have no expectation either**: Browse's,
Community's "The server did not answer.", Room's "Not in this room.", Album's
"That record is gone.", Playlist's "Playlist not found." and Peer's "Not
compared yet." — all reachable, the first two through the mock's weather and
the rest by pushing a nav entry with a dead id. And of the probe's fields, six
are still read out on every step and asserted on none: `accent`, `xlive`, `hd`,
`hwant`, `navMs` and `a11yWho`. The cheapest real win left in the harness is a
global `hd === hwant` check on every named step — the history mirror is how the
blank page after a confirmed delete was found — but it would fire during the
first-run reloads and needs its own thinking about the suppress window first.