Every code change.
Every decision checked.
Your engineering decisions live across specs, ADRs, tickets, API contracts, database schemas, docs, rules, and other repositories. HoldUp checks every pull request against the decisions that govern it before the code merges.
async function applyCoupon(order) { - validateCoupon(order.coupon) - authorizePayment(order.total) + authorizePayment(order.total) + validateCoupon(order.coupon) }
Know whether a change is allowed before it merges.
HoldUp resolves the decisions that apply, cites where they came from, and shows why the changed code conflicts.
The code can pass every check and still violate what your company decided.
Current reviewers can read more context. The harder problem is deciding which source governs the change when rules are scattered, stale, or contradictory.
Does the code work?
Compile, lint, test, scan, deploy. These checks validate the implementation itself.
Is this change consistent with what we decided?
Resolve the effective decisions, compare them with the PR, and make contradictions explicit.
No style comments. No generic AI noise.
HoldUp stays focused on the decisions a pull request can break, contradict, or introduce.
Existing decision contradicted
The PR changes behavior that an approved product, architecture, data, API, or security decision requires.
PR: authorize → validate
Sources of truth disagree
A ticket, ADR, repo rule, or contract gives the team incompatible instructions. HoldUp asks for a resolution.
Ticket: call Stripe directly
New system behavior introduced
The PR creates a meaningful dependency or policy with no recorded owner, constraint, or approval.
missing: TTL · owner · PII rule
One versioned decision plane across the tools you already use.
HoldUp connects company knowledge to the code it governs, resolves authority and conflicts, then checks each PR against a baseline it cannot rewrite.
See which systems and decisions a change puts at risk.
Every finding includes the source, conflicting code, and likely blast radius so the reviewer can verify it instead of trusting a black-box opinion.
Enough context to make a decision.
Show the effective decision and its authority.
Point to the exact source, owner, approval state, effective date, and superseded decisions instead of leaving reviewers with an unexplained model opinion.
Explain the mismatch in plain English.
Describe what the implementation does, what the source says, and where the two disagree.
Show the likely blast radius.
Connect the changed behavior to services, consumers, and contracts that may depend on the old decision.
Make the reviewer choose.
Fix the implementation, update the decision, or dismiss the finding with an explicit reason. The goal is clarity, not automatic blocking.
Give us one PR and the decisions it should have followed.
We will map the governing context and show where HoldUp would flag a violation, conflict, or undocumented decision.
Run HoldUp on a PR