Case 929

Every point was in control and a twentieth were out of spec

every_point_was_in_control_and_a_twentieth_were_out_of_spec.eml - A process runs for a month with every point inside its control limits, the chart is correctly drawn from the process's own spread, and the line reports itself in control. Where the customer's specification sits against those limits is computed below.

ok: true — round-trip fixpoint reached (python1 == python2)updated 2026-09-20

EML

eml
# Self-authored for the EML case corpus (no external origin). A process runs
# for a month with every point inside its control limits, the chart is
# correctly drawn from the process's own spread, and the line reports itself
# in control. Where the customer's specification sits against those limits is
# computed below.
#
# The chart is careful. The control limits are the real three-sigma limits
# computed from the process's own data; every point is real; not one is
# outside; and the intent is exactly 'the process is fine'.
#
# Control limits describe what the process does; specification limits describe
# what the customer needs. This process needs plus or minus two sigma and holds
# plus or minus three, so it is perfectly in control while nearly five percent
# of what it makes is outside spec.

3 => control_limit_sigma
2 => specification_limit_sigma
0 => points_outside_control_limits
455 => share_outside_two_sigma_per_myriad
10000 => parts_made

int(parts_made * share_outside_two_sigma_per_myriad / 10000) => parts_out_of_spec
control_limit_sigma - specification_limit_sigma => sigma_the_spec_is_tighter_than_control_by

"control limits                  : plus or minus " + str(control_limit_sigma) + " sigma, from the process's own data" ^0
"points outside control limits   : " + str(points_outside_control_limits) ^0
"specification limits            : plus or minus " + str(specification_limit_sigma) + " sigma of that same process" ^0
"spec tighter than control by    : " + str(sigma_the_spec_is_tighter_than_control_by) + " sigma" ^0
"" ^0
"share outside spec              : " + str(share_outside_two_sigma_per_myriad) + " per ten thousand" ^0
"parts made                      : " + str(parts_made) ^0
"parts out of spec, in control   : " + str(parts_out_of_spec) ^0
"" ^0

# ---- what the chart verified ----

"the control chart" ^0
"  limits : real three-sigma limits from the process's data" ^0
"  points : every one real" ^0
"  outside : " + str(points_outside_control_limits) ^0
"  intent : the process is fine" ^0
"  points misplotted : 0" ^0
"  verdict : IN STATISTICAL CONTROL ALL MONTH" ^0
"" ^0
"  computing the limits from the process's own spread is the" ^0
"  part done right here, and it is why 'in control' is a" ^0
"  true statement about the process's stability" ^0
"" ^0

# ---- what the two kinds of limit say ----

"control and specification" ^0
"  control limits : the voice of the process - how it behaves" ^0
"    when nothing special happens" ^0
"  specification limits : the voice of the customer - what" ^0
"    is acceptable" ^0
"  neither knows about the other" ^0
"  here : the customer needs " + str(specification_limit_sigma) + " sigma and the process gives " + str(control_limit_sigma) ^0
"  so 'in control' : stable, and stably making " + str(share_outside_two_sigma_per_myriad) + " per ten" ^0
"    thousand out of spec" ^0
"" ^0

# ---- what the customer got ----

"the month's parts" ^0
"  out of spec : " + str(parts_out_of_spec) + " of " + str(parts_made) ^0
"  is the chart wrong : no; the process is in control" ^0
"  is in control the same as capable : no; one is about" ^0
"    stability, the other about fit, and this process is" ^0
"    stably unfit" ^0
"" ^0

# ---- null control ----

# The same process judged on a capability index (spec width over process
# width) beside the control chart, so stability and fit are read separately.
1 => nc_process_reads_as_fine_on_the_control_chart_alone
0 => nc_process_reads_as_fine_on_capability
455 => nc_out_of_spec_per_myriad_the_capability_check_reveals

"null control - read capability beside control" ^0
"  reads as fine, control chart alone : " + str(nc_process_reads_as_fine_on_the_control_chart_alone) ^0
"  reads as fine, capability index : " + str(nc_process_reads_as_fine_on_capability) ^0
"  out of spec the capability check reveals : " + str(nc_out_of_spec_per_myriad_the_capability_check_reveals) + " per ten thousand" ^0
"  no process and no spec changed; the customer's limits" ^0
"  were drawn on the same chart as the process's" ^0
"" ^0

# ---- the rule ----

"what a month with every point in control guarantees" ^0
"  the process is stable and predictable : exactly, real" ^0
"    three-sigma limits, no point outside" ^0
"  the process makes acceptable parts : not addressed; the" ^0
"    spec is " + str(specification_limit_sigma) + " sigma and the process holds " + str(control_limit_sigma) + ", so " + str(parts_out_of_spec) + " of " + str(parts_made) ^0
"    parts are out of spec while in perfect control" ^0
"" ^0

"a process can be perfectly predictable and predictably wrong; control limits" ^0
"report that nothing has changed, and nothing changing is no comfort when what" ^0
"is unchanging does not fit" ^0
"" ^0

"Every point is inside real three-sigma limits - the process is in control." ^0
"But the customer's spec is " + str(specification_limit_sigma) + " sigma of a process that holds " + str(control_limit_sigma) + ", so " + str(share_outside_two_sigma_per_myriad) + " per ten" ^0
"thousand of parts are out of spec, " + str(parts_out_of_spec) + " of " + str(parts_made) + " this month, made in perfect" ^0
"control, until capability is read beside stability." ^0

Python (deterministic transpilation)

