joule-moq-relay: the cascade tests wait for a refusal, not only for what got through #610

Merged
dcharlot merged 2 commits from test/relay-door-race into main 2026-11-03 22:15:42 -05:00

2026-11-03

Transaction Science
joule-moq-relay: the cascade tests count what the edge gave, not only what was read
All checks were successful
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (pull_request) Successful in 1m38s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 4m18s
joule-code conformance gate / joule-moq-relay, every target (pull_request) Successful in 4m57s
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Successful in 8m10s
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Successful in 5s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (pull_request) Successful in 7s
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Successful in 9s
wai-fleet service / does this change touch it (pull_request) Successful in 8s
wai-app and Create / wai-app · does this change touch it (pull_request) Successful in 11s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 13s
WAI examples / WAI examples · does this change touch them (pull_request) Successful in 13s
WAI Studio / does this change touch it (pull_request) Successful in 13s
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Successful in 1m18s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (pull_request) Successful in 2m34s
wai-fleet service / service · macos (pull_request) Successful in 2m10s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (pull_request) Successful in 6m4s
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (pull_request) Successful in 10m18s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (pull_request) Successful in 59s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Successful in 1m13s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 25m29s
wai-fleet service / service · linux (pull_request) Successful in 2m35s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Successful in 18m23s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 11m19s
WAI examples / WAI examples · portable · linux (pull_request) Successful in 18m58s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 41m31s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (pull_request) Successful in 1m52s
joule-moq-room room service / joule-moq-room, every target (pull_request) Successful in 4m38s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 8m28s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 31m36s
Waiting for the refusal let a relay that counted it late and then forwarded the
refused object pass: the door test reads its subscriber only until it holds the
other groups, the vote test for a second past seq 0. Both now also count what
the edge gave its viewer, from its session summaries once the sessions end:
every group but the tampered one, and seq 0 alone.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 19:10:52 -05:00
Transaction Science
joule-moq-relay: the cascade tests wait for a refusal, not only for what got through
Some checks failed
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Failing after 3s
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Failing after 3s
joule-code conformance gate / joule-moq-relay, every target (pull_request) Successful in 3m50s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (pull_request) Successful in 31s
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Has been cancelled
joule-moq-remote host agent / joule-moq-remote · does this change touch it (pull_request) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (pull_request) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (macos) (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Has been cancelled
standards workspaces build + test / which workspaces this change touches (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backends (pull_request) Has been cancelled
wai-app and Create / wai-app · does this change touch it (pull_request) Has been cancelled
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (pull_request) Has been cancelled
wai-app and Create / wai-app · Create, browser end-to-end (macos) (pull_request) Has been cancelled
WAI examples / WAI examples · does this change touch them (pull_request) Has been cancelled
WAI examples / WAI examples · portable · linux (pull_request) Has been cancelled
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (pull_request) Has been cancelled
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Has been cancelled
wai-fleet service / does this change touch it (pull_request) Has been cancelled
wai-fleet service / service · linux (pull_request) Has been cancelled
wai-fleet service / service · macos (pull_request) Has been cancelled
WAI Studio / does this change touch it (pull_request) Has been cancelled
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Has been cancelled
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Has been cancelled
WAI Studio / Studio in WebKit · linux (pull_request) Has been cancelled
The door test read the edge's refused_at_door as soon as its subscriber held
every other group. Each group's door verdict is reached in that group's own
task, and nothing the subscriber is given waits for the tampered group's, so
under load the read could come first and see 0 (CI, linux-arm64). The vote
test reads the edge's refused inputs the same way, after a one-second grace.
Both now wait for the refusal, bounded, then count it exactly.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 18:27:19 -05:00