Files
felhom.eu/documentation/audits/evidence-ep0-established-connections-2026-08-20/part4-repo-gates-after.txt
T
admin 19672e685e
gates / gates (push) Successful in 14s
SPIKE ep0 connections: the leak is felhom-agent's, not the poll rate
R-341's first dated check, taken at +46.2 h: fd 17 -> 405 over 166,251 s
= 201.6/day. Pre-registered range was 370-450; observed 388. UNCHANGED,
as predicted. CLOSE-WAIT is 0 -- absent entirely, not merely flat.

Q1: exactly two peers, 194 each, no third party.
Q2: outcome (a). ep0 388 = 194 + 194 on the boxes, twice, and the four
    new sockets carry the same source ports on both sides. 0 closed in 31 min.

The finding: all 388 are held by felhom-agent. pvestatd and
proxmox-backup-client made 162,404 requests and leaked zero. Mechanism is
a per-cycle http.Transport with a zero-value IdleConnTimeout that nothing
ever closes (internal/pbs/client.go:56, main.go:1486). R-336's premise
does not survive this -- cutting the poll rate would have fixed nothing.

Q3 NOT measured: Phase C held at STOP 1, prediction pre-registered first.

Part 0 captures the due-checks gate's first conviction on a real overdue
date (rc=1, names R-341, sole failure among 10 gates). Row cleared at
Part 4, after the result was recorded in R-341, not to make a push work.

New: R-344 (the transport leak), R-345 (hub/Makefile pushes :latest),
R-346 (ActiveEnterTimestamp reads 5h56m early -- NRestarts is still 0).
2026-08-20 10:41:37 +02:00

34 lines
1.8 KiB
Plaintext

=== repo_gates.py — pre-push, AFTER Part 4 ===
captured: 2026-08-20T08:41:20+00:00 UTC
==============================================================================
hub-copy gate OK — 95 hub file(s) scanned for 2 retired name(s); 4 customer surface(s) scanned for 4 retrieval stem(s), 0 registered claim(s), none unregistered
drift: controller gate's STEMS match the shared list (4 stem(s))
(BLIND SPOT: this checks the WORDS in the four declared customer surfaces. It cannot
tell whether a true-looking sentence is wired to a predicate that is actually true —
that is what render tests are for. And it does not read the operator's screens.)
==============================================================================
== gate: due-checks (due_checks_gate.py)
==============================================================================
due-checks gate OK — 1 dated check(s) pending, none due yet.
today (UTC): 2026-08-20
nearest: R-341 due 2026-08-25 (in 5 day(s)) — same, +7 d. Anchor the elapsed time on `ps -o lstart= -p $MainPID`, NO
(fires on the next PUSH after a date passes, not on the date itself — by design)
==============================================================================
== summary
==============================================================================
site OK (exit 0)
hostinstall OK (exit 0)
hub-confirm OK (exit 0)
manifest-bearer OK (exit 0)
reuse-refs OK (exit 0)
instructions OK (exit 0)
golden-currency OK (exit 0)
wire-contract OK (exit 0)
hub-copy OK (exit 0)
due-checks OK (exit 0)
all felhom.eu gates OK
rc=0