- 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
48 lines
4.7 KiB
Markdown
48 lines
4.7 KiB
Markdown
# XZBT
|
||
|
||
Immersive visuals and creative soundscapes.
|
||
|
||
XZBT is a self-contained browser runtime for declarative procedural audiovisual exhibits. `XZBT.html` provides capabilities; `.xzbt` documents define experiences.
|
||
|
||
## Reading order and authority
|
||
|
||
| Resource | Purpose | Status |
|
||
| --- | --- | --- |
|
||
| [MVP Product Requirements Document](XZBT_0-1_MVP_Product_Requirements_Document.md) | Product scope, user behavior, delivery requirements, and release acceptance | Document revision 0.2; format version remains 0.1 |
|
||
| [Format Specification 0.1](docs/XZBT_0-1_Format_Specification.md) | Runtime semantics, contract inventory, and required authoring examples | Document revision 0.2; shared format contracts complete, subsystem contracts in dependency order |
|
||
| [Gap Closure Decisions](docs/XZBT_0-1_Gap_Closure_Decisions.md) | Decisions and rationale for the seven pre-implementation gaps | Decisions incorporated; GC1 and GC2 shared contracts verified |
|
||
| [Verification Gates](docs/XZBT_0-1_Verification_Gates.md) | Evidence required before architecture commitment, subsystem work, and release | GC1 passed (10/10 checks) and GC2 shared contracts complete; GC3–GC5 in progress |
|
||
| [Implementation status](docs/IMPLEMENTATION_STATUS.md) | Current phase, stop reason, saved work, and resume prerequisites | Phase 0 in progress; GC1 & GC2 complete, drafting GC3–GC5 |
|
||
|
||
The PRD is authoritative for product requirements. The format specification is authoritative for runtime semantics where a contract is explicitly defined. The decision record explains those choices; the verification gates define how to check them. These documents must be updated together when a decision changes. An unresolved conflict is a specification defect, not permission for an implementation to choose silently.
|
||
|
||
The earlier ChatGPT discussion, **Discuss Application Vision** (conversation `6a9b5c32-1ffc-83e8-a219-fa8113167f03`), is historical design input. Its proposals must be reconciled into these local resources before they become implementation contracts. It is not a second source of executable instructions.
|
||
|
||
## Planning entry point
|
||
|
||
Begin the implementation plan with Phase 0 from the verification gates. Complete the launch-model prototype and shared semantic contracts before committing dependent architecture and detailed estimates. Carry workload measurements and release soak tests as later explicit gates; they are not prerequisites for drafting a plan.
|
||
|
||
The full PRD completion criteria remain the 0.1 release target. Early integrated demonstrations are milestones, not completed MVPs. Reference exhibits develop alongside the engine; Phase 9 completes and audits the suite.
|
||
|
||
Phase 0 feasibility has concluded with all 10 direct-file checks in GC1 verified. The [version 3 user-run result](docs/evidence/phase0/2026-09-04-user-run-v3.md) verified embedded data-URL worklet loading. The [user-performed restart test](docs/evidence/phase0/2026-09-04-user-restart.md) restored edited activity and volume. The [directory fallback observation](docs/evidence/phase0/2026-09-05-user-directory-fallback.md) confirmed graceful error handling and session state preservation. GC1 is fully satisfied. In addition, GC2 shared format contracts, the JSON Schema, the semantic validator, and the 12-case test suite are verified; see [GC2 evidence](docs/evidence/phase0/2026-09-05-gc2-format-contracts.md). Phase 0 active work now focuses on resolution, clock, and ownership contracts (GC3–GC5) before Phase 1 begins.
|
||
|
||
## Repository configuration
|
||
|
||
The [storage-failure evidence](docs/evidence/phase0/2026-09-04-user-storage-failure.md) additionally confirms session settings changes, directory import, and heard native playback during injected write failures. The user also confirmed the visible session-only warning; the injected-storage-failure check passed.
|
||
|
||
Copy `.env.example` to `.env` for local repository configuration. `.env` and its variants are ignored by Git; never commit real credentials. The example contains placeholders only.
|
||
|
||
The repository's existing [LICENSE](LICENSE) is preserved.
|
||
|
||
## Local development server
|
||
|
||
For automated browser development checks, start the dependency-free loopback server with:
|
||
|
||
```powershell
|
||
node tools/dev-server.mjs
|
||
```
|
||
|
||
It binds only to `127.0.0.1:5173` and serves the workspace through `http://localhost:5173/`; the root route opens the Phase 0 probe for layout or control-flow inspection only. Set `XZBT_DEV_PORT` to use a different port. This server is a development aid, not part of the delivered runtime.
|
||
|
||
Do not use localhost results as Phase 0 direct-file evidence. Serving changes the origin, security model, and module-loading path. The final `XZBT.html` must still be opened and tested directly from disk for every GC1 conclusion.
|