2.8 KiB
2.8 KiB
| name | description |
|---|---|
| parallels-discord-roundtrip | Run the macOS Parallels smoke harness with Discord end-to-end roundtrip verification, including guest send, host verification, host reply, and guest readback. |
Parallels Discord Roundtrip
Use when macOS Parallels smoke must prove Discord two-way delivery end to end.
Goal
Cover:
- install on fresh macOS snapshot
- onboard + gateway health
- guest
message sendto Discord - host sees that message on Discord
- host posts a new Discord message
- guest
message readsees that new message
Inputs
- host env var with Discord bot token
- Discord guild ID
- Discord channel ID
OPENAI_API_KEY
Preferred run
export OPENCLAW_PARALLELS_DISCORD_TOKEN="$(
ssh peters-mac-studio-1 'jq -r ".channels.discord.token" ~/.openclaw/openclaw.json' | tr -d '\n'
)"
pnpm test:parallels:macos \
--discord-token-env OPENCLAW_PARALLELS_DISCORD_TOKEN \
--discord-guild-id 1456350064065904867 \
--discord-channel-id 1456744319972282449 \
--json
Notes
- Snapshot target: closest to
macOS 26.3.1 fresh. - Snapshot resolver now prefers matching
*-poweroff*clones when the base hint also matches. That lets the harness reuse disk-only recovery snapshots without passing a longer hint. - If Windows/Linux snapshot restore logs show
PET_QUESTION_SNAPSHOT_STATE_INCOMPATIBLE_CPU, drop the suspended state once, create a*-poweroff*replacement snapshot, and rerun. The smoke scripts now auto-start restored power-off snapshots. - Harness configures Discord inside the guest; no checked-in token/config.
- Use the
openclawwrapper for guestmessage send/read;node openclaw.mjs message ...does not expose the lazy message subcommands the same way. - Write
channels.discord.guildsin one JSON object (--strict-json), not dottedconfig set channels.discord.guilds.<snowflake>...paths; numeric snowflakes get treated like array indexes. - Avoid
prlctl enter/ expect for long Discord setup scripts; it line-wraps/corrupts long commands. Useprlctl exec --current-user /bin/sh -lc ...for the Discord config phase. - Full 3-OS sweeps: the shared build lock is safe in parallel, but snapshot restore is still a Parallels bottleneck. Prefer serialized Windows/Linux restore-heavy reruns if the host is already under load.
- Harness cleanup deletes the temporary Discord smoke messages at exit.
- Per-phase logs:
/tmp/openclaw-parallels-smoke.* - Machine summary: pass
--json - If roundtrip flakes, inspect
fresh.discord-roundtrip.loganddiscord-last-readback.jsonin the run dir first.
Pass criteria
- fresh lane or upgrade lane requested passes
- summary reports
discord=passfor that lane - guest outbound nonce appears in channel history
- host inbound nonce appears in
openclaw message readoutput