Skip to content

test(controller): wait for an accepting proxy socket - #164

Merged
Nickfost merged 1 commit into
mainfrom
test/proxy-socket-readiness
Nov 4, 2026
Merged

Nickfost merged 1 commit into
mainfrom
test/proxy-socket-readiness

Conversation

@Nickfost

@Nickfost Nickfost commented Nov 4, 2026 •

Copy link
Copy Markdown
Member

The socket-proxy fixture can return after its Unix socket is bound but before a connection can succeed. A retained controller image-build failure received connection refused on its first health request. A deterministic control demonstrates this readiness gap; the exact historical interleaving was not instrumented.

Wait for a successful Unix connection and close the probe within the existing absolute two-second bound. Add controls for a bound socket without a listener, a ready listener with probe closure, and an unavailable listener. All 11 existing callers and original assertions are preserved. Only controller/docker_socket_proxy_test.go changes.

Validation on the reserved disposable executor used the pinned Go 1.27.3 image. The deterministic bound-socket control fails with the old predicate and passes with the correction. All three new controls and the existing proxy race checks passed. Formatting, module verification, whitespace, conventional commit/title and committed-tree secret checks passed. Complete focused results were exported, hash-verified, and scoped cleanup and final admission passed. The existing independent MASTER source review approved this exact head: #164 (comment). The execution owner admitted the one complete required run on this frozen head below.

Documentation and template impact: this test-fixture correction changes no runtime, operator, API, schema, configuration or capability contract, so no documentation or template edit is needed. Existing template issue 47 and guidance PR48 remain separate. No live image adoption, recovery or application retry is established by this PR.

Source c3594a0 against accepted base 1c685da. Production proxy, Dockerfile and all other tracked files retain their base bytes.

Admitted native required-check run

The execution owner admitted the single complete supervised required-check run on the frozen SOURCE and BASE above after exact-head independent review. It uses the existing unchanged workflow on scoped one-job validation runners. The trigger changes only this PR description. No additional full local run, source change, pin promotion or host operation is authorized by this entry. The workflow and temporary runner selection will return to their previous settings after the build job is assigned. Complete results and cleanup remain required before merge.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-04T02:48:06.479810Z c3594a0 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Nickfost

Nickfost commented Nov 4, 2026

Copy link
Copy Markdown
Member Author

APPROVED. Independent source review of PR164 found no blocking findings for exact head c3594a02db75a7fb7322969688adca165654a126 against base 1c685dacc109597641fd13dfae48606e76f73ee7.

Reviewer: the existing MASTER coordinator, Codex gpt-6.1-sol, reviewing directly and separately from the source author and execution owner. I authored none of this candidate and made no repository edits. This is the user's established independent manual route for NEW3A. Historical automatic-review quota failures remain separate; no new automatic Codex request, automatic completion, Bugbot approval or new delegate is claimed.

The reviewed tree is e8da173b6e04b260d48630a7dfe870728c6c8788. The full-index binary diff SHA-256 is 48a577365c7188fb0e41bc88f6619954b780662e86d39999ef3453e230f10112, matching the retained patch. GitHub's published head/base match the clean local checkout. The prospective merge d2c2b3230e0cba2360a9b7d168ceef155add2a70 has ordered parents base then head and the identical reviewed tree.

I reviewed the complete change and its production/fixture callers. Only controller/docker_socket_proxy_test.go changes. Independent tree comparison confirms all other 232 tracked entries are identical. The original test tail and all 11 callers are preserved.

The fixture now waits for a successful Unix connection, closes that probe, and accepts readiness only before the existing absolute two-second deadline. The dial uses that same absolute deadline; unsuccessful attempts do not receive a fresh timeout, and successful closure is followed by a deadline check. The probe sends no HTTP request or Docker mutation. Existing request, marker, lock, shutdown, upload, cancellation and cleanup assertions remain intact.

The controls cover a bound Unix socket that is not listening, a ready listener that observes the probe's EOF, and an unavailable listener. The bound-socket control independently verifies that the old file-existence predicate would accept that state. The retained old-predicate run fails that control as expected; the candidate's three controls pass. This establishes the readiness gap and correction without claiming the exact historical scheduling interleaving was instrumented.

Verification performed here: clean exact source/parent/tree and prospective-merge checks, complete tree-entry comparison, preservation of all original test-tail bytes and 11 callers, patch equality, and git diff --check. I read the pinned Go 1.27.3 formatting/module results, expected failing old control, three passing candidate controls and passing existing proxy/readiness race regressions. I independently verified the complete focused archive SHA-256 55ab3920665d0da7cf3a0be43e67772dbbc455b7cabb84b3966fd46378492637 and all ten exported file hashes and sizes. The retained transaction receipt reports scoped cleanup and final admission passed, with no active remote transaction. I did not repeat Go execution or operate the VM.

Documentation impact was assessed. This changes a test fixture only, with no runtime, operator, API, configuration, schema, capability or image-policy contract change. No repository documentation or visual evidence update is needed. Existing template issue47/PR48 guidance remains a separate acceptance path and is not represented as complete.

There are no unresolved blocking findings from this review; GitHub showed no review threads at the check. This affirmative approval covers only exact c3594a02db75a7fb7322969688adca165654a126; a changed head requires fresh evidence. The same owner may now proceed to the already-authorized single complete new-source native acceptance, with unchanged gates/budgets, verified result export, scoped cleanup and final admission. Full native acceptance and normal guarded merge are still pending. This review supplies no image-packet acceptance, live adoption/recovery, capacity/storage change or application retry authority.

@Nickfost
Nickfost merged commit 4c30089 into main Nov 4, 2026
4 checks passed
@Nickfost
Nickfost deleted the test/proxy-socket-readiness branch November 4, 2026 06:09

Nickfost commented Nov 4, 2026

Copy link
Copy Markdown
Member Author

Source acceptance and the supervised native transaction are complete for reviewed head c3594a02db75a7fb7322969688adca165654a126, base 1c685dacc109597641fd13dfae48606e76f73ee7, and prospective policy merge d2c2b3230e0cba2360a9b7d168ceef155add2a70.

Native run 41764025510, attempt 1 passed all eight full-suite stages. The official archive digest d6d9bfbe62cb3069587bba47ea92efeba71d17956c0479c869f1226f23508b16, all nine archive members and all eight stage-log hashes were verified. Expected skips are empty and no positive skip report was found. The twelve-file worker export was independently hash-verified; the normal runner had already removed its temporary result copy, so no worker/result byte-parity claim is made.

Scoped runner grants and consumed credentials were removed, the protected executor restored through its supported preparation route, and final isolated-worker admission passed. The workflow is restored disabled and its temporary runner variable absent. No retry was run.

Normal guarded squash merge produced 4c30089f2476e4cb7d8a8659845bd76d0dd714b7, with the identical reviewed tree e8da173b6e04b260d48630a7dfe870728c6c8788. The independent source approval remains separate from execution evidence.

Documentation impact remains fixture-only, with no runtime/operator/API/schema/capability contract change requiring a documentation or template edit. Existing template issue47/PR48 remain separate. This acceptance does not publish or promote managed images, adopt a live worker, establish live recovery, or release application retries.

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