Repository navigation
fix(worker): preserve outcomes across result reporting failures - #708
Merged
Merged
Conversation
Telemetry or completion RPC errors previously entered the handler-failure path. Separate execution from one-shot settlement, surface logging and acknowledgement errors through the worker boundary, and classify interruption from the shutdown signal instead of the exception name. Use nullish output handling and SQL coalesce because postgres.js binds sql.json(null) as SQL NULL. Preserve valid falsy values and normalize nullish results to JSON null, with actual-storage integration coverage. Affected unit, type, lint, export, integration, Edge/Node/Bun runtime, client E2E, and CLI installer checks pass. Both Sol review axes report no findings. The full core pgTAP gate remains open: six existing input-assembly timing assertions fail in the full run; the single focused reproduction passes all eleven assertions. No performance thresholds or schema code changed. Refs #701
🦋 Changeset detectedLatest commit: a7ec425 The changes in this PR will be included in the next version bump. This PR includes changesets to release 5 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
View your CI Pipeline Execution ↗ for commit a7ec425
💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗ ☁️ Nx Cloud last updated this comment at |
added 2 commits
October 23, 2026 13:49
Record patch releases for the core SQL client and shared worker fixes in #701. Keep the fixed package group in sync and describe the falsy-output, shutdown, and one-shot settlement behavior in release notes.
CI installs Sqruff 0.43.0, which rejects whitespace before array brackets in four existing schema files. Run pnpm nx fix-sql core with the CI version to clear the five LT01 violations without changing SQL behavior. Checked pnpm nx lint:sqruff core with Sqruff 0.43.0 and git diff --ignore-all-space --exit-code; both pass.
Contributor
Author
Contributor
🚀 Production Deployment: Website✅ Successfully deployed to production! 🔗 Production URL: https://pgflow.dev 📝 Details:
Deployed at: 2026-10-23T18:24:33+02:00 |
2 of 5 tasks
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Fixes #701. Includes a patch changeset for
@pgflow/coreand@pgflow/edge-worker; the existing fixed group keeps publishable packages in sync.A successful handler still gets one completion attempt during shutdown. Settlement errors escape without replay: the RPC may already have committed. Bounded same-result replay remains outside this change (#706 after #704); in-memory results do not survive process death.
Evidence
After: All 14 executor regression tests and all five storage cases pass. Tests check handler invocation counts, settlement calls, the existing worker error boundary, and stored JSON versus SQL NULL.
ad67fd95618a0ae385e061e2e634043441f1e77dfailsbuild-and-test,edge-worker-e2e, andcli-e2eduring Supabase startup: image pulls returntoomanyrequests: Data limit exceededfrom public ECR, before tests start. Changeset validation, core pgTAP, worker integration, portable runtime E2E, client E2E, Bun smoke, Windows smoke, and type infrastructure checks pass.LT01: Unexpected whitespace before start square bracket.violations in unchanged schema files. This remains unresolved; no rules were disabled and no unrelated schema changes were added.Merge Danger
Door: two-way
Code-only change; no schema changes, migrations, or dependencies. A code revert does not undo task outcomes already stored.
Blast Radius: workers
Shared Edge, Node, and Bun task execution and SQL output serialization. Review-ready, but not merge-ready until all CI checks pass. User approved the review and requested merge through Graphite only after green CI; merge and worktree cleanup remain blocked.