Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/missionmatch / docs/evidence/phase2/stress/gate-b-results-2.txt |
| Date | Not specified in source |
| Repository | Janady13/missionmatch |
| Revision | 720d47fae476b0d38477ae4401697d372b1ea2bc |
| Branch | feature/opportunity-to-outcome |
| Path or archive member | docs/evidence/phase2/stress/gate-b-results-2.txt |
| Original SHA-256 | 0bc3be8c5e78964562cf1e32f2960b931ae33c2117848f69abb7ef4accd5d479 |
| Git blob SHA | 65139286a994d7d6a04ed2ff1159e6ffb0736287 |
| Reading-copy SHA-256 | 0bc3be8c5e78964562cf1e32f2960b931ae33c2117848f69abb7ef4accd5d479 |
Recovered source transcript
Download complete source text ↓110 lines · 7.8 KB
GATE B, STRESS. Phase 2, 29 July 2026. RE RUN and EXTENDED until every item the protocol names for this phase
has actually been executed.
WHY THERE IS A SECOND FILE. gate-b-results.txt recorded three profiles: the 8 and 32 way promotion race, load,
and soak. The protocol's Phase 2 stress list names FIVE items, and the general Gate B text names three more
beyond that. The missing ones were not recorded as gaps anywhere, and a gate reporting PASS while a third of its
list was never attempted is the same class of problem as an instrument that passes by measuring nothing.
Instrument: tools/verify/stress, now carrying seven profiles. Database profiles target missionmatch_staging on
M4:5432, and the tool still REFUSES to run against a database named missionmatch.
================================================================================
EVERY PROFILE'S POSITIVE CONTROL RAN FIRST AND FAILED AS REQUIRED
================================================================================
RACE, n=8 control elected 8 of 8 winners, DETECTED. counted: winners=1
RACE, n=32 control elected 32 of 32 winners, DETECTED. counted: winners=1
LOAD, database control target p95 of 1ns, DETECTED at 9.609ms
counted samples=33156 rps=1105 p95=9.595ms p99=11.466ms errors=0
SOAK, 30 MINUTES, THE FIRST ONE THIS TOOL HAS EVER BEEN ABLE TO REPORT
counted samples=2,028,801 rps=1127 p95=8.931ms p99=10.503ms errors=0
target p95 under 300ms: MET by a factor of 33
TWO MILLION SAMPLES IS THE PROOF OF FINDING D16. The reporting step used an insertion sort,
O(n squared), so a run of this size could never complete. The only soak ever executed before
today was SIXTY SECONDS at 60,000 samples. The protocol has always asked for thirty minutes,
so its soak requirement had never once been measurable. Every number was collected correctly
and none of it was printable. Fixed with sort.Slice; this is the first counted 30 minute run.
VOLUME, new a 200 page PWS, 198,676 bytes
control an unmeetable 1ns time cap, DETECTED
counted 400 chunks, 200 tables, 1600 rate rows in 19ms, 2 MB allocated
caps 20s and 512 MB: both met by a wide margin
CONCURRENT EXTRACT, new 25 documents of 60 pages, 59,433 bytes each
control planted retention left 2,060 KB reachable, past the 512 KB cap, DETECTED
counted retained heap growth 138 KB against a 512 KB cap
MEMORY BOUNDED means nothing is still held after the work finishes, so the measurement is
live heap growth above a baseline after a forced collection.
SCRUB FLOOD, new 1000 checks over 500 rounds, four private payload shapes and one public
control a genuinely allowable payload planted into the private set was counted 100 times,
proving the misroute counter and its assertion both fire, DETECTED
counted 0 private misroutes, 0 public false refusals
BOTH NUMBERS MATTER: zero misroutes is also the score of a gate that refuses everything.
AUTHENTICATED HTTP LOAD, new, and this closes an item open across TWO phase closes
Real logins through the real login flow, real cookies, real CSRF tokens with the Origin
header the middleware requires, through nginx and TLS, as seeded recruiter and manager.
control A an unmeetable 1ns p95, DETECTED at 53.067ms
control B run flat out rather than paced: 17,314 of 429, ZERO of 500, and the SERVED SHARE
assertion fired, "only 6 percent of requests were SERVED, so this run does not count"
counted samples=25,924 over 10 minutes at the protocol's 50 rps
p95=37.352ms p99=67.644ms
2xx=25,924 429=0 other4xx=0 5xx=0 transport=0
ONE HUNDRED PERCENT SERVED. Targets p95 under 300ms, p99 under 800ms, zero 5xx: MET.
THESE ARE NOT COMPARABLE TO THE DATABASE PROFILE'S NUMBERS and must never be quoted
interchangeably. One measures psql, the other measures a user.
================================================================================
THE FAILURE DRILL, ALL THREE PARTS, NOW COMPLETE
================================================================================
1. NGINX FAILOVER WITH ZERO CLIENT VISIBLE 5xx. Measured for real rather than rehearsed: incident D6 took one
of two production nodes down for 1 minute 59 seconds under live traffic, nginx failed over on one upstream
refusal, and ZERO 5xx were served across 112 requests. Stronger evidence than a drill.
2. SATURATE THE RATE LIMITED ROUTES AND OBSERVE 429, NEVER 500. Observed in http-load control B above:
17,314 responses of 429 and ZERO of 500 under deliberate saturation.
3. KILL THE PHASE'S WORKER BINARY MID BATCH AND RERUN, COMPLETES WITHOUT DUPLICATES. Run 29 July:
five documents reset to pending, expected counts recorded first
the worker was SIGKILLed 1.2 seconds in, having decided 3 of the 5
the rerun completed the remaining 2
AFTER: all five 'done', ZERO still pending
DUPLICATE ASSERTION: zero chunks sharing a document, a content hash AND a section label, which is the
actual duplication signature. The one same hash pair that exists is in 05_PWS_amended and is
LEGITIMATE: the literal text "Warranty Program. N/A" appears twice in the source document, and an
identical span producing an identical fingerprint is the citation hash working, not a duplicate write.
WHY THIS MATTERS FOR THIS PHASE: extraction writes CHUNKS and a chunk is a citation. A duplicate citation
is worse than a missing one, because it reads as corroboration.
================================================================================
FOUR OF MY OWN INSTRUMENTS WERE BROKEN, AND THAT IS THE MOST USEFUL PART OF THIS FILE
================================================================================
CONCURRENT EXTRACT measured cumulative allocation, which is identical whether results are retained or
discarded, and its control branch returned an error UNCONDITIONALLY so it reported success while detecting
nothing. Then its cap was 4096 KB, a number chosen from nothing, which the real leak came in under. Both fixed:
live heap after a forced collection, a cap derived from a measured run and a measured leak.
SCRUB FLOOD laundered payload CONTENT while keeping provenance, then blamed the gate for correctly allowing a
payload whose only private element had been stripped. Privacy here has two sources, provenance and markers, and
a control that conflates them measures neither.
AUTHENTICATED HTTP LOAD first ran flat out, saturated the limiter, and computed its percentiles almost entirely
from 429 responses while reporting PASS. It also mislabelled every one of those 429s as the entitlement gate in
its own output, when all eight routes answer 200 for those roles unthrottled. Fixed by pacing to the protocol's
stated 50 rps and by asserting a minimum served share.
THE SOAK could never report at protocol scale, finding D16, described above.
================================================================================
NOTHING IS OUTSTANDING IN GATE B
================================================================================
Every Phase 2 stress item and every general Gate B item has now been executed with a control that failed first.
The one caveat carried forward is a statement about comparability rather than a gap: the database load and soak
numbers and the authenticated HTTP numbers measure different things and are recorded separately for that reason.