Skip to content

fix(core): deliver post-boot mountFs reconfiguration reliably to the native sidecar#1660

Merged
NathanFlurry merged 3 commits into
mainfrom
stack/fix-core-deliver-post-boot-mountfs-reconfiguration-reliably-to-the-native-sidecar-nyvvsyxp
Jul 8, 2026
Merged

fix(core): deliver post-boot mountFs reconfiguration reliably to the native sidecar#1660
NathanFlurry merged 3 commits into
mainfrom
stack/fix-core-deliver-post-boot-mountfs-reconfiguration-reliably-to-the-native-sidecar-nyvvsyxp

Conversation

@NathanFlurry

Copy link
Copy Markdown
Member
  • mountFs/unmountFs now return a promise that settles once the sidecar has applied the mount; delivery failures reject instead of being swallowed.
  • Runtime mount reconfigures resend the boot packages/packagesMountAt/toolShimCommands: Rust configure_vm rebuilds the whole VM configuration from each payload, so omitting them stripped the /opt/agentos projections and tool shims as a side effect of a post-boot mount.
  • Runtime linkSoftware packages are retained too, so a later mountFs no longer unprojects them.
  • The Rust client mount_fs remains in-process-only; sidecar-visible runtime mounts there are a follow-up.

@NathanFlurry

Copy link
Copy Markdown
Member Author

Stack for rivet-dev/agentos

Get stack: forklift get 1660
Push local edits: forklift submit
Merge when ready: forklift merge 1660

…ircuit

- Builds on #1640: also short-circuit on the session record already marked closed (covers exits the kill RPC does not report), and skip the second wait when SIGKILL itself reports the process gone.
- Mirror the short-circuit in the agentos-sidecar-core sync engine, with regression tests proving zero dead waits.
…bridge round-trip

- Resolve `realpath("/")` of a js_bridge mount locally (mirroring host_dir): host-side drivers often cannot canonicalize their own root and returned ENOENT, which aborted kernel permission-subject resolution before the readDir bridge call was ever issued.
- Regression test: readdir of a js_bridge mount root against a driver whose realpath always fails.
…native sidecar

- `mountFs`/`unmountFs` now return a promise that settles once the sidecar has applied the mount; delivery failures reject instead of being swallowed.
- Runtime mount reconfigures resend the boot `packages`/`packagesMountAt`/`toolShimCommands`: Rust `configure_vm` rebuilds the whole VM configuration from each payload, so omitting them stripped the `/opt/agentos` projections and tool shims as a side effect of a post-boot mount.
- Runtime `linkSoftware` packages are retained too, so a later `mountFs` no longer unprojects them.
- The Rust client `mount_fs` remains in-process-only; sidecar-visible runtime mounts there are a follow-up.
@NathanFlurry NathanFlurry force-pushed the stack/fix-core-deliver-post-boot-mountfs-reconfiguration-reliably-to-the-native-sidecar-nyvvsyxp branch from bda847c to a46dab5 Compare July 8, 2026 06:17
@NathanFlurry NathanFlurry changed the base branch from main to stack/fix-native-sidecar-resolve-js_bridge-mount-root-realpath-without-a-bridge-round-trip-wmqznzol July 8, 2026 06:18
@NathanFlurry NathanFlurry changed the base branch from stack/fix-native-sidecar-resolve-js_bridge-mount-root-realpath-without-a-bridge-round-trip-wmqznzol to main July 8, 2026 06:18
@NathanFlurry NathanFlurry merged commit a46dab5 into main Jul 8, 2026
3 checks passed
@NathanFlurry NathanFlurry deleted the stack/fix-core-deliver-post-boot-mountfs-reconfiguration-reliably-to-the-native-sidecar-nyvvsyxp branch July 8, 2026 06:18
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