Beta stability slice: device-loss recovery, truthful lifecycle, encoder probe, output supervisor, take telemetry - #420
Merged
Merged
Conversation
(cherry picked from commit 658a3d1)
(cherry picked from commit dbf6edc)
(cherry picked from commit 85dd7d8)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit 13545fb)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit 10a1a99)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit 523a295)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit f06d6fb)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit 2881bb7)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit 4527e1f)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit 8a53ac8)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit aa17c10)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit c044320)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit e6ac97a)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit a268fee)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit a54e7b3)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit 5f7b0e5)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit b6b3a5c)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit a305391)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit 62e19da)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit 0056b0f)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YASnsbX3oQRZRxUNroqjY5 (cherry picked from commit b437b61)
programFrame.sceneId stuck on the pre-take scene because the buffered render path attributed it from a peek of the latest delivered frame, with no else branch when nothing new came back. Attribution now keys on the delivery sequence and publishes live/holding/unknown. Each take writes one structured record (scene, plan, layers, wall adoption, background continuity, subscription churn), and Zoom subscription churn is counted per source with a reason. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SAB8v62BEV8ihmaeGhhtY9 (cherry picked from commit 329e33c)
A supervisor sits outside each protocol's async writer, judges health from accepted units advancing, restarts on the house 5-10-20-40-60s ladder, gives up loudly after five failures, and bypasses the ladder for terminal configuration errors. NDI's in-process residual risk is published, not hidden. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SAB8v62BEV8ihmaeGhhtY9 (cherry picked from commit ceb334c)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SAB8v62BEV8ihmaeGhhtY9 (cherry picked from commit 46b07ff)
The core published subscription churn as "zoomSubscriptions", an object, but the shell already binds that name to a list of spine subscriptions. Every snapshot failed to deserialize, leaving the shell blind to the core (engine status showed the JSON error, program frame count stuck at 0). Caught on the first live launch; the core suite cannot see shell parsing. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SAB8v62BEV8ihmaeGhhtY9 (cherry picked from commit 1d164b7)
Splitting the beta slice off the architecture branch dropped the findChurnSource helper along with the authority tests that shared its conflict hunk, and left two doc links pointing at plans that only exist on the #419 branch. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SAB8v62BEV8ihmaeGhhtY9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The beta-stability half of #419, split out so it can merge on its own. #419 stays open as the architecture draft; nothing from its Wave 1/2 foundations is included here.
What's in it (26 commits, cherry-picked in order from #419)
Live-show fixes (2026-09-08/09)
Beta slice (
docs/production-realtime-completion-plan.md§7 on #419)Observability
GET /snapshotserves the core's own sessionState (49 nodes), redacted, with stalenessrealtimeEvidence), lifecycle contracts, and the Wave 0 qualification judge inputTiles
codex/persistent-sources)Verification
MonitorRenderFaultInjection.*are real-GPU timing tests, opt-in)Split notes
ZoomEngineRuntimehunk was bundled with Establish production realtime architecture foundations #419's source-authority code; only the subscription-churn parts are kept here.🤖 Generated with Claude Code
https://claude.ai/code/session_01SAB8v62BEV8ihmaeGhhtY9