Safeguard
Developer Tools•

How do you run a 30 minute meeting to settle a dependency dispute?

A timed agenda for a 30 minute meeting that settles a cross-team dependency version dispute, with pre-reads, roles, and a decision written before everyone leaves.

Safeguard Security Team
4 min read

Run it in 30 minutes with a pre-read, a named decider, and a decision written down before the call ends. Spend five minutes on facts, ten on options, ten on risk and five on the decision and next steps. If facts are missing, schedule a short follow-up instead of debating.

Before the meeting

The meeting is only as good as its pre-read. The person who raised the dispute prepares one page, shared a day ahead:

  • The package, current version and proposed version.
  • The reason: an advisory, a bug, or a compatibility need.
  • Which services use it, from a dependency inventory.
  • Whether the affected code is reachable in each service.
  • The patch, minor or major classification, using Semantic Versioning definitions.
  • The current test status of the proposed change.

Invite only the decider, one person from each affected team, and a note taker. More people turn a decision meeting into a briefing.

Roles

RoleJob
DeciderMakes the call; the owner of the build or shared version list
FacilitatorKeeps time, parks tangents
Team repsSpeak for their service, not for the whole department
Note takerWrites the decision record live

The decider is named in your dependency policy, not chosen in the room.

The 30 minute agenda

Minutes 0 to 5: facts. The facilitator reads the pre-read summary. Team reps correct errors only. Nobody argues yet.

Minutes 5 to 15: options. List three at most, written on screen:

  1. Upgrade the direct dependency that brings in the version.
  2. Override the transitive version in the root build.
  3. Accept the risk for a stated period, with a review date.

Each option gets a one line cost and a one line risk. Maven, Gradle, npm and Cargo all support some form of root level override, so the question is rarely "can we" and nearly always "should we, and who owns it."

Minutes 15 to 25: risk. Each team rep answers one question: what is the worst realistic outcome for my service if we choose this? Keep answers concrete, such as "login flow fails on token parsing," rather than abstract.

Minutes 25 to 30: decide. The decider states the decision, the scope, the owner of the follow-up, and the review date. The note taker reads it back.

Anti-patterns to avoid

  • Debating severity scores. Use the advisory and reachability facts instead.
  • Letting the loudest team set the agenda.
  • Ending with "let us align offline." Either decide, or name exactly which fact is missing and who will get it by when.
  • Reopening a closed decision without new information.

After the meeting

Send the record to everyone within an hour. Link it from the manifest comment. Put the review date on a calendar or ticket so it fires without anyone remembering.

If your team uses a policy gate on pull requests, update the policy exception at the same time, with the same expiry, so the pipeline and the decision agree.

Quick check

What if the facts are disputed?

Pause the meeting and assign one person to produce the missing fact, such as a test run or an inventory export, with a deadline of one or two business days. Then reconvene for 15 minutes.

Do we need this meeting for every bump?

No. Use it only when two teams disagree and the default process has not resolved it.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.