Before adding dependency controls, inspect the decision workflow
Dependency policy usually fails in the handoff.
A security tool finds something. A platform team receives an alert. An application team asks whether the package can ship. Nobody can point to a reviewable decision path, so the exception becomes the policy.
Before adopting another supply-chain control, I would start with a less exciting question:
Can an engineer inspect how a dependency decision is made, challenged, and maintained?
That is why supply-core is worth evaluating repository-first, rather than accepting another security claim at face value.
The public repository is here: https://github.com/jakubkrzysztofsikora/supply-core
The evaluation question
For a team that owns package admission, lockfile review, or CI policy:
What evidence must exist before a dependency decision is accepted?
Not "does this find risk?" Most tools can produce a finding.
The useful question is whether the control creates a workflow a reviewer can understand:
- What is being evaluated?
- Where is the policy defined?
- What does an allowed or rejected decision look like?
- How are exceptions handled?
- Can a different engineer reproduce the reasoning next week?
If those answers are unclear, the tool may still generate useful signals. It just has not solved the operational part.
A repository-first inspection pass
When evaluating an unfamiliar dependency-control project, I normally inspect four things before discussing rollout.
1. Read the documentation as an operator
Look for the intended workflow, not just installation commands.
I want to know where the project expects a decision to happen: local development, pull request review, CI, or somewhere else. The answer changes who owns the result and how quickly developers will route around it.
Open questions worth writing down:
- Which team maintains the policy?
- Which environment is expected to enforce it?
- What does a developer do when a package is blocked or questioned?
- Is there a documented path for legitimate exceptions?
A policy without an exception path is often just an outage scheduled for later.
2. Trace implementation to the decision point
Documentation explains intent. Implementation shows where intent meets reality.
The inspection target is the point at which input becomes an outcome: accepted, rejected, deferred, or otherwise recorded. That boundary matters more than a polished list of security terms.
For a real evaluation, I would ask:
- What inputs does the decision use?
- Is the policy readable and reviewable in version control?
- Can the outcome be reproduced from the same repository state?
- Is the behavior narrow enough that engineers can reason about it during an incident?
This is not a demand for perfection. It is a demand for an inspectable failure mode.
3. Check the current repository state
A dependency control becomes part of the delivery path. Treat it accordingly.
Before a trial, inspect the current repository state rather than relying on a post, a screenshot, or somebody else's interpretation. Look at the documentation and implementation together. Note what is explicit, what is implied, and what remains unanswered.
That distinction is useful in internal reviews:
- Observed: what the repository documents or implements.
- Inferred: what the team believes the workflow may support.
- Open: what needs a staging test before policy depends on it.
Those categories prevent a surprisingly common mistake: presenting an assumption as a control.
4. Run a small policy exercise
Do not begin with every dependency in the organisation. Pick one decision your team already understands.
For example:
- admitting a new direct dependency;
- reviewing a lockfile change in a pull request;
- deciding whether a package exception needs approval;
- defining what evidence belongs in that approval.
Then ask whether the project gives the reviewer a clearer path than the current combination of chat messages, spreadsheets, CI logs, and institutional memory.
If it does not, that is useful information too. Better to learn it in a contained evaluation than after policy starts blocking releases.
What I would want answered before adoption
For supply-core, I would evaluate the repository against the team's own dependency-review workflow, with these questions in hand:
- Can we identify the exact decision boundary?
- Can reviewers inspect the relevant policy and implementation?
- Can we test expected and unwanted outcomes before rollout?
- Can developers understand the next action when a decision is disputed?
- Can we keep the control from becoming another alert stream with no owner?
That is a more practical bar than "does it improve supply-chain security?" The latter is too broad to approve, operate, or debug.
Supply-chain controls earn trust when their decisions can be inspected by the people expected to live with them. supply-core is a concrete repository to evaluate on that basis.
Top comments (0)