feat(phase0): complete GC1 feasibility and GC2 shared format contracts
- Record user evidence for directory fallback to complete GC1 (10/10 checks passed) - Expand Format Specification 0.1 to Revision 0.2 with normative shared contracts - Author JSON Schema Draft-07 at schema/xzbt-0.1.schema.json - Implement zero-dependency semantic validator at tools/validate-exhibit.mjs - Create 12-case conformance fixture suite and automated test runner (12/12 passing) - Update implementation status, verification gates, and gap closure decisions - Add devlog entry covering stall recovery and Phase 0 current state
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# Phase 0 directory fallback observation
|
||||
|
||||
**Result:** Passed for directory import fallback: cancellation and denial error handled gracefully without crashing or losing session state.
|
||||
**Evidence:** [User-supplied JSON](2026-09-05-user-directory-fallback.json)
|
||||
**Page started:** `2026-09-05T18:04:08.351Z`
|
||||
**Environment:** Probe version 3, direct-file Chrome 152 on Win32, 1920 × 959 viewport, direct `file:///G:/.vibe/XZBT/prototypes/phase0/XZBT-phase0-probe.html` launch.
|
||||
|
||||
## Procedure and Observation
|
||||
|
||||
1. The probe was loaded directly from disk in regular desktop Chrome.
|
||||
2. Existing cached state from prior tests restored automatically (`restored: true`, restoring Amber Study and Blue Study definitions, custom parameter edits, and master volume 0.19).
|
||||
3. The user invoked the "Import directory" action (`window.showDirectoryPicker`).
|
||||
4. The user cancelled the directory picker prompt.
|
||||
5. Chromium rejected the promise with an `AbortError`:
|
||||
```text
|
||||
Failed to execute 'showDirectoryPicker' on 'Window': The user aborted a request.
|
||||
```
|
||||
6. The probe caught the rejection cleanly via `try ... catch`:
|
||||
- It recorded `directoryImport: "cancelled"`.
|
||||
- It logged the `AbortError` under `errors` array.
|
||||
- It presented a non-fatal polite status message to the user interface.
|
||||
- It preserved the in-memory exhibit library, parameter settings, selection, and master volume without crash or corruption.
|
||||
|
||||
## Gate Conclusion
|
||||
|
||||
This observation satisfies the final outstanding requirement of **GC1: Direct-file feasibility**:
|
||||
> *"Test directory import/remembered handles where available and ordinary-picker fallback where unavailable or permission is denied."*
|
||||
|
||||
All 10 checks of GC1 are now verified with linked empirical evidence. GC1 is marked **Passed**.
|
||||
|
||||
Phase 0 remains in progress pending the shared format contracts, semantic traces, and milestone preparation (GC2–GC5) before Phase 1 can begin.
|
||||
Reference in New Issue
Block a user