CoolFace
Datasetpublic

NagaYu/groundhog-world-tapes

Groundhog world tapes -- groundhog/research-publish-v1 Recorded exogenous randomness for a deliberately non-deterministic agent environment. Each row is one intercepted interaction with the outside world: a clock reading, an entropy draw, a UUID, an HTTP response, a file mtime, or an environment-variable read. These tapes replay with no API key, no server and no network. That is checked before publication: the mock world is shut down and every tape is replayed against a closed… See the full description on the dataset page: https://huggingface.co/datasets/NagaYu/groundhog-world-tapes.

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
0likes20downloads
Dataset Card

Groundhog world tapes -- groundhog/research-publish-v1

Recorded exogenous randomness for a deliberately non-deterministic agent environment. Each row is one intercepted interaction with the outside world: a clock reading, an entropy draw, a UUID, an HTTP response, a file mtime, or an environment-variable read.

These tapes replay with no API key, no server and no network. That is checked before publication: the mock world is shut down and every tape is replayed against a closed port.

Contents

worlds (distinct world_seed)8
events1783
branches per world4
corpus documents30
live API calls spent recording155
live API calls to replay0
groundhog version0.1.0
seeds20240202, 20240203, 20240204, 20240205, 20240206, 20240207, 20240208, 20240209

Schema

columnmeaning
world_seedwhich world instance; every derived exogenous value is keyed by it
branchroot for the shared fork-point prefix, root/bN for a branch
stepposition in that branch's history
channeltime, random, uuid, http, fs, env, latency
norm_keynormalised request key, e.g. GET /search?k=3&q=solar
occurrencehow many times this branch had already asked that key
kindaction_independent (shareable across branches) or action_dependent
dep_fingerprinthash of the resource versions this branch mutated; "" means shareable
depsresources whose state can affect the answer
provenancelive, tape, derived, synth, refetch, approx, mutation
payload_jsonthe recorded value

kind and dep_fingerprint are the interesting columns. An empty fingerprint means no action the branch took can have influenced that answer, so every sibling branch may reuse it verbatim -- which is where the variance reduction comes from.

Replay it offline

python
from datasets import load_dataset
from groundhog import WorldTape, Mode
from envs.research_env import ResearchEnv, make_session

rows = load_dataset("NagaYu/groundhog-world-tapes", split="train")
rows = rows.filter(lambda r: r["world_seed"] == rows[0]["world_seed"])
tape = WorldTape.from_records(rows, "<memory>", branches=[{"branch_id": "root"}])

env = ResearchEnv("http://127.0.0.1:9/")          # nothing listens there, on purpose
s = make_session(Mode.GROUNDHOG, tape.world_seed, env, tape=tape, branch_id="root/b0")
with s.activate():
    result = env.rollout(s, "verify", "solar")
assert s.stats.live_calls == 0                     # no network was touched

Provenance and terms of service

Recorded from the bundled mock world in envs/ -- no real third-party service was contacted, and no credentials or personal data are present. Recording a real service with the same interceptors is possible and is the user's responsibility: check that provider's terms first, and do not redistribute content you have no right to.

Citation

Part of the Groundhog research prototype: share the world, resample the consequences.