You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Two local, owner-authorized capture attempts against the pinned openclaw@2026.5.7 target (engines >=22.14.0, satisfied by the guest's Node 22.15.0 — see #6) both failed at the same preflight_failed gate in browserpod-openclaw-probe.mjs:78. Temporary local debug logging of the preflight probe's own output (never committed) showed the actual guest evidence:
{"node":"22.15.0","platform":"linux","arch":"wasm32","cryptoVerify":true,"sqlite":false,"sqliteError":"No such binding: sqlite"}
cryptoVerify passes. node:sqlite fails to load entirely — this is not a version-range mismatch (the kind #6 documents), it is the guest's Node build lacking the node:sqlite binding at all. The preflight probe (browserpod-preflight.mjs) runs exactly:
#6 tracks the Node version gate (22.15.0 < the artifact's required >=22.x baseline) — a moving target that a vendor Node bump could close. This finding is orthogonal: the check requires preflight.checks.cryptoVerify && preflight.checks.sqlite (browserpod-openclaw-probe.mjs:77-78), and sqlite fails regardless of which OpenClaw/Node-baseline target is selected, because it is about whether the binding was compiled into BrowserPod's Wasm Node build, not which Node version string it reports. Even a future BrowserPod release that satisfies the 22.19+ (or the current stable's compound >=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0) baseline would still fail here unless that release also adds node:sqlite.
Reproduction
Owner-authorized, local (not CI — see #6's separate datacenter-IP finding), targeting the pinned older-baseline report:
Fails with preflight_failed; test-results/browserpod-evidence/capture-status.json records errorCode: "preflight_failed", failedStage: "capture-run", phaseCounts.preflight: {chunks:1, bytes:152} (the redacted evidence path deliberately keeps the raw probe JSON out of committed output, per the project's evidence-safety design; the JSON above was captured only through temporary, non-committed local debug logging for this report).
Suggested next steps
File this neutrally with Leaning Tech (same channel as the compat: capture owner-authorized BrowserPod 2.12.1 Gateway evidence #6 vendor report) alongside the existing Node-baseline finding, since a fix likely means compiling node:sqlite into the Wasm Node build, not just bumping the reported version.
Until resolved, no further metered capture attempts against any tracked or pinned report are expected to get past preflight — worth noting in the owner runbook so future attempts aren't spent rediscovering this.
Open question for maintainer judgment (not decided here): whether node:sqlite is a hard OpenClaw runtime requirement worth keeping as a preflight gate as-is, or whether it should be downgraded to a recorded capability limitation if OpenClaw's actual 2026.5.7-era usage of it turns out to be optional — out of scope for this issue to decide.
Finding
Two local, owner-authorized capture attempts against the pinned
openclaw@2026.5.7target (engines>=22.14.0, satisfied by the guest's Node 22.15.0 — see #6) both failed at the samepreflight_failedgate inbrowserpod-openclaw-probe.mjs:78. Temporary local debug logging of the preflight probe's own output (never committed) showed the actual guest evidence:{"node":"22.15.0","platform":"linux","arch":"wasm32","cryptoVerify":true,"sqlite":false,"sqliteError":"No such binding: sqlite"}cryptoVerifypasses.node:sqlitefails to load entirely — this is not a version-range mismatch (the kind #6 documents), it is the guest's Node build lacking thenode:sqlitebinding at all. The preflight probe (browserpod-preflight.mjs) runs exactly:which throws before ever touching OpenClaw.
Why this is a separate blocker from #6
#6 tracks the Node version gate (22.15.0 < the artifact's required
>=22.xbaseline) — a moving target that a vendor Node bump could close. This finding is orthogonal: the check requirespreflight.checks.cryptoVerify && preflight.checks.sqlite(browserpod-openclaw-probe.mjs:77-78), andsqlitefails regardless of which OpenClaw/Node-baseline target is selected, because it is about whether the binding was compiled into BrowserPod's Wasm Node build, not which Node version string it reports. Even a future BrowserPod release that satisfies the 22.19+ (or the current stable's compound>=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0) baseline would still fail here unless that release also addsnode:sqlite.Reproduction
Owner-authorized, local (not CI — see #6's separate datacenter-IP finding), targeting the pinned older-baseline report:
Fails with
preflight_failed;test-results/browserpod-evidence/capture-status.jsonrecordserrorCode: "preflight_failed",failedStage: "capture-run",phaseCounts.preflight: {chunks:1, bytes:152}(the redacted evidence path deliberately keeps the raw probe JSON out of committed output, per the project's evidence-safety design; the JSON above was captured only through temporary, non-committed local debug logging for this report).Suggested next steps
node:sqliteinto the Wasm Node build, not just bumping the reported version.node:sqliteis a hard OpenClaw runtime requirement worth keeping as a preflight gate as-is, or whether it should be downgraded to a recorded capability limitation if OpenClaw's actual2026.5.7-era usage of it turns out to be optional — out of scope for this issue to decide.