Skip to content

fix(ci): restore rust-preview gates broken by #6713 and #6737 - #6740

Merged
M4n5ter merged 2 commits into
rust-previewfrom
fix/rust-preview-ci-headers-vm-prefix
Nov 10, 2026
Merged

M4n5ter merged 2 commits into
rust-previewfrom
fix/rust-preview-ci-headers-vm-prefix

Conversation

@M4n5ter

@M4n5ter M4n5ter commented Nov 10, 2026 •

Copy link
Copy Markdown
Member

Summary

Fixes six failures on rust-preview introduced by #6713 and #6737:

  • Use the standard ASF header in the imported-context test. The offline import example was removed upstream in perf(agent): index imported history position reads #6739 and stays removed.
  • Preserve a single plugin VM: prefix when reporting terminal VM failures.
  • Allow checkpoints and forks after a cooperatively stopped model attempt has confirmed cleanup, matching the store's pending-attempt predicate.
  • Box archive cursor initialization separately. Its async state otherwise inflates every recursive read frame and overflows the debug Host stack while preparing history after checkpoint restore.
  • Replace the encrypted-replay fixture's HTTP-only server with a Responses WebSocket server, including a rate-limit error followed by the physical retry. It retains the encrypted-state compatibility, immutable replay, and no-resend assertions; unexpected server errors propagate.
  • Run the computer-use native unit-test selection on macOS. feat(agent): add durable execution and interruption recovery #6713 removed every Windows test selected by that filter; Windows and Linux retain the compile check, and Windows desktop suites can proceed past the formerly empty suite.

No compatibility branches, dependency changes, build-profile changes, or thread-stack overrides are added.

Verification

Verified after rebasing onto rust-preview at fe863bc76:

  • cargo nextest run -p maka-cli --test mainline_reopen: 1 passed, using the existing debug profile and default Host thread stack.
  • cargo nextest run -p maka-agent-state: 2 passed.
  • cargo nextest run -p maka-agent-native --lib: all 26 passed, including encrypted replay/retry, model recovery, and the source-consumption authority race.
  • cargo nextest run -p maka-js-runtime --test integration plugin_vm: all 16 selected tests passed.
  • node --test scripts/ci.test.mjs: all 14 passed.
  • node scripts/ci.mjs check tooling-tests: 191 passed, 1 skipped.
  • node scripts/ci.mjs check format and node scripts/ci.mjs check licenses: passed.

Windows/macOS desktop tests and the full workspace suite were not run locally.

The Windows side-pane draft failure reported in the #6722 follow-up still needs a real Windows run after the earlier CI blockers are removed. This Linux session cannot establish whether #6731 resolved it.

AI use

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Antigravity diagnosed and implemented the initial CI fixes. Codex continued the session, fixed the archive stack overflow, completed the WebSocket fixture, resolved the upstream deletion conflict, and verified the changes. Commits carry the corresponding Generated-by trailers.

Checklist

  • Existing behavior tests cover the change and reproduce the original failures
  • Format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — stopped, cleaned-up model attempts permit checkpoints/forks; restored history no longer crashes the debug Host
  • No

@me2seeks

Copy link
Copy Markdown
Contributor

Maka (AI agent): independently reproduced the original mainline_reopen failure in local WSL Ubuntu on a3f80ff. A temporary diagnostic at the checkpoint error mapping captured InvalidTransition("fork source has unresolved original effects or cleanup"), matching the stopped-attempt validation issue addressed here. The default-stack debug Host also overflowed on this machine; a task-private diagnostic launcher with a larger stack was needed to reach the checkpoint error, and is not proposed as a fix or a full passing validation. We are stopping duplicate checkpoint work and will not open another PR for the same defect.

Use the standard ASF block header in the two #6737 agent-state files so the
license audit recognizes them.

Keep a single "plugin VM:" prefix on terminal VM failures. #6713 turned the
error into an enum and formatted it with Display, nesting the prefix.

Treat an interrupted model attempt with confirmed cleanup as settled when
validating a history/fork cut, matching the store's own pending index. A
cooperatively stopped Run no longer makes publishCheckpoint unavailable.

Run the computer-use native nextest suite only on macOS. #6713 removed every
Windows test its filter selected, so the Windows suite was empty and failed
before any desktop verification ran; Windows keeps its compile check.

Generated-by: Antigravity
…port

Box archive initialization separately so nested streaming cursors do not carry its full async state in every read frame. The existing cooperative-stop/reopen integration test now passes with the default Host thread stack in debug builds.

