Skip to content

Add SessionSnapshot: single-lock consistent session capture for RT hosts - #3

Merged
1e1f merged 1 commit into
mainfrom
claude/entambi-link-wire-rs-ojo6pl
Jul 3, 2026
Merged

Add SessionSnapshot: single-lock consistent session capture for RT hosts#3
1e1f merged 1 commit into
mainfrom
claude/entambi-link-wire-rs-ojo6pl

Conversation

@1e1f

@1e1f 1e1f commented Jul 3, 2026

Copy link
Copy Markdown
Member

Hosts driving a realtime audio thread cannot take the peer's internal lock per block, and a sequence of individual getters (tempo, then beat_at_time, then is_playing) can straddle a timeline or session change and disagree. capture_session() returns tempo, beat, phase, transport, membership, and session id from one lock acquisition; SessionSnapshot::beat_at/phase_at extrapolate with pure arithmetic — exact while the timeline is unchanged, superseded by the next poll after a change.

Also: factor the num_peers dedup into count_peers() (shared with the snapshot path) and apply rustfmt to examples/rapid_tempo.rs, which was failing the fmt gate.

Derived only from this repository's existing code and spec-permitted inputs, per PROVENANCE.md.

Claude-Session: https://claude.ai/code/session_01TfnHrUHAfe7RaWNfyggDPP

Hosts driving a realtime audio thread cannot take the peer's internal
lock per block, and a sequence of individual getters (tempo, then
beat_at_time, then is_playing) can straddle a timeline or session
change and disagree. capture_session() returns tempo, beat, phase,
transport, membership, and session id from one lock acquisition;
SessionSnapshot::beat_at/phase_at extrapolate with pure arithmetic —
exact while the timeline is unchanged, superseded by the next poll
after a change.

Also: factor the num_peers dedup into count_peers() (shared with the
snapshot path) and apply rustfmt to examples/rapid_tempo.rs, which was
failing the fmt gate.

Derived only from this repository's existing code and spec-permitted
inputs, per PROVENANCE.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TfnHrUHAfe7RaWNfyggDPP
@1e1f
1e1f merged commit 0e2f2e4 into main Jul 3, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants