Skip to content

fix: main's red Code map (97 stale pins from #1113) and Coverage (real-connection payment race) - #1115

Merged
cryptskii merged 2 commits into
mainfrom
fix/main-coverage-and-stale-pins
Oct 5, 2026
Merged

cryptskii merged 2 commits into
mainfrom
fix/main-coverage-and-stale-pins

Conversation

@cryptskii

@cryptskii cryptskii commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

main has two red checks since #1112 and #1113. This PR fixes both.

Code map: 97 stale pins (since #1113, 8017c77e3)

#1113 changed code under 97 pins whose evidence had been sealed before it. All 97 are code-class changes (production or evidence-test closures); none is semantic.

  • Re-pinned with ci/intent_pins.py repin, one key at a time, at 8017c77e3.
  • The map used is CI's code map for 2c8fe4b59, whose tree is main's exactly (3f1358ee23e8).
  • The 71 evidence tests those pins name passed on that tree first: 6 cargo runs, 0 failed.
  • make requirement-map-intent MAP=… INTENT_BUILT=android,node: 0 failing rows, 0 failing pins, 635 pinned.

Coverage: real_connection.rs:845 (since #1112, 7e084d713)

a_game_and_a_wallet_connect_over_the_real_relay asserted that the payment's outcome was CarriedOut and got Unspecified.

The cause is in the test, not the product:

  • The game's account establishes the Paid fact from the transfer it accepted; connect.app.status takes in the inbox first.
  • The wallet's answer reaches the game separately, over the relay.
  • outcome is Unspecified exactly while no answer has arrived (answered: answer.is_some() in connect_routes).

The test waited for the fact only. It now waits for the answer as well before reading the outcome. Only the Coverage job, an instrumented debug build that runs on pushes to main and not on PRs, was slow enough to hit it.

Verified locally: the test passes (117 s), the real-code guard is clean, and rustfmt is clean. This file is in no pin's evidence or closure, so the re-pin above still holds.

main's Code map has been red since #1113 merged (8017c77): 97 PIN_STALE
rows, every one a code-class change (production or evidence-test closures).
Re-pinned at 8017c77 with ci/intent_pins.py repin, one key at a time,
over CI's code map for 2c8fe4b, whose tree is main's exactly (3f1358e),
after the 71 evidence tests they name passed on that tree (6 cargo runs,
0 failed). make requirement-map-intent: 0 failing rows, 0 failing pins,
635 pinned.
…e it is answered

Coverage on main has been red since #1112 (7e084d7): at
real_connection.rs:845 the payment's outcome was Unspecified where the test
asserted CarriedOut. The game's account establishes the Paid fact from the
transfer it accepted (connect.app.status takes in the inbox first), and the
wallet's answer reaches it separately over the relay; either can arrive
first, and outcome is Unspecified exactly while no answer has. The test
waited only for the fact. It now waits for the answer as well before reading
the outcome. Only the Coverage job (instrumented debug build) was slow enough
to hit it.
@cryptskii
cryptskii merged commit 4e2cc6f into main Oct 5, 2026
27 checks passed
cryptskii added a commit that referenced this pull request Oct 5, 2026
… wait) into feat/escrow-vaults

Clean: main brings INTENT_PINS.tsv (the 97 rows #1113 moved, re-pinned on
main's tree) and a test-only wait in crates/dsm-app-host/tests/
real_connection.rs. This branch's own re-pin follows from this head's CI
map.
cryptskii added a commit that referenced this pull request Oct 10, 2026
… wait) into feat/escrow-vaults

Clean: main brings INTENT_PINS.tsv (the 97 rows #1113 moved, re-pinned on
main's tree) and a test-only wait in crates/dsm-app-host/tests/
real_connection.rs. This branch's own re-pin follows from this head's CI
map.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant