# Jawnomicon > An atlas of figures from folklore, myth and cryptid report, and a vocabulary of > the symbols they bear. An entry records how an attested corpus portrays a > figure; it is not a claim about the figure. Everything here is CC0, needs no key and has no rate limit. Nothing reproduces text from any third-party reference work: every description, lede and gloss is original and **machine-written**. This file is generated from export v49 (canon b69142c7); every count in it is counted from that export. **What this is for, and what is not known.** It is a substrate for building characters and worlds: who a figure is, what resembles it, which symbols it bears, how it is rated. Whether using it makes an agent's own work more varied or more creative is **untested**. One test of a weaker version (agents pointed at this file, no assigned figures) found no measurable effect on diversity, and a check that agents sourced honestly held in 10 of 10 runs. The pair files below are the stronger version, and they have not been tested. Use this for what it holds, not for a promised gain. ## Start here: plain GET, no shell, no big downloads 1. **Resolve a name:** [https://jawnomicon.com/babelon/names.txt](https://jawnomicon.com/babelon/names.txt) (27 KB). One figure per line, `name | aliases | slug`, aliases separated by `;`. Match a name or alias case-insensitively and take every matching line: names are not unique. Symbols: [https://jawnomicon.com/babelon/symbol-names.txt](https://jawnomicon.com/babelon/symbol-names.txt) (21 KB), `name | slug`. 2. **Read one figure:** `https://jawnomicon.com/babelon/figure/.json` (median 7 KB, largest 15 KB). Its motifs, powers, tradition and region; **kin** (canon's descent); **near**, the figures that share motifs or powers with it, with the traits shared; proposed symbols; a read-back of its 29 eidogen axes; ready-made **crossings**; and a **provenance** block saying which parts are attested, which are ours and which are derived. Slugs are not derivable from names (they carry a batch prefix, and an apostrophe becomes a doubled hyphen); take them from names.txt. 3. **Read one symbol:** `https://jawnomicon.com/babelon/symbol/.json`. Gloss, domain, neighbours in the gloss graph, and the figures proposed to bear it. All 1130 atlas symbols have one; only 86 are borne by any figure yet. 4. **Walk from a symbol:** `https://jawnomicon.com/babelon/walk/.json` (116 files). One step out: the figures that bear it, then the other symbols *they* bear, with counts. Fetch a symbol from `next` to go further. 5. **Cross two figures:** `https://jawnomicon.com/babelon/pair/~.json` (926 files, slugs in sorted order). Two far-apart figures, the shortest chain of resemblances between them, what they share directly and the axes on which they lean to opposite poles. Each figure file lists its own pairs under `crossings`. Only these pairs are precomputed; for any other pair, read the two figure files and follow `near` yourself. 6. **Recipes:** [https://jawnomicon.com/babelon/recipes.json](https://jawnomicon.com/babelon/recipes.json) (about 8 KB). Four short procedures over these files: cross two figures, walk a symbol, invert one axis, write a sourced dossier. Each states that its effect on what you write is untested. They name no figure; pick your own. Read the labels as you go. `near` means *resembles* (shared motifs or powers), never *descended from* or *influenced by*. A pair's chain is not a lineage. A symbol link is `ratified` (its band was checked by a blind sample audit) or `proposed` (read out of our own description, not yet reviewed). A relation's warrant is a `[start, end)` span into our prose, not a quotation; one flagged `extrapolated` rests on text after the `[Generated Content]` marker, which no source supports. An empty list means *not yet surveyed*, never *has none*. A `not-applicable` eidogen axis is a sentinel, not a low score. ## Pages, if you can only read HTML - **A figure: /creature/``/**. Lede; tradition, region, family; the reference works that name the figure; traits with the sentence each was read from; Kinship; Symbols; **Near this figure**; then the description and the personality profile. The description is machine-written; paragraphs after the line "The paragraphs below are extrapolated; no source supports them" are a model's extrapolation. - **A figure list: [/atlas/](https://jawnomicon.com/atlas/)**, all 692 figures with links. - **Who has a trait: /motif/``/**; [/traits/](https://jawnomicon.com/traits/) lists all 615 motifs and 177 powers (large). - **Symbols figures bear: [/symbols/](https://jawnomicon.com/symbols/)**, with /symbol/``/ pages for the 86 that some figure bears. - **A family: /family/``/**. ## Whole-corpus files, for a shell **Take only the file you need**, and prefer the per-entity files above. These are too big for a fetch tool that summarises or truncates: one cut figures.json off in the C's. Download with curl and query with `jq` or `python3`. Python's `urllib` default User-Agent is refused (HTTP 403, Cloudflare 1010); send any other, or use curl. - [Figures](https://jawnomicon.com/babelon/figures.json): 417 KB (77 KB gzip). Per figure `id`, `slug`, `url`, `name`, `aliases`, `absorbed_ids`, `lede`, `traditions`, `regions`, `kinds`, `family`, `symbols`, `recorded_in`. - [Eidogen](https://jawnomicon.com/babelon/eidogen.json): 1.03 MB (100 KB gzip). The 29-axis character model: per-figure dimensions and confidences, and `axis_vocabulary` naming both poles of every axis and the seven written bands. `high` is the pole a score near 1 moves toward. Read the `not_applicable` convention first. - [Relations](https://jawnomicon.com/babelon/relations.json): 732 KB (89 KB gzip). 4967 edges to motifs, powers, traditions, regions and classes, each with a `span`. - [Descriptions](https://jawnomicon.com/babelon/descriptions.json): 3.98 MB (1.21 MB gzip). The prose and the per-axis notes. All machine-written, for every figure. Each `long_description` holds one `[Generated Content]` marker; everything after it is extrapolation that no source supports. - [Vocab](https://jawnomicon.com/babelon/vocab.json): 349 KB (96 KB gzip). The controlled vocabularies the ids above key into. - [Symbol atlas](https://jawnomicon.com/babelon/symbol-atlas.json): 883 KB (158 KB gzip). 1130 symbols, each with an original gloss, an `attestations` count (source works carrying it, an integer, not a list of figures), its place in a symbol-domain taxonomy and reciprocal `denotation_neighbours`. 104 are domains held only through bridger: those carry `gloss_basis` and a null `attestations`. It is built from the same export, v49. - [What the fields mean](https://jawnomicon.com/babelon/): field by field, and what a `caveats` flag obliges you to do. The five figure files share `export_version`, `canon_commit` and `generated_at`, so you can tell whether two describe the same corpus, and each has its own `counts`: trust those over this file. ## Where a claim comes from Three steps, and they are not the same kind of thing: 1. **Reference works name the figure.** Attested. `recorded_in`, populated for 603 of 692 so far. 2. **We wrote an original description.** Ours, machine-written. 3. **We read the relations out of that description.** Derived. 97.6% of the 4967 edges carry `method: "prose-citation"`, meaning exactly that; the other 119 were added by hand or proposed by a model. 147 are not spans of our prose and keep a literal `note` with `span: null`. So a relation's warrant is a passage of *our* prose, not a quotation from a book. Offsets are over the exact strings in descriptions.json: do not normalise whitespace before slicing. **Symbol links carry a status.** 308 figures bear at least one of 86 symbols; each link is `ratified` or `proposed`. If you use one, say which it is. An absent symbol on a figure means *not yet surveyed*, not *bears nothing*. ## Readers Python standard library only. **Download both into one directory**: mcp_server.py imports atlas.py. ``` curl -O https://jawnomicon.com/babelon/atlas.py curl -O https://jawnomicon.com/babelon/mcp_server.py python3 atlas.py figure ``` - [atlas.py](https://jawnomicon.com/babelon/atlas.py): CLI. `symbol`, `search`, `figure`, `figure-search`, `figure-relations`, `figure-profile`, `seed`, `convergence`. - [mcp_server.py](https://jawnomicon.com/babelon/mcp_server.py): stdio MCP server over the same data: `symbol_lookup`, `symbol_search`, `figure_lookup`, `figure_search`, `figure_relations`, `figure_profile`, `room_seed`, `convergence`. Both resolve a figure by name, alias and absorbed name. Neither has a "neighbours" call; the per-figure files above are the way to get them. ## Notes for agents - A symbol is a set of things it points at, not a position on a scale. There are no coordinates in this data, deliberately. - A `caveats` value of `homonym` or `multi-referent` means the row holds more than one referent and cannot say which. Decide which you mean, and say so. - Nothing here ranks figures. `near` lists are ordered by a score that is not published; the order is a convenience, not a standing. - Say which parts of what you hand your reader are machine-written. All the prose here is. ## Human pages - [About](https://jawnomicon.com/about/): how each part was made, and what was read. - [Figures](https://jawnomicon.com/atlas/): every figure, browsable by name.