The ǀxam Archive1 of 3
An Interface to the ǀxam Archive
A retrieval-augmented reading interface to the Bleek–Lloyd ǀxam folklore corpus
System descriptionJune 202649 min read
First published at bleek-lloyd-rag.vercel.app.
Abstract
The Bleek–Lloyd Collection is a principal record of ǀxam, a San language of the South African Karoo, and an extensive record of its folklore and cosmology: the ǀKaggen (Mantis) narratives, the sidereal myths, and the customs and personal histories of its last speakers. The material is in the public domain but difficult to use: roughly 12,000–15,000 pages of nineteenth-century notebooks and out-of-print volumes, in colonial-era orthography and behind Victorian English glosses, dispersed across six print sources and thousands of manuscript pages.
This paper describes a retrieval-augmented interface to that corpus (1,263 narratives across six sources, plus 168 rock-art tracings) that makes it readable, searchable, and, in English, audible. Generation is grounded in retrieval: seven bounded personas present the same retrieved material in different registers, supported by five browse views, a glossary of ǀxam terms mined from the texts, and time-aligned text-to-speech. Several constraints are built in: every claim must trace to a retrieved passage, no persona invents ǀxam vocabulary, and the colonial conditions of recording are stated rather than elided. The system is intended to support engagement with the archive, not to substitute for it.
Section 4 considers how such an interface relates to the ongoing scholarly work of re-translating and reconstructing ǀxam (du Plessis's reference grammar; the 2025 Oxford ǀxam inscription). A separate limitation is examined in the companion paper rather than here: the text-to-speech cannot produce the ǀxam click consonants (ǀ ǁ ǃ ǂ), so ǁkabbo is voiced "kabbo."
More generally, the work is offered as evidence that retrieval-grounded language models, and the neural speech synthesis considered in the companion paper, give the documentary records of endangered and sleeping languages a practical route to being read and heard again: an opportunity for preservation that is bounded by available data, and that rests on access and reconstruction rather than on generating the language anew.
1. Introduction
Between 1870 and the early 1880s, the philologist Wilhelm Bleek and his sister-in-law Lucy Lloyd transcribed, word by word, the testimony of a small number of ǀxam-speaking men and women, most of them brought to the Bleek household in Mowbray from the Breakwater convict station in Cape Town. The result, expanded later by Wilhelm's daughter Dorothea, is a corpus of notebooks running to some 12,000–15,000 pages: cosmology, animal tales, the deeds of ǀKaggen the Mantis, personal histories, and a parallel ǀxam–English record of a language that would fall silent within two generations. The Bleek Collection was inscribed on the UNESCO Memory of the World Register in 1997, and was later edited and digitised (under Pippa Skotnes at the University of Cape Town) as the Digital Bleek & Lloyd, the form in which most readers now encounter it.
This project rests on that recovery work. Over three decades Skotnes has reassembled and re-presented the archive for a wider readership, through the digital edition and a sequence of books, from Sound from the Thinking Strings (1991) and the Miscast exhibition and volume (1996) to Claim to the Country (2007), Unconquerable Spirit (2008), and the recent ǀxam picture book When the World Was (2025). The interface described here is a modest technical addition built on that foundation, and is indebted to it throughout.
The practical problem is not access but readability. The corpus is openly available, digitised and public, yet it is not an easy read: a large, fragmentary, colonially mediated record of handwritten notebooks and out-of-print volumes, indexed by hand, in an orthography few readers can parse and glossed in a Victorian English that often obscures as much as it conveys. Decades of scholarship and the University of Cape Town's digitisation made it reachable; what remains, for a non-specialist reader, is that it is still hard to read, search, or navigate. Reducing that gap is the aim of the system described in §3.
ǀxam is also a sleeping language: fully documented, no longer anyone's mother tongue. It can be read, but no one alive grew up speaking it, and, like all Tuu-family languages, it is built on click consonants that a reader who has only seen the glyphs ǀ ǁ ǃ ǂ cannot hear. The words are recoverable; the sound, directly, is not. That second problem, restoring the sound, is treated in the companion paper.
The paper is organised as follows. Section 2 gives background on the corpus and on ǀxam. Section 3 describes the system. Section 4 considers how the interface relates to the scholarly work of re-translating and reconstructing ǀxam. Section 5 situates the work in relation to prior research. Section 6 sets out an evaluation design; the empirical study it specifies has not yet been run, and no results are reported here. Section 7 states limitations and threats to validity, and Section 8 concludes.
Contributions
The core retrieval-augmented generation pipeline used here (query embedding, dense vector search, context assembly, conditioned generation) is established method and is not claimed as a contribution. The contribution is what it takes to apply that method responsibly to a colonial-era documentary record of a sleeping language, and the reusable design patterns that application produced:
- A worked application of retrieval-grounded reading to a colonial-era
sleeping-language folklore archive, and the design constraints that domain
imposes. The corpus is small (roughly 12,000 to 15,000 notebook pages),
fragmentary, OCR-degraded, recorded from imprisoned informants, and mediated
throughout by nineteenth-century orthography and Victorian English glosses.
We document the design choices these conditions force, most of which run
against default RAG practice: refusing to fabricate or generatively extend
the language, preserving rather than modernising cosmological content,
capping quotation length, surfacing recording conditions, and marking
unattributed material as
unknownrather than defaulting it. - A persona-composition method as a reusable design pattern. Six bounded personas are composed from named, version-controlled prompt sections layered over one shared retrieval layer, each inheriting a universal floor of shared rules. The contribution is the disciplined, composable formulation of multiple bounded voices over a single retrieval substrate, presented as a transferable pattern rather than a one-off prompt.
- A language-group retrieval-filtering method for a corpus that silently
mixes language families. A
languagecolumn populated at ingestion lets retrieval default to ǀxam-only and prevents, for example, a !kun narrative from surfacing as though it were ǀxam, treating provenance as a retrieval-time correctness property. Standard pipelines assume a homogeneous corpus and have no notion that a returned chunk may be in the wrong language family, a silent failure mode in multilingual archival settings. - An ethics-bounded, readability-first framing, defined as much by what it refuses to do as by what it does. The system is positioned as readability rather than access (the corpus is already public), and its refusals are built into behaviour: no novel ǀxam generation, no attribution of the rock paintings to the ǀxam, and a synthesised ǀxam voice deferred on ethics grounds (Section 4; companion paper).
Two of these (the persona-composition pattern and language-group filtering) are intended to be reusable beyond this corpus; the evidence for that generality is argued here and remains to be demonstrated empirically.
2. Background
2.1 The corpus and its conditions
The material is public-domain, all of it older than 1928, and falls into two strata. The published volumes are Specimens of Bushman Folklore (Bleek & Lloyd, 1911), The Mantis and His Friends (D. F. Bleek, 1924), and three official Reports (1873, 1875, 1889). The manuscript stratum is the Lucy Lloyd, Wilhelm Bleek, Dorothea Bleek and Jemima Bleek notebooks scanned under the Digital Bleek & Lloyd Collection (DBLC).
A responsible interface cannot treat the recording conditions as background. The informants (ǁkabbo, ǀhanǂkass'o, Diäǃkwain, ǀaǃkúnta, ǂkámme-an, ǀkweiten-ta-ǁken and others) were prisoners or the kin of prisoners. The transcription is mediated by colonial-era orthography, Victorian English glosses, and, for the digitised sources, by OCR. The system treats this as a constant, not an aside (§3.8).
2.2 ǀxam, Nǀuu, and the Tuu family
ǀxam belongs to the Tuu family (formerly "Southern Khoisan" or "Southern Bushman"), the name Güldemann (2005) proposed for the family, after the noun *tuu 'people' that recurs across its members. The family has two branches, Taa and !Ui, and ǀxam sits in the !Ui branch: in Güldemann's preliminary sub-classification, ǀxam forms its own !Ui subgroup, documented in the Strandberg, Katkop and Achterveld dialects recorded by W. Bleek and Lloyd, the very material this archive is built on.
Its closest living relative is Nǀuu (the Nǁng cluster), a separate but neighbouring !Ui subgroup. The point is not academic: of the whole Tuu family, the only modern survivors are several Taa varieties in Botswana and Namibia and, in South Africa, "remnants of the Nǁng cluster," i.e. Nǀuu. That is why Nǀuu, rather than the geographically closer Bantu languages, is the key to ǀxam's sound: it is the nearest relative that anyone alive still speaks.
One correction that recurs in the popular literature: Kora is a Khoekhoe (Khoe / Central Khoisan) language, not a Tuu language. Güldemann keeps Khoe firmly apart from Tuu. Menán du Plessis's comparison of ǀxam and Kora click inventories is therefore a parallel of click typology across family lines, not a statement of common descent.
The clicks themselves are shared phonetic machinery. ǀxam is documented but silent; Nǀuu is endangered but living. That asymmetry is the premise of the companion pronunciation paper: the sound ǀxam lost can be approached through the sound Nǀuu still has.
3. The system: a retrieval-grounded reading interface
This section is the core of the engineering work: a paper-level account of what was built and why.
3.1 Design principles
Six tenets were the tiebreakers whenever a choice was not obvious:
- Retrieval-grounded. Every factual claim about archive content must trace to a chunk returned by the search. No fabrication of stories, characters, or ǀxam terms: rule one, applied to every persona equally.
- Voice the archive, do not catalogue it. Personas never say "Passage 1 tells us…"; they weave content into their natural register.
- Period preservation. Direct quotation is short (≤ 15 words), period-faithful, and clearly delimited.
- Strangeness over modernisation. The Moon is a man; ǀKaggen makes the eland from his thoughts. These are preserved as facts of the story, not flattened into metaphor.
- Honest about scaffolding. Where the archive is silent, the personas say so; where the recording conditions matter, they are named.
- Light surfaces, hard edges. The interface reads like a journal printed on warm stone, not an app: a deliberate editorial register.
3.2 Architecture and stack
The system is a thin client over a small set of edge services, chosen so that SQL, vectors, auth, and serverless functions live under one roof.
| Layer | Component |
|---|---|
| Frontend | React Router 7 (framework mode, SPA build, Vite; SSR off) |
| API | Supabase Edge Functions (Deno): chat, search, speak, transcribe |
| Database | Supabase Postgres + pgvector (HNSW, cosine) |
| Embeddings | OpenAI text-embedding-3-small (1,536-dim) |
| Generation | Anthropic Claude (Sonnet-class) via the Vercel AI SDK streamText |
| TTS | ElevenLabs eleven_flash_v2_5 (with-timestamps endpoint) |
| STT | OpenAI Whisper (whisper-1) |
| Hosting | Vercel (static SPA) + Supabase (functions + DB, eu-west-2) |
| CLI | Node 20 + TypeScript scrape/embed/topics pipelines |
Two deliberate boundaries: all conversational generation goes to Claude (OpenAI is used only for embeddings and speech-to-text), and SSR is off: every page calls the edge functions directly from the browser, so there is nothing useful to render server-side.
3.3 The corpus and its ingestion
Ingestion is idempotent and source-keyed. Each scraper writes to a local
stories.json; the embed pipeline diffs content against the database so
unchanged stories are skipped.
| Source | Stories | Provenance |
|---|---|---|
| Specimens of Bushman Folklore (1911) | 83 | clean HTML; 20 enriched with parallel ǀxam |
| The Mantis and His Friends (1924) | 27 | IA djvu; all flagged mantis_cycle |
| First Report (1873) | 10 | Cambridge IIIF + Tesseract OCR |
| Second Report (1875) | 50 | IA djvu, two-pass |
| Third Report (1889) | 261 | repository PDF; informant inheritance recovered 132/151 unattributed entries |
| Digital Bleek & Lloyd notebooks | 832 | four collections; structured metadata parse |
| Stow rock-art (images) | 168 | watercolour tracings, title+description embedded |
Total: 1,263 narratives + 168 images, embedded into 3,252 chunks (1,123 story-level and 2,129 paragraph-level).
Each story produces two chunk types: a story chunk (the full body,
prefixed with a provenance header so the model can reason about source even
when one chunk is retrieved alone) and paragraph chunks (each paragraph
≥ 40 characters, so retrieval can pull a relevant fragment without dragging in
unrelated prose).
A dedicated normalisation layer maps the many ASCII and OCR renderings of the
clicks (|, ||, !, ≠/#/=l=/:J:) to canonical Unicode (ǀ ǁ ǃ ǂ),
and an informant lookup table resolves ~200 OCR-mangled name variants
(hail=l=kass'o, dia1kwain, …) to canonical forms. Clicks are normalised in
titles, informant names, and unambiguous ǀxam terms but not blanket-applied
to the English body text; the original glyphs are preserved there for
fidelity.
3.4 Retrieval
The chat flow embeds the latest user message, runs a top-10 cosine search
over the chunks table (with optional filters for informant, category,
source, Mantis-cycle, and language group), retrieves at most one
similarity-gated rock-art image, assembles a context block, and streams a
persona-conditioned Claude completion. The retrieved chunks and any related
image are pushed back to the client as side-channel data for the citations
panel.
A standout data-quality decision (§3.8) is language-group filtering: the
corpus silently mixes ǀxam with !kun (the ǀXue cycle), Khoekhoe, and later
multi-group material. A language column lets retrieval default to ǀxam-only,
preventing a !kun story from surfacing as though it were ǀxam. Unattributed
material is marked unknown rather than defaulted to ǀxam, a conservative
choice that avoids silent pollution.
A baseline evaluation harness (Recall@K and MRR@K over a hand-curated fixture of thematic, cross-source, informant-shaped, and lexical queries) gates retrieval changes. The current pipeline is intentionally simple (dense-only, no hybrid lexical search, no reranking); the roadmap sketches hybrid BM25, cross-encoder reranking, and HyDE as measured improvements on that baseline.
3.5 Personas: voicing, not cataloguing
The generation layer is the part most particular to this corpus. Six built-in personas voice the same retrieved material in different registers, each composed from named, version-controlled prompt sections (identity, voice, knowledge, citation, refusal, rules):
- The historicals speak as themselves and are tightly bounded. Archivist (a modern fictional scholar; the default), Mantis (ǀKaggen in the first person, forbidden from referring to "the notebooks"), Lloyd (Lucy Lloyd, c. 1870–1914, who does not know of the 1924 Mantis volume), and Bleek (Wilhelm, c. 1870–1875, who never met the informants who came after his death).
- The non-historicals speak about the archive. Interpreter (plain modern paraphrase, explicitly forbidden from padding) and Storyteller (a child-friendly retelling that preserves strangeness and never bowdlerises outcomes).
- A later data-driven persona, Early Race ("the world as it was when
all things were people"), is authored entirely through an admin editor
backed by a
persona_configtable, demonstrating that new voices can be added without code changes.
For Lloyd and Bleek, generic "Victorian English" was insufficient, so a
voice-profiles pipeline mines their own Report prose for distinctive
vocabulary, sentence-length statistics, and exemplar passages; a hand-curated
voice reference is injected into their prompts, giving the model authentic
cadence to anchor on rather than a pastiche. Every persona inherits a
universal floor of shared rules: grounding, citation discipline,
no-fabrication, period preservation, refusal patterns, and an explicit
prohibition on grouping the distinct language communities together or
attributing the rock paintings to the ǀxam (who interpreted copies shown to
them, rather than having made them).
3.6 Browse views and the glossary
Five orthogonal ways into the corpus are generated by a single build pipeline: a library index (by source or by recording year), an alphabetised topics list (log-scaled by frequency), a d3-force co-occurrence graph (100 nodes, 547 edges), a term × informant heatmap (with raw, row-normalised, and column-normalised shadings that reveal "who owns each topic"), and a glossary. Each view seeds a natural chat query on click.
The glossary draws on an assembled dataset of 1,124 ǀxam terms layered by authority from three sources: corpus mining (108 terms via parenthetical, appositive, and indexed-under patterns), the Mantis and His Friends 1924 appendix (21 of Dorothea Bleek's authoritative character glosses), and a strict parse of Bleek's 1956 Bushman Dictionary (995 of the ǀxam-only SI entries). The interface, however, surfaces only the 129 corpus-derived terms (the corpus mining and the 1924 appendix): the 995 Bleek 1956 entries are deliberately withheld, because that dictionary spans 27 languages and dialects with no per-entry language tag and our optical transcription of it corrupts the click consonants, so presenting it as ǀxam vocabulary would mislead. This is a correction prompted by Skotnes's review; the withheld layer can be reinstated once it is properly transcribed and language-tagged. Even at the surfaced scale, the glossary is the connective tissue to §4: a machine-assisted reading of the lexical record.
3.7 Audio: the click that cannot be spoken
The system reads replies aloud with a karaoke follow-highlight: the
/speak function calls ElevenLabs' with-timestamps endpoint and returns
word-level timings, which the frontend uses to fade each word to the accent
colour as it is spoken. A rehype plugin wraps every rendered word in an
indexed span; a bracket-aware tokeniser drops editorial brackets ([the
Mantis speaks sadly here]) and footnote markers from the spoken stream while
keeping the on-screen indices intact, so the highlight glides past them
without mis-aligning.
One limitation of this audio path is worth noting, as it is the subject of the
companion paper. The pre-processing chain includes a step (stripClicks) that
removes the click characters ǀ ǁ ǃ ǂ before text is sent to ElevenLabs,
because the English-trained voices mishandle them; ǁkabbo is consequently
voiced "kabbo." This is a reasonable engineering choice given the available
tools, but it means the interface reads the corpus aloud in English while
failing to pronounce its names. Why no current system can produce ǀxam clicks,
and what a corrective would require, is examined in "Restoring the Sound of a
Sleeping Language."
3.8 Ethics and bounds
The system is explicit about what it is not: not an authority on ǀxam culture, not a substitute for engaging descendant communities (notably the ǂKhomani San), and not a creative-writing assistant in a San voice. Refusals surface in voice ("I have not set this down" rather than "I cannot answer that"). And the roadmap defers a synthesised ǀxam audio voice on ethics grounds, pending real engagement with a representative body. The companion paper's proposal is the considered, consent-first form that such engagement would take, not an end-run around it.
3.9 The reading interface
The front end is a single reading surface rather than a dashboard. A reader arrives at one chat panel with a persona toggle and a filter bar (informant and source); replies stream in beside a sticky citations panel, one card per retrieved passage showing title, informant, source, and similarity score, with a rock-art card pinned above when an image matches. Five browse views, a library index, an alphabetised topics list, a co-occurrence graph, an informant heatmap, and the glossary, each seed a natural-language query on click, so that browsing and asking are the same gesture. Replies can be read aloud with a word-level highlight (§3.7), and the input accepts spoken dictation. The visual register is deliberately editorial, closer to a printed journal than to an application, to signal that the material is an archive to be read rather than a product to be operated.
4. From reading to translation: the ǀxam linguistic thread
A conversable archive is, at bottom, a reading of a translation. Bleek and Lloyd's English glosses are themselves century-old interpretive acts, and the ǀxam original sits beside them only partially. This places the system in direct relationship with the live scholarly work of re-translating and reconstructing ǀxam.
Two developments define that frontier:
- Menán du Plessis's reference grammar. Du Plessis is compiling the first reference grammar of ǀxam, together with a two-way ǀxam–English dictionary, and is the author of Kora: A Lost Khoisan Language (Unisa Press, 2018). Her work supplies the structured phonology and lexicon that any reconstruction, including the pronunciation model proposed in the companion paper, must build on. Her inference that ǀxam evidently had the same seven click releases as Kora (for all clicks except the bilabial) is exactly the kind of comparative reconstruction that turns a silent orthography into a pronounceable system, though, as a reconstruction inference rather than a directly observed inventory, it should be cited as a scholarly claim, not settled fact.
- The Oxford ǀxam inscription (2025). A statement honouring those whose labour created Cecil Rhodes's wealth was translated into ǀxam and carved into the stone parapet at Rhodes House, Oxford. Luan Staphorst produced a preliminary translation; du Plessis retranslated it from her grammar work; Staphorst then revised it in light of the links between ǀxam, Nǀuu, Khoekhoegowab and Afrikaans. It is, as The Conversation put it, a sleeping language "written in stone," a public demonstration that ǀxam can be composed, not merely read, when scholarship reconstructs it carefully.
The system contributes to this frontier in a specific, bounded way. It does not generate novel ǀxam: that remains impossible, and is forbidden by the shared rules (the corpus is a few million words at most; a generative language model needs billions). What it does is make the existing record (the parallel ǀxam text, the informant attributions, the layered glossary, the cross-source variants of the same narrative) navigable and queryable at a scale and speed that supports the human translator's work rather than substituting for it. The Interpreter persona is a paraphrase tool; the glossary is a lexical concordance; the heatmap shows which informant is the authority on which theme. These are translator's instruments.
Translation, pursued far enough, reaches the one thing the written record does not preserve: how the language sounded. That question is taken up in the companion paper, "Restoring the Sound of a Sleeping Language."
5. Related Work
This system sits at the intersection of five literatures: retrieval-augmented generation and its attribution guarantees; natural language processing for endangered and Indigenous languages; digital-humanities interfaces to colonial archives; the evaluation of persona and role-play in large language models; and the scholarship and digitisation surrounding the Bleek–Lloyd archive. We position the work against each in turn, noting that the core method is established and that the contribution lies in the application, the persona-composition design, and the ethics-bounded, readability-focused framing.
Retrieval-augmented generation, grounding, and attribution
Retrieval-augmented generation (RAG) was introduced by Lewis et al. (2020), who combined a parametric sequence-to-sequence model with a non-parametric retriever over an external corpus. The paradigm has since been surveyed both as a general augmentation strategy (Mialon et al., 2023) and in self-reflective variants that decide when to retrieve and critique their own output (Asai et al., 2023). A parallel line of work addresses whether generated text is supported by its sources: Rashkin et al. (2023) formalise attribution through the Attributable to Identified Sources framework; Bohnet et al. (2022) define attributed question answering as the joint production of an answer and its evidence; and Gao et al. (2023) propose RARR, which retrofits attribution by researching and revising model output. Faithfulness has also been operationalised as a measurable quantity, for example in RAGAS (Es et al., 2024). The broader hazard motivating this work, hallucination in generative models, is catalogued by Ji et al. (2023). Our system adopts these established techniques as a hard constraint in a setting, a colonial folklore archive, where unsupported generation is not merely an accuracy problem but an ethical one; it does not contribute a new retrieval or faithfulness method.
NLP for endangered, low-resource, and Indigenous languages
The computational study of endangered languages has a dedicated venue in the ComputEL workshop series (Good, Hirschberg and Rambow, 2014), which connects computational linguists, field linguists, and language communities. Work on African low-resource languages has highlighted persistent data scarcity, surveyed for automatic speech recognition by Imam et al. (2025). Computational work on Khoisan or San languages specifically remains very limited, a gap we were unable to close in the literature and which we flag explicitly. ǀxam is no longer spoken, so our system is not a revitalisation or speech-technology tool in the ComputEL sense; it provides mediated reading access to an existing English-language record, sharing the field's documentary motivations while differing in that the linguistic object is closed rather than living.
Digital-humanities interfaces to colonial and Indigenous archives
Critical scholarship on the digitisation of colonial archives stresses that access is never neutral: recordkeeping systems carry the coloniality of their making, and digital reformatting can either reproduce or interrupt those relations of power. Recent work has examined how machine learning might widen access to colonial collections while preserving sensitivity toward harmful material (Dentler et al., 2024), exemplifying the tension between openness and care that any interface to such material must negotiate. Our reading interface is an instance of this genre: it foregrounds the provenance of each passage, resists smoothing the archive into fluent synthesis, and treats readability as a means of widening access rather than of effacing the source.
Persona, role-play, and character simulation in LLMs
Large language models are increasingly deployed as role-playing agents, and a growing body of benchmarks evaluates whether such personas are faithful, consistent, and appropriately bounded. PersonaEval (Zhou et al., 2025) shows that even strong models judge role-play unreliably, underscoring that persona fidelity is difficult both to produce and to assess. Our system uses multiple bounded personas, but departs from the dominant character-immersion framing: the personas are compositional devices for organising retrieved material and for signalling the limits of what may be voiced, not attempts to impersonate historical ǀxam narrators. Evaluation of our personas is therefore concerned less with human-likeness than with whether each remains within its evidentiary and ethical bounds.
The Bleek–Lloyd archive: scholarship and digitisation
The modern scholarly reframing of the collection is most associated with Skotnes (2007), whose Claim to the Country reproduces and contextualises the archive. The Digital Bleek and Lloyd, developed at the University of Cape Town under Skotnes's direction, made the notebooks and drawings searchable online; its later redesign toward simpler, more preservable infrastructure is described by Phiri and Suleman (2012). We treat that digitised corpus as the retrieval substrate. Where prior computational engagement with the archive has centred on digital-library design, indexing, and presentation, we add a retrieval-augmented reading interface with browse views, a glossary, and text-to-speech. We are not aware of prior RAG or large-language-model work over this corpus, which, with the persona-composition design and the ethics-bounded framing, constitutes the novelty of the present system.
6. Evaluation
No empirical results are reported in this paper. This section sets out the
evaluation the system is designed to support; the study it specifies has not
yet been run, and running it requires the live system (hosted embeddings and
generation over a populated database). The full protocol, rubrics, and
result-table templates are given in the evaluation supplement
(xam-archive-evaluation.md).
The interface couples two components that fail in different ways and are therefore measured separately: the retriever, which decides which passages reach the model, and the generator, which decides what is said about them and whether it is faithful to the source (Es et al. 2024).
Retrieval. We report Recall@k, MRR@k, and nDCG@k (Järvelin and Kekäläinen 2002), the last over graded relevance judgements so that a canonical version of a narrative is credited above a passing mention. A reusable test collection is constructed by TREC-style pooling (Voorhees 2000): at least thirty queries sampled across types (thematic, cross-source, informant-shaped, lexical, and cross-language), candidate pooling across all compared systems, four-point graded judgements by domain readers, and inter-annotator agreement reported as Cohen's or Fleiss' kappa (Cohen 1960; Fleiss 1971). The production configuration (dense-only cosine retrieval) is compared against BM25-only, hybrid BM25-and-dense via reciprocal rank fusion (Cormack et al. 2009), hybrid with cross-encoder reranking, and a HyDE variant (Gao et al. 2023); BM25 is included because lexical match is expected to help on the rare proper names and verbatim phrases this corpus contains (Thakur et al. 2021). An orthogonal ablation reports every configuration with the language-group filter on and off, to quantify how much cross-family contamination the filter removes and whether it ever suppresses genuinely relevant ǀxam material. Differences are tested with a paired bootstrap or randomisation test (Smucker et al. 2007), with per-query-type breakdowns because the query set is small.
Generation. Groundedness is assessed automatically where this is sound (citation precision and recall against the retrieved chunks; natural-language inference faithfulness in the sense of Rashkin et al. 2023; and RAGAS-style reference-free metrics, Es et al. 2024) and by expert human rating otherwise. The human rubric scores five dimensions, factual grounding, citation correctness, persona and register fidelity, refusal appropriateness, and harm and representation, on a five-point scale, complemented by a pairwise comparison scheme. Suggested raters are archive scholars and ǀxam-literate readers rather than crowd-workers, since the representation dimension in particular is not a judgement the system's authors should make alone. The automatic measures are weakest on exactly the archaic, multilingual register this corpus is made of, and so screen rather than certify; the supplement states their limits in full.
7. Limitations and threats to validity
We state the limitations of this work plainly. Several are inherent to the corpus and cannot be engineered away; others reflect the prototype's current maturity and bound what can presently be claimed.
Single, small corpus. The system covers one archive of 1,263 narratives and 168 images embedded into 3,252 chunks. This is small for a retrieval system, and findings about retrieval behaviour, persona fidelity, and interface utility may not transfer to larger or differently structured collections.
English-gloss-mediated source. What the system makes readable is, for most material, a century-old English translation, not the ǀxam original. Bleek and Lloyd's glosses are themselves interpretive acts, and parallel ǀxam text is present for only a fraction of the corpus. Any reading the interface supports is therefore a reading of a translation, and the retrieval and generation layers inherit whatever distortions the original glossing introduced.
No live user study. The system reports no empirical results. We have not yet run a user study with non-specialist readers, scholars, or descendant-community members, so claims about readability and usefulness are design rationale, not measured outcomes. The evaluation harness gates retrieval changes but has not been run as a reported experiment, and there is no human evaluation of persona output.
Persona fidelity is unverified. The historical personas (Lloyd, Bleek) are anchored on mined prose statistics and curated voice references, and constrained by knowledge cutoffs. Whether their output is faithful to the historical figures' register, or merely a plausible-sounding pastiche, has not been assessed by qualified readers, and a fluent persona may lend unearned authority to generated text.
Retrieval ceiling of dense-only search. Retrieval is deliberately simple: dense cosine search over a single embedding model, top-10, with no hybrid lexical component, reranking, or query expansion. Dense-only retrieval is known to miss exact-match lexical queries (rare ǀxam terms, specific informant names, idiosyncratic spellings), a real failure mode for a corpus with heavy orthographic variation and OCR noise. The roadmap's hybrid and reranking steps are unmeasured improvements, not delivered ones.
The click and text-to-speech gap. The text-to-speech path strips the click consonants (ǀ ǁ ǃ ǂ) before synthesis, so ǁkabbo is voiced "kabbo." The interface reads the corpus aloud in English while failing to pronounce its names. This is the subject of the companion paper, and no claim of faithful audio rendering of ǀxam is made (see §3.7).
LLM nondeterminism. Generation is produced by a hosted large language model and is nondeterministic: the same query and persona can yield different responses across runs, and behaviour may drift as the underlying model is updated. The grounding and refusal constraints are enforced by prompt instruction, not by a hard mechanism, so violations are possible even where they are rare, and any evaluation is a snapshot of a moving system.
Risk of laundering or flattening colonial provenance. A fluent conversational surface over the testimony of imprisoned informants can smooth the violence of the recording conditions into easy reading, detach narratives from the named individuals who told them, or present a colonially mediated translation as if it were unmediated ǀxam. The system mitigates this (provenance headers, in-view recording conditions, named informants, no rock-art misattribution, no language-family conflation), but mitigation is not elimination, and misuse or out-of-framing quotation could flatten exactly the provenance it tries to keep in view.
Generalisability. The persona-composition and language-group-filtering patterns are presented as reusable, but are evidenced on a single corpus; their transfer to other archives, language families, or interface goals is argued, not demonstrated.
Evaluation not yet run. The strongest single limitation is that the central empirical questions, whether grounding holds in practice, whether the personas are faithful, whether language-group filtering measurably reduces contamination, and whether the interface helps real readers, remain open. This is a system description; the evaluation it makes possible (§6) has not yet been conducted, and the contributions should be read as defensible design claims pending that work.
8. Conclusion
This paper has described a retrieval-augmented interface to the Bleek–Lloyd ǀxam corpus: a system that makes the folklore readable, searchable, and (in English) audible, under constraints that tie every claim to a retrieved passage and keep the recording history in view. The material that was available but difficult to use is, through the interface, navigable for a non-specialist reader.
Two adjacent questions remain. The first is translation: §4 set out how the interface functions as an instrument for the ongoing scholarly reconstruction of ǀxam. The second is sound: the system reads the corpus aloud in English but cannot pronounce its ǀxam names, because the clicks are removed before synthesis. That limitation, and what addressing it would require, is the subject of the companion paper. Both are extensions of the same aim: making an available but hard-to-read record genuinely usable.
One outcome generalises beyond this corpus. Large language models and neural speech synthesis have largely been instruments of the world's high-resource languages; this work suggests the same tooling, used with restraint, is also an opportunity for the opposite case, the endangered and the sleeping. A retrieval-grounded interface turns a dormant documentary record into something a non-specialist can read and search, and the companion paper sets out a route to restoring a sound that no living person can any longer produce unaided. The opportunity is real but bounded, and the bound is the point: these systems help preserve an endangered language by making its existing record legible, audible, and transmissible, not by generating the language anew. Retrieval rather than generation, and reconstruction rather than invention, are the ceilings throughout. Within those limits the pattern, a grounded reading layer over the documentary record and a community-sourced or reconstructed pronunciation layer over its sound, is replicable for other endangered and sleeping languages whose archives are similarly extensive, similarly public, and similarly unread.
Acknowledgements
This work would not have been possible without Pippa Skotnes, whose recovery and re-presentation of the Bleek–Lloyd archive is the foundation this interface builds on: the Digital Bleek & Lloyd and the scholarship around it, from Sound from the Thinking Strings (1991) and Miscast (1996) through Claim to the Country (2007) and Unconquerable Spirit (2008) to When the World Was (2025). Thanks are due to her for the body of work that made the corpus legible and reachable in the first place.
References
ǀxam, Nǀuu, classification and translation
- Güldemann, T. (2005). Studies in Tuu (Southern Khoisan). University of Leipzig Papers on Africa, Languages and Literatures No. 23. (Proposes the family name "Tuu" and gives a preliminary Taa / !Ui sub-classification placing ǀxam and the Nǁng/Nǀuu cluster as distinct !Ui subgroups.)
- du Plessis, M. (2018). Kora: A Lost Khoisan Language of the early Cape and the Gariep. Unisa Press.
- Boehmer, E. & Staphorst, L. (2025). Africa's sleeping language ǀxam has been written in stone at Oxford University. The Conversation, 4 March 2025.
The archive and its recovery (Pippa Skotnes)
- Skotnes, P. (1991). Sound from the Thinking Strings: A Visual, Literary, Archaeological and Historical Interpretation of the Final Years of ǀXam Life. Axeage Private Press.
- Skotnes, P. (ed.) (1996). Miscast: Negotiating the Presence of the Bushmen. UCT Press.
- Skotnes, P. (1999). Heaven's Things: A Story of the ǀXam. LLAREC.
- Skotnes, P. (2007). Claim to the Country: The Archive of Wilhelm Bleek and Lucy Lloyd. Jacana / Ohio University Press. (Companion to the Digital Bleek & Lloyd.)
- Skotnes, P. (2008). Unconquerable Spirit: George Stow's History Paintings of the San. Jacana / Ohio University Press.
- Skotnes, P. (2025). When the World Was. Tafelberg. (A ǀxam picture book drawn from the archive.)
- Skotnes, P. (gen. ed.). The Digital Bleek & Lloyd / ǃkhwe-ta ǃxōë.
Archive
- UNESCO Memory of the World: The Bleek Collection (inscribed 1997).
Retrieval-augmented generation, NLP, and digital humanities (Section 5)
- Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. Advances in Neural Information Processing Systems 33.
- Mialon, G. et al. (2023). Augmented Language Models: a Survey. arXiv:2302.07842.
- Asai, A. et al. (2023). Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection. arXiv:2310.11511.
- Rashkin, H. et al. (2023). Measuring Attribution in Natural Language Generation Models. Computational Linguistics 49(4), 777-840.
- Bohnet, B. et al. (2022). Attributed Question Answering. arXiv:2212.08037.
- Gao, L., Dai, Z. et al. (2023). RARR: Researching and Revising What Language Models Say, Using Language Models. ACL 2023.
- Es, S., James, J., Espinosa-Anke, L. and Schockaert, S. (2024). RAGAS: Automated Evaluation of Retrieval Augmented Generation. EACL 2024: System Demonstrations. (arXiv:2309.15217, 2023.)
- Ji, Z. et al. (2023). Survey of Hallucination in Natural Language Generation. ACM Computing Surveys 55(12), Article 248.
- Good, J., Hirschberg, J. and Rambow, O. (eds.) (2014). Proceedings of the 2014 Workshop on the Use of Computational Methods in the Study of Endangered Languages (ComputEL). Association for Computational Linguistics.
- Imam, S. H. et al. (2025). Automatic Speech Recognition for African Low-Resource Languages: Challenges and Future Directions. AfricaNLP 2025.
- Dentler, J., Jaillant, L., Foliard, D. and Schuh, J. (2024). Sensitivity and Access: Unlocking the Colonial Visual Archive with Machine Learning. Digital Humanities Quarterly 18.
- Zhou, L. et al. (2025). PersonaEval: Are LLM Evaluators Human Enough to Judge Role-Play? arXiv:2508.10014.
- Bleek, W. H. I. and Lloyd, L. C. (1911). Specimens of Bushman Folklore. London: George Allen & Company.
- Phiri, L. and Suleman, H. (2012). In Search of Simplicity: Redesigning the Digital Bleek and Lloyd. DESIDOC Journal of Library & Information Technology 32(4), 306-312.
Evaluation methodology (Section 6; full list in the evaluation supplement)
- Voorhees, E. M. (2000). Variations in Relevance Judgments and the Measurement of Retrieval Effectiveness. Information Processing & Management 36(5).
- Järvelin, K. and Kekäläinen, J. (2002). Cumulated Gain-Based Evaluation of IR Techniques. ACM Transactions on Information Systems 20(4), 422-446.
- Cohen, J. (1960). A Coefficient of Agreement for Nominal Scales. Educational and Psychological Measurement 20(1), 37-46.
- Fleiss, J. L. (1971). Measuring Nominal Scale Agreement Among Many Raters. Psychological Bulletin 76(5), 378-382.
- Cormack, G. V., Clarke, C. L. A. and Buettcher, S. (2009). Reciprocal Rank Fusion Outperforms Condorcet and Individual Rank Learning Methods. SIGIR 2009, 758-759.
- Gao, L., Ma, X., Lin, J. and Callan, J. (2023). Precise Zero-Shot Dense Retrieval without Relevance Labels (HyDE). ACL 2023.
- Thakur, N. et al. (2021). BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation of Information Retrieval Models. NeurIPS Datasets and Benchmarks.
- Smucker, M. D., Allan, J. and Carterette, B. (2007). A Comparison of Statistical Significance Tests for Information Retrieval Evaluation. CIKM 2007, 623-632.
Deep history and the "oldest language" question (Appendix C)
- Schlebusch, C. M. et al. (2017). Southern African ancient genomes estimate modern human divergence to 350,000 to 260,000 years ago. Science 358(6363), 652–655.
- Schlebusch, C. M. et al. (2012). Genomic variation in seven Khoe-San groups reveals adaptation and complex African history. Science 338(6105), 374–379.
- Tishkoff, S. A. et al. (2009). The genetic structure and history of Africans and African Americans. Science 324(5930), 1035–1044.
- Henn, B. M. et al. (2011). Hunter-gatherer genomic diversity suggests a southern African origin for modern humans. PNAS 108(13), 5154–5162.
- Knight, A. et al. (2003). African Y chromosome and mtDNA divergence provides insight into the history of click languages. Current Biology 13(6), 464–473.
- Güldemann, T. (2007). Clicks, genetics, and "proto-world" from a linguistic perspective. University of Leipzig Papers on Africa No. 29.
- Sands, B. & Güldemann, T. (2009). What click languages can and can't tell us about language origins. In R. Botha & C. Knight (eds.), The Cradle of Language, OUP, 204–218.
- Nichols, J. (1992). Linguistic Diversity in Space and Time. University of Chicago Press. (Comparative-method time-depth ceiling.)
- Campbell, L. & Poser, W. J. (2008). Language Classification: History and Method. Cambridge University Press. (Critique of long-range comparison.)
- Clarkson, C. et al. (2017). Human occupation of northern Australia by 65,000 years ago. Nature 547, 306–310.
- Rasmussen, M. et al. (2011). An Aboriginal Australian genome reveals separate human dispersals into Asia. Science 334, 94–98.
- Malaspinas, A.-S. et al. (2016). A genomic history of Aboriginal Australia. Nature 538, 207–214.
- Bowern, C. & Atkinson, Q. (2012). Computational phylogenetics and the internal structure of Pama-Nyungan. Language 88(4), 817–845.
- Bouckaert, R., Bowern, C. & Atkinson, Q. (2018). The origin and expansion of Pama-Nyungan languages across Australia. Nature Ecology & Evolution 2, 741–749.
Appendix A: Sourcing notes and corrections
Several details in the source literature are commonly misstated; the following corrections were established during research and are reflected throughout this paper:
- The Oxford ǀxam inscription was reported in 2025 (published 4 March 2025), not 2026.
- Kora is a Khoekhoe language, not Tuu: its link to ǀxam is click typology, not genealogy.
- The "seven click releases" attributed to ǀxam is du Plessis's reconstruction inference, not a directly observed inventory.
- The ǀxam corpus is ~12,000–15,000 notebook pages (a few million words at most), not an unqualified "millions of words"; page-count figures vary across sources.
Appendix B: System at a glance
| Metric | Value |
|---|---|
| Narratives | 1,263 (six sources) |
| Rock-art images | 168 (Stow tracings) |
| Embedded chunks | 3,252 (1,123 story + 2,129 paragraph) |
| Glossary terms | 129 surfaced (corpus + 1924 appendix); 1,124 assembled, with Bleek 1956's 995 entries withheld |
| Personas | 6 built-in + data-driven (Early Race) |
| Embeddings | OpenAI text-embedding-3-small (1,536-dim) |
| Generation | Anthropic Claude (Sonnet-class) |
| TTS / STT | ElevenLabs eleven_flash_v2_5 / OpenAI Whisper |
| Vector store | Supabase Postgres + pgvector (HNSW, cosine) |
| Frontend | React Router 7 SPA (SSR off) on Vercel |
Appendix C: On the "oldest language" question
A project around a documented San language inevitably meets the claim that it is "the oldest language on Earth." The claim is popular, well-meant, and, as stated, not true. Because the project will be asked, this appendix sets out the defensible position, with sources, and separates what genetics shows from what linguistics allows.
What is solidly true: the deepest human lineage
The Khoe-San carry the earliest-diverging lineage of living modern humans. The deepest modern-human population split is dated to roughly 350,000– 260,000 years ago (Schlebusch et al. 2017, Science 358:652–655); an earlier genome-wide estimate placed the Khoe-San divergence at ≥100,000 years (Schlebusch et al. 2012, Science). The deepest-rooting maternal lineage, mtDNA haplogroup L0, is concentrated in southern-African click-speaking peoples (Chan et al. 2015; Tishkoff et al. 2009, Science; Henn et al. 2011, PNAS).
Three caveats matter, and are usually dropped:
- "Earliest-diverging" is a branching order, not a ranking. It does not mean "more ancestral," "more primitive," or "less evolved." Every living population has had exactly the same elapsed time since the common ancestor.
- The dates are mutation-rate-dependent, which is why the 2012 (≥100 ka) and 2017 (350–260 ka) figures are not competing facts.
- A deepest-diverging lineage living in southern Africa is not the same claim as modern humans originating there (the southern-origin model of Henn et al. 2011 is contested, not consensus).
Why "the oldest language" is a category error
Mainstream linguistics holds that every living language is equally old: all descend by unbroken transmission from equally ancient ancestors and are continuously renewed (Britannica, Linguistic change; Scientific American, quoting linguist Danny Hieber). Consequently:
- "Oldest language" claims actually track continuity of a name, a literary tradition, or the earliest written attestation, not age. By the written-record metric the oldest are Sumerian, Egyptian and Akkadian, all long extinct, which is itself telling.
- Conservative ≠ old. Lithuanian and Icelandic retain archaic features but are not "older" than their relatives; feature-retention is a synchronic comparison, not a measure of age.
- Historical linguistics cannot see deep enough to adjudicate anyway: the comparative method reaches only ~6,000–10,000 years (Nichols 1992), after which cognates are indistinguishable from chance. "Proto-World" and global etymologies are rejected by the mainstream (Campbell calls the pursuit "a hopeless waste of time… an embarrassment"; Ringe's chance-statistics critique). The biological faculty of language may be 135,000+ years old, but that is a capacity, not a recoverable language.
The click-antiquity hypothesis, and why specialists reject it
The specific Khoisan version of the myth is that clicks are the original or most ancient speech sounds. It traces to one genetics paper, Knight et al. 2003 (Current Biology 13:464–473), which found the click-speaking Hadza (Tanzania) and Juǀʼhoansi (southern Africa) to be about as genetically divergent as any two African populations, yet both click-using, and inferred that clicks "may be an ancient element of human language." (Merritt Ruhlen, of the fringe "proto-World" programme, is a co-author.)
The Khoisanists who study these languages reject the inference (Güldemann 2007, "Clicks, genetics, and 'proto-world'"; Sands & Güldemann 2009, "What click languages can and can't tell us about language origins," in The Cradle of Language, OUP):
- "Khoisan" is not one family. It is at least three unrelated families (Tuu, Kxʼa, Khoe-Kwadi) plus two isolates, Hadza and Sandawe. The shared traits reflect a Kalahari Basin contact area, not common descent.
- Clicks are borrowable. They diffused into Bantu (Zulu, Xhosa, Phuthi) and into Cushitic Dahalo by contact. Two unrelated populations both having clicks proves nothing about inheritance or antiquity.
- Clicks are not reconstructible to any deep proto-language and are generally treated as comparatively late developments (Traill, Sands).
- Language family ≠ genetic cluster: the ǂHoan speak a Kxʼa language but cluster genetically with Taa/Khoe speakers; language and DNA do not track each other.
A comparison: Aboriginal Australia
The same pattern, and the same error, recurs in the other great "oldest" claim, and Australia illustrates it even more sharply. Aboriginal Australians represent one of the oldest continuous human occupations outside Africa (Madjedbebe dated to ~65,000 years, Clarkson et al. 2017, Nature 547:306–310; the 65 ka figure is partly contested on site-disturbance grounds, but a ~50,000-year minimum is not in dispute) and one of the earliest-diverging non-African lineages, their ancestors splitting from Eurasians ~51,000–72,000 years ago (Rasmussen et al. 2011, Science; Malaspinas et al. 2016, Nature 538:207–214). Hence the familiar phrase "the world's oldest continuous culture," a claim about occupation and culture, which is defensible.
But the languages are demonstrably young. The dominant family, Pama-Nyungan (~90% of the continent), spread only in the mid-Holocene: Proto-Pama-Nyungan is dated to roughly 4,000–6,000 years ago (Bowern & Atkinson 2012, Language; Bouckaert, Bowern & Atkinson 2018, Nature Ecology & Evolution 2:741–749), spreading across the ancient population as a package of cultural innovations rather than by replacement. So a 50,000-year-old population speaks a language family younger than agriculture in the Near East. That gap, ancient people and recent language, is the category error in its clearest form, and it applies identically to the Khoe-San and to ǀxam.
Where ǀxam sits, and the defensible statement
ǀxam is a Tuu, !Ui-branch language; Nǀuu is its closest living relative. No specific deep "age" can be assigned to ǀxam as a language: like every language it is a continuously-changing modern descendant, documented from the 1870s, its last fluent speakers dying in the 1910s, not a 100,000-year-old relic. The genetics speaks to the antiquity of the people; it is silent on the age of their language.
A defensible summary, then:
The Khoe-San represent the deepest-diverging lineage of living humanity, and ǀxam and Nǀuu are among that lineage's languages, but no living language is "older" than another, and clicks are not the original sounds of human speech. The "world's oldest language" framing is a myth built on conflating population genetics with linguistics.