Revision Tracking
Know which model revision your application depends on.
Track whether your dependency is pinned to an exact revision, follows a mutable reference such as main, or has an unknown revision.
Three revision states
Every dependency you record is classified from the revision you give PinDiff.
-
Pinned
example-org/chat-7brevision3f9a2c1This recorded dependency references an exact revision.
-
Floating
example-org/chat-7brevisionmainThis dependency follows a mutable reference that may resolve differently later. Branches and tags are floating too.
-
Unknown
example-org/chat-7brevisionnot recordedPinDiff cannot determine exposure until the revision is known.
Pinned is not a verdict. It means the recorded revision cannot move on its own.
Pinned versus floating
When the upstream repository moves from revision A to revision B, a pinned dependency stays on A. A floating dependency may resolve to B the next time it is downloaded.
A → Brevision=A
remains A
revision=main
may resolve to B
Change significance is not dependency exposure
Significance describes the upstream change. Exposure describes what that change means for the revision you recorded. PinDiff shows both, separately, instead of a single risk score.
- Upstream
- Weights replaced
- Significance
- Critical
- Dependency
3f9a2c1- Status
- No automatic effect
- Exposure
- No automatic effect The recorded revision does not automatically move.
- Action
- Review before upgrading.
- Upstream
- Weights replaced
- Significance
- Critical
- Dependency
main- Status
- Potentially affected
- Exposure
- Potentially affected A future resolution may retrieve the newer upstream state.
- Action
- Review the change, or pin an exact revision.
Other exposure outcomes
- Access and repository changes apply to every revision, including pinned ones. PinDiff marks them potentially affected.
- A pinned commit that already contains the change is shown as “in your recorded revision”.
- A tag or a branch other than main shows exposure as not determined. PinDiff observes the default branch, so it checks what the reference currently resolves to instead of guessing.
- An unknown revision keeps exposure unknown until you record the revision you use.
What PinDiff records for each dependency
- Configured revision
- The commit, tag, branch or main/latest you record. Each change to it is kept.
- Resolved commit
- The commit that revision pointed to when PinDiff last resolved it with Hugging Face.
- Revision type
- Pinned, floating or unknown, derived from the configured revision.
- Last resolution
- When the revision was last resolved, and why if it could not be.
- Latest upstream state
- The default-branch head PinDiff last observed.
- Relevant upstream changes
- Material changes since your pinned commit, once PinDiff has observed that commit.
This is the recorded dependency revision. PinDiff does not know what is deployed unless you record it.