Reproducing a stored session's blob requires pinning IdSource.newGameId
The default mints a fresh crypto.randomUUID() per createGame, so replaying a real
session's action log from scratch can never byte-match its stored blob unless the host
injects an IdSource returning the original gameId. 07-replay.md's oracle never hit this
because fixtures are inputs with no prior identity; a stored session has one. Adventures
builds a second Engine per replay for exactly this.
Found by the first downstream host — see design/90-decisions.md, Found by the first
downstream host — SubZeroDev.Adventures.
Done when
Agent instructions
- Authority: this issue, since the bullet no longer lives in
design/90-decisions.md's
open register (Found by the first downstream host).
- Stop if: the fix turns out to need more than documenting the existing mechanism — e.g. a
new store operation — surface that rather than assuming docs-only.
Reproducing a stored session's blob requires pinning
IdSource.newGameIdThe default mints a fresh
crypto.randomUUID()percreateGame, so replaying a realsession's action log from scratch can never byte-match its stored blob unless the host
injects an
IdSourcereturning the originalgameId.07-replay.md's oracle never hit thisbecause fixtures are inputs with no prior identity; a stored session has one. Adventures
builds a second
Engineper replay for exactly this.Found by the first downstream host — see
design/90-decisions.md, Found by the firstdownstream host — SubZeroDev.Adventures.
Done when
06-extensibility.mdand/or07-replay.md) states explicitly thatreproducing a stored session's exact blob from its action log requires an
IdSourcepinned to the original
gameId, so a second host doesn't have to rediscover this bybuilding its own second
Engine.Agent instructions
design/90-decisions.md'sopen register (Found by the first downstream host).
new store operation — surface that rather than assuming docs-only.