What does this intake check print for a reversible decision that still crosses teams and …

from Architecture decision records
Node 24 beginner 2 min

What does this intake check print for a reversible decision that still crosses teams and has two viable options?

JavaScript
const decision = {
  expensiveToReverse: false,
  crossesTeams: true,
  viableOptions: 2,
};

const needsAdr =
  decision.expensiveToReverse ||
  decision.crossesTeams ||
  decision.viableOptions > 1;

console.log(needsAdr ? 'write ADR' : 'keep in ticket');
Open in playground
Report an error