Skip to content

sim(TEST-PIX-019): Renode multi-node vehicle — M7+F100 co-execute + IPC hub (Track B mirror of the wasmtime sim)#95

Merged
avrabe merged 1 commit into
mainfrom
sim/renode-multinode-vehicle
Jun 22, 2026
Merged

sim(TEST-PIX-019): Renode multi-node vehicle — M7+F100 co-execute + IPC hub (Track B mirror of the wasmtime sim)#95
avrabe merged 1 commit into
mainfrom
sim/renode-multinode-vehicle

Conversation

@avrabe

@avrabe avrabe commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

The Renode (real synth→ARM, modeled silicon) mirror of the wasmtime combined harness (TEST-PIX-018), per the "first wasmtime, then the same on Renode" sequence. Same two-node scenario (DD-019).

hardware/renode/vehicle/run-vehicle-multinode.sh instantiates both nodes in one Renode emulation: mach m7-fmu (pixhawk6xrt.repl + bring-up firmware) + mach f100-io (gale gust_m3_8k.repl + gust_wasm.elf — the real dissolved failsafe), joined by a UARTHub "relaybus" (the relay-bus carrier proxy, relay#177 / DD-009).

Confirmed: both machines co-execute — mach lists m7-fmu (RT1176, SP 0x20040000) + f100-io (gust, .bss 4256 @ 0x20000214, SP 0x20002000 = 8KB top), both Machine started, M7 lpuart1 on the hub. The multi-node topology of the real-hardware vehicle sim.

Deferred (TEST-PIX-019 = draft, honest scope):

  • Reactive failsafe handoff (gust consuming the M7 heartbeat via ipc-rx, tripping on loss) needs a gust ipc-rx build with a connectable UART (gale — gust_m3_8k.repl has only a SemihostingUart, so only the M7 side is hub-wired today).
  • Real falcon on the M7 is a bring-up stub until the on-target punch-list clears (#369 hard-float / AFD-024, #275 dispatch / AFD-008).

Until then the handoff is orchestration-modeled (pause m7-fmu = M7 fault), mirroring how the wasmtime track host-models the arbitration. Track A (TEST-PIX-018) carries the handoff logic end-to-end; together they are the DD-010/DD-019 SIL-differential at vehicle scale.

rivet validate: PASS.

🤖 Generated with Claude Code

…co-execute in one emulation + IPC hub (Track B mirror of TEST-PIX-018)

The Renode (real synth->ARM) mirror of the wasmtime combined harness, per the
"first wasmtime then the same on renode" sequence. Same two-node scenario (DD-019).

hardware/renode/vehicle/run-vehicle-multinode.sh instantiates BOTH nodes in ONE
Renode emulation: mach m7-fmu (pixhawk6xrt.repl + bring-up firmware) + mach
f100-io (gale gust_m3_8k.repl + gust_wasm.elf, the real dissolved failsafe),
joined by a UARTHub "relaybus" (relay-bus carrier proxy, relay#177 / DD-009).

CONFIRMED: both machines co-execute — `mach` lists m7-fmu (RT1176, SP 0x20040000)
+ f100-io (gust, bss 4256 @0x20000214, SP 0x20002000), both Machine started, M7
lpuart1 on the hub. The multi-node topology of the real-hardware vehicle sim.

DEFERRED (TEST-PIX-019 = draft, honest): reactive failsafe handoff needs a gust
ipc-rx build with a connectable UART (gale — gust repl has only a SemihostingUart,
so only the M7 side is hub-wired); real falcon on the M7 is a bring-up stub until
#369/#275 clear. Until then the handoff is orchestration-modeled (pause m7-fmu),
mirroring the wasmtime track. Track A (TEST-PIX-018) carries the handoff logic
end-to-end; together = the DD-010/DD-019 SIL-differential at vehicle scale.

rivet validate: PASS.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@avrabe avrabe merged commit f35b893 into main Jun 22, 2026
4 checks passed
@avrabe avrabe deleted the sim/renode-multinode-vehicle branch June 22, 2026 19:58
avrabe added a commit that referenced this pull request Jun 23, 2026
…50); migrate 7 statuses; AFD-012 RESOLVED (#100)

rivet v0.18.0 (released 2026-06-23T17:52, post the #550 close) carries the
PER-SCHEMA status enums that were jess's long-standing bump blocker (AFD-012,
pinned at 0.15.0 ~3 weeks):
- ai-found-defect enum = [open, triaged, resolved]  (jess's open/resolved now VALID)
- test-spec enum       = [draft, valid, invalid, in_progress, obsolete]
- requirement          still allows accepted/implemented/verified

Verified on the v0.18.0 darwin binary, migrated the 7 now-mismatched statuses:
- TEST-PIX-005/010/013/017/018: verified -> valid
- TEST-PIX-014: implemented -> valid
- AFD-001: draft -> open (its triage-status)
and bumped RIVET_VERSION v0.15.0 -> v0.18.0 in ci.yml. rivet 0.18.0 validate: PASS
(0 errors, 110 warnings).

AFD-012 marked resolved. Going-forward convention recorded (defects
open/triaged/resolved; test-specs valid/invalid/...). The per-schema-status-enum
work jess advocated in rivet#522/#550 + pulseengine.eu#90/#95 + rivet#554 is shipped.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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