Skip to content

Fix portable executor, cancellation, and bounded storage failures - #1010

Merged
ajroetker merged 21 commits into
mainfrom
codex/full-local-test-followup
Oct 8, 2026
Merged

ajroetker merged 21 commits into
mainfrom
codex/full-local-test-followup

Conversation

@ajroetker

@ajroetker ajroetker commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Local unit and E2E runs exposed crashes across independently compiled runtime archives, premature enrichment completion, stalled artifact reprocessing, and queries that confused chunk payload identity with vector presence authority. This follow-up fixes those paths and incorporates the portable pre-existing fixes from #987. It integrates main through 6b92267b7d, retaining its native lake, Lite, BigQuery, and GCS changes.

  • Use the owning imported executor for HTTP batch, SQL, and pgwire dispatch; protect mutation completion and staging cleanup through cancellation. Keep linked error-tracing configuration consistent and preserve committed outcomes across visibility failures.

  • Fence empty dense activation certificates, compare each producer/index ledger against its own target, and check replay before advancing synchronous enrichment completion. Persist reprocessing intent with its source mutation and publish terminal malformed-PDF coverage before settlement.

  • Validate exact stored catalog authority, release scan cursors before readiness commits, fix datetime tuple width, and preserve public chunk identities during embedding-presence checks and query fusion.

  • Validate reader/extractor composition and fallback candidates against media/schema contracts; convert provider deadlines between clock epochs and forward explicit whole-process E2E budgets.

  • Support typed i32/i64 Metal scatter with duplicates and validated bounds. Keep optional artifact allocation bounded and owned publication independent of mmap.

  • Share the auth seed key contract between capture and materialization, including persisted user-instance identities. Preserve terminal missing-model policy and make compile-only checks explicit.

  • Reclaim disposable unit outputs on macOS and Linux. Restore canonical test ownership and source discovery while retaining strict coverage/duplicate audits. Keep cache-admission fixtures on a stable file generation and distinguish replay convergence, active backfill, and asynchronous native validation.

  • Restore the count-only path for native bitmap queries: stream TTL/cursor visibility through bounded scratch, skip unnecessary sorting, and preserve exact totals and profiling. Initialize the metadata cadence fixture's cluster incarnation through progress-only work before protocol-gated table removal.

  • Preserve durable native posting coverage when an older replay mutation reaches a dense-vector index, including owned asynchronous capture sessions. Return retryable HTTP 503 for query leadership transitions after restart. Treat unreported standalone replay watermarks as unknown.

  • Classify malformed model tool arguments as a typed retryable generation failure across both runtime error registries. Query planning and retrieval request corrected arguments within their existing turn budgets, preserving cancellation and unrelated failures.

  • Treat temporary catalog routing failures as bounded point-read readiness failures and retryable HTTP 503. Hosted recovery waits for exact parent ACK receipts and authoritative document absence through leadership/read-route recovery.

  • Document local Wasmtime/MemoryAF prerequisites and the bounded request-timeout override for Debug inference E2E.

Validation completed on the merged production changes includes Lite 42/42, search execution 270/270, metadata service 136/136, lake 382 server + 129 local, runtime ABI 4/4, PJRT 25/25, CI policy 89/89, object store 79/79, and source/license boundary checks. These test runs reported no leaks. The final publication fixture fix passes 20 isolated runs plus three complete 87-test owner groups using the full gate's stripped Debug/module flags.

The final complete Debug unit gate on f9d96d90cd passes 1,496/1,496 build steps. Strict ownership validates 20,090 named tests, 20,090 selected executions, zero repeats, and no lost coverage. Inference units pass 4,717 with 173 skips; finetuning passes 127 with 10 skips. The observed phase compiler cache peaks at 7.58 GiB and is completely reclaimed afterward (zero remaining files). The final fixes also pass the full 18-test hosted recovery suite, three additional six-case DROP/TRUNCATE repeats, and three deterministic public-read/restore regressions with no leaks.

Both final full and standalone Debug executable builds pass (52/52 build steps, f9d96d90cd). New targeted validation passes HTTP availability 117/117 build steps, five graph restart probes, all five extension regressions, query-builder and retrieval repair regressions, both runtime error registries, and the real Gemma CLI/streamed-retrieval agent case. The fresh complete Antfly Debug E2E suite passes 939 tests, 19 skips, zero failures (40m13s), including all six previous failures. Complete inference Debug E2E passes 203 tests, 48 skips, zero failures (5m24s). The opt-in standalone/worker E2E suite passes 13/13 (1m8s), including the real Gemma agent, pending embeddings, worker isolation, and both executable roles. These complete E2E suites used e33a7d7a9a; the subsequent read-readiness change is covered by the final full unit gate, hosted recovery, and deterministic HTTP suites. Rebuilt final f9d96d90cd executables also pass the restart E2E regression and all 13 standalone/worker cases. Combining complete and opt-in reports yields 1,154 unique E2E passes, 55 skips, zero failures across 1,209 collected cases. Inference uses a 12 GiB process envelope (4 GiB host / 8 GiB backend) and a bounded 120-second request timeout for Debug builds. Extension E2E uses the official macOS Wasmtime v45.0.2 C API library pinned by CI and the locally built MemoryAF WASI artifact.

Local macOS Debug qualification is complete. Skips cover unavailable platform/model/live-service cases; opt-in standalone/worker cases were executed separately. No Windows port is included.

@ajroetker ajroetker changed the title Restore full local unit and model E2E test coverage Fix portable executor, cancellation, and bounded storage failures Oct 8, 2026
@ajroetker
ajroetker marked this pull request as ready for review October 8, 2026 12:43
@ajroetker
ajroetker merged commit c9643d7 into main Oct 8, 2026
2 of 4 checks passed
@ajroetker
ajroetker deleted the codex/full-local-test-followup branch October 8, 2026 15:36
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