Lumbridge Work

Gated · opens on November 13, 2026

Lumbridge Library What your team knows, with sources.

Lumbridge Library is one service with two shelves. The docs shelf holds research, notes, wiki pages and dated facts in a Markdown vault kept in git. The warehouse holds mirrored open-source repos, your own code, reusable components and design systems. People use two command-line clients; agents use the same shelves over MCP and get cited answers back.

Lumbridge Library
A terminal where lumbridge-docs sync indexes six Markdown documents, lumbridge-warehouse grep finds seven lines containing retry_after in one repository, and lumbridge-warehouse read prints the five-line retry_after function by its symbol nameA terminal where lumbridge-docs sync indexes six Markdown documents, lumbridge-warehouse grep finds seven lines containing retry_after in one repository, and lumbridge-warehouse read prints the five-line retry_after function by its symbol name
Index a Markdown vault, grep an indexed repository, and read one function by its symbol name.Open full sizeOpen full size

Tour

See Library at work.

The two commands

Resolve a name, then read.

lumbridge-warehouse lists the indexed repositories. lumbridge-docs turns a name into ranked documents and prints the lines you ask for. Shown in both themes.

Light
A terminal showing lumbridge-warehouse repos with one Python repository under the MIT license, lumbridge-docs resolve returning four ranked documents for the name retry-after, and lumbridge-docs read printing three lines of a wiki page about rate limiting
Dark
A terminal showing lumbridge-warehouse repos with one Python repository under the MIT license, lumbridge-docs resolve returning four ranked documents for the name retry-after, and lumbridge-docs read printing three lines of a wiki page about rate limiting
FIG. 1 — From git to a cited answer

01 · What it does

What Library does today.

A docs shelf in plain Markdown

Notes, daily pages, clippings, references and wiki pages live in a git vault. The service pulls it on a timer, re-chunks only files whose hash changed and keeps the embeddings of chunks that did not change. A lint report lists broken links, orphans and duplicate titles.

Dated facts with sources

A fact is an entity, an attribute, a value, a source and who verified it. Each has two timelines: when it was true and when you learned it. Recording the same value again does nothing; a new value supersedes the old one, which keeps its history. You can ask what was true as of a date.

A code warehouse

Add any git URL as a bare mirror, or your own repos. Code is cut into whole functions and types with tree-sitter for Rust, Python, TypeScript, JavaScript, Go, C, C++, Bash and Java. Search by meaning, by exact text or regex with git grep, or by symbol name, always at the indexed commit.

Components with a license trail

A component is a reusable piece in its own git repo: distilled from a mirrored repo with attribution, rebuilt clean-room from a written spec, or original. Distilling is refused when the source is copyleft or its license is unknown. Drafts wait for a person to approve them, and every use in a project is recorded.

Design systems you can search by look

The design shelf keeps write-ups, tokens and screenshots of websites and products. Measured tokens become filters such as theme, colors and fonts. A vision model captions each screenshot so text search can find a look, for example a dark console with a mono font.

Answers that are logged and judged

A query returns context packed under a token budget with numbered citations, plus an id. A person records a verdict on that id, with a correction if it was wrong. Verdicts, frozen eval sets and hashed dataset exports form a ledger you can train and test your own models on.

02 · How it works

Git is the truth, Postgres is the index

A core crate holds the engine. The lumbridge-libraryd service and two thin HTTP clients sit on top of it. Everything in the index can be rebuilt from git except facts, verdicts, evals and usage, which are marked for backup.

  1. 2.1

    lumbridge-libraryd

    One service exposes /health and /metrics without auth, a REST API under /v1 and an MCP endpoint at /mcp, both behind a bearer token. Background loops pull the vault, work through the embedding backlog, fetch mirrors and run the lint. Long work such as mirroring a repo runs as a job you can poll.

  2. 2.2

    Retrieval

    Both shelves use the same recipe. A full-text list and a vector list are fused by reciprocal rank, the top results go to a reranker, and the two scores are blended. Vectors carry the id of the model that made them and are never compared across models. On the docs shelf a relevance floor lets a query return nothing.

  3. 2.3

    Writes and their limits

    Agents may write clippings, wiki pages and reference pages. Each write is logged, committed to the vault and re-indexed. Pages a person authored are never edited by an agent. Approving a component or a design needs a separate admin token that agents do not hold. Clipped text is marked as data, not instructions.

  4. 2.4

    The librarian

    An upkeep run that turns structured bullets on reference pages into facts, links orphan clippings, and reports near-duplicates, stale pages and eval scores. It uses a local model, is capped per run, and defaults to a dry run that writes nothing. Contradicting facts are reported, never resolved for you.

