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:

  1. 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 unknown rather than defaulting it.
  2. 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.
  3. A language-group retrieval-filtering method for a corpus that silently mixes language families. A language column 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.
  4. 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:

  1. 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.
  2. Voice the archive, do not catalogue it. Personas never say "Passage 1 tells us…"; they weave content into their natural register.
  3. Period preservation. Direct quotation is short (≤ 15 words), period-faithful, and clearly delimited.
  4. 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.
  5. Honest about scaffolding. Where the archive is silent, the personas say so; where the recording conditions matter, they are named.
  6. 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.

LayerComponent
FrontendReact Router 7 (framework mode, SPA build, Vite; SSR off)
APISupabase Edge Functions (Deno): chat, search, speak, transcribe
DatabaseSupabase Postgres + pgvector (HNSW, cosine)
EmbeddingsOpenAI text-embedding-3-small (1,536-dim)
GenerationAnthropic Claude (Sonnet-class) via the Vercel AI SDK streamText
TTSElevenLabs eleven_flash_v2_5 (with-timestamps endpoint)
STTOpenAI Whisper (whisper-1)
HostingVercel (static SPA) + Supabase (functions + DB, eu-west-2)
CLINode 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.

SourceStoriesProvenance
Specimens of Bushman Folklore (1911)83clean HTML; 20 enriched with parallel ǀxam
The Mantis and His Friends (1924)27IA djvu; all flagged mantis_cycle
First Report (1873)10Cambridge IIIF + Tesseract OCR
Second Report (1875)50IA djvu, two-pass
Third Report (1889)261repository PDF; informant inheritance recovered 132/151 unattributed entries
Digital Bleek & Lloyd notebooks832four collections; structured metadata parse
Stow rock-art (images)168watercolour 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):

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:

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

The archive and its recovery (Pippa Skotnes)

Archive

Retrieval-augmented generation, NLP, and digital humanities (Section 5)

Evaluation methodology (Section 6; full list in the evaluation supplement)

Deep history and the "oldest language" question (Appendix C)

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:

  1. The Oxford ǀxam inscription was reported in 2025 (published 4 March 2025), not 2026.
  2. Kora is a Khoekhoe language, not Tuu: its link to ǀxam is click typology, not genealogy.
  3. The "seven click releases" attributed to ǀxam is du Plessis's reconstruction inference, not a directly observed inventory.
  4. 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

MetricValue
Narratives1,263 (six sources)
Rock-art images168 (Stow tracings)
Embedded chunks3,252 (1,123 story + 2,129 paragraph)
Glossary terms129 surfaced (corpus + 1924 appendix); 1,124 assembled, with Bleek 1956's 995 entries withheld
Personas6 built-in + data-driven (Early Race)
EmbeddingsOpenAI text-embedding-3-small (1,536-dim)
GenerationAnthropic Claude (Sonnet-class)
TTS / STTElevenLabs eleven_flash_v2_5 / OpenAI Whisper
Vector storeSupabase Postgres + pgvector (HNSW, cosine)
FrontendReact 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:

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:

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):

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.