PRD 0032: Decompose smolmachines launch and harden bringup sequencing #123
Reference in New Issue
Block a user
Delete Branch "prd-0032"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #122.
PRD:
fe97b6014d/docs/prds/0032-smolmachines-launch-decomposition.mdSummary
launch()function into six named per-step helpers with explicit inputs/outputs and individual testability.time.sleep(1.5)(empirical libkrun exec-channel warm-up) with await_exec_readypoll-until-ready loop insmolvm.py.loopback_alias.allocate()to close the concurrent-launch alias-collision window.Explicitly out of scope:
force_allowlistDB patch (waiting on smolvm upstream fix), ephemeral registry dance,_ensure_smolmachinecache.Changes (1 commit)
docs(prd): PRD 0032 — smolmachines launch decomposition@@ -200,0 +218,4 @@breaktime.sleep(min(delay, remaining))delay = min(delay * 2, 0.5)die(Will this crash the dashboard?
If so, this should be some kind of error we raise instead, and some other handler should decide whether or not it dies.
RE #123 (comment)
die()raisesDie(SystemExit), so the dashboard won't hard-crash —Dieis specifically designed to be caught and re-surfaced by the curses layer. But you're right that it's the wrong signal here: a timeout deep in bringup should be a plain exception so the caller decides whether it's fatal, rather than implying a process exit from inside a helper.Will change to raise
SmolvmErrorinstead, which is whatmachine_startalready raises and what the launch flow propagates normally.didericis-claude referenced this pull request2026-06-02 02:32:20 -04:00