Project knowledge

Turn raw agent history into a small set of durable, human-validated facts — decisions, constraints and conventions — that every future session reads before starting work.

Project knowledge is the curated half of project memory: a short list of facts worth carrying into every future session. Not a transcript — the two-line version of what a new teammate would need to know.

Good facts look like this:

  • The HTTP client and token store live in Rust, never in the TypeScript front end.
  • The front end is vanilla TypeScript DOM manipulation — no React, no state library.
  • Icons come from the icon module; no emoji in the UI, ever.

Four ways to add a fact

Action What it does
Add fact You type it. Created pending validation, like every other fact
Distill a session An agent reads recent history and proposes durable facts
Analyze existing project Scans the codebase and proposes candidates. Reports files scanned, candidates created and how many were already known
Index files Ingests project documents so they are searchable. Unchanged files are skipped

Distilling a session

Distill latest session launches a Claude session whose only job is to read the most recent conversation and summarize it into durable facts. It runs as a normal interactive session on your subscription — you can watch it work on the dashboard.

The status line follows the run: launching the distillerdistilling N excerptsN distilled facts to validate. If the distiller does not finish in time, OFM says so and points you at its session rather than failing silently.

Nothing is used before you validate it

Every fact lands in the To validate tab first. Two buttons: Validate or Reject. Only validated facts are ever used in agent context.

That gate is deliberate. A validated fact is injected into future sessions, so a plausible but wrong one would quietly steer every agent that touches the project. Distillation and analysis are proposals; you are the reviewer.

Automatic distillation

Automatically distill on close runs a distiller each time a Claude session closes. It is off by default because it costs one session every time. Turn it on when a project is in a phase where decisions pile up faster than you can record them.

Getting facts into sessions

Validated facts reach agents through the two paths described in Memory injection: as an MCP tool the agent can query, and as a block written into the project’s guidance file at launch. The Number of injected facts setting caps how much goes into that block, so it stays a briefing rather than a wall of text.

Frequently asked

Why does every fact need validation?
Because a wrong fact is worse than no fact — it gets injected into every future session and quietly steers the agent. Distillation proposes; you decide.
Does distillation cost anything?
It runs as a normal interactive Claude session on your subscription, the same as any other agent session. No API call, no per-token bill.

Last updated