arizuko › products › Taxonomy chat (Marble)
Taxonomy chat (Marble)
“What does a child need to learn before fractions?” — the agent traces the prerequisite graph of an open education dataset and answers in plain words. One folder, one bundled dataset, a public chat widget anyone can open.
system shape
This is a read-only knowledge bot over a fixed dataset. Where the supermarket agent searches the live web each turn, this one queries a dataset that ships inside the folder — no outbound fetch for data, no per-user state. The six primitives at their leanest:
-
Event. A message from the public web-chat widget
lands as a row in the folder’s inbox. No platform adapter, no
login — a
/chat/<token>/link is the whole front door. -
Routing. One rule maps the widget’s JID to the
single
marblefolder. Every visitor shares it. -
Agent (folder-as-data). The folder holds a
CLAUDE.md(who the agent is, how to answer, how to cite) and ataxonomy/directory of JSON —topics.json,dependencies.json,clusters.json. The agent answers by runningjqover those files: trace a prerequisite chain, list what a topic unlocks, filter by subject or age. - Authorization. A single public chat token. Anyone with the link can ask; no per-user ACL rows.
- Turn. One ephemeral container per question. The agent reads the JSON, walks the graph, and replies with topic names cited. Nothing is written back.
- State. The shared DB (per-turn message rows) and the bundled dataset on disk. No per-user sub-folders, no memory files. The dataset is reference, not scratch — nothing accumulates between visitors.
example
web chat · public link
visitor what does a child need before fractions?
marble Before fractions, these foundations come first:
whole-number place value, equal sharing / partitioning,
multiplication as equal groups, and division as sharing.
Each is a prerequisite edge into "Introduce fractions".
visitor what's the deepest chain in the taxonomy?
marble Understanding Earth's atmosphere (for 10-11-year-olds)
requires learning 9 other topics first - the longest
prerequisite chain in the graph.
The taxonomy behind this example is the Marble Skill Taxonomy v1: 1,590 K–5 micro-topics wired into a 3,221-edge prerequisite graph across 8 subjects. It is the open-data twin of the interactive curriculum graph on withmarble.com/curriculum — same dataset, an agent you can talk to instead of a browser you click.
where this sits — a bundled-dataset bot
Like the supermarket agent, this is the minimal end of the spectrum:
- No per-user memory. Every visitor starts fresh.
- No folder tree. One level, one folder.
- No grants table. The chat token is the fence.
- No web-search egress. The dataset is on disk; the box never leaves for data, only for the model call.
The one thing it adds over the supermarket shape is a bundled knowledge base and a deliberately cheap model. A public bot answering lookup questions doesn’t need a frontier model — pin it to Haiku and trim its skills, and each answer costs little and lands fast. The setup guide walks both tuning steps.
data & trust
-
Your server. The dataset and message history live
under
/srv/data/arizuko_<name>/. Backup is onetar. - One outbound path. Anthropic, for model calls. There is no web-search egress — the taxonomy is bundled, so the agent answers from the folder, not the internet.
- No user data collected. No per-user memory, no linked identities, no email. The only persistent state is the message log.
-
Licensing. The Marble Skill Taxonomy is
© Marble (withmarble.com),
released under CC BY-SA 4.0. Keep the attribution in the
agent’s
CLAUDE.mdand cite it in replies.
setup
arizuko group <instance> add web:<folder> <folder> # register the public group
cp taxonomy/*.json /srv/data/arizuko_<instance>/groups/<folder>/taxonomy/
# pin the model to Haiku + trim skills at /dash/groups/<folder>/settings
arizuko token <instance> issue chat <folder> # mint the public chat link
Full step-by-step — register the group, drop in a dataset, write the brain, pin the model, trim skills, mint the link — is in the operator setup guide.
go deeper
- primitives — the minimal recomposition: one folder (Agent) with a bundled dataset, one route (Routing), a jq-over-JSON Turn, no per-user State
- web chat tokens — mint a public widget URL without a platform adapter
- supermarket agent — the same minimal shape, but searching the live web instead of a bundled dataset
- chat SDK — embed the widget in any page
- deployment guide — first instance, first channel, first token