docs: close Step 6 with reconciled Contract 5.3 evidence

This commit is contained in:
2026-09-15 10:59:30 -07:00
parent f163de2643
commit 9dcd3993db
6 changed files with 281 additions and 38 deletions
@@ -1,10 +1,12 @@
# XZBT-NGN Step 6.7 — Closure Report
**Status: not fully closed.** As of 2026-09-15, Step 6.7's implementation, its
handshake defect resolution, the automated baseline, and the packaged
standalone-build verification are complete. The live NGN Observation
verification (Step 6.7B report §15, steps 1–13) has not been performed and is
the only remaining item. Step 6.8 has not been started.
**Status: accepted.** As of 2026-09-15, Step 6.7 is closed and
`f163de264388f1e411cf9e54f26f72a254888afd` is frozen as the accepted Contract
5.3 baseline by the annotated tag `contract-5.3-accepted-baseline`. The full
automated suite, the SciFi surface smoke suite, packaged standalone verification,
and the live eight-point NGN verification have all passed. *(Note: Step 6.8 was
subsequently completed and accepted, and Step 6 is closed at Step 6.10; see the
[Step 6.10 closure report](XZBT-NGN-Step6.10-Closure-Report.md).)*
- Step 6.7A (design, no code): [architecture report](../architecture/XZBT-NGN-Step6.7A-SciFi-Observation-Surface.md)
- Step 6.7B (implementation): [implementation report](XZBT-NGN-Step6.7-SciFi-Surface-Adaptation.md)
@@ -23,8 +25,10 @@ closed:
3. Source/fixture provenance for the SciFi-XZBT fixture — re-verified, and
extended with the packaging record (§5).
Not closed by this report: live browser verification of the Observation
surface through NGN (6.7B report §15, steps 1–13) — see §9.
The final two fixture-level presentation corrections are included in the
accepted baseline: the embedded Observation surface owns its NGN pane geometry,
and an orphaned Observation URL presents an inert waiting state without
creating authority.
## 2. Step 6.7 delivery summary
@@ -175,6 +179,7 @@ Re-verified after the packaging pass:
| `tests/postmessage-interop.test.js` | **7 / 7** (was 2 / 7) |
| `tests/scifi-surfaces.test.js` (inside the full run) | 24 / 24 |
| `tests/local-surfaces.test.js` (inside the full run) | 20 / 20 |
| SciFi Observation surface smoke suite | **24 / 24** pass |
| SciFi-XZBT contract harness | 21 / 21 |
| SciFi-XZBT real-adapter suite | 32 / 32 |
| `python devlog_editor.py --validate` | devlog is valid |
@@ -202,31 +207,53 @@ commit was requested):
The handshake correction that this report closes was committed earlier as part
of `745912e` ("Steps 6.4-6.7B …"), pushed to `origin/main`.
## 9. Remaining work
## 9. Accepted live verification
**Step 6.7 remains open for one item: live NGN Observation verification**
(6.7B report §15, steps 1–13). Not performed in this pass:
The final live NGN verification passed these eight points:
1. Connect NGN to the SciFi fixture; confirm connected · synchronized, Contract 5/3, and the target catalog.
2. Confirm the Surfaces panel lists exactly two entries (`surface.console` primary, no Open button; `surface.observation`).
3. Open the Observation pane; confirm it renders the current universe/preset within ~1 s, shows no exit chrome, and is inert to background clicks.
4. Confirm the console does not black out and `view.observation` stays `false`.
5. Drive `set` from NGN for the seven listed targets (universe, preset, alert, viewport frame, activity, pillars, warp-flight); confirm both surfaces converge with advancing `stateRevision`.
6. Reload the pane; confirm it returns to current (not default) state, and close/reopen does not ratchet the participant count.
7. Press WATCH EXPERIENCE; confirm the pane is unaffected and `view.observation` toggles only the console overlay.
8. Inspect the pane's frame: no WebLLM/Kokoro network activity, no `window.generativeExperience`, no `AudioContext`.
9. Confirm transient activity events and AI announcements appear on console and pane at the same moment.
10. Disconnect/reconnect NGN; confirm clean pane release and rediscovery.
11. Standalone `index.html` opened directly with interaction (hotkeys, WATCH EXPERIENCE, audio) — only the packaged boot is evidenced so far (§4).
12. Standalone two-window mirroring (`index.html?surface=observation&xi=<real id>` with no NGN present).
13. `?surface=observation&xi=nonexistent` alone; confirm a waiting state with no invented authority.
1. The SciFi fixture connected and synchronized as Contract 5.3 with its expected target catalog and two-surface descriptor set.
2. The Observation pane opened into the current universe and preset, filled its NGN pane at the intended presentation geometry, and retained visible controls.
3. The pane showed no return controls, stayed inert to background clicks, and did not black out the console or change `view.observation`.
4. The seven presentation targets converged across console and pane with advancing `stateRevision`.
5. Reload and close/reopen returned the pane to current state without participant-count ratcheting.
6. WATCH EXPERIENCE affected only the console overlay; the separate Observation pane remained independent.
7. The Observation frame remained non-authoritative: no WebLLM/Kokoro activity, `window.generativeExperience`, or `AudioContext` was created there.
8. Transient activity events appeared on console and pane at the same moment; disconnect/reconnect gave clean pane release and rediscovery; standalone two-window attachment (`index.html?surface=observation&xi=<real id>` with no NGN present) mirrored correctly; and the orphan URL (`?surface=observation&xi=nonexistent`) showed the inert waiting state and created no local authority.
Also outstanding, by design and outside Step 6.7:
The console's existing 16:9-lock checkbox behavior is pre-existing presentation
behavior, not a Contract 5.3 or Observation-surface authority defect. The
accepted embedding correction is deliberately scoped to prevent that console
overlay behavior from escaping into the embedded NGN pane.
- Step 6.8 has not been started.
- SciFi-XZBT's working tree remains uncommitted (its contract work, including
the adapter correction, is untracked in that repository); the packaged
artifact therefore reflects an uncommitted tree. A decision on committing
that repository is pending.
- The retained pre-6.7B artifact `dist/SciFiAmbientDisplay_Va723f46=1.html`
should not be distributed.
Acceptance above is not gated on §10: none of the deferred items bear on
Contract 5.3 compliance, surface authority, or the correction this report
closes.
## 10. Deferred operator verification (non-blocking)
Four checks from the 6.7B report §15 acceptance procedure call for sustained
human observation (audio quality, felt timing) rather than a scripted pass/fail,
and were not exercised in this pass. They do not block Contract 5.3 acceptance
above and are tracked here to be performed separately by an operator:
1. **Packaged single-file/offline behavior** — open the packaged `dist/`
artifact directly (`file://`, no server) and interact with it directly:
hotkeys, WATCH EXPERIENCE, and audio playback (report §15, steps 11 and 14).
Only the packaged boot and structural inlining were verified in this pass
(§4); direct offline interaction was not.
2. **Audible sound duplication/quality** — with the Observation pane open
alongside the console, confirm audio is not audibly duplicated between the
two and that playback quality is unaffected by the pane's presence.
3. **Generated AI announcement timing** — confirm AI-generated announcements
remain acceptably timed (not delayed or overlapping) as they appear on both
console and pane (report §15, step 9 covered simultaneity; felt timing
quality was not separately assessed).
4. **Longer-running ambient-event coexistence** — over a longer session than
this pass exercised, confirm ambient/transient events continue to
coexist correctly across console and pane without drift, duplication, or
missed events.
*(Note: Step 6.8 was subsequently completed and accepted with an unreproduced
session renegotiation tracked as non-blocking follow-up; Step 6 is closed at
Step 6.10.)* The retained pre-6.7B artifact
`dist/SciFiAmbientDisplay_Va723f46=1.html` should not be distributed.