scroll.server/crates
WiseDev 7ead67d219 send the SectorHeartbeat the type-0 client is built around
audit finding #16. steady state was a full SectorState (21903) every
four ticks - a hard client reset each time - and the per-turn channel
the client is actually written around was never driven.

added SectorHeartbeatMessage (21902): wire is vint serverTurn, vint
checksum, with optional command and server-tick-data blocks the client's
decode treats as absent at end of stream. the session now emits one per
turn (every 10 ticks); the client reads serverTick as 10*serverTurn and
verifies its predicted checksum for that tick against ours via
LogicGameMode::endTurnReceivedFromServer. a match keeps it in sync with
no reset; a mismatch flips it out of sync, which makes it request a
sector state - which request_sector_state already serves. now that the
idle divergence is fixed the early-game turns verify cleanly.

format confirmed against SectorHeartbeatMessage::decode/encode and
getMessageType (21902) in the client. the full snapshots still go out
too; routing the bot's plays as commands inside the heartbeat and then
dropping the periodic snapshot is the next step, but this stands up the
channel and the checksum verification.

harness: the session emits heartbeats at ticks 10 and 20, and the first
decodes to (turn 1, checksum_at(10)).
2026-08-24 11:40:03 +03:00
..
auth-service stop minting a new account on every login 2026-08-23 08:54:43 +03:00
game-service send the SectorHeartbeat the type-0 client is built around 2026-08-24 11:40:03 +03:00
gateway answer the client when it asks for the sector state 2026-08-23 14:32:20 +03:00
logic send the SectorHeartbeat the type-0 client is built around 2026-08-24 11:40:03 +03:00
logic-derive move all crates into crates/, glob members 2026-08-23 08:15:45 +03:00
scroll-server supervised mode: run the services as child processes 2026-08-23 09:46:59 +03:00
service-rpc grant achievement progress and roll exp into levels 2026-08-24 09:15:22 +03:00
storage fix chest shop prices and gate the free chest 2026-08-23 09:02:49 +03:00
titan grant achievement progress and roll exp into levels 2026-08-24 09:15:22 +03:00
titan-derive build and send the battle sector state 2026-08-23 10:24:20 +03:00