feat(runtime): implement phases 1 and 2
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# Phase 2 common grammar — automated evidence
|
||||
|
||||
**Date:** September 5, 2026
|
||||
**Artifact:** `XZBT.html`
|
||||
**SHA-256:** `8ea318535e97b25b51760b6c0e59e1a5af89d3f429f079de3b87230165008517`
|
||||
**Result:** Phase 2 implementation and automated acceptance passed.
|
||||
|
||||
## Delivered
|
||||
|
||||
- typed parameter and simulation-state stores with strict coercion rejection and declared bounds;
|
||||
- separately persisted parameter snapshots, with state recreated for each performance;
|
||||
- read-only time, audio-analysis placeholder, pointer, viewport, and scenario-active signals;
|
||||
- literal, reference, bounded random, weighted-choice, and safe-operation ValueSpec evaluation;
|
||||
- comparison and short-circuit logical ConditionSpec evaluation;
|
||||
- deterministic fixed-step common-grammar performance driver with the GC4 stall bound;
|
||||
- same-tick dependency resolution for parameter/state bindings;
|
||||
- numeric transforms, clamps, exact one-pole smoothing, conditional disable, and clean re-enable;
|
||||
- ordered common action execution with `when`, `chance`, `critical`, persistent state `set`, and temporary `override`;
|
||||
- numeric set transitions with the four standard easing modes;
|
||||
- override runtime IDs, priority/activation-sequence precedence, scenario/duration lifetimes, attack/release transitions, owner release, and live lower-value restoration;
|
||||
- generic inspection controls and resolved-value placeholders in the subject-neutral application shell;
|
||||
- two updated minimal exhibits exercising conditional and unconditional common-grammar bindings.
|
||||
|
||||
Subsystem-specific `sound`, `event`, `spawn`, `remove`, and `control` execution remains unavailable until the owning audio, visual, event/cadence, and scenario phases define and implement their capability contracts. The common executor rejects those actions explicitly instead of approximating their behavior.
|
||||
|
||||
## Automated verification
|
||||
|
||||
`npm run test:phase2` passed 9 of 9 production tests:
|
||||
|
||||
1. production validator agreement with the GC2 fixture matrix;
|
||||
2. ValueSpec references, random values, weighted choice, safe operations, and arity failure;
|
||||
3. ConditionSpec composition, short-circuiting, and strict operand typing;
|
||||
4. same-tick binding dependency order and exact smoothing;
|
||||
5. conditional binding disable and re-enable behavior;
|
||||
6. document-order state actions and parameter mutation rejection;
|
||||
7. deterministic state transitions and duration parsing;
|
||||
8. override precedence, stored-edit preservation, and live-base release;
|
||||
9. duration expiry, compatible stored parameters, and performance disposal.
|
||||
|
||||
Regression verification also passed:
|
||||
|
||||
- Phase 1 production/build tests: 6 of 6
|
||||
- GC2 contract oracle: 12 of 12
|
||||
- GC3 contract oracle: 8 of 8
|
||||
- GC4 contract oracle: 7 of 7
|
||||
- GC5 contract oracle: 8 of 8
|
||||
|
||||
The standalone build test compiled the generated script and confirmed byte-identical clean outputs with no external runtime script or stylesheet references.
|
||||
|
||||
## Remaining cross-phase observation
|
||||
|
||||
The earlier direct-file browser restriction still prevents an agent-run full-browser restart check. Phase 1’s user-observed two-fixture import/cache/reopen gate therefore remains open; it does not change the passing Phase 2 semantic results above.
|
||||
Reference in New Issue
Block a user