Preview fixtures and sample data

DataMind Oda's browser preview builds its file tree in memory and mounts a fixture over it: a named set of overlay files chosen before the run starts. The fixture decides which sample files and sessions the preview opens with. This page covers how fixtures are defined, what the shipped sample contains and how older sample sessions are kept compatible; starting the preview and choosing its data is on Browser preview.

What a fixture is

Define a fixture in the manifest

The preview takes the list of fixtures from a manifest named fixtures.json. The manifest has three fields:

Each fixture carries four fields:

A manifest that breaks these rules is refused rather than used, and the message says what is wrong:

Other messages the preview prints are collected on Preview diagnostics.

The bundled sample workspace

The sample fixture opens with a small workspace, so the preview has something real to show:

The seeded sample sessions

The sample also seeds sessions, so the preview opens with histories to explore:

Keep older sample sessions compatible

Session logs change over time, and the sample keeps that history on purpose:

Questions, answered

What sample data comes with the preview?

A small workspace and a prepared showcase session with two subagent histories behind it. The workspace holds a guide, a script example, a task checklist and a preview-tour skill.

How do I restore the sample workspace after changing it?

Refresh the preview. Edits live only in the preview's memory, and a refresh mounts the sample again from its original bytes; the workspace guide carries the same reminder: Refresh the preview to restore these image bytes.

How do I add a fixture of my own?

Add an entry to the fixture manifest: an id, a label, a description and the addresses of its overlays. The preview validates the manifest when it reads it and refuses one that breaks the rules.

What happens if the fixture manifest breaks a rule?

The preview refuses the manifest, and the message names the fault: a version other than 1, an invalid entry, a repeated id, or a default that names no fixture. The four messages are listed above.

Why do two generations of one sample session sit side by side?

To keep an old format honest: the earlier file is a predecessor that is never rewritten or upgraded, while the current generation must match what the preview writes today. The two differ only in their version field.

Why does the sample history have an earlier page?

Because the showcase holds more than 50 messages: the oldest entries do not fit on the first page of its history, and loading the earlier page is part of the tour.

What does the bundled tour skill do?

It runs the sample tour: read the workspace files, inspect the tool gallery, open both subagent histories and load the earlier conversation page. Its description reads Inspect the bundled Preview workspace and its deterministic Session examples.

Do the sample sessions use a real model?

No. They run on a deterministic sample model, and the provider and model names it reports come from the fixture, so the same conversation appears on every run.

Why does one sample card show an error?

The tour includes a failed read on purpose, so a tool card that reports a missing file is shown as well: Error: ENOENT: no such file, open missing.txt.