summaryrefslogtreecommitdiffstats
path: root/conftest.py
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-09 01:15:42 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-09 01:15:42 +0200
commita0b070e5fd382bb4a4262637836cb8d4b268fbf7 (patch)
treef19c79bdf3dfd8c88ce03453d05814d136474d96 /conftest.py
parent9563dff61b61681fed27673afd7c7b6ed30eb176 (diff)
downloadmeshbay-a0b070e5fd382bb4a4262637836cb8d4b268fbf7.tar.gz
test(node): match transfer replies by id, not by arrival order
Three defects in the probe, found while extending it to cover the per-member hot-swap. The third is the one worth keeping. `transfer_state` is the reply to an open, the acknowledgement of a close, and the push that carries a grant minutes later. Reading "the next one" therefore returns somebody else's answer as soon as more than one transfer is in play — the probe took two stale `closed` acks as the replies to two opens and reported a working cap as broken. That is exactly the defect `req_id` exists for in this protocol, committed inside the tool written to check it. Replies are matched on `tr` now. The other two: the `transfers show` parser counted the pool summary line as a lease once that command grew a per-group section (a probe that reads a human-facing format signs up for this), and the per-member check began with a member who already held several leases, which measures nothing. It waits for the operator's own view to go quiet first — waited for, not slept through. Both probes written today reproduced a bug already recorded in CLAUDE.md: this one, and yesterday's timer with no strong reference. A tool that verifies the code is not exempt from the code's rules. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HCGdheDLxGReuKHga3BtST
Diffstat (limited to 'conftest.py')
0 files changed, 0 insertions, 0 deletions