Layers

Every document in the library carries its text and its language. Three add-on layers answer the other questions a reader brings to it: when was this written, where does it come from, and what kind of text is it? The layers share one doctrine:

When — the dates layer

As of 7 November 2026 — a live census: 2,465,111 documents carry dating bounds (of 2,854,118 live documents, 86%). nabu search --century -21, nabu list --by-date and nabu vocab --by-century all read the same per-document interval.

Every dating bound is an honest year interval extracted from whatever dating form upstream actually ships:

What resists an honest parse stays raw and unbounded: prose datings (“Mitte 15. Jh.” without a grid), upstream’s own no-date fillers, circa strings with nothing firmer behind them. An interval is always a real range — no fake midpoints. Documents whose range spans several centuries are bucketed by their earliest bound below (1,094,147 such documents — the announced bias, not a hidden one).

The centuries

Century Documents Largest sources
85th c. BCE 218 cdli 218
35th c. BCE 418 cdli 418
34th c. BCE 1,873 cdli 1,861 · oracc 11 · tla-hf 1
33rd c. BCE 186 cdli 186
32nd c. BCE 5,548 cdli 4,958 · oracc 590
31st c. BCE 1,730 cdli 1,729 · edr 1
29th c. BCE 1,886 cdli 1,200 · oracc 686
28th c. BCE 277 aes 277
27th c. BCE 341 aes 338 · cdli 2 · elephantine 1
26th c. BCE 3,956 cdli 1,898 · aes 1,848 · oracc 200 · seal 7 · +1 more
25th c. BCE 7,240 cdli 5,085 · aes 1,521 · oracc 634
24th c. BCE 22,493 cdli 17,298 · aes 4,869 · oracc 309 · elephantine 15 · +1 more
23rd c. BCE 1,434 aes 1,430 · elephantine 4
22nd c. BCE 6,190 cdli 5,331 · oracc 803 · aes 54 · elephantine 2
21st c. BCE 193,544 cdli 111,097 · oracc 81,610 · ebl 796 · aes 41
20th c. BCE 14,165 cdli 13,687 · oracc 249 · aes 212 · seal 11 · +2 more
19th c. BCE 67,244 cdli 59,464 · oracc 6,346 · ebl 962 · seal 314 · +2 more
18th c. BCE 6,841 cdli 6,687 · aes 85 · sigla 53 · ebl 14 · +1 more
17th c. BCE 1,842 cdli 1,717 · aes 86 · sigla 37 · ebl 2
16th c. BCE 114 aes 70 · sigla 39 · cdli 3 · elephantine 1 · +1 more
15th c. BCE 15,950 cdli 14,692 · sigla 631 · damos 427 · aes 185 · +1 more
14th c. BCE 24,489 cdli 16,165 · oracc 5,571 · damos 2,069 · aes 472 · +3 more
13th c. BCE 10,812 dcs 7,094 · cdli 1,693 · damos 1,523 · aes 500 · +2 more
12th c. BCE 898 cdli 634 · aes 257 · elephantine 6 · damos 1
11th c. BCE 217 classical-modern 116 · cdli 39 · aes 38 · kanripo 19 · +2 more
10th c. BCE 50,725 cdli 29,312 · ebl 13,707 · oracc 7,625 · aes 77 · +1 more
9th c. BCE 2,776 cdli 2,347 · oracc 425 · extrabiblical 3 · ig-cyprus 1
8th c. BCE 9,368 oracc 4,180 · cdli 2,841 · ociana 2,186 · ceipom 71 · +11 more
7th c. BCE 30,253 cdli 17,318 · ebl 6,852 · oracc 5,438 · ceipom 196 · +14 more
6th c. BCE 13,019 cdli 7,804 · achemenet 2,770 · oracc 580 · isicily 433 · +19 more
5th c. BCE 9,265 dcs 2,940 · classical-modern 2,249 · isicily 928 · cdli 838 · +15 more
4th c. BCE 10,304 cdli 3,387 · oracc 1,437 · iip 1,281 · aio 993 · +20 more
3rd c. BCE 8,596 papyri-ddbdp 4,432 · ceipom 1,325 · edr 895 · aio 581 · +20 more
2nd c. BCE 7,584 papyri-ddbdp 3,508 · edr 1,156 · ceipom 1,061 · itant 337 · +18 more
1st c. BCE 51,114 ociana 34,465 · edr 10,960 · papyri-ddbdp 1,924 · edh 1,904 · +19 more
1st c. CE 71,657 edr 40,748 · edh 19,295 · papyri-ddbdp 7,473 · isicily 931 · +21 more
2nd c. CE 69,825 edh 26,822 · edr 22,808 · papyri-ddbdp 16,428 · elephantine 1,382 · +18 more
3rd c. CE 27,697 papyri-ddbdp 8,627 · edh 7,486 · edr 7,256 · dcs 2,315 · +21 more
4th c. CE 15,431 papyri-ddbdp 6,075 · edr 3,507 · edh 3,193 · iip 663 · +21 more
5th c. CE 6,524 papyri-ddbdp 2,170 · edr 1,524 · edh 905 · iip 501 · +20 more
6th c. CE 7,127 papyri-ddbdp 4,826 · edr 572 · edh 476 · cbeta 225 · +21 more
7th c. CE 8,270 papyri-ddbdp 4,382 · zh-wikisource 1,001 · cbeta 896 · classical-modern 486 · +26 more
8th c. CE 16,255 rundata 11,555 · dcs 2,041 · papyri-ddbdp 1,790 · ja-wikisource 204 · +27 more
9th c. CE 4,237 ganjoor 625 · openiti 612 · cantus 600 · corpus-corporum 580 · +29 more
10th c. CE 18,966 cantus 7,553 · ganjoor 3,247 · rundata 3,239 · classical-modern 1,260 · +34 more
11th c. CE 24,814 ganjoor 10,232 · rundata 10,158 · cantus 1,890 · openiti 918 · +28 more
12th c. CE 86,500 cantus 56,142 · ganjoor 18,102 · okhc 6,761 · rundata 2,071 · +36 more
13th c. CE 56,733 cantus 28,139 · ganjoor 20,027 · corpus-gysseling 2,191 · okhc 1,378 · +38 more
14th c. CE 66,849 cantus 35,008 · okhc 13,521 · ganjoor 12,797 · dcs 1,493 · +36 more
15th c. CE 58,512 okhc 37,518 · ganjoor 10,746 · cantus 6,993 · pl-wikisource 765 · +41 more
16th c. CE 199,585 okhc 150,575 · ganjoor 20,972 · cantus 12,169 · eebo-tcp 5,212 · +51 more
17th c. CE 310,845 okhc 213,456 · eebo-tcp 54,895 · ganjoor 13,527 · stationers-register 6,073 · +63 more
18th c. CE 314,026 okhc 282,073 · ganjoor 10,051 · hmml-reading-room 4,865 · ndl-kotenseki 4,697 · +51 more
19th c. CE 419,691 okhc 379,284 · ndl-kotenseki 12,221 · ganjoor 5,836 · hmml-reading-room 5,603 · +63 more
20th c. CE 94,500 okhc 55,253 · aozora 16,036 · gregobase 12,534 · hmml-reading-room 2,962 · +44 more
21st c. CE 4,157 gregobase 2,499 · openiti 848 · aozora 731 · local-library 31 · +7 more

