Files
SoulStream/handoff/rounds/ins-r46-smoke-probe.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

20 lines
1.2 KiB
Plaintext

return { owner: "com.soulstream.app", state: state[1] || "", position: state[2] ? +state[2] / 1000 : null };
} catch { return { owner: "", state: "" }; }
}
/* The queue window the phone was last handed, as MediaSessionPlugin logged
* it. Round forty-six put a bounded slice of the queue into every card
* update — the current item and ten either side — and left MediaService
* ignoring all of it, so there is nothing on any screen to read it back
* from: logcat is the only place on the device it exists, one line per
* update, and the LAST line is the state now. `at=` is last in the line
* because a title may hold anything, spaces and `=` included. */
function mediaWindow() {
try {
const out = adb("logcat", "-d", "-s", "SoulStream:D").toString();
const lines = out.split(/\r?\n/).filter((l) => l.includes("media window "));
const m = (lines[lines.length - 1] || "").match(/media window n=(\d+) i=(-?\d+) art=(\d+) at=(.*)$/);
if (!m) return { n: -1, i: -1, art: -1, at: "", lines: lines.length };
return { n: +m[1], i: +m[2], art: +m[3], at: m[4].trim(), lines: lines.length };
} catch (e) { return { n: -1, i: -1, art: -1, at: "ERR " + e.message, lines: 0 }; }
}