Most of what an agent learns about your project is learned by reading code. Why a queue stops at the first network error, which helper every payment path goes through, how the team settled the last argument about error handling: an agent works it out, uses it, and the session ends. The next agent, or a teammate's agent, pays to work it out again.

Project learning keeps those conclusions. An agent saves what it worked out together with the files it read, and every agent in the workspace starts from it, for as long as the code still says so.

## What a finding is

A finding is one conclusion an agent reached from your code, plus the files it rests on and what those files contained when it read them. Pathrule checks the files against what is on disk before it accepts the finding, so a finding is only ever saved about code that exists.

A finding is not a memory, a rule or a skill. It never becomes one on its own, and it never blocks anything. It sits in its own layer, next to the knowledge your team wrote.

## How it reaches agents

Findings arrive in the context an agent asks Pathrule for, through `pathrule_get_context`. They come framed as advice to verify, and agents are told to treat them as information rather than instructions, so text planted in a file cannot turn into a standing order.

A finding is delivered only while its evidence holds in your checkout:

- **Unchanged sources.** The finding is delivered.
- **A source changed.** The finding is held back until an agent reads the code again and confirms or corrects it. Nobody is handed an answer about code that no longer exists.
- **Two findings disagree.** Both are held back rather than one being guessed between.

This check runs per checkout, so a teammate on an older or newer branch gets only the findings that are true for the code in front of them.

## Correcting and retracting

An agent can correct a finding by recording a new one that replaces it, with freshly verified sources. A finding that turns out to be wrong can be retracted by the person whose agent recorded it. The retraction applies to the whole workspace at once, and an old retry from a machine that was offline can never bring it back.

Agents can list current, stale and conflicting findings, including the ones held back from context, so a person can see exactly what is in the layer and why something was not delivered.

## Learning from past reviews

With GitHub access through your existing `gh` login, an agent can read past review discussion on the repository to see how the team decided a similar question before, and cite it in a finding. Pathrule does not store the comments themselves, and it skips bot, external and dismissed reviews. Without GitHub access, everything else keeps working.

## What leaves your machine

Project learning needs no local model and writes nothing into your repository.

On a local workspace, findings stay in its local store on your machine. On a cloud workspace, Pathrule shares the finding and where it came from, the file paths and a fingerprint of what each file contained, so other checkouts can tell whether the finding still holds. File contents are not uploaded. A finding recorded while offline waits in a queue and is sent when the connection returns.

## There is no review step

A finding is shared as soon as its sources check out; no person approves it first. That is deliberate: findings are advice that is re-checked against the code on every delivery, not team policy. Anything that should bind every agent still belongs in a [rule](/docs/content/rules) or a [memory](/docs/content/memories), written and reviewed by your team.

The tools behind this are listed in the [MCP tools reference](/docs/mcp/tools-reference#project-learning).
