mirror of
https://github.com/jmcorgan/fips.git
synced 2026-07-30 19:46:15 +00:00
Widen the churn-mixed baseline bounds to sit outside the scenario's own spread
The root-count ceiling of 4 was set from six runs whose observed maximum was 3. Fourteen runs that recorded a baseline verdict put the real distribution at 1 to 5 roots, so the ceiling sat at roughly the 93rd percentile of the scenario's own variance: one sample in fourteen exceeded it and four sat at or above it. It therefore reddened a share of runs whatever the daemon did, which is a calibration fault rather than a convergence one. Every sample ran the file's fixed seed, so the spread is container timing and not a differing chaos schedule. The ceiling is now 6, one step beyond the observed maximum, and the parented floor moves to its complement at 4. That still fails a mesh where seven or more of ten nodes are islanded, which is the collapse case the assertion exists to catch; driving evaluate_baseline directly confirms all fourteen samples pass and 7, 8 and 10 roots still fail. min_sessions is left at 10 against an observed minimum of 12. It has never fired, but the comment now records the margin as thin so a future failure there is read as calibration first.
This commit is contained in:
@@ -75,12 +75,37 @@ bandwidth:
|
|||||||
#
|
#
|
||||||
# This one is calibrated rather than derived, because a scenario that
|
# This one is calibrated rather than derived, because a scenario that
|
||||||
# stops and starts nodes on purpose does not hold a single spanning
|
# stops and starts nodes on purpose does not hold a single spanning
|
||||||
# tree. The six provably-completed archived runs end with two or three
|
# tree.
|
||||||
# distinct roots, seven or eight of ten nodes parented, and fifteen to
|
#
|
||||||
# twenty sessions. The floors below sit one step outside those ranges
|
# Calibrated 2026-07-26 against fourteen runs that recorded a baseline
|
||||||
# so an unlucky run does not go red, which leaves them catching a mesh
|
# verdict, read from their assertions.txt files. Every one used this
|
||||||
# that collapsed rather than one that churned. Tighten them only
|
# file's fixed seed 42 and therefore an identical chaos schedule, so the
|
||||||
# against a larger sample than six runs.
|
# spread below is container timing rather than differing scenarios:
|
||||||
|
#
|
||||||
|
# distinct roots 1 2 3 4 5 -> 2 3 5 3 1 runs
|
||||||
|
# nodes parented 9 8 7 6 5 -> the exact complement, in all 14
|
||||||
|
# sessions 12 to 20, minimum 12
|
||||||
|
#
|
||||||
|
# The previous ceiling of 4 roots sat at roughly the 93rd percentile of
|
||||||
|
# that distribution: one run in fourteen exceeded it and four sat at or
|
||||||
|
# above it, so it reddened a share of runs whatever the daemon did. It
|
||||||
|
# was set from six runs whose observed maximum was 3, which is how a
|
||||||
|
# threshold one step outside a small sample ends up inside the real one.
|
||||||
|
#
|
||||||
|
# The ceiling is now 6, one step beyond the observed maximum of 5, and
|
||||||
|
# the parented floor is its complement at 4. That still fails a mesh
|
||||||
|
# that collapsed — seven or more of ten nodes islanded — which is the
|
||||||
|
# only thing this assertion was ever meant to catch. Do not read a pass
|
||||||
|
# as convergence: four of the six gating scenarios assert a floor of
|
||||||
|
# this kind, and it means the mesh formed and nobody errored.
|
||||||
|
#
|
||||||
|
# min_sessions stays at 10 against an observed minimum of 12. It has
|
||||||
|
# never fired and there is no evidence it is mis-set, but the margin is
|
||||||
|
# thin and a future failure there should be read as calibration before
|
||||||
|
# it is read as a defect.
|
||||||
|
#
|
||||||
|
# Tighten any of these only against a larger sample, and against one
|
||||||
|
# gathered at the invocation CI actually runs.
|
||||||
#
|
#
|
||||||
# READ THIS BEFORE RETUNING: the numbers above describe the invocation CI
|
# READ THIS BEFORE RETUNING: the numbers above describe the invocation CI
|
||||||
# gates on, which is not this file's own defaults. ci-local runs it as
|
# gates on, which is not this file's own defaults. ci-local runs it as
|
||||||
@@ -98,8 +123,8 @@ bandwidth:
|
|||||||
assertions:
|
assertions:
|
||||||
baseline:
|
baseline:
|
||||||
min_nodes_reporting: 10
|
min_nodes_reporting: 10
|
||||||
max_roots: 4
|
max_roots: 6
|
||||||
min_nodes_parented: 6
|
min_nodes_parented: 4
|
||||||
min_sessions: 10
|
min_sessions: 10
|
||||||
|
|
||||||
logging:
|
logging:
|
||||||
|
|||||||
Reference in New Issue
Block a user