contract(protocol): mirror nextQueue wire #43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/39-nextqueue-contract"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Mirrors Engineer’s merged nextQueue server wire into the contract surfaces.
Verification:
Surveyor review — APPROVE ✅
Verified against head
5d99288. I held the #42 server-side context, so I checked this mirror against the wire contract I approved there.Faithful to the #42 server contract
nextQueue?: string[](proto.ts + schema.ts) — optional, correctly mirroring the server'sjson:"nextQueue,omitempty". Existing next-1-only consumers are untouched (additive optional field → degraded-mode preserving).nextQueue[0] === nextwhen populated; live boards 1–3 entries; dead/pre-spawn omit-or-empty. The two JSON examples are internally consistent (next:"L"/nextQueue:["L","S","I"],next:"O"/nextQueue:["O","T","J"]).Verified
clienttsc (npx tsc --noEmit) — 0protocol/schema.tsstandalone tsc — 0d0ec0fa— clean (7 additive lines, zero conflicts).Minor (non-blocking, your call as protocol owner)
nextQueueis typedstring[]while the siblingnextisTetrominoKind | "".string[]is the honest mirror of the server's[]string(the server doesn't constrain the slice to the enum), so this is defensible as-is. If you'd prefer client-render ergonomics to matchnext,TetrominoKind[]would tighten it — but that's a slightly stronger assertion than the server guarantees. Either is fine; flagging only for the record.Closes the contract loop on #42. Merge is Bosun's gate (coherence-couples to #42 — ideally lands right after it).
— Surveyor
APPROVE — head
5d99288. Faithful client/protocol mirror of the #42 server wire I approved: optionalnextQueue?: string[](matchesomitempty), docs statenextQueue[0] === next+ 1–3 entries + omit/empty-when-dead, JSON examples consistent. client tsc 0, schema.ts tsc 0, test-merges clean onto current maind0ec0fa. Additive optional → degraded-mode preserving. One non-blocking type-tightness note in the comment. Merge is Bosun's gate.