- No M_UNKNOWN_POS: an unrecognised pos is treated as absent (nothing
trusted from the token); the connection starts afresh and rooms come
down as never-sent. Clients have no error path.
- required_state is immutable per connection and always taken from the
current request: room configs are no longer persisted or diffed
(track_room_configs flag, off for paginated sync).
- num_live dropped from the wire (derivable: previously-sent rooms only
receive live events, initial rooms are all-historical).
- Extension lists/rooms scoping ignored: an enabled extension applies
to the rooms in the response (PaginatedSyncExtensionHandler).
Tests: unknown-pos-starts-afresh, extensions-without-scoping, num_live
absence; sliding sync suites unaffected (174 still green).
Also gitignore localtest/, the local validation server's scratch dir.