diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-09 01:15:42 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-09 01:15:42 +0200 |
| commit | a0b070e5fd382bb4a4262637836cb8d4b268fbf7 (patch) | |
| tree | f19c79bdf3dfd8c88ce03453d05814d136474d96 /docs/captcha.md | |
| parent | 9563dff61b61681fed27673afd7c7b6ed30eb176 (diff) | |
| download | meshbay-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 'docs/captcha.md')
0 files changed, 0 insertions, 0 deletions