swactor/crates
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
..
bindings refactor: drop datastore crate, stale specs, and benches 2026-06-23 19:42:28 +04:00
dashboard feat(mvp-chat): local e2e chat on cuda gpu 2026-07-01 12:44:25 +04:00
datastream refactor: retire old pipeline-parallel app, restructure mvp-system 2026-07-07 14:40:02 +04:00
distribution refactor(dashboard): rebuild around swactor worker view 2026-06-25 11:29:16 +04:00
iroh-driver feat: add mvp provisioning subsystem and datastream transport 2026-06-25 16:30:18 +04:00
mvp-system refactor ssh bootstrap logic 2026-07-08 18:06:00 +04:00
process feat: add mvp provisioning subsystem and datastream transport 2026-06-25 16:30:18 +04:00
transport refactor: drop datastore crate, stale specs, and benches 2026-06-23 19:42:28 +04:00