A reading room for ancient Egyptian texts
click to enter · sound on
ONE READING ROOM FOR ANCIENT EGYPTIAN TEXTS
Eight scholarly corpora and three reference sources, from the Old Kingdom to Coptic, joined under one set of identifiers, arranged by the Egyptians' own vocabulary, and read across by machine-drafted essays that are offered for expert correction.
Over the last decades Egyptology has built a remarkable set of digital editions: the Thesaurus Linguae Aegyptiae, ORAEC, the Altägyptisches Wörterbuch, Coptic Scriptorium, Trismegistos and others. Each has its own structure, identifiers and conventions. A question that crosses them—how a word behaves from the Pyramid Texts to Shenoute, or which documents share a findspot and a formula—still means working through each one separately.
Aegyptus brings these editions into one archive without rewriting them. Every text keeps its source, its original identifiers and its shelfmark. Concordances from Trismegistos and from the sources themselves link records that describe the same object. Source transliterations and translations are never altered. Where no English translation exists, a machine draft fills the gap, and it is labelled as a draft wherever it appears.
On top of the archive sit two reading aids. The first is a spatial index, the labyrinth: texts grouped into rooms by the lemmas they share and stacked in strata by period, so that a reader can walk from a word to its neighbours across genres and centuries. The second is a set of long-form essays that read many passages at once and cite every quotation back to a corpus record. The essays are machine drafts, and they are here to be checked.
Aegyptus is an index over existing scholarship, not a replacement for it. Every record points back to its edition, and citations belong to the source projects.
| Source | Contribution | Licence |
|---|---|---|
| TLA | 29,762 texts—the largest single source Thesaurus Linguae Aegyptiae · BBAW Berlin | CC BY-SA 4.0 |
| ORAEC | 13,026 texts—transliterations and scholarly translations Open Richly Annotated Egyptian Corpus | CC BY-SA 4.0 |
| AED-TEI | 13,748 hieroglyphic encodings and 35,052 lemma entries Altägyptisches Wörterbuch · Simon D. Schweitzer, BBAW | CC BY-SA 4.0 |
| AES | Sentence-level linguistic annotation Ancient Egyptian Sentences | CC BY-SA 4.0 |
| Coptic Scriptorium | 1,467 texts—Nag Hammadi, Sahidic Bible, Shenoute Caroline T. Schroeder, Amir Zeldes and contributors | CC BY 4.0 (most corpora) |
| RAMSES | Late Egyptian corpus Université de Liège | CC BY-NC-SA · non-commercial |
| Nederhof | 94 Middle Kingdom literary editions PhilologEg · St Andrews | Academic use |
| papyri.info | EpiDoc editions of Greek and Demotic papyri, including the Nag Hammadi codices Integrating Digital Papyrology | CC BY 3.0 |
| Trismegistos | 27,000+ cross-references across 79 reference systems KU Leuven | CC BY-SA 3.0 |
| Met Museum | 248 object records with provenance Metropolitan Museum of Art · Open Access | CC0 |
| Older editions | Public-domain translations Breasted (1901), Scott (1924) | Public domain |
Counts are an April 2026 snapshot. Material from RAMSES keeps its non-commercial licence, which is recorded on every sentence derived from it.
Thirty-three essays, each drafted by a language model from passages retrieved out of the corpus, with transliteration, translation and source record side by side. Each essay quotes from those passages and cites every quotation to its corpus ID.
MACHINE-DRAFTED · NOT PEER-REVIEWED
These are drafts, not findings. A draft can misread a passage, overstate a connection, or rely on a machine translation where a published one exists. Every quotation carries the corpus ID it came from (for example aeg_oraec_222), so each claim can be checked against its edition.
The drafts also take a deliberate interpretive stance. They read Egyptian statements of identity literally—the left eye is the moon, the temple is the body of the god—rather than as symbolism. Treat that stance as a lens to test, not a conclusion.
The corpus is too large to browse as a list, so the labyrinth arranges it as space. Texts that share vocabulary—the lemmas the Egyptians themselves wrote, not categories assigned afterwards—are clustered into rooms, more than 2,000 of them. The rooms sit in strata by period, from the Old Kingdom down to the Greco-Roman period, with undated material at the surface. Doors join neighbouring rooms. Vertical shafts connect rooms that share a concept across periods, so a word can be followed down through the centuries.
The layout is computed from the corpus and comes out the same every time; no text was placed by hand. The hexagonal rooms are a nod to Borges's Library of Babel.
Every sentence in the public edition can be searched in your browser: search the Stacks. Each text shows the room it is shelved in, and every machine translation is labelled.
The labyrinth is explored in a program built for it. The recording below is an unedited session: a reader walks the rooms, inspects shelves of texts, asks the Librarian for directions, gathers scrolls, and calls on the Scribe to read them together.
@@ Reader && Librarian %% Scribe
Two AI aids work inside the labyrinth. The Librarian is a language model that knows the map. Ask where the texts about the heart are, and it names the room, describes the route and walks you there. It answers from the room you are standing in, not from general knowledge. The Scribe is a second model that reads the texts you have gathered, all at once, and drafts an essay from them. The essays above are its work.
Three roles produce each draft: a reader who chooses where to go and what to gather, a guide who knows the ground, and a reader of texts who speaks from them. We call the workflow after wpt-rꜣ, the Opening of the Mouth, in which the body is prepared, the words are recited, and the dead is enabled to speak. The name is an analogy we chose, offered with respect. It is not a claim about the ritual.
Much of the source scholarship is in German, and many transliterations have no published translation at all. To make every sentence readable in English, Aegyptus adds machine translations, and keeps them strictly apart from the scholarship.
ml_draft, confidence: low, needs_review: true, with the model and method recorded where the pipeline kept them. Drafts came from Claude Haiku 4.5, Gemini 3.1 Flash-Lite, Claude Opus (a few hand-added texts) and, run locally, Gemma 4 26B; about 142,000 older drafts were made by a pipeline that did not record its model, and are labelled “model unknown”.For readers who want the mechanics. This part is written for non-engineers, but the detail is real.
All sources are imported into a single PostgreSQL database. Each import is repeatable: running it twice changes nothing, because every record gets a stable identifier derived from its source. When two sources describe the same object, the importer tries four ways to recognise it, in order: an exact shared ID, a matching shelfmark, a known alias or close name match, and finally shared word sequences in the text itself. The first source to import a text owns it; later matches become links rather than duplicates.
The result is 269,433 concordance links across 79 external reference systems. A text with no match anywhere is still a full member of the corpus; nothing is discarded for lack of a concordance.
A server turns the corpus into rooms. Texts are clustered by the lemmas they share, using a standard community-detection method (Louvain) that finds groups more tightly connected to each other than to the rest. The clusters are laid out on a hexagonal grid, period by period, and connected by doors and shafts. The project calls this layer the Babel File System.
The same server answers every question about the corpus: what a room holds, where its doors lead, full-text search across all 460,333 sentences. The exploration program and the AI aids both ask it the same questions in the same way, so they never disagree about what is where.
The Librarian is an open-weights language model (Carnice, 27B parameters) running on a single workstation, through the open-source Hermes Agent framework from Nous Research. It is not trained on the corpus. Instead, every question it receives arrives with a short description of where the reader stands: the room, the texts on its shelves with their corpus IDs, the exits and shafts, and what has been gathered so far. It answers from that, not from memory.
It can do only two kinds of things: query the corpus, and make the same moves a reader makes (go to a room, read a text, gather it, call the Scribe). It cannot browse the web or write files. It follows the reader's footsteps through the labyrinth, and its conversation persists across rooms and across sessions.
Synthesis needs a different kind of model: one that can hold dozens of passages, in transliteration, English and German, in a single reading. The Scribe uses a long-context reasoning model (Kimi K2, via the Nous Portal). Its reasoning is shown live while it works, so a reader can watch it connect passages before the essay appears. If a long essay is cut off, it retries on two other models. Each finished essay is saved together with the full record of the reasoning that produced it.
The design rests on one principle: the reader, the Librarian and the Scribe all act on the same state, through the same commands. There is no separate interface for the AI. A move the Librarian makes is the same command a reader's keystroke produces, and the Scribe reads the same corpus IDs the shelf shows. In practice this means the AI aids can reach anything a reader can reach, and nothing more.
It is also why the program runs in a text terminal. The screen is text, so an AI aid can read exactly what the human sees, with no image recognition and no translation layer in between. The program is written in Rust, with the corpus server and pipelines in Python: about 48,000 lines in all.
The labyrinth's hexagonal rooms began as a design choice and became a question about data structure. The companion essay proposes treating the hexagonal cell as a structural unit rather than a visual one. Each cell carries three linked attributes on its face; a central point from which further dimensions (time, scale, medium, provenance, confidence) run down into stratified columns beneath it; and six equal neighbour edges that connect it to the cells around it. The aim is to compress many dimensions into geometry instead of managing them through tables, indexes and joins.
It is a conceptual framework, not a finished product; its empirical validation is future work.
9 sections · v1.0 · April 2026