Revision 0.9 adds section 20, the cadence and event subsystems contract, and carries two corrections the implementation forced. Section 6.1 now states that a duration is the authored literal or a non-negative finite number already in milliseconds, since a DurationSpec may be the resolved output of a ValueSpec or a bounded TimeSpec, with the one documented exception of an automation track's `at`, which 19.1 keeps literal-only so that point ordering stays decidable at import. Section 20.11 documents the rejection of an undeclared input name in an event action's `with` map as ERR_UNKNOWN_FIELD — the section's own convention for that shape of error, replacing an invented code that appeared nowhere in the registry. The review record is committed with the code it describes: the two code triages that found these defects, the reconciliation plan that sequenced the fixes, and a follow-up debt record listing what was deliberately left open — the unchecked JSON Schema artifact, degenerate path arcs, post-effect transient allocation, the window-traffic fixture's per-copy wrap bounds, and the unstated `ownership: "persistent"` value on a sound action. None of the five blocks phase 6; all five are written down rather than dropped. Devlog entries are backfilled for the two milestones that had none: phase 3c slice 2, the audio lifecycle and voice ceilings, and slice 4d, the renderer core. The implementation status summary now reflects the reconciled state rather than the in-flight one. 231 tests pass. tools/verify-spec-contract.py reports 46 declared diagnostic codes with every used code resolving and its two long-standing unresolved cross-references unchanged. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01ShxxFqFmCUDQnQvFNm4TKy
23 lines
791 B
JSON
23 lines
791 B
JSON
{
|
|
"name": "xzbt-runtime",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"engines": {
|
|
"node": "24.11.0"
|
|
},
|
|
"scripts": {
|
|
"build": "node tools/build-xzbt.mjs",
|
|
"build:audio-acceptance": "node tools/build-audio-acceptance.mjs",
|
|
"test:phase1": "node test/phase1-runtime.test.mjs",
|
|
"test:phase2": "node test/phase2-common-grammar.test.mjs",
|
|
"test:phase3": "node --test test/phase3-*.test.mjs",
|
|
"test:phase3c3": "node test/phase3-automation.test.mjs",
|
|
"test:phase3c4": "node test/phase3-protection.test.mjs",
|
|
"test": "node --test test/*.test.mjs",
|
|
"build:visual-acceptance": "node tools/build-visual-acceptance.mjs",
|
|
"test:phase4": "node --test test/phase4-*.test.mjs",
|
|
"test:phase5": "node test/phase5-cadence.test.mjs"
|
|
}
|
|
}
|