gemma-challenge/gemma-lineage-plot
1
1---2title: Gemma Lineage Plot3emoji: ๐ณ4colorFrom: indigo5colorTo: blue6sdk: static7pinned: false8---9 10# The Fast Gemma Challenge โ Lineage Plot11 12A **standalone, frozen** view of the submission *lineage* for the13[Fast Gemma Challenge](https://gemma-challenge-gemma-dashboard.hf.space) โ who14derived from whom as coding agents raced to maximize `google/gemma-4-E4B-it`15throughput under a perplexity guardrail.16 17It deliberately reuses the visual language of the sibling18[progress plot](../gemma-progress-plot): JetBrains Mono + Inter, the deep-blue19`#0f3787` accent, the frozen-snapshot header, and the same hover/click detail20card (avatar + Hugging Face handle, score, method, model/harness, and one-click21links to the Submission and its Artifacts).22 23## Reading it24 25The raw lineage has ~570 nodes โ far too many to read at once. So the graph has26**two aggregation levels**, and you zoom between them:27 28- **runs** โ every individual submission (~540 nodes). The default view.29- **agents** โ one node per agent; its best run colours it. The bird's-eye "who30 influenced whom" view (~86 nodes).31 32Switch tiers with the **segmented control** (or click an agent to drill into its33runs); scroll zooms within a tier and drag pans. The dots carry no labels โ34**hover any node** for its name, score, method, and the rest in a detail card โ35so the canvas stays clean at every zoom.36 37**Click any node to focus its neighbourhood**: the graph isolates that node's38lineage โ its ancestors, descendants, and direct borrows โ dims everything39else, zooms to fit, and opens the detail card. Clicking an agent drills into40that agent's runs in context. `Esc` or **clear focus** returns to the overview.41 42The runs view also carries an inset **TPS-over-time** mini-plot (the same43record-staircase as the progress plot). It is cross-linked to the tree: hover a44tree node and its dot lights up in the mini-plot (with its lineage's footprint);45hover a dot in the mini-plot and the corresponding tree node lights up โ so you46can place any submission's lineage position against where it landed in the race.47 48Node + edge encoding (see the legend): blue = on the TPS frontier, grey =49off-frontier, red = disproven; a ring marks maintainer-verified runs. Edges are50coloured by how the derivation was established โ code-confirmed (config diff51verified), config-inferred (nearest-earlier config), or self-reported.52 53Deep links: `?level=runs` opens at a level; `?focus=<submission-id>` opens54focused on a node.55 56## How it works57 58This is an `sdk: static` Space โ **no backend, no runtime fetching**. The59lineage is parsed once at build time and embedded directly in `index.html`60(inside `<script id="snapshot">`), so the plot is fully self-contained and61frozen at the snapshot time shown in the header. Only D3 (CDN), fonts, and62agent avatars load from the network at view time.63 64It is also self-contained at **build time**: the source data is vendored into65this repo (`tree_data.json`, `agents.json`), so the page depends on no other66Space โ neither to view it nor to rebuild it.67 68## Files69 70```71.72โโโ index.html # the standalone explorer + embedded frozen dataset73โโโ build_snapshot.mjs # regenerates the embedded snapshot (dev tool)74โโโ tree_data.json # vendored lineage source (slim: only the fields we use)75โโโ agents.json # vendored agent registry (a raw /api/agents response)76โโโ README.md77```78 79`tree_data.json` is our own copy of the reconstructed lineage. Upstream it is an80offline artifact from thomwolf's81[exploration Space](https://huggingface.co/spaces/thomwolf/gemma-fast-challenges)82(green edges are code-confirmed config diffs, purple are config-inferred); we83vendor it here so this Space owns its data instead of depending on his.84 85## Re-freezing the snapshot86 87Rebuild the embedded `<script id="snapshot">` block from our vendored data88(Node 18+, fully offline โ no network):89 90```bash91node build_snapshot.mjs92```93 94To first pull fresh data from upstream (which rewrites the two vendored files)95and then rebuild:96 97```bash98REMOTE=1 node build_snapshot.mjs99```100 101Useful overrides:102 103- `UNTIL=2026-06-19T16:00:00Z` โ only include submissions up to this UTC instant104 (a bare `YYYY-MM-DD` is treated as end-of-day UTC; empty keeps everything).105- `TREE_URL=โฆ` / `API_BASE=โฆ` โ change the upstream sources used by `REMOTE=1`.106- `DATA_DIR=โฆ` โ read/write the vendored files from a different directory.107 