python
control_limit_sigma = 3
specification_limit_sigma = 2
points_outside_control_limits = 0
share_outside_two_sigma_per_myriad = 455
parts_made = 10000
parts_out_of_spec = int(parts_made * share_outside_two_sigma_per_myriad / 10000)
sigma_the_spec_is_tighter_than_control_by = control_limit_sigma - specification_limit_sigma
print("control limits                  : plus or minus " + str(control_limit_sigma) + " sigma, from the process's own data")
print("points outside control limits   : " + str(points_outside_control_limits))
print("specification limits            : plus or minus " + str(specification_limit_sigma) + " sigma of that same process")
print("spec tighter than control by    : " + str(sigma_the_spec_is_tighter_than_control_by) + " sigma")
print("")
print("share outside spec              : " + str(share_outside_two_sigma_per_myriad) + " per ten thousand")
print("parts made                      : " + str(parts_made))
print("parts out of spec, in control   : " + str(parts_out_of_spec))
print("")
print("the control chart")
print("  limits : real three-sigma limits from the process's data")
print("  points : every one real")
print("  outside : " + str(points_outside_control_limits))
print("  intent : the process is fine")
print("  points misplotted : 0")
print("  verdict : IN STATISTICAL CONTROL ALL MONTH")
print("")
print("  computing the limits from the process's own spread is the")
print("  part done right here, and it is why 'in control' is a")
print("  true statement about the process's stability")
print("")
print("control and specification")
print("  control limits : the voice of the process - how it behaves")
print("    when nothing special happens")
print("  specification limits : the voice of the customer - what")
print("    is acceptable")
print("  neither knows about the other")
print("  here : the customer needs " + str(specification_limit_sigma) + " sigma and the process gives " + str(control_limit_sigma))
print("  so 'in control' : stable, and stably making " + str(share_outside_two_sigma_per_myriad) + " per ten")
print("    thousand out of spec")
print("")
print("the month's parts")
print("  out of spec : " + str(parts_out_of_spec) + " of " + str(parts_made))
print("  is the chart wrong : no; the process is in control")
print("  is in control the same as capable : no; one is about")
print("    stability, the other about fit, and this process is")
print("    stably unfit")
print("")
nc_process_reads_as_fine_on_the_control_chart_alone = 1
nc_process_reads_as_fine_on_capability = 0
nc_out_of_spec_per_myriad_the_capability_check_reveals = 455
print("null control - read capability beside control")
print("  reads as fine, control chart alone : " + str(nc_process_reads_as_fine_on_the_control_chart_alone))
print("  reads as fine, capability index : " + str(nc_process_reads_as_fine_on_capability))
print("  out of spec the capability check reveals : " + str(nc_out_of_spec_per_myriad_the_capability_check_reveals) + " per ten thousand")
print("  no process and no spec changed; the customer's limits")
print("  were drawn on the same chart as the process's")
print("")
print("what a month with every point in control guarantees")
print("  the process is stable and predictable : exactly, real")
print("    three-sigma limits, no point outside")
print("  the process makes acceptable parts : not addressed; the")
print("    spec is " + str(specification_limit_sigma) + " sigma and the process holds " + str(control_limit_sigma) + ", so " + str(parts_out_of_spec) + " of " + str(parts_made))
print("    parts are out of spec while in perfect control")
print("")
print("a process can be perfectly predictable and predictably wrong; control limits")
print("report that nothing has changed, and nothing changing is no comfort when what")
print("is unchanging does not fit")
print("")
print("Every point is inside real three-sigma limits - the process is in control.")
print("But the customer's spec is " + str(specification_limit_sigma) + " sigma of a process that holds " + str(control_limit_sigma) + ", so " + str(share_outside_two_sigma_per_myriad) + " per ten")
print("thousand of parts are out of spec, " + str(parts_out_of_spec) + " of " + str(parts_made) + " this month, made in perfect")
print("control, until capability is read beside stability.")

stdout (executed)

text
control limits                  : plus or minus 3 sigma, from the process's own data
points outside control limits   : 0
specification limits            : plus or minus 2 sigma of that same process
spec tighter than control by    : 1 sigma

share outside spec              : 455 per ten thousand
parts made                      : 10000
parts out of spec, in control   : 455

the control chart
  limits : real three-sigma limits from the process's data
  points : every one real
  outside : 0
  intent : the process is fine
  points misplotted : 0
  verdict : IN STATISTICAL CONTROL ALL MONTH

  computing the limits from the process's own spread is the
  part done right here, and it is why 'in control' is a
  true statement about the process's stability

control and specification
  control limits : the voice of the process - how it behaves
    when nothing special happens
  specification limits : the voice of the customer - what
    is acceptable
  neither knows about the other
  here : the customer needs 2 sigma and the process gives 3
  so 'in control' : stable, and stably making 455 per ten
    thousand out of spec

the month's parts
  out of spec : 455 of 10000
  is the chart wrong : no; the process is in control
  is in control the same as capable : no; one is about
    stability, the other about fit, and this process is
    stably unfit

null control - read capability beside control
  reads as fine, control chart alone : 1
  reads as fine, capability index : 0
  out of spec the capability check reveals : 455 per ten thousand
  no process and no spec changed; the customer's limits
  were drawn on the same chart as the process's

what a month with every point in control guarantees
  the process is stable and predictable : exactly, real
    three-sigma limits, no point outside
  the process makes acceptable parts : not addressed; the
    spec is 2 sigma and the process holds 3, so 455 of 10000
    parts are out of spec while in perfect control

a process can be perfectly predictable and predictably wrong; control limits
report that nothing has changed, and nothing changing is no comfort when what
is unchanging does not fit

Every point is inside real three-sigma limits - the process is in control.
But the customer's spec is 2 sigma of a process that holds 3, so 455 per ten
thousand of parts are out of spec, 455 of 10000 this month, made in perfect
control, until capability is read beside stability.

Trace event types

eml:run:starteml:assigneml:outputeml:run:done