Where — the places layer

nabu place Girsu answers with the gazetteer card and every source’s holdings at that place. The layer has two halves: the gazetteers, held locally, and the matching decisions that connect a source’s verbatim place-name to an identity.

The gazetteers. The library never queries a gazetteer online — it holds them as canonical assets with provenance and derives one namespaced place index:

Namespace What Held rows License
pleiades: Pleiades — THE ancient-world gazetteer 42,404 CC BY 3.0
tm: Trismegistos Geo — finest grain for Greco-Roman Egypt 64,857 CC BY-SA 4.0
cigs: CIGS — the cuneiform world’s site index 598 CC BY 4.0
chgis: CHGIS — the China Historical GIS temporal gazetteer 81,292 CC0 1.0
nrct: NRCT — the historical placenames of Japan (日本歴史地名大系) 80,502 CC BY 4.0
thurayya: al-Ṯurayyā — the early Islamic world 2,331 CC BY 4.0
np: nabu-places native records (minted by scholarship, evidence required) 0 — the lane is new CC BY 4.0

Held rows as of 16 October 2026.

Namespaces are parallel claims; equivalences between them are crosswalk data with provenance (3,438 rows: CIGS’s own columns + a Wikidata harvest), never inferred.

The decisions registry. nabu-places records the matching judgments — which identity a source’s verbatim place-name string denotes — each reviewable, in the pattern of nabu-lects. Three real rows tell the story: CDLI’s "Girsu (mod. Tello)" → matched cigs:GIR

