Read stdout and stderr concurrently (background thread for stderr)
to prevent the classic deadlock where cargo blocks writing stderr
while the parent blocks reading stdout. Timeout now actually kills
the child process via kill -9. Added eprintln logging for all job
lifecycle events so failures are visible in local-runner.log.
Also switches .ci.yml to use $HOME instead of ~ for shell portability.
Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
Add ci-relay (VPS webhook receiver) and local-runner (Thinkpad CI
executor) crates that communicate over iroh. Includes .ci.yml smoke
test pipeline, simulation tests, and development docs.
Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
Content addressable datastore. Allows you to configure a node to store and stream large blobs of data, and retrieve them from any swactor-connected node.
Co-authored-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
Co-committed-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
Iroh gives us a lot as a transport layer. Lets make use of it.
Co-authored-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
Co-committed-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
Runtime dashboard now features a TUI option and an interface for LLM tool use. Removed some bloat from stats collecting and replaced with a hook function to dump runtime stats into.