swactor/crates/mvp-system
Zachery Aaron Shores-Chmielewski f54f62b491 refactor ssh bootstrap logic
Replace stdout-parsed runtime-ready detection with an explicit, plugin-driven bootstrap-completion step and actorize SSH bootstrap teardown.

- provisioning: drop the `PluginObservation::RuntimeReady` variant and add `ProvisionPlugin::complete_bootstrap`, an explicit per-node completion hook (no-op for `LocalDockerPlugin`)
- bootstrap_datastream: remove `parse_runtime_ready`/`RuntimeReadyLine` so bootstrap no longer infers readiness from a parsed stdout JSON line
- vastai_provisioning: drop the `ReadyTrackingSink` ready-flag wrapper; the SSH retry loop now runs purely `while !stopping`, and `complete_bootstrap` stops the node's bootstrap with `BootstrapStopReason::RuntimeReady`
- vastai_provisioning: actorize teardown as `SshBootstrapActor` on the swactor `Runtime` (handle holds an `ActorAddress`), with `stop_bootstrap(handle, reason)` delivering a `Stop` message; add `BootstrapStopReason::{RuntimeReady,NodeStop}`
- actors/provisioner: replace the `RuntimeReady` observation arm with a `ProvisionerMsg::RuntimeReady` handler that calls `complete_bootstrap` then `mark_live`/emits NodeLive (or NodeFailed on error)
- callers/tests: wire the new explicit ready flow through node_agent, the orchestrator/worker_node binaries, and `mvp_one_node_chat`; add the `ssh_bootstrap_actor_stop_kills_child` test

Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
2026-07-08 18:06:00 +04:00
..
src refactor ssh bootstrap logic 2026-07-08 18:06:00 +04:00
tests refactor: retire old pipeline-parallel app, restructure mvp-system 2026-07-07 14:40:02 +04:00
Cargo.toml refactor: retire old pipeline-parallel app, restructure mvp-system 2026-07-07 14:40:02 +04:00
MVP_NODE_PROVISIONING_SPEC.md docs(mvp-system): draft MVP node provisioning spec 2026-06-26 12:13:28 +04:00
MVP_SYSTEM_SPEC.md feat: add mvp provisioning subsystem and datastream transport 2026-06-25 16:30:18 +04:00