Exercise encrypted replay and physical rate-limit retries through the Responses WebSocket transport. Preserve connection errors except the expected reset when the owned source process is killed.

Generated-by: Codex
@M4n5ter
M4n5ter force-pushed the fix/rust-preview-ci-headers-vm-prefix branch from 0ad230c to aa61800 Compare November 10, 2026 07:49
@M4n5ter
M4n5ter merged commit 0c4de9f into rust-preview Nov 10, 2026
1 check passed
@M4n5ter
M4n5ter deleted the fix/rust-preview-ci-headers-vm-prefix branch November 10, 2026 07:51

@Astro-Han Astro-Han left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed the complete seven-file author change at aa61800d1684c95c22d0d4461ed9bec86489fb5e. Its actual merge onto fe863bc769151d2fb305186bfceef93f23994162 has the same tree as landed 0c4de9fe3110c222641e7b35684e8a0cbe19635c. I found no demonstrated new P0–P2 defect in the inspected change.

In session_history/fork.rs, the stopped-attempt admission now agrees with the store's pending-attempt predicate: either recorded closure or interruption is necessary, and confirmed cleanup is still required. I checked the fold's interruption and cleanup transitions, the pending index, the existing Turn boundary/unknown-effect checks, and the guarded capture and publication callers. The change does not bypass tool, cell or external-effect obligations. In archive/encoding/source.rs, only initialization is boxed; the recursive cursor's ownership, budget, failure propagation and emitted-byte paths remain intact. I did not measure future sizes or execute the debug Host stack-overflow reproduction locally.

Health::fail in platform/js-runtime/src/plugin.rs now reads the inner diagnostic instead of formatting an already prefixed Error. In the native recovery fixture, the adapter explicitly selects Codex Responses; the new WebSocket server accepts response.create frames, injects a 429 error and records the subsequent physical request. I checked that the original process kill/reopen, no-resend, frozen request/provenance, compatible versus incompatible encrypted-state, and identical retry-byte assertions remain, with unexpected server errors propagated at cleanup. Those end-to-end assertions were source-reviewed here, not executed locally.

The CI change retains a Computer Use compile check on Windows/Linux and runs this platform-specific unit-test selection on macOS. The removed selectors no longer have Windows tests. This explains the prior Windows job's 0 tests / 97 skipped failure; it is not evidence that Windows desktop behavior has passed. Other native pixel and desktop suites retain their empty-selection failure checks.

With locked, patched dependencies on Node 24.18.1, the 14 CI tests pass, and the complete tooling suite passes with 191 passed and one skipped. The normal formatting check passes, including workspace Rust formatting and 382 Biome files. ASF source-header checking passes. The combined license check stops because this machine lacks cargo-deny; I do not report it as a completed license audit. An earlier tooling attempt without dependencies or Cargo failed for those local prerequisites, then passed after they were supplied.

CI update: the PR's run 42777986980 and landed run 42778175944 have both completed with failure on attempt 1. In each run, 32 other jobs succeeded; the Windows/macOS native jobs and final summary failed. I read both platform logs: Windows desktop reports 15 passed and five failed, while macOS reports 17 passed and four failed. The failing cases concern Continue, Goal, tool display and steering; Windows also fails the message-action case. Diagnostics are missing controls, a message not reaching the provider, or a timeout. The parent fe863bc7 does not provide a completed desktop control run: Windows stops on an empty unit-test selection, and macOS stops at the earlier reopen fixture. The desktop fixture source is unchanged from that parent, but this alone does not establish causation. I have not demonstrated that these desktop failures are caused by this PR, nor that they are intermittent. These runs do not establish successful native acceptance. I have not compiled or run the affected product Rust suites, native Windows/macOS UI, real retained business sessions or old-database upgrades. The author's Rust results remain attributed to the author. The older bb914bde and #6723 c99b2578 failures describe their own baselines, not this landed change's outcome. There are no dependency, wire-schema, compatibility-branch or build-profile changes in this PR.


Automated review notice: This comment was posted by an automated review agent operated by Astro-Han. It is not an independent human review and does not replace one.

sunrioa added a commit to sunrioa/maka that referenced this pull request Nov 10, 2026
Sync rust-preview through apache#6740, retaining its archive and WebSocket recovery fixes. Handle scheduler revision conflicts and wait for original Run cleanup in the discovery fixtures.

Generated-by: OpenAI Codex
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.

3 participants