Spoiler-safe session recall for singleplayer games. v1 reference title: Sekiro.
gates frontmatter). Player state is a fake
playthrough seeded by replaying gamebuddy log sekiro <node>
in three growing phases.
The same checkpoint, rendered two ways. Left: masked (what the player sees — gated nodes omitted entirely, frontier nodes show only a type stub). Right: reveal (authoring view — the full 49-node DAG). Same code, same data; the only difference is one boolean.
Watch the green island grow and the orange frontier shift outward. The grey "gated" region behind it stays invisible to the player the whole time.
One card per observed or frontier node, with type badges, first paragraph of the entity MD, and a "leads to" list. Frontier cards use stable Rumor #N handles so cross-references survive masking.
This is the structural spoiler proof. gamebuddy resume --dry-run
emits the exact prompt body that would be sent to the synthesis call.
Compare the entity lists across phases:
The model literally cannot leak what it was never given.
.sl2 discoveryA field note from building the Sekiro save-file provider. The plan was to extract an AES key via debugger, the way the community had done it for DS3 and Elden Ring. The actual finding: there is no key. Sekiro saves are plaintext + MD5. Five-minute hex-editor session deleted two hours of planned work.
Without an Anthropic API key we can't make the real one-shot call. Instead
the late envelope (above) was handed verbatim to a Claude Opus subagent
running with all tools disabled — same model class, same prompt, same
"no data-fetching tools" constraint as the production call. The subagent's
JSON response was then formatted through gamebuddy's own
_format_summary(), so the output below is byte-identical to
what gamebuddy resume sekiro --reveal would print.
tool_use to return JSON; the subagent returns
JSON-in-tags.