mirror of
https://relay.ngit.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp.git
synced 2026-10-05 15:08:24 +00:00
The fifth whole-file subscription-budget validation run reported one excess REQ at a recorded peak of five. Its aggregate-only proxy evidence could not identify the rejected request, and static inspection found no subscription-opening path outside the ledger. Make the proxy follow NIP-01 subscription semantics: a repeated REQ with the same id replaces rather than adds occupancy, EOSE retains the relay-side subscription, and only client CLOSE or backend CLOSED frees the slot. Rejections now log the rejected frame and active ids so any future distinct sixth request is attributable. This is a test-model correction only; production scheduling and ledger behavior are unchanged. It deliberately does not classify the uninstrumented run-five rejection as a proven implementation escape. Validated with four focused proxy tests and the standalone startup historic REQ concurrency scenario under the stricter CLOSE/CLOSED accounting model.