Skip to the content

Capsid menu

A search

Step 1 of 6

Asked

An agent calls Find documents with a question. The Worker checks its read grant and the namespaces it may see.

What it touches

The drawing

Inside Capsid
The same map as a list

Runs everything

  • Capsid The store, the queue, and the credentials every other project runs through. mcp.dustinedwards.info Open Capsid

Shared parts

  • d1-dump shared Backs up each table of a D1 database, keeps the backups on a schedule, and drills the restore. Open d1-dump
  • devkit shared Shared CI workflows, Renovate rules, and test helpers. Open devkit
  • site-runtime shared Security headers, the rate limiter, and the health format that every site imports. Open site-runtime
  • Prelum shared Turns finished writing into pages, feeds, and sitemaps. Open Prelum
  • Capsomer shared The tokens, the shell, and the shared controls every app is drawn with, in plain CSS. capsomer.dustinedwards.info Open Capsomer
  • site-api shared The contract Carrel uses to publish. Open site-api

Websites

  • Dustin Edwards Admin admin Runs dustinedwards.info from a chat, covering health, mentions, media, registries, citations, and lab procedures. Writing stays in Carrel. Open Dustin Edwards Admin
  • Germomics site A podcast and writing site about microbiology and history, with interactive virus and bacteria data pages and browser games. germomics.com Open Germomics
  • dustinedwards.info site Dustin's personal site. dustinedwards.info Open dustinedwards.info
  • TXASM site Runs the Texas Branch ASM meetings: registration, abstract submission and review, the program, and the abstract book PDF. txasm.org Open TXASM
  • julieedwards.info site Julie Edwards's campaign site for the Bluff Dale ISD school board. Its copy lives in D1 and is edited through Carrel. julieedwards.info Open julieedwards.info

Apps

  • Foxing app A reading app and web platform, Letterboxd for books: a web app, an Expo phone reader and a Discord Activity for reading clubs. foxing.app Open Foxing
  • Foxhound Admin admin Runs Foxhound from a chat. It holds no Stripe key and no database: every action is a call to the foxhound Worker's admin API. admin-mcp.foxhoundapp.com Open Foxhound Admin
  • Foxhound app Recovers failed Stripe payments, handles disputes and reports subscription health for merchants, and is paid only on money it recovers. foxhoundapp.com Open Foxhound
  • Foxing Admin admin Runs Foxing from a chat: stats, users, badges, journal posts and catalog health, all through the foxing Worker. Built, not yet deployed. Open Foxing Admin

Writing

  • Carrel writing The writing desk, where drafts are written, checked, and published. carrel.dustinedwards.info Open Carrel
  • Enarratio writing An npm package of charts, with a gallery. enarratio.dustinedwards.info Open Enarratio
  • Writing private Dustin's books: scenes, outlines and story bibles, which Carrel reads and commits through its own GitHub App. Open Writing

Tools

  • Skills tool The instructions AI sessions follow. Open Skills
  • Private skills private Dustin's own session setup, which every AI session loads beside the public skills. Open Private skills
  • capsid-bench tool The study harness that compares Claude Code with and without Capsid on the same tasks, scored on hidden tests. Open capsid-bench
  • Capsid backups private Mirrors Capsid's daily database dumps off Cloudflare every day, so losing the account does not lose the store. Open Capsid backups
Inside Capsid, step by step

A search

  1. Asked: an agent calls Find documents with a question. The Worker checks its read grant and the namespaces it may see.
  2. By keyword: the question runs through SQLite's full-text search on D1, ranked by bm25.
  3. By meaning: the same question goes to the AI Search index, which finds documents that say it in other words.
  4. Re-checked: every meaning hit is read back from D1, so a moved or deleted document is never served. Closed and superseded documents are left out unless asked for.
  5. Answered: one list, the current canon first, each row marked keyword, meaning or both. If the index cannot answer, the keyword results come back with the reason.
  6. Kept fresh: every five minutes the tick sends the index the documents changed since its last pass, 100 at a time, and a daily pass removes what D1 no longer holds.

Every step

  1. Asked An agent calls Find documents with a question. The Worker checks its read grant and the namespaces it may see.
  2. By keyword The question runs through SQLite's full-text search on D1, ranked by bm25.
  3. By meaning The same question goes to the AI Search index, which finds documents that say it in other words.
  4. Re-checked Every meaning hit is read back from D1, so a moved or deleted document is never served. Closed and superseded documents are left out unless asked for.
  5. Answered One list, the current canon first, each row marked keyword, meaning or both. If the index cannot answer, the keyword results come back with the reason.
  6. Kept fresh Every five minutes the tick sends the index the documents changed since its last pass, 100 at a time, and a daily pass removes what D1 no longer holds.