FIG. 2 — Two lists, fused, then reranked

03 · Use it

Ask, save and search from a terminal

Both clients read LUMBRIDGE_LIBRARY_URL and a token from LUMBRIDGE_LIBRARY_TOKEN or ~/.config/lumbridge-library/token. Every command takes --json. Fetching a URL to clip, recording a verdict and exporting a dataset also need the admin token.

Start the service, save a source, ask with citations, record a fact, then search mirrored code.
lumbridge-libraryd --config ~/.config/lumbridge-library/lumbridge-libraryd.toml --migrate-only
lumbridge-libraryd --config ~/.config/lumbridge-library/lumbridge-libraryd.toml &
export LUMBRIDGE_LIBRARY_URL=http://library.acme.example:8830
lumbridge-docs status
lumbridge-docs clip https://example.com/queue-design --tag queues
lumbridge-docs ask "how do we retry failed jobs?" --max-tokens 2000
lumbridge-docs fact acme-queue max_retries 5 --source https://example.com/queue-design
lumbridge-docs facts acme-queue --history
lumbridge-docs verdict <qa_id> 1
lumbridge-warehouse mirror https://example.com/acme/queue.git --tag rust
lumbridge-warehouse search retry with backoff --lang rust --limit 5
lumbridge-warehouse symbols 'Scheduler::run'
lumbridge-warehouse grep "max_retries" -r acme/queue

04 · Docs

The Library manual.

These pages are in the repository and open with it. Until then, the Guide covers the same ground and is readable now.

  1. 01

    Setup

    The database script, the config file, the token files and the systemd unit for lumbridge-libraryd.

  2. 02

    Configuration

    Listen address, library root, embedding and rerank endpoints, the vault remote, job timers and the librarian.

  3. 03

    Docs shelf

    Vault layers, search and ask, reading pages, clippings, wiki writes, facts and the lint report.

  4. 04

    Warehouse

    Mirrors and own repos, sync, repo cards, semantic search, grep, symbols and reading code at a commit.

  5. 05

    Components and designs

    Origins, license rules, the approval step, usage records, and adding a design from a capture.

  6. 06

    MCP tools

    Connecting an agent to /mcp, the resolve-then-query pattern, and what agents may and may not write.

  7. 07

    Ledger, evals and exports

    Answer ids and verdicts, retrieval eval sets, and reproducible dataset exports.

  8. 08

    Rules for contributors

    Git as source of truth, append-only migrations, vector model ids and license handling.

Read the Guide chapter: Work appsRequest access to the repository

05 · Works with

One part of one system.

Not yet

  • No general installer. The deploy script and unit file are written for one host and need adapting.
  • The owner’s author name and the agent author names are fixed in code, not config.
  • The clients default to a fixed private address, so you must set LUMBRIDGE_LIBRARY_URL.
  • One shared token for readers and one admin token. There are no per-user accounts.
FIG. 3 — Where Library sits in Lumbridge

Questions

Questions about Library.

Where does the data live?

On your own server. Prose is a Markdown vault in a git repo you host. Code is bare git mirrors on disk. Postgres with a vector extension holds the index, the facts and the ledger. Raw design captures stay on disk and are never committed.

What goes to a model?

Chunks of text and code go to the embedding and rerank endpoints in your config, and screenshots go to a vision endpoint for captions. The librarian uses a local chat model. All of these are addresses you set; the service calls no outside API by itself. Fetching a URL to clip is the one outbound request.

What can an agent change?

An agent can save clippings, write wiki and reference pages, record facts, mirror public repos and draft components and designs. It cannot edit pages a person authored, approve a component or design, or start a real librarian run. Every write appears in the activity feed with the client that made it.

What do I need to run it?

A Linux server with Postgres and a vector extension, git, and OpenAI-style embedding and rerank endpoints. The vault needs a git remote, and components are published to a Gitea organization. It listens on one address and is meant for a private network.

What is the license?

Apache-2.0. The repository opens on November 13, 2026. Mirrored repos keep their own licenses, which the warehouse detects and shows, with copyleft sources flagged.

Want Library running for your team?

Self-host it, or talk to us about setting it up with you.