Skip to content

fix: remove failed bootstrap registrations - #204

Merged
jerome-benoit merged 1 commit into
masterfrom
fix/failed-bootstrap-removal
Oct 20, 2026
Merged

jerome-benoit merged 1 commit into
masterfrom
fix/failed-bootstrap-removal

Conversation

@jerome-benoit

@jerome-benoit jerome-benoit commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

PR Checklist

  • Conventional Commits title and changes described.
  • Regression tests and existing API documentation updated.
  • Related upstream issue linked.

Does this PR introduce a breaking change?

  • Yes
  • No

Changes

Ports poolifier/poolifier#3371 at 8adc6887daa2ca2d6e03cb364987676f06a18755.

  • Accept worker-confirmed absence of the requested function only when removing a captured registration from a failed-bootstrap worker.
  • Bind absence to the exact base removal result and requested name; keep public worker results unchanged.
  • Restore remaining registrations before readiness. Preserve default-removal errors, custom refusals, ordinary missing-function failures, UUID correlation and original send-error precedence.
  • Preserve result metadata through reconstructed legacy acknowledgements.

Refs poolifier/poolifier#3370; addresses the shared limitation documented in #202.

Fidelity and Web boundaries

AST-identical cohort ACK listener, removal provenance fields/checks, base removal logic and internal protocol field. All 110 upstream recovery assertions are retained.

Keep Web UUIDs, EventTarget error envelopes, numeric protected hooks, two-phase cohort tracking and synchronous-exit guards. Upstream legacy forwarding maps to the existing Web taskContractWorker.mjs fixture. API documentation carries all three upstream semantic changes; no README changes or new options.

Verification

  • Eight new upstream-equivalent Web regressions; existing 20 recovery cases preserved. Focused contract/replay suites: 162 passing steps.
  • Full coverage without retries: 28 suites, 517 passing steps, zero failures; nine existing ignored steps.
  • Before/after real-worker proof. Four control/failure cases each on Deno, Bun and Chromium, plus pinned upstream threads and cluster, including reconstructed UUID-less requests/ACKs and restart persistence.
  • Lint, format, strict source check, browser/Bun builds, DOM/WebWorker declaration consumers and JSR publication dry-run pass.
  • Two independent read-only production/coverage reviews: no findings.
  • GitHub checks on e70fe6b6bb32709fb30ddf1530d4f4da082dee6e: 15/15 passed, including CI. No review comments currently posted.

Port poolifier/poolifier#3371 at 8adc6887, retaining Web lifecycle and acknowledgement contracts.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 20, 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-10-20T20:48:43.102249Z e70fe6b 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.

@sonarqubecloud

Copy link
Copy Markdown

@jerome-benoit
jerome-benoit merged commit 5cda2d5 into master Oct 20, 2026
15 checks passed
@jerome-benoit
jerome-benoit deleted the fix/failed-bootstrap-removal branch October 20, 2026 21:09
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