The local corpus
SEC filings imported from the Terminal, searched on your machine, and cited passage by passage, with the four ways a search says no.
Shipped in the current build. You can do this on your own machine today.
- AVAILABLEImporting SEC filingsFrom the Terminal only, by ticker, from SEC EDGAR.
- AVAILABLESearching the corpusFrom the Corpus screen, from the Terminal, and by an agent whose role reads it.
- PLANNEDImporting local filesNot possible: the Terminal import is the only writer, and the screen has no import.
#Import, check, ask
The import resolves the ticker to its SEC filer, lists the filings and reads each main document. It runs under the Fundamental role and its allowlist. By default it takes 10-K and 8-K forms, three filings at most.
deskworth rag ingest AAPL --forms 10-K,8-K --limit 3
deskworth rag status
deskworth rag query accounting "What moved the gross margin?"
deskworth rag facetsThe Corpus screen of the Mission Workspace lists the documents, form, accession, filing date, with the total of passages and the embedding model, a search field, and each passage with its provenance: form, accession, passage number and proximity.
#How it works
- Stored in one local database: each document with its form, accession, filing date, address, SHA-256 digest and size, and each passage with its rank, text and vector. A document imported again replaces the previous one.
- Passages of 1,200 characters with an overlap of 200; six passages come back for a question.
- Embeddings by `qwen3-embedding:0.6b`, on the local endpoint of this machine.
- The search compares the question with every passage, by cosine, in memory. One path serves the screen, the agent and the Terminal.
- The mandate numbers the passages and requires each figure to cite its number; the Terminal answer ends with its sources.
- Only the Accounting role reads the corpus, and no role holds both the corpus and the web, a test keeps that true.
#The four refusals
| Refusal | When | What it says |
|---|---|---|
| Empty corpus | No passage at all, found before any call to a model. | “This corpus holds no document yet, import one before asking.” |
| Too far | No passage reaches a proximity of 0.42. | “nothing in this corpus is close enough to the question to answer it” |
| No shared term | The closest passages share no word with the question. | “the closest passages share no term with the question, this corpus is about something else” |
| Embedding failed | The embedding model does not answer. | “the question could not be embedded: …” |
LimitSEC EDGAR, by ticker, is the only source that can be imported. The import needs the network; the search needs only the local endpoint, and the embedding model must be running for it. The retriever itself has no published measurement: the “5 retrievals out of 8 fail” figure of the audit belongs to a lexical baseline, not to this retriever.
#Sources
- Deskworth OS, fact sheets for the public documentation (M55)DeskworthInternal document, not published