Repository navigation
test(relay): isolate admission diagnostics from listener callbacks - #293
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
v1.1.0 publication evidence — 2026-10-09
Locked hashes
PyPI statusPublish run 37895320597, attempt 1, exact tag/commit: all six jobs succeeded after the required human environment review, including Trusted Publishing and verification of the published PyPI artifacts. The waiting deployment was observed before approval; no approval/protection bypass was used. Both published PyPI files were independently downloaded and their hashes compared with the locked candidates above. Fresh separate installs of the actual downloaded wheel and sdist again passed isolated import/version, initialized-home JSON listing, explicit-empty-home refusal with No fleet installation, Control/Relay deployment, service restart or live agent acceptance was performed. Experimental unsupported capabilities and #161 remain open; publication is not their completion. Existing Relay fixture teardown diagnostics are not claimed fixed. One Low development-only Paramiko alert remains separate from the successful runtime audits. The runbook's main-advance wording is stronger than the ancestry implementation; exact remote main was explicitly rechecked unchanged before dispatch and GitHub publication. |
Summary
Closes #292. Related: #291.
Stabilize the admission diagnostics test after merged-main CI 37892897777 failed on macOS Python 3.13 with
2 != 1warnings.Setup's server-side waiting-room check does not establish completion of the client's background lifecycle observer. That observer logs on the same logger as admission diagnostics, so a delayed callback can contaminate the exact warning count. Cancel and join it with the existing eight-second timeout before enabling diagnostics in this arithmetic/sanitization test.
Add a deterministic observer that yields during cancellation and emits a real lifecycle event. Its regression exercises the existing exact-count, counter, schema, secret-exclusion, minute-boundary and empty-resource assertions without filtering or suppressing logs. It fails against the old test and if the join is removed.
Only
tests/relay/test_receiver_admission.pychanges. Product logging, receiver limits, CLI/runtime code, generated standalone, package version and configuration are unchanged.Type
Checklist
The template's legacy CLI/live-message checks are not applicable; no legacy source, native agent, remote host or production service is modified or contacted.
Verified against
Head
5b006fb54f73aca0e327b3dd413a99f7005be187, base00c027064084f780cdd6e1e4a6442ca1cd3a7175; macOS arm64, CPython 3.13.7, websockets 17.2, cryptography 50.0.2. Local tests use development mode and treat ResourceWarning as errors where specified.2 != 1before the fix, withreceiver_admissionandwebsocket_openwarning kinds. The identical reproduction succeeds after the fix. No native agent messages are sent.76054677709db53fbbddb44870e116892186fe73293dd90089822c7b25ba12cf).Server._attachassertion and unraisable socket/transport ResourceWarnings recur in other Relay fixture teardown. This run is not warning-free; these diagnostics are distinct from the fixed exact-log-count failure and are not suppressed or claimed fixed.5b006fb54f73aca0e327b3dd413a99f7005be187, including CI 37894353356, CodeQL and the release gate.Notes
The controlled reproduction establishes a matching asynchronous contamination path, not the identity of the original CI's second log record: that failure output omitted the records. Production rate limiting was not weakened. Final-head CI and automatic reviews have passed; human merge approval remains pending. The original merged-main run remains failed until a correction is merged and new main CI is checked.
No merge, tag, release, workflow dispatch, package publication, fleet installation or operational change is performed by this PR. The candidate stays 1.1.0; public PyPI remains separate. Human approval is the merge gate.