adom-cli
Public Made by Adomby adom
Adom CLI — platform binary for containers, repos, workspaces, orgs, SSH keys, Hydrogen settings, and more
workspace: registry records the launcher pid, and a teardown verb to stop what a bench started
Two related asks after a day of applying benches on Colby's container (adom-cli 0.6.0).
The launch registry records the launcher's pid, not the server's.
~/.adom/launches.jsonon this container lists pids 3822017 (adom/kicad-bridge), 3746542 (adom/altium-bridge) and 3822204 (adom/adom-lbr); all three are gone from /proc, while ports 8931, 8932 and 8785 still answer 200. The dock manifests launch throughsh -c '...; exec <app> serve --print-url', so the recorded pid is the wrapper that exited or daemonized. Record the pid that owns the listening port (or the pid the app prints alongside its URL), and treat a registry entry whose port answers but whose pid is gone as "serving, pid unknown" rather than dead.A teardown verb, so benches do not leave a growing pile of dashboards:
adom-cli hydrogen workspace teardown [<ref> | <file> | --all] [--dry-run]. For each app the bench started: run the dock manifest'sstopstep when one exists (proposed optionallaunch.stop: { run }in dock_manifest 1.3, backwards compatible), else POST the app's shutdown route if the manifest names one, else signal the port-owning pid; then remove the tabs the apply created (never the VS Code pane, never tabs it did not create), and clear the registry entries.applyof a different bench should NOT stop the previous bench's apps by itself (other tabs may use them) but should list them as "still serving from " in its hints so the user can tear down. Apps that follow the app-creator-server-lifecycle skill already self-reap after 24 h idle, so the pile is bounded today; teardown makes it immediate.
Hydrogen Cloud can then offer "Unload" next to Apply through the same terminal.tui path it uses for apply.