Versions & diffs
By the end of this page you will know what a version is, and how to see what changed between two of them.
Prerequisites
- An application with at least one completed ingest (Run an ingest).
- Two versions, to compare anything.
- Admin or Developer role.
One ingest, one version
Each completed ingest writes exactly one version, and a version is immutable. It pins one commit per repository, so it is a precise statement about the codebase at a moment.
That immutability is why agents can cite it. A repo/path:start-end citation from a search is only meaningful because the version it came from cannot change underneath it.
The history
| Column | What it tells you |
|---|---|
| Version | Its number |
| Nodes · Edges · Files | How big the graph and manifest were |
| Stage | How far the job got |
| Commits | The commit pinned per repository |
| Created | When |
Commits is the column that makes a version concrete. It is the answer to “what exactly was analysed?”
Comparing two versions
Pick a From and a To and the diff reports:
- Nodes added · Nodes removed · Unchanged
- Edges added · Edges removed
This is a structural diff, not a textual one. It answers “what changed about the shape of this system” — a service appearing, a dependency forming, an endpoint disappearing — rather than which lines moved.
For the textual question, compare the same two versions in the Code tab, which shows files side by side.
A large node delta on a small code change is worth a look. It usually means the parsers recognised something they previously could not — a framework upgrade, a project file change — rather than that the system really grew.
How many versions to keep
A version is a snapshot, so keeping one per commit makes the history unreadable without telling you much. Ingest after a meaningful merge, or before a piece of analysis work.
Common issues
- “No versions yet” — No ingest has completed.
- “Pick two different versions” — From and To are the same.
- A comparison shows everything added — The From version was built before a source was attached, so there is nothing to match against.
- Versions exist but the Commits column is empty — Zip sources have no commit. Only git sources pin one.