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.
This commit is contained in:
1 parent
867fd42972
commit
9f0601027c
400 files changed
+26401
-3
No files matched your search
@@ -0,0 +1,34 @@
|
||||
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.
|
||||
Reference in new issue
Block a user