Skip to content

docs(design): microVM Runner V2b — in-guest supervisor + vsock exec control plane (RIG-2493) - #643

Open
rigel-mintaka wants to merge 2 commits into
mainfrom
compass-runner/rig-2493-v2b-design
Open

docs(design): microVM Runner V2b — in-guest supervisor + vsock exec control plane (RIG-2493)#643
rigel-mintaka wants to merge 2 commits into
mainfrom
compass-runner/rig-2493-v2b-design

Conversation

@rigel-mintaka

Copy link
Copy Markdown
Contributor

Details the frozen parent's schedule-critical V2b milestone
(microvm-runner.md § Plan V2b): grow compass-guestd into the real in-guest
supervisor serving an additive GuestControl exec surface
(Exec/ExecStream/Signal/Provision over the V2a proto seed), and fill
MicroVMRuntime's Create/Start/Exec/ExecStreaming/Stop/Remove so the microVM
backend behaves identically to PodmanCLI through the ContainerRuntime
interface.

Sibling detailing record to the V2a boot-spike record, under the same
compass-elastic-session-runtime design directory. Resolves the forks the parent
left to detailing — the exec surface (a), the guestd supervisor + fail-closed
gate (b), the MicroVMRuntime methods (c), Stop/Remove teardown (d), and the
exec-transport auth question (e) — and batches seven Open Questions (OQ-A..G)
for a pre-freeze ruling, four of them load-bearing.

Status: PROPOSED.

Ledger-impact: none — details forks the frozen parent already framed and
resolves them within its decisions; no new DECISIONS.md row (OQ-A auth and OQ-G
error-taxonomy are candidates for promotion if Matt wants them citable outside
this lineage).

Refs RIG-2493
Co-authored-by: Matt Wilkinson matt@rigel.build

@linear-code

linear-code Bot commented Aug 26, 2026

Copy link
Copy Markdown

RIG-2493

@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-runner-rig-2493-v2b.compass-eng-docs.pages.dev

Deployed from compass-runner/rig-2493-v2b-design at 7c5868c.

Changed pages:

rigel-mintaka and others added 2 commits August 26, 2026 00:25
…ontrol plane (RIG-2493)

Details the frozen parent's schedule-critical V2b milestone
(microvm-runner.md § Plan V2b): grow compass-guestd into the real in-guest
supervisor serving an additive GuestControl exec surface
(Exec/ExecStream/Signal/Provision over the V2a proto seed), and fill
MicroVMRuntime's Create/Start/Exec/ExecStreaming/Stop/Remove so the microVM
backend behaves identically to PodmanCLI through the ContainerRuntime
interface.

Sibling detailing record to the V2a boot-spike record, under the same
compass-elastic-session-runtime design directory. Resolves the forks the parent
left to detailing — the exec surface (a), the guestd supervisor + fail-closed
gate (b), the MicroVMRuntime methods (c), Stop/Remove teardown (d), and the
exec-transport auth question (e) — and batches seven Open Questions (OQ-A..G)
for a pre-freeze ruling, four of them load-bearing.

Status: PROPOSED.

Ledger-impact: none — details forks the frozen parent already framed and
resolves them within its decisions; no new DECISIONS.md row (OQ-A auth and OQ-G
error-taxonomy are candidates for promotion if Matt wants them citable outside
this lineage).

Refs RIG-2493
Co-authored-by: Matt Wilkinson <matt@rigel.build>
…, U3b ordering (RIG-2493)

Address the four findings from the review pass on #643 (0 high, 2 medium, 2
low), all internal-consistency drift the record's own decisions already
resolved:

- U1 now explicitly owns the additive `boot_nonce` field on `HealthResponse`
  (medium): the Global Constraint and §(e) mandate it and U2/U4 consume it, but
  no task's stated deliverable produced it. Named in the U1 body and Interfaces
  list as field 4.
- §(c) Create assembles a fixed guest CID (3) + fixed guestd port (medium),
  matching the OQ-F recommendation the body designs against, instead of a
  per-session "fresh CID ≥ 3 and port" — per-session uniqueness rides the
  AF_UNIX socket paths, since nothing routes on the CID.
- Plan ordering names the U3 → U3b type dependency (low): U3's waitFunc
  constructs U3b's portable exit-signal error, so under OQ-G option 1 U3b lands
  with or just before U3; under option 2 U3's contract and the U5 kill/wait row
  change.
- U2 Interfaces cites `healthService`'s definition (`health.go:14-40`) threaded
  through `serveVsock`/`serveHandshake` (`vsock.go:27-41`) instead of a call
  site (low).

Ledger-impact: none

Refs RIG-2493
Co-authored-by: Matt Wilkinson <matt@rigel.build>
@rigel-mintaka
rigel-mintaka force-pushed the compass-runner/rig-2493-v2b-design branch from 56ac7cb to 7c5868c Compare August 26, 2026 04:26
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