Overview · core
Use when
You start a job you have not done in this project, or you need to know what else a change touches.
Looking for something else?
How one part works in detail (its card). The steps of one job (its recipe).
The chain
A project holds one body of knowledge. Its parts connect in this order.- Files hold documents. A File keeps every version, and one version is current. Card file.
- Penumbra reads the current version into passages. Search returns passages, and an answer cites them. Card passage.
- Search finds passages and entities. A new version is found by exact words first, and by meaning after processing finishes. Card search.
- Collections group Files. A collection is what you extract from, share and keep in sync with a folder. Card collection.
- A Shape names the kinds of things a domain cares about: their types, properties and relationships.
- Extraction reads Files with a Shape. It proposes entities and relationships in a workspace. Each proposal cites the passages it came from, in the version it read.
- A workspace holds Graph changes until you submit them. A submit by an API key or a connected agent can wait for approval. Cards workspace and approval.
- The Graph holds entities and relationships. An entity keeps its properties, its revisions and its citations. Card entity.
- A View chooses part of the project, and a Brain gives that part to a client with agents and access.
What a change touches
A change is complete only when the parts after it agree with it.Where to start
When nothing fits, build the job from the cards, and say so in your report.
Doors
The same parts have the same names in every door. The CLI ispenumbra. An
MCP connection reaches them through tools. The SDK reaches them from code.
Each card’s Doors table names the command, tool and SDK call for its part.
Some parts have no door in some places. The card says so.
Reading the Grammar
The Grammar is Penumbra’s own rules: the cards, recipes and problems that you are reading. The word does not name a Shape. A Shape is the model of one domain. On the default MCP connection thegrammar tool has two modes. Call it
with howto to read the Grammar, and pass an entry id, the job or what you
saw. Call it with domain or refs, or with neither for the project glossary,
to read the project’s domain: its types, relationships and properties. A
connection that serves the Grammar as its own grammar tool takes query or
id and reads the Grammar only. In the CLI, penumbra grammar search and
penumbra grammar show read the Grammar.