A search
Step 2 of 6
By keyword
The question runs through SQLite's full-text search on D1, ranked by bm25.
What it touches
- MCP Workerwhere the step arrives, in Capsid
- capsidwhere the step starts, in Capsid
The drawing
Number keys 1 to 6 go to that step.
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
- Asked: an agent calls Find documents with a question. The Worker checks its read grant and the namespaces it may see.
- By keyword: the question runs through SQLite's full-text search on D1, ranked by bm25.
- By meaning: the same question goes to the AI Search index, which finds documents that say it in other words.
- 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.
- 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.
- 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
- Asked An agent calls Find documents with a question. The Worker checks its read grant and the namespaces it may see.
- By keyword The question runs through SQLite's full-text search on D1, ranked by bm25.
- By meaning The same question goes to the AI Search index, which finds documents that say it in other words.
- 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.
- 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.
- 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.