Coverage. At the places program’s close (9 August 2026), 585,682 documents carried a machine place reference, of 708,905 that name a place at all — a 3.9× gain over the pre-program state; the largest sources sit at 74–87% matched (CDLI 250,484 of 337,572, Oracc 87%, EDR 86%, EDH’s 73,507 upstream-asserted). The maintained coverage detail lives in docs/places.md. Honest limits stay on the record: a dozen upstream references cite defective Pleiades ids (flagged loudly by the health invariants); long-tail names below the curated waves stay visibly unmatched until their wave lands.

What kind — the classification layer

As of 7 November 2026 — a live census: 2,309,369 documents carry a kind classification (80% of the kind-eligible library), across 27 class families. What kind of document is this — an epitaph, a receipt, a hymn, a school exercise? Each source ships its own genre vocabulary (EpiDoc inscription types, cuneiform catalogue genres, manuscript headings); those upstream labels fold onto one ruled cross-corpus class list (config/kind_classes.yml, with crosswalks to EAGLE, LCGFT and Getty AAT where those vocabularies recognize the class).

Classification is multi-label — a funerary poem is both — and the tree is optionally deep: a class is a family with named sub-classes (literary holds literary/poetry, literary/narrative, …), any prefix matches its whole family in queries, and a document upstream calls just “Literary” honestly carries the bare family head. The upstream claim is preserved verbatim beside the fold, so the ruled class never erases what the source actually said.

The classes

Class Documents Sources
literary 801,209 47
administrative 500,153 25
historiography 359,147 32
ritual 194,528 18
funerary 115,146 13
legal 43,550 33
letter 37,309 24
royal 30,135 5
scripture 27,695 37
dedicatory 24,250 11
divination 21,103 16
hymn-prayer 21,075 26
lexical 18,229 20
scholarly 14,937 25
mark 12,298 11
honorific 11,692 6
building 8,061 8
sermon 7,841 11
school 5,281 8
magic 3,411 10
exegesis 3,248 15
boundary 3,009 4
periodical 2,432 6
theology 36 1
hagiography 9 1
oratory 3 1
catechesis 1 1

What stays honest

Two buckets are counted beside — never inside — the classes: unknown (47,058 documents) is upstream’s own “cannot determine”, a claim the library preserves rather than overwrites; unmapped (13,341 documents) holds values still awaiting a fold rule — a visible curation worklist, not a silent discard. Values reviewed and found not to be genre claims at all (a physical-layout tag, a copy marker) are declared as such in config and render as their own census section. Sources carrying nothing genre-shaped at all (133 sources, 544,749 documents) speak through their recorded postures, not through silence.

One query across the layers

nabu search --century -21                        # when
nabu place Girsu                                 # where: the card + holdings
nabu kind census                                 # what kind: the class board
nabu kind census --unmapped                      # the classification worklist
nabu search --kind literary/poetry --lang la     # a family narrowed to verse
nabu search lugal --place cigs:GIR --from -2200 --to -2000 --kind administrative

Every filter also rides the MCP tools (nabu_search, nabu_place, nabu_show) for conversational use, and every document card (nabu show) renders its date interval, place references and kind line side by side — the three layers on one card.