Files
SoulStream/handoff/tools/realign-future5.cjs
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

24 lines
1.1 KiB
JavaScript

// Bring the wave-five snapshot in line with round 37's two corrections:
// the drag probe reads the state behind the module namespace, and the console
// trap ignores Chrome's vibrate intervention (synthetic pointer events).
const fs = require('fs');
const f = process.argv[process.argv.length - 1] + '/tests/mobile/smoke.mjs';
let s = fs.readFileSync(f, 'utf8');
let done = [];
if (s.includes('__ss.pls.current.items')) {
s = s.split('__ss.pls.current.items').join('__ss.pls.pls.current.items');
done.push('probe');
}
const oldLog = ` cdp.on["Log.entryAdded"] = (p) => { if (p.entry.level === "error") problems.push("LOG " + p.entry.text + " " + (p.entry.url || "")); };`;
const newLog = ` cdp.on["Log.entryAdded"] = (p) => {
if (p.entry.level !== "error") return;
if (/navigator\\.vibrate/.test(p.entry.text || "")) return;
problems.push("LOG " + p.entry.text + " " + (p.entry.url || ""));
};`;
if (s.includes(oldLog)) { s = s.replace(oldLog, () => newLog); done.push('console trap'); }
fs.writeFileSync(f, s);
console.log('realigned: ' + (done.join(', ') || 'nothing to do'));