test: record Phase 0 feasibility probe and manual evidence

This commit is contained in:
2026-09-04 20:31:56 -07:00
parent 05fe2b4e02
commit 7b2e486095
27 changed files with 2036 additions and 17 deletions
+15 -13
View File
@@ -1,9 +1,11 @@
# XZBT 0.1 Verification Gates
**Status:** Planning checklist; every check is pending
**Status:** Phase 0 awaiting remaining manual checks; worklet loading and user-performed restart persistence passed; GC1 incomplete
**Related resources:** [PRD](../XZBT_0-1_MVP_Product_Requirements_Document.md), [decisions](XZBT_0-1_Gap_Closure_Decisions.md), [format specification](XZBT_0-1_Format_Specification.md)
No tests, browser prototypes, benchmark results, or soak results have been run as part of the gap-closure documentation. Mark a check complete only with linked evidence. A recorded design decision is not a passing test.
A separate Phase 0 probe has been created and its JavaScript/JSON syntax checked. The agent's direct-file navigation was blocked by browser tool policy; see the [attempt record](evidence/phase0/2026-09-04-feasibility.md). The [user's manual run](evidence/phase0/2026-09-04-user-run.md) reports successful import, saves, and context unlock, but worklet loading failed. Version 2 separates the tests and records better diagnostics; its two stubbed regression tests pass, not its browser gate. GC1, benchmark, and soak acceptance remain incomplete. Mark a check complete only with linked evidence; a partial result does not pass a compound acceptance check.
The [second user run](evidence/phase0/2026-09-04-user-run-v2.md) confirmed cache restoration between page loads, a heard tone, and audio suspend/resume, but Blob worklet loading failed. The [version 3 user run](evidence/phase0/2026-09-04-user-run-v3.md) verified the embedded-data-URL fix. The subsequent [manual restart test](evidence/phase0/2026-09-04-user-restart.md), supplied after the explicit full-exit procedure, restored edited activity and volume with zero new saves. The directory-permission/unavailability fallback observation remains pending.
## Phase 0 and later gates
@@ -13,7 +15,7 @@ Subsystem-specific format details can be completed in dependency order as planne
| Gap | Decision | Evidence status | Gate placement |
| --- | --- | --- | --- |
| GC1 | Recorded | Not run | Phase 0, before deployment architecture commitment |
| GC1 | Recorded | Data-URL worklet load and user-performed restart/settings restoration passed; remaining manual checks pending | Phase 0, before deployment architecture commitment |
| GC2 | Recorded; format draft partial | Contracts and fixtures incomplete | Shared contracts in Phase 0; subsystem contracts before their implementation |
| GC3 | Recorded; transition details open | Traces and tests pending | Shared resolver contract before Phase 2; tests with implementation |
| GC4 | Recorded; audio mapping details open | Prototype and tests pending | Clock contract in Phase 0; synchronization tests in audio integration |
@@ -23,16 +25,16 @@ Subsystem-specific format details can be completed in dependency order as planne
## 1. GC1: Direct-file feasibility
- [ ] Record OS, browser version/profile, launch path, and storage mode.
- [ ] Open the artifact directly from disk with network unavailable.
- [ ] Import two exhibits with the ordinary file picker and activate each.
- [ ] Save exhibit definitions, per-exhibit parameters, selection, and master volume to IndexedDB.
- [ ] Close the browser fully, reopen the same HTML, and restore the cached library and settings without selecting source files again.
- [ ] Verify user-initiated audio unlock and resumed playback.
- [ ] If needed by the audio design, load engine-owned AudioWorklet code from the single-file artifact. Otherwise document why this check is not applicable.
- [ ] Test renamed and moved HTML files; record observed storage behavior and the support boundary.
- [ ] Test unavailable/failed storage; session playback works and the UI explains lack of persistence.
- [ ] Test directory import/remembered handles where available and ordinary-picker fallback where unavailable or permission is denied.
- [x] Record OS, browser version/profile, launch path, and storage mode. The preceding environment records and [regular-Chrome confirmation](evidence/phase0/2026-09-04-user-import-environment.md) establish Windows, Chrome 152, direct-file launch, and IndexedDB in a regular non-Incognito profile.
- [x] Open the artifact directly from disk with network unavailable. The [follow-up capture and user confirmation](evidence/phase0/2026-09-04-user-offline-audio.md) verify restoration, tone, and worklet with browser-scoped Offline mode enabled. The changed mobile user agent on Win32 does not establish physical Android support.
- [x] Import two exhibits with the ordinary file picker and activate each. [The user confirmed ordinary import and selection of both fixtures worked](evidence/phase0/2026-09-04-user-import-environment.md).
- [x] Save exhibit definitions, per-exhibit parameters, selection, and master volume to IndexedDB. See the version 1 saves and subsequent restored snapshots, including edited values in the restart record.
- [x] Close the browser fully, reopen the same HTML, and restore the cached library and settings without selecting source files again. Passed as user-performed evidence following the explicit full-exit procedure; see the restart record for provenance and limits.
- [x] Verify user-initiated audio unlock and resumed playback. Native tone heard in versions 2/3; AudioContext suspend/resume states observed in version 2. This is not full audio-engine conformance.
- [x] If needed by the audio design, load engine-owned AudioWorklet code from the single-file artifact. Verified with the data-URL module in the version 3 user run.
- [x] Test renamed and moved HTML files; record observed storage behavior and the support boundary. The user confirmed restoration from both copies; see [file-location evidence and limits](evidence/phase0/2026-09-04-user-file-locations.md).
- [x] Test unavailable/failed storage; session playback works and the UI explains lack of persistence. [Injected-failure evidence](evidence/phase0/2026-09-04-user-storage-failure.md) confirms settings changes, import, and heard native playback remain operational with zero successful writes; the user subsequently confirmed the visible session-only warning. Passed using application fault injection, not real browser permission denial.
- [ ] Test directory import/remembered handles where available and ordinary-picker fallback where unavailable or permission is denied. Directory import completed in the injected-failure run and ordinary import/activation passed separately. Actual denial/unavailability fallback remains unverified. Remembered handles are optional and not implemented in this probe; verification is required if implemented in the runtime.
**Evidence:** prototype artifact, reproducible steps, environment record, observed results. If ordinary-mode persistence fails, reopen decision 1 before dependent architecture commitment.