mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-21 16:02:20 +00:00
fix(control): raise the dialect to v9 rather than walk it back to 7
Reverting the projects layer took CONTROL_VERSION back to 7 with the verbs it had been raised for. The dialect that number describes is correct — this build speaks v7's messages again, one for one — but the number is not, because v8 is already deployed. A version that moves backwards stops being an identity. A 7 on the wire would mean "before projects" or "after them" depending on which build sent it, and the handshake has nothing but the number to tell those apart: a v8 peer would read our 7 as an older server it may keep talking to, and every project verb it pushed would fail to decode and drop the link. v9 is a number no peer has seen, so a v8 peer is turned away at the handshake instead. Nothing else changes; every other reference to the constant is relative to it. Claude-Session: https://claude.ai/code/session_015q6HRem76HYy33T39bp34c
This commit is contained in:
@@ -34,7 +34,16 @@ use super::protocol::{MAX_FRAME, read_frame, write_frame};
|
|||||||
/// refusing to kill a server it has nothing to replace with — can be exercised
|
/// refusing to kill a server it has nothing to replace with — can be exercised
|
||||||
/// against the v6 servers already deployed. A number is the only way to reach
|
/// against the v6 servers already deployed. A number is the only way to reach
|
||||||
/// that path, and a mismatch nobody can reproduce is a mismatch nobody can fix.
|
/// that path, and a mismatch nobody can reproduce is a mismatch nobody can fix.
|
||||||
pub const CONTROL_VERSION: u32 = 7;
|
///
|
||||||
|
/// v8 added the project verbs; v9 takes them back out. The dialect this build
|
||||||
|
/// speaks is v7's again, message for message, but the number does not go back
|
||||||
|
/// to 7 with it: v8 is deployed, and a number that moves backwards stops being
|
||||||
|
/// an identity and becomes a coincidence. A 7 on the wire would then mean
|
||||||
|
/// either "before projects" or "after them" depending on which build put it
|
||||||
|
/// there, and the handshake — which has nothing but the number — cannot tell
|
||||||
|
/// the two apart. A v8 peer meeting this one must be turned away, and only a
|
||||||
|
/// number it has never seen does that.
|
||||||
|
pub const CONTROL_VERSION: u32 = 9;
|
||||||
|
|
||||||
const DIALECT_MARKER: &str = "speaks control v";
|
const DIALECT_MARKER: &str = "speaks control v";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user