Files
hermes-agent/gateway/platforms
Alexander Russell 289ece2e59 fix(gateway): adopted flood rows clear resume flags and legacy profiles reach the timer
Second review pass on the flood-retry change.

- sweep_recoverable returns a dead owner's not-yet-due flood row flagged
  `adopted` (with its `not_before`) instead of dropping it from the result,
  so _claim_pending_obligations clears its session's resume_pending flag like
  every other claimed row; the answer is in the ledger and the turn must not
  be re-run at boot. _redeliver_claimed_obligations skips adopted rows and
  still arms the timer for them.
- A legacy row without adapter_profile is normalised to 'default' when the
  boot sweep claims or adopts it: the runtime sweep matches profiles exactly
  and the timer asks for 'default', so an adopted NULL row could only wake the
  timer without ever being sent.
- A sleeping timer is replaced by a shorter refusal's timer; the shorter one
  re-arms for the longer row after its sweep. A timer already sweeping is
  never cancelled from outside.
- pending_flood_retries is read in a worker thread like the other ledger calls.
- Adoption tests seed a distinct dead-owner stamp and assert ownership moves.
- Scratch tags and long comment lines removed.
2026-09-07 04:46:20 -07:00
..