Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
f0rr0
marked this pull request as ready for review
September 7, 2026 21:58
16 of 36 tasks
65 tasks
…206) * fix(release): preserve bootstrap evidence across publisher fixes * fix(release): link generated commits to the release App
13 tasks
* refactor: localize product tooling and simplify release qualification * fix: qualify rendered CI plans through owned tooling checks * fix: propagate attestation verifier failures on Bash 3.2 * fix: isolate owner tests and repair native build setup * fix: let cancelled CI aggregates release the run queue * refactor: trim maintainer bootstrap and own installer tests * fix: avoid duplicate docs checks and type native SDK smoke helpers * refactor: remove oversized fixtures and keep tests with their owners * fix: exercise LLVM installation and share lifecycle test support * test: qualify the standalone native lifecycle runner locally * fix: isolate commit-range planning from caller input * fix: cache Moon content-addressed outputs across project edits * fix: reject malformed Moon query envelopes * fix(ci): repair cold client builds and Windows backup paths * fix(ci): repair cache restores and carrier qualification * fix(ci): qualify unprivileged carriers and provision evidence dependencies * fix(postmaster): include release asset finalizer in source checkout * refactor: model product dependencies and simplify qualification * fix: make qualification work on clean platform runners * fix: gate CI consumers and preserve validated build outputs * refactor: isolate packaged dependencies and centralize tool pins * fix: qualify packaged consumers without hidden checkout state * fix: include runtime preflight in build dispatch fixture * fix: resolve Git Bash and validate portable Windows packages * fix: allow shell setup verification to run in CI * fix: qualify native packaging and WASIX consumers at their owning stages * fix: restore ICU build inputs and bound pgwire shutdown reads * fix: make CI consumers use complete isolated product inputs * fix: repair artifact consumers and restore full extension qualification * fix: provision Bun and consume declared Swift source archive * fix: complete mobile SDK runtime dependency packaging * fix: complete independent iOS resource packaging and qualification * fix: let the React Native plugin own seed pod registration * fix: isolate iOS implementation headers and bound browser readiness * fix: include mobile ABI jobs in the build gate * refactor: consolidate projects under src and reduce CI duplication * fix: resolve remaining source migration paths * fix(ci): cache verified tools on PRs and back off downloads * fix: resolve ICU inputs and canonical package notices * fix: align relocated extension and consumer inputs * fix: package WASIX generated metadata from src * fix: serialize overlapping source fetches * fix: preserve installed SDK resource discovery and seed integrity * fix: integrate SDK resource and host boundary fixes from PR 211 * test: verify integrated SDK APIs through installed consumers
* fix(ci): import Swift signing keys and preserve release test timeouts * fix(test): use the pinned Bun launcher for every test entrypoint
* refactor: organize sources by native and WASIX runtime families * fix(ci): pin the upstream Swift signing key bundle * fix(ci): preserve Swift source paths in iOS artifact staging
* fix(sdk)!: align resource loading and extension selection Load independently versioned WASIX extension packages, materialize native Rust resources automatically, and initialize browser storage without a seed. Align typed extension selections, native TypeScript restore, version-based WASIX compatibility, and Swift documentation with the resource contracts. BREAKING CHANGE: Native extension lists use typed selections, and native TypeScript restore accepts a directory storage descriptor instead of a path. * fix(test): make native consumer restore checks portable * fix(wasix): preserve worker clocks and extension resources
Owner
Author
|
Superseded by #218, created against current main to correct the stale GitHub comparison. Exact same head commit ef4821f; no source changes or lost work. Verified #218 reports 248 files, +59,360 / -43,720 against df2b112. This PR and branch remain available for historical discussion/evidence. Replacement is draft; Windows recovery and outstanding qualification blockers remain. |
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.
September 27 refresh onto current main
The earlier correctness work has been selectively ported onto main
df2b112e866f8ea76d320d7b3e172cf7be764177, preserving its current source/build graph, resources/extensions, seedless browser startup, and extracted Postmaster executor. Existing PR history is preserved; no force push.Not yet merge/release-ready: Windows/MSVC Sys exception recovery remains a blocker for the complete supported matrix. A production early stack guard is not enabled. Fresh Postmaster concurrent runtime and full supported-platform/extension qualification remain outstanding.
Implemented
Fresh local evidence
These are correctness checks, not a comparative performance or release qualification claim. Native fsync-on can cost write latency intentionally.
New dependencies: experiments, not production upgrades
Current implementation, evidence, retained assets and next steps.
Follow-up tracking: #201.
Historical September checkpoint (not current qualification)
Latest update — 41c74d8 (2026-09-08)
Not merge-ready. The Windows/MSVC exception-recovery blocker remains. The new execution-stack guard is a tested review candidate, not enabled in consumer packages.
This update pushes the completed resource-budget cleanup and the actual stack-safety candidate code:
Candidate evidence, not exact-head release qualification
repo:docs-policy sdk-contracts:allpassed (9 tasks, 5 cached), profile-budget test passed, both pq_flush ABI tests passed, regression-probe Rust formatting passed, all four candidate patches passedgit apply --check, and staged whitespace checks passed.Before activation: settle/consume the upstream VM/API contract (coordinate Wasmer #6913), qualify recovery margins and error cleanup across supported targets, resolve the Windows/browser contract, then integrate pins/imports/artifact invalidation together. No release build or exhaustive qualification was rerun merely to publish this review update.
Summary
Previously published checkpoint: 0f4a996. Not merge-ready: Windows/MSVC Wasm exception recovery is blocked in the consumed Wasmer runtime. The known formatting and Postmaster source-root fixes are pushed. No Windows target/test is removed or waived, and the repeat optimization remains held outside this PR.
Consolidate the completed patch-correctness work on current main, without importing the research harness, historical result archives, old binaries or producer trees.
llvm-opta-ro_ftablethroughout production, caches, manifests and all eight carriers; reject incompatible legacy overrides and artifacts.This is intentionally a substantial correctness integration, not a small isolated performance patch: guest/host ABI and Native process ownership must land together. It excludes optional compiler/runtime experiments and the obsolete pre-N-API Node filesystem path.
Follow-up implemented at 51789da
fsync=ondefault instead of silently adding-F; explicitfsync=offremains available. Fresh Linux ICU direct and installed-broker checks verify both settings, identity/login policy, session reset and nondefault-database settings.Additional follow-up at 8e45be7
Hosted failure fixes prepared at 94d674d
Final focused validation
Initial 34f173f validation
Strict PostgreSQL 18.4 patch replay: 22 Native / 30 WASIX / 7 Postmaster, no fuzz or rejected hunks.
Fresh Linux standard Native library: ABI conformance, configured identity/login policy, six startup rejection cases, signal/mask/timer ownership, cancellation and COPY timeout/backpressure, five cwd cases and broad C smoke passed.
Rust WASIX: 215 unit tests, 5 doctests, 7 public API tests passed.
Browser TypeScript: 343 tests / 36 files and typecheck passed; six pinned-host source-contract tests passed.
Real isolated Chrome: memory and IndexedDB both passed repeated syntax/division error recovery, PL/pgSQL exception catch, set-based INSERT, 1 MB COPY callback abort/drain/reuse; IndexedDB close/reopen preserved all 1,000 rows.
Fresh portable guest/support/initdb built; standard and ICU seed initialization/profile probes passed. Strict AOT compiled, packaged and passed artifact validation; all eight actual generated carrier identities were checked.
Shared protocol schema/generated views, compiled C bridge ABI, 64 MiB aggregate tool-output policy, SJLJ artifact guard, patch-review freshness, Postmaster source lock, focused libc/runtime checks, Rust formatting and documentation policy passed.
assets verify-committedpassed using the existing core-only build flag; full extension catalog validation remains the default outside that explicitly scoped path.Fresh Rust WASIX on the new portable guest and strict AOT: 18/18 runtime-smoke and 7/7 PostgreSQL regression tests passed. These exercise memory/directory storage, sync/async callback error and panic recovery/reuse, prepared parameters, INSERT/savepoints, rollback/cancellation, directory ownership/reopen, backup/restore and recovery after an abruptly killed child. These are focused cases, not exhaustive crash qualification. Rust COPY-specific coverage was not available in these suites; actual browser COPY coverage is listed above.
Boundaries and follow-up
Windows/MSVC is a merge blocker. Job 101905963703 reaches an explicit panic in wasmer-vm 7.2.1's MSVC
throw()implementation duringsavepoints_error_recovery_and_indexed_updates, exit0xe06d7363. Official v7.4.0 and current upstream main still contain the unsupported MSVC exception stubs; an ordinary dependency upgrade is not a fix. Genuine engine exception support or a separately qualified compatible guest is required. Skipping tests, catching the panic or silently falling back to Native would not preserve the guest recovery/isolation contract.The retained repeat experiment is held, not promoted: 184 correctness/settings-checked children show wide temporary INSERT 41.5% / 33.5% faster and logged wide 29.0% / 20.7% faster (memory/directory). A separate 72-child targeted+A/A recheck resolved the preconstructed-directory warning but retained a prepared-directory warning of approximately 6–7% against both baseline controls, predominantly in transaction body. Shared-host interference remains a limitation. Exact candidate artifacts and original baselines remain retained; no experimental framework is staged, and neither durability nor fill-chunk tuning is a demonstrated remedy for the warning.
SQL statement_timeout is not a reliable CPU-bound deadline in current Rust WASIX. Actual baseline/candidate probes expose inherited libc timer-field and Rust unit/one-shot/delivery gaps. Native timeout/reuse and injected interrupt tests do not prove Wasm delivery. Public Rust/usage docs now explicitly distinguish accepting the GUC or timing out a caller future from stopping guest execution; issue Follow up patch consolidation: signal semantics, performance profiling, and qualification #201 records the coordinated remedy.
No release-ready or blanket non-regression claim. The initial 324-child strict-profile comparison and final 220-child identity screen are separate evidence sets; the later one does not erase the earlier warnings. All accepted directory reports actually verify fsync/synchronous_commit/full_page_writes=on. No Native durability-change timing is inferred from the WASIX screen.
Inherited Postmaster POSIX signal masks are not implemented. Pinned pthread_sigmask returns success/no-op, sigpending returns EINVAL, and handler sa_mask is ignored. The capability inventory now says unsupported. The macro fix does not repair delivery masking; correct remediation needs coordinated Wasmer/libc mask/pending delivery semantics and PostgreSQL stress tests. This is a high-priority known limitation, not an observed corruption or new-regression claim.
Four completed prior/final ABBA profile captures collected 45,283 samples on unchanged strict guest/AOT payloads, using existing public Wasmer function extents for diagnostic address maps. The wide workload's
repeat(chr(...),96)makes 96 one-byte copies per row; imported-copy self samples account for 24–27%, while direct statistics-counter samples are about 0.45%. This supports a bounded general repeat experiment, not causal attribution of the +5.1% warning. No new optimization is promoted. The user-authorized temporary profiling setting was restored to its originalperf_event_paranoid=4immediately after capture; no persistent setting changed.Hosted Native builds and the portable WASIX, Postmaster and iOS-extension producers passed at parent 51789da. The later 8e45be7 head also passed Native/extension and portable WASIX producers plus Linux/macOS AOT, but exposed the known formatting/root failures and Windows exception blocker. That parent run was cancelled by the push only after material producers finished, with app/E2E work remaining. 0f4a996 must qualify in its own run 34177975360; parent results are not relabelled as final-head results.
Native now preserves
fsync=onby default; durable-write latency can increase. Functional reopen tests still do not establish crash durability. No WASIX durability relaxation is introduced.Guest and hosts/AOT must be rebuilt together. Old profile manifests cannot be relabelled; terminal guest failures cannot be treated as recoverable SQL errors.
Browser host runtime code was built before mail-header normalization. Every patch diff is byte-identical before/after that metadata-only step; the original build marker is retained and a local before/after equivalence receipt records both identities. This is not labelled an exact-release artifact.
Local Moon affected-project resolution, SDK contracts and graph unit tests pass with the repository-pinned toolchain.
Broad platform/ICU, extension, hostile-extension/resource, crash and release qualification remain separate work.
The complete prioritized remainder is issue #201: inherited Postmaster signal-mask semantics, a profile-supported repeat experiment and unresolved wide-INSERT warning, remaining platform/runtime qualification and upstream review. Optional compiler/ICU/ownership ideas are conditional research, not mandatory features. Rejected CRC/lazy-globals/unsafe shortcuts are not automatically revived.
See
docs/internal/PATCH_CONSOLIDATION_20260907.mdfor the consumer implications and explicit retirement table. The original research state is preserved in a separate local recovery commit and is not staged here.