Case 749
The approval was required above a diff size
the_approval_was_required_above_a_diff_size.eml - A change above two hundred lines needs a second approver from another team, enforced in the pipeline, and that review has found twelve real problems. Which changes it sees is computed below.
ok: true — round-trip fixpoint reached (python1 == python2)updated 2026-09-08
EML
eml# Self-authored for the EML case corpus (no external origin). A change above two
# hundred lines needs a second approver from another team, enforced in the
# pipeline, and that review has found twelve real problems. Which changes it
# sees is computed below.
#
# The gate is real change management. It is not a form somebody signs after the
# fact: the pipeline refuses to deploy without the second approval, the second
# approver must be outside the authoring team so it is not a colleague nodding,
# the requirement cannot be waived by the author, and the reviews have found
# twelve genuine problems in a hundred and forty escalated changes.
#
# The threshold is LINES CHANGED. A one-line change to a constant can change
# behaviour for every user, and a nine-hundred-line rename cannot.
#
# Fourteen of last year's seventeen change-caused incidents came from below it.
200 => line_threshold
8400 => changes_per_year
1100 => changes_above_the_threshold
140 => changes_escalated_for_review
12 => real_problems_the_review_found
0 => waivers_available_to_the_author
14 => incidents_from_changes_below_the_threshold
3 => incidents_from_changes_above_the_threshold
changes_per_year - changes_above_the_threshold => changes_below_the_threshold
incidents_from_changes_below_the_threshold + incidents_from_changes_above_the_threshold => change_caused_incidents
int(incidents_from_changes_below_the_threshold * 10000 / change_caused_incidents) => incidents_from_below_per_myriad
int(changes_above_the_threshold * 10000 / changes_per_year) => reviewed_share_per_myriad
"line threshold : " + str(line_threshold) ^0
"waivers available to the author : " + str(waivers_available_to_the_author) ^0
"changes escalated for review : " + str(changes_escalated_for_review) ^0
" real problems it found : " + str(real_problems_the_review_found) ^0
"" ^0
"changes per year : " + str(changes_per_year) ^0
" above the threshold : " + str(changes_above_the_threshold) ^0
" below it : " + str(changes_below_the_threshold) ^0
" share the gate sees : " + str(reviewed_share_per_myriad) + " per ten thousand" ^0
"" ^0
"change-caused incidents : " + str(change_caused_incidents) ^0
" from changes above the threshold : " + str(incidents_from_changes_above_the_threshold) ^0
" from changes below it : " + str(incidents_from_changes_below_the_threshold) ^0
" share from below : " + str(incidents_from_below_per_myriad) + " per ten thousand" ^0
"" ^0
# ---- what the gate verified ----
"the approval gate" ^0
" signed after the fact : no; the pipeline refuses to" ^0
" deploy without it" ^0
" who the second approver must be : outside the authoring" ^0
" team" ^0
" waivable by the author : " + str(waivers_available_to_the_author) ^0
" changes escalated : " + str(changes_escalated_for_review) ^0
" real problems found : " + str(real_problems_the_review_found) ^0
" verdict : ENFORCED, AND IT FINDS THINGS" ^0
"" ^0
" requiring an approver from another team is what stops" ^0
" this being a colleague nodding, and it is why the twelve" ^0
" are real" ^0
"" ^0
# ---- what the threshold selects on ----
"the selection rule" ^0
" what it measures : lines changed" ^0
" what it is used as : a proxy for how much behaviour" ^0
" could change" ^0
" a one-line change to a constant : below the line, and" ^0
" can change behaviour for everyone" ^0
" a nine-hundred-line rename : above the line, and cannot" ^0
" is the proxy wrong in one direction : it is wrong in" ^0
" both" ^0
"" ^0
" the gate is complete over the changes it selects and the" ^0
" selection is on a quantity that is easy to count" ^0
"" ^0
# ---- the fourteen ----
# Every one of them passed review, because none of them needed one. Each was a
# small edit by someone competent, and small is the property the gate reads.
"the incidents from below the line" ^0
" count : " + str(incidents_from_changes_below_the_threshold) + " of " + str(change_caused_incidents) ^0
" did any of them skip a required approval : none" ^0
" did any author act carelessly : the reviews after the" ^0
" fact say no" ^0
" what they had in common : fewer than " + str(line_threshold) + " lines" ^0
" what the gate would have to read to see them : what the" ^0
" lines do" ^0
"" ^0
# ---- why a lower threshold is not the fix ----
"lowering the line" ^0
" to catch a one-line constant change : the threshold" ^0
" must be one line" ^0
" changes that would then escalate : " + str(changes_per_year) ^0
" approvers available : the same people" ^0
" what happens to review quality at that volume : it" ^0
" becomes the rubber stamp the rule was written against" ^0
" so the threshold is not too high : it is the wrong axis" ^0
"" ^0
# ---- null control ----
# The same gate, selecting on what the change touches rather than how big it
# is: a change to a file on the risk register escalates at any size.
17 => nc_incidents_the_gate_could_have_seen
1 => nc_axes_the_gate_selects_on
"null control - selection by blast radius, not by size" ^0
" second approver from another team : unchanged" ^0
" axes the gate selects on : " + str(nc_axes_the_gate_selects_on) + ", and it is not line count" ^0
" change-caused incidents the gate could see : " ^0
" " + str(nc_incidents_the_gate_could_have_seen) + " of " + str(change_caused_incidents) ^0
" the review did not get better; the rule that decides" ^0
" which changes reach it stopped counting characters" ^0
"" ^0
# ---- the rule ----
"what a size-triggered approval guarantees" ^0
" every large change was reviewed by an outsider :" ^0
" exactly, unwaivable, and it found " + str(real_problems_the_review_found) + " real problems" ^0
" every risky change was reviewed : not addressed; the" ^0
" trigger is a count of lines and risk is a property of" ^0
" what they say" ^0
"" ^0
"a gate is only as good as the predicate that routes to it," ^0
"and a predicate chosen for being cheap to evaluate selects" ^0
"on a proxy; the proxy's errors are not random but sit" ^0
"exactly where a small edit does something large" ^0
"" ^0
"The gate is real: the pipeline refuses to deploy without a second approver from" ^0
"another team, " + str(waivers_available_to_the_author) + " waivers exist, and " + str(changes_escalated_for_review) + " escalations found " + str(real_problems_the_review_found) + " genuine" ^0
"problems. It triggers on " + str(line_threshold) + " lines changed, so it sees " + str(reviewed_share_per_myriad) + " per ten thousand" ^0
"of " + str(changes_per_year) + " changes a year, and " + str(incidents_from_changes_below_the_threshold) + " of " + str(change_caused_incidents) + " change-caused incidents -" ^0
str(incidents_from_below_per_myriad) + " per ten thousand - came from changes too small to reach it." ^0Python (deterministic transpilation)
pythonline_threshold = 200
changes_per_year = 8400
changes_above_the_threshold = 1100
changes_escalated_for_review = 140
real_problems_the_review_found = 12
waivers_available_to_the_author = 0
incidents_from_changes_below_the_threshold = 14
incidents_from_changes_above_the_threshold = 3
changes_below_the_threshold = changes_per_year - changes_above_the_threshold
change_caused_incidents = incidents_from_changes_below_the_threshold + incidents_from_changes_above_the_threshold
incidents_from_below_per_myriad = int(incidents_from_changes_below_the_threshold * 10000 / change_caused_incidents)
reviewed_share_per_myriad = int(changes_above_the_threshold * 10000 / changes_per_year)
print("line threshold : " + str(line_threshold))
print("waivers available to the author : " + str(waivers_available_to_the_author))
print("changes escalated for review : " + str(changes_escalated_for_review))
print(" real problems it found : " + str(real_problems_the_review_found))
print("")
print("changes per year : " + str(changes_per_year))
print(" above the threshold : " + str(changes_above_the_threshold))
print(" below it : " + str(changes_below_the_threshold))
print(" share the gate sees : " + str(reviewed_share_per_myriad) + " per ten thousand")
print("")
print("change-caused incidents : " + str(change_caused_incidents))
print(" from changes above the threshold : " + str(incidents_from_changes_above_the_threshold))
print(" from changes below it : " + str(incidents_from_changes_below_the_threshold))
print(" share from below : " + str(incidents_from_below_per_myriad) + " per ten thousand")
print("")
print("the approval gate")
print(" signed after the fact : no; the pipeline refuses to")
print(" deploy without it")
print(" who the second approver must be : outside the authoring")
print(" team")
print(" waivable by the author : " + str(waivers_available_to_the_author))
print(" changes escalated : " + str(changes_escalated_for_review))
print(" real problems found : " + str(real_problems_the_review_found))
print(" verdict : ENFORCED, AND IT FINDS THINGS")
print("")
print(" requiring an approver from another team is what stops")
print(" this being a colleague nodding, and it is why the twelve")
print(" are real")
print("")
print("the selection rule")
print(" what it measures : lines changed")
print(" what it is used as : a proxy for how much behaviour")
print(" could change")
print(" a one-line change to a constant : below the line, and")
print(" can change behaviour for everyone")
print(" a nine-hundred-line rename : above the line, and cannot")
print(" is the proxy wrong in one direction : it is wrong in")
print(" both")
print("")
print(" the gate is complete over the changes it selects and the")
print(" selection is on a quantity that is easy to count")
print("")
print("the incidents from below the line")
print(" count : " + str(incidents_from_changes_below_the_threshold) + " of " + str(change_caused_incidents))
print(" did any of them skip a required approval : none")
print(" did any author act carelessly : the reviews after the")
print(" fact say no")
print(" what they had in common : fewer than " + str(line_threshold) + " lines")
print(" what the gate would have to read to see them : what the")
print(" lines do")
print("")
print("lowering the line")
print(" to catch a one-line constant change : the threshold")
print(" must be one line")
print(" changes that would then escalate : " + str(changes_per_year))
print(" approvers available : the same people")
print(" what happens to review quality at that volume : it")
print(" becomes the rubber stamp the rule was written against")
print(" so the threshold is not too high : it is the wrong axis")
print("")
nc_incidents_the_gate_could_have_seen = 17
nc_axes_the_gate_selects_on = 1
print("null control - selection by blast radius, not by size")
print(" second approver from another team : unchanged")
print(" axes the gate selects on : " + str(nc_axes_the_gate_selects_on) + ", and it is not line count")
print(" change-caused incidents the gate could see : ")
print(" " + str(nc_incidents_the_gate_could_have_seen) + " of " + str(change_caused_incidents))
print(" the review did not get better; the rule that decides")
print(" which changes reach it stopped counting characters")
print("")
print("what a size-triggered approval guarantees")
print(" every large change was reviewed by an outsider :")
print(" exactly, unwaivable, and it found " + str(real_problems_the_review_found) + " real problems")
print(" every risky change was reviewed : not addressed; the")
print(" trigger is a count of lines and risk is a property of")
print(" what they say")
print("")
print("a gate is only as good as the predicate that routes to it,")
print("and a predicate chosen for being cheap to evaluate selects")
print("on a proxy; the proxy's errors are not random but sit")
print("exactly where a small edit does something large")
print("")
print("The gate is real: the pipeline refuses to deploy without a second approver from")
print("another team, " + str(waivers_available_to_the_author) + " waivers exist, and " + str(changes_escalated_for_review) + " escalations found " + str(real_problems_the_review_found) + " genuine")
print("problems. It triggers on " + str(line_threshold) + " lines changed, so it sees " + str(reviewed_share_per_myriad) + " per ten thousand")
print("of " + str(changes_per_year) + " changes a year, and " + str(incidents_from_changes_below_the_threshold) + " of " + str(change_caused_incidents) + " change-caused incidents -")
print(str(incidents_from_below_per_myriad) + " per ten thousand - came from changes too small to reach it.")stdout (executed)
textline threshold : 200
waivers available to the author : 0
changes escalated for review : 140
real problems it found : 12
changes per year : 8400
above the threshold : 1100
below it : 7300
share the gate sees : 1309 per ten thousand
change-caused incidents : 17
from changes above the threshold : 3
from changes below it : 14
share from below : 8235 per ten thousand
the approval gate
signed after the fact : no; the pipeline refuses to
deploy without it
who the second approver must be : outside the authoring
team
waivable by the author : 0
changes escalated : 140
real problems found : 12
verdict : ENFORCED, AND IT FINDS THINGS
requiring an approver from another team is what stops
this being a colleague nodding, and it is why the twelve
are real
the selection rule
what it measures : lines changed
what it is used as : a proxy for how much behaviour
could change
a one-line change to a constant : below the line, and
can change behaviour for everyone
a nine-hundred-line rename : above the line, and cannot
is the proxy wrong in one direction : it is wrong in
both
the gate is complete over the changes it selects and the
selection is on a quantity that is easy to count
the incidents from below the line
count : 14 of 17
did any of them skip a required approval : none
did any author act carelessly : the reviews after the
fact say no
what they had in common : fewer than 200 lines
what the gate would have to read to see them : what the
lines do
lowering the line
to catch a one-line constant change : the threshold
must be one line
changes that would then escalate : 8400
approvers available : the same people
what happens to review quality at that volume : it
becomes the rubber stamp the rule was written against
so the threshold is not too high : it is the wrong axis
null control - selection by blast radius, not by size
second approver from another team : unchanged
axes the gate selects on : 1, and it is not line count
change-caused incidents the gate could see :
17 of 17
the review did not get better; the rule that decides
which changes reach it stopped counting characters
what a size-triggered approval guarantees
every large change was reviewed by an outsider :
exactly, unwaivable, and it found 12 real problems
every risky change was reviewed : not addressed; the
trigger is a count of lines and risk is a property of
what they say
a gate is only as good as the predicate that routes to it,
and a predicate chosen for being cheap to evaluate selects
on a proxy; the proxy's errors are not random but sit
exactly where a small edit does something large
The gate is real: the pipeline refuses to deploy without a second approver from
another team, 0 waivers exist, and 140 escalations found 12 genuine
problems. It triggers on 200 lines changed, so it sees 1309 per ten thousand
of 8400 changes a year, and 14 of 17 change-caused incidents -
8235 per ten thousand - came from changes too small to reach it.Trace event types
eml:run:starteml:assigneml:outputeml:run:done