CONCEPT · TENSION
“Two parts of my codebase disagree. Which one does it believe?”
Two things can both stand and still not fit together.
Preston keeps both claims and stores the conflict between them as its own record. It does not quietly pick a winner, and it does not merge them into a blur. Both keep their support; what moves is their standing, which now reads contested.
BUILT FROM
claimrelationsupportstandingscopestandingcorroboration
Every word above is defined on the vocabulary page, and every concept above is a page before this one.
THE SHAPE
openONE RETRY LIMIT, TWO CLAIMS
retry.ts
const MAX_ATTEMPTS = 3
webhook-sender.ts
if (attempt < 5) retry()
conflicts with
TensionThis is the same claim corroboration held on two supports, meeting a second place that does the same job and stops at five. Three and five cannot both govern the retry boundary. Both claims are true about the code as written; the conflict is the finding.
WHAT THIS CHANGES
Preston remembers this and raises it when it becomes relevant, rather than filing it as a defect you must clear. Mapping a tension does not oblige you to resolve it today.
The two clashing repositories case, and what accepting it does
WHAT PRESTON CAN SAY
These two services disagree about where request bodies get validated, and neither one is wrong on its own terms.
ONE SIDE
The payments service validates every request body against a schema at the edge. Held as a convention of that repository.
one claim, at the scope of one repository
THE OTHER SIDE
The importer trusts its callers and validates nothing. Also held as a convention, also correct about that repository.
one claim, at the scope of another
THE RELATION BETWEEN THEM
A third record, stored beside both, naming what they disagree about — validation — and that they have simply gone different ways. It cannot outlive either side: retire one convention and the disagreement goes with it.
stored, not inferred
ACCEPTING IT
You can say this one is deliberate, and leave a note saying why. That writes a separate record at the same handle. The tension does not close and does not disappear; it is shown as accepted, with your note attached.
acceptance is additive
WHAT IT COSTS TO BE WRONG HERE
If Preston merged the two into one claim, or picked the stricter one, the losing side would be unrecoverable — you could never ask what the importer actually does. Keeping both and naming the disagreement is what keeps that question answerable.
NEXT
Revision →RELATED
What it flags →