Commit Graph
13 Commits
Author SHA1 Message Date
Labyricorn cc36878a0f docs(labyricorn): update project page description and phase status 2026-09-05 15:11:45 -07:00
LabyricornandClaude Opus 5 7812d70557 docs(devlog): cover the phase 3 audio subsystem
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_011FWPdCqKaaDnP9NC3JAwh6
2026-09-05 22:04:27 +00:00
LabyricornandClaude Opus 5 f07fc777f3 feat(audio): complete phase 3a/3b audio subsystem contract and runtime
Review Phase 3a before building on it, then implement Phase 3b.

The Phase 3a draft had four blocking defects: nodes were described as a
keyed map while every documented example carried an inline `id` field,
so under the strict unknown-field policy each minimal example would have
failed its own acceptance trace; no section said where a node lives; the
`audioMaxFrequency` ceiling was declared a semantic-stage error while
depending on a live AudioContext sample rate; and the sample-hold PRNG
child key that section 9.3 requires was undocumented. Close all four,
plus nine further gaps in noise seeding, spectral definitions, impulse
decay math, Nyquist handling, missing-field codes, LFO phase origin, the
units table, node-type staging, and a duplicated diagnostics table.

Add Format Specification section 15 for Phase 3b: nine processing and
routing node contracts, the component instance node, audio routing and
modulation with an explicit modulatable-property registry, twelve graph
legality rules, authoring limits, components with a component-scoped
`inputs.*` namespace, sound definitions and recipes, and buses.

Implement the subsystem in three modules. audio-contract.js holds the
declarative node, limit, and modulation tables every consumer reads.
audio-graph.js validates, expands components, and checks legality
without ever opening an AudioContext. audio-engine.js resolves node
fields once from the seeded stream, clamps frequencies to the live
device ceiling, realizes the graph through Web Audio, and owns the
runtime AudioSubsystem. Extend the schema, delegate the standalone
validator's audio checks to the shared module rather than carrying a
second implementation, and add a generic audio fixture.

Phase 3 is not accepted. Automation precedence, the lifecycle state
machine, unlock behavior, voice ceilings, and master protection are
Phase 3c. No sound has been heard from any build, so the audio
acceptance challenge, peak and finite-sample capture, and listening
observations remain open.

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_011FWPdCqKaaDnP9NC3JAwh6
2026-09-05 22:03:18 +00:00
Labyricorn 12140055f7 docs(devlog): cover runtime phases 1 and 2 2026-09-05 13:00:23 -07:00
Labyricorn c010e415a2 feat(runtime): implement phases 1 and 2 2026-09-05 12:59:15 -07:00
Labyricorn 75b4da0df4 docs(devlog): record Phase 0 completion 2026-09-05 12:09:37 -07:00
Labyricorn 63895c4fe7 feat(phase0): complete shared contracts and milestone plan 2026-09-05 12:08:36 -07:00
Labyricorn ee774d0307 docs(devlog): record stall recovery and Phase 0 contract milestone 2026-09-05 11:39:01 -07:00
Labyricorn e02d49a739 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
2026-09-05 11:38:48 -07:00
Labyricorn ca2830174f docs: add XZBT project page and initial development log 2026-09-04 20:32:33 -07:00
Labyricorn 7b2e486095 test: record Phase 0 feasibility probe and manual evidence 2026-09-04 20:31:56 -07:00
Labyricorn 05fe2b4e02 docs: establish XZBT 0.1 MVP planning baseline 2026-09-04 18:42:21 -07:00
Labyricorn 35866e0e74 Initial commit 2026-09-04 18:15:54 -07:00