Skip to content

test(lifecycle): keep shared-helper rollback fixture ports distinct - #829

Merged
roodboi merged 3 commits into
nextfrom
codex/hack-2234-shared-helper-fixture
Nov 14, 2026
Merged

roodboi merged 3 commits into
nextfrom
codex/hack-2234-shared-helper-fixture

Conversation

@roodboi

@roodboi roodboi commented Nov 14, 2026 •

Copy link
Copy Markdown
Contributor

The rollback fixture selected two ephemeral ports while both were unbound. If the kernel recycled the first port, the foreign listener answered the first helper's expected identity and was correctly adopted, causing expected an owned claim.

Start the owned helper before selecting the foreign listener's port, and assert the ports differ. All rollback, holder-retention and foreign-process survival assertions remain. Product claim publication already awaits durable writes before returning ready; no runtime change is needed.

Validation: a controlled duplicate-port setup reproduces the exact failure with an adopted claim; real consecutive bind probes also returned the same port. The unchanged full file passed 200/200 under concurrent test load. The focused rollback test, changed-file lint and privacy check pass, and the persistent Opus review is clean at 9e54433b. See PR comments for the fixed-file 200-run qualification and hosted Linux results; both are still in progress when opening this PR. No macOS shards requested for this test-only change.

HACK-2234


Show it working
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

@vercel

vercel Bot commented Nov 14, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
hack-docs Ready Ready Preview Nov 14, 2026 10:03am UTC

Request Review

@linear-code

linear-code Bot commented Nov 14, 2026

Copy link
Copy Markdown

HACK-2234

@roodboi

roodboi commented Nov 14, 2026

Copy link
Copy Markdown
Contributor Author

HACK-2234: the persistent Opus review is clean at 9e54433b. The original setup's controlled duplicate port reproduces the exact owned-claim assertion, with an adopted claim; the unchanged file also passed 200/200 under concurrent load without a natural hit. The fixed-file 200-run qualification is running with eight isolated file workers plus another test file. I will post its final count and hosted results before handoff.

@codex review

@chatgpt-codex-connector

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

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

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

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-14T10:04:17.128105Z 4627ed4 Manual request
🔒 Security Review ✅ Completed 2026-11-14T10:05:36.127812Z 4627ed4 Manual request
ℹ️ 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.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep it up!

Reviewed commit: 9e54433b92

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review · Automatically triggered

Security review completed. No security issues were found in this pull request.

Reviewed commit: 9e54433b92

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@roodboi

roodboi commented Nov 14, 2026

Copy link
Copy Markdown
Contributor Author

Qualification update at 0fbd6852fe275c3e59857b5134b9f60062bd2c1c: the target rollback case passed all 200 runs of the eight-copy stress batch, but the full batch was 199/200, not a clean pass. Run 37 failed the later single-helper release-retry setup with expected an owned claim. The failed log is retained. Simultaneous copies may validly adopt each other's matching helper fixtures; the earlier run did not capture the actual claim kind, so that attribution remains a hypothesis.

The assertion now reports the fixed claim kind (or missing), while still requiring owned. The same persistent reviewer approved this diagnostic delta and the qualification design. A fresh 200-run check is running one full-file process at a time, alongside continuous project-lifecycle-controller-ownership.test.ts in a separate fixture root. That keeps real test/process load while avoiding overlapping identical helper fixtures and mirrors hosted per-file isolation. All 30 tests, including the two ten-second lock cases, remain enabled; this takes about 95 minutes. The run stops on a failure and is not retried until green. Final counts will follow before readiness.

The unchanged baseline was 200/200 with 39 passing companion-file runs. The controlled duplicate-port setup remains the direct reproduction of HACK-2234. No runtime code changed.

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🚀

Reviewed commit: 0fbd6852fe

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review · Automatically triggered

Security review completed. No security issues were found in this pull request.

Reviewed commit: 0fbd6852fe

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@roodboi

roodboi commented Nov 14, 2026

Copy link
Copy Markdown
Contributor Author

Ready for lead: 0fbd6852fe275c3e59857b5134b9f60062bd2c1c.

HACK-2234's rollback fixture could select the same ephemeral port twice before either listener bound. Its foreign listener then answered the first helper's expected identity and was correctly adopted. The controlled collision reproduces the exact owned-claim failure with an adopted claim. Product claim writes are already awaited and durable; no runtime change is needed.

The owned helper now starts before the foreign listener's port is selected, and the test asserts distinct ports. All rollback, holder-retention and foreign-survival assertions remain. Failure diagnostics additionally name only the observed fixed claim kind or missing.

  • Exact-head Linux/Bun 1.4.4 qualification: 200/200 consecutive full-file runs, one at a time, with all 30 cases enabled, alongside 728/728 passing project-lifecycle-controller-ownership.test.ts runs. No failures or stop-watch event; 94.9 minutes.
  • All five hosted Linux shards and required test gate passed at this head. Same persistent Opus reviewer and current-head Codex are clean. computer pr review-status: CLEAR at 0fbd685, no unresolved bot threads. Changed-test lint and privacy pass; no Mac shards dispatched.
  • Earlier evidence is retained separately: unchanged file 200/200 under eight-copy load; first fixed eight-copy batch 199/200, with the target case passing all 200 and one different single-helper setup failure. Cross-copy adoption is suspected but not proven. That failed batch is not counted as the final qualification, which models hosted per-file isolation under different-file load.

Only tests/project-shared-helpers.test.ts changes. Base is next; the PR is mergeable. No other scope included.

roodboi commented Nov 14, 2026

Copy link
Copy Markdown
Contributor Author

Ready for lead: 4627ed49f6d89ac5b80cda9a1656166f8fb13ecb (exact-head hosted CI/Codex and lead Mac qualification pending; merge frozen).

Normal merge includes next at 5002cf87bb50686b17ceae8a4c835f524ee1b3a5 (#809/#820/#830). The only conflict was the rollback fixture: #809 already brought in the start-first-helper-before-selecting-second-port correction. Resolution keeps #829's test file byte-identical to its 200-run-qualified head 0fbd6852; compared with next, this PR adds the explicit distinct-port assertion, observed claim-kind diagnostic and comment wording. Every rollback/holder/foreign-survival assertion remains.

Same persistent Opus reviewer: clean at this merge head, no blockers. Post-merge full helper and lifecycle-controller ownership files: 56 tests / 352 assertions pass, zero failures/skips. CLI typecheck, changed-file lint and privacy pass. Earlier qualification remains 200/200 full-file sequential runs alongside 728/728 background ownership-file runs at 0fbd6852, with identical test bytes but the earlier product baseline; that is not a 200-run result at the merged head. The earlier eight-copy batch's 199/200 result remains disclosed in the prior note.

No Mac shard was manually dispatched. Lead owns Mac batch and merging after next.17; no merge performed.

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🎉

Reviewed commit: 4627ed49f6

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@chatgpt-codex-connector

Copy link
Copy Markdown

🛡️ Codex Security Review · Automatically triggered

Security review completed. No security issues were found in this pull request.

Reviewed commit: 4627ed49f6

View security finding report

Only the user who started this review can view the report in Codex.

ℹ️ About Codex security reviews in GitHub

This is an experimental Codex feature. Security reviews are triggered when:

  • You comment "@codex security review"
  • A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review

Once complete, Codex will leave suggestions, or a comment if no findings are found.

@roodboi

roodboi commented Nov 14, 2026

Copy link
Copy Markdown
Contributor Author

Lead note: verified on the Mac batch tree at this head (next 5002cf8 + #829 + #834: typecheck, 169 selected test files, the nine relocated acceptance scripts, VM smoke); review-status CLEAR. next is frozen as the next.17 candidate until its hosted run completes and the prerelease publishes; this merges right after, if the head has not moved.

🤖 Generated with Claude Code

@roodboi
roodboi merged commit 32f894a into next Nov 14, 2026
21 checks passed
@roodboi
roodboi deleted the codex/hack-2234-shared-helper-fixture branch November 14, 2026 14:34
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