Skip to content

cloud-lab: combined pytest run red on main — cumulative in-memory sessions break fee/allotment assertions; clientd offer-string drift #792

Open

Description

@Amperstrand

The standard combined suite invocation on main (cb4db7f, verified 2026-10-09 on the ai-legion lab host; identical shape on PR #771 head b3ce6d5) fails 6 tests:

  • test_fee_is_sum_then_ceil[255/1023/2047], test_above_swap_fee_succeeds_with_fee_deducted, test_fee_mint_payments_do_not_break_the_free_mint_path: the session event's allotment is cumulative per client MAC (in-memory sessions — the cloud-lab README already notes "sessions are in-memory per client MAC"), so per-payment assertions break once earlier payments or the clientd renewal daemon (test_clientd_autotopup.py runs earlier alphabetically in the same invocation) have accumulated time on the static client MAC 02:00:00:00:00:20. Attribution verified empirically: [255] passes on a freshly restarted upstream, and a main-built upstream fails identically to the PR head — pre-existing on main, not a fix(merchant): boot resume replays journaled swap intents — close the #719 crash window (#497) #771 regression.
  • test_list_offers_parses_real_advertisement: expects 1 sats/step, scripts/tollgate-clientd.py prints 1 sat/step.

Impact: the combined client pytest -sv invocation cannot serve as a green gate — the next lane that runs it as-is will re-triage the same six failures.

Suggested directions: per-file randomized client MACs (precedent: _mac() in test_external_mints.py), a session-reset fixture between files, or documenting a canonical segmented invocation; align the clientd string expectation.

Evidence (lane host, session rc1-771): /root/src/rel-771-logs/std-suite-pytest.log, attribution runs described in /root/src/rel-771-transcript.md §4.5, summary in /root/src/rel-771-handoff.md Appendix B.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions