feat(api): add PlatformMachines snapshot deletion
Adds the upstream half of manaflow-ai/cmux-platform#34: PlatformMachines.deleteSnapshot(caller, snapshot) validates the snapshot id, honors PLATFORM_MACHINES, and routes a new deleteSnapshot call through the team's CloudDO. CloudDO accepts only snapshots recorded by that user's platform snapshot operation, submits cloud.snapshot.delete through the normal operation ledger/provider driver, and replays a completed delete as { deleted: true } after the row is gone.
Tests cover owner deletion with one provider call and an idempotent retry, wrong-team and non-platform refusal without provider calls, invalid ids, and the disabled surface. Base test red: the new cases fail with TypeError: The RPC receiver does not implement "deleteSnapshot" (3 failed, 8 passed). Head test green: bun run test -- test/platform-machines.test.ts (11 passed); API typecheck passes.
This is additive and leaves manaflow-ai/cmux#27063 untouched. That open HOLD PR extends other PlatformMachines lifecycle calls in the same entrypoint; this change is deliberately limited to the snapshot-delete seam so either PR can land first.
Risk is limited to the new RPC and fake-provider counter used by its focused workerd coverage. No staging or production enablement changes are included.
Serves manaflow-ai/cmux-platform#34. Leo: "hey you need to look at the issues in hq and cmux-platform... lotta cloud related stuff goes in latter now" and "make sure it's not nonsense".
Remote lane CI run: https://github.com/manaflow-ai/cmux/actions/runs/40973563334 ran the backend checks successfully; the aggregate is red only on the unrelated cmux-next guards / nightly-guards / workflow-guard-tests / release-notary step Test What's New highlights and release notes.
Agent session: agent session