4.1 KiB
Phase 0 user-run evidence and probe correction
Result: Partial feasibility demonstrated; worklet load failed; GC1 remains incomplete
Source: JSON supplied by the user from probe version 1
Run started: 2026-09-05T02:13:55.036Z (September 4 in America/Los_Angeles)
Raw evidence: user-run JSON
The raw evidence is preserved with its original field values, including the misleading worklet: "not tested" status. No agent browser navigation or workaround was used to obtain this result.
What this run establishes
| Observation | Assessment |
|---|---|
protocol: "file:", Chrome 152 user agent, secureContext: true |
The user loaded the probe directly from disk in a secure context |
| Both exhibits present; Blue Study selected | File import and selection produced the shown library state |
indexedDB: "opened and read", saves: 2 |
The probe reports an opened database and two completed save transactions |
audioState: "running", sample rate 48000 |
The audio context was unlocked and running |
Three AbortError entries for module loading |
Worklet loading failed; it was attempted despite the stale status label |
restored: false |
This document load did not restore cached state; it does not establish a full-restart test or prove persistence failure |
| Both activity values and master volume still at defaults | Distinctive edited preference restoration has not been demonstrated |
onlineFlag: true, authored-network count 0 |
No offline test is established; the count is a source-level declaration, not a network trace |
| Directory import not tested; storage injection false | These checks remain pending |
The v1 worklet attempt occurs before oscillator creation and before enabling suspend/resume. Each shown exception therefore prevented that invocation from scheduling its tone and enabling those controls. A running context is not evidence of audible output.
Root cause status
The cause of module-load failure is not established. Chromium uses the reported AbortError wording for worklet module-load failures; it does not uniquely identify CSP, origin behavior, or a processor-code defect. See the Chromium diagnostic change.
The Fetch Standard associates audioworklet requests with script-src. This probe already permits blob: in script-src. That is insufficient to diagnose this run, but does not justify assuming connect-src 'none' is the cause or weakening the policy without evidence. Console details and captured policy violations are the next diagnostic input.
Probe version 2
The corrected probe separates native tone playback from worklet loading, enables suspend/resume after context unlock, and records explicit worklet attempt stages and failure state. It adds an explicit user-reported audible-tone checkbox and page CSP diagnostics. The database name, file path, loader strategy, and CSP remain unchanged.
Version 2 artifact SHA-256: 52DD9137A7584236D00A7BF5BBBDB8159B25D8F98605C88A849892835B8D0FE5
Two stubbed Node control-flow regression tests passed using:
node --test prototypes/phase0/audio-probe.test.mjs
They verify that worklet rejection cannot prevent tone scheduling or suspend/resume controls and that supplied CSP diagnostics are retained. The tests use fake APIs and do not verify browser loading, CSP enforcement, audio output, or persistence. Browser testing of version 2 is pending.
Next manual check
Follow the updated instructions. Test the native tone and worklet independently; include workletAttempts, securityPolicyViolations, and any additional console error in the next evidence. Test distinctive values and capture the next launch before importing again, confirming separately whether the browser was fully closed.
Phase 0 remains stopped at the unresolved worklet/loading and restart-persistence checks. No Phase 1 implementation has begun.