lab service depends on 'screen' for hero_proc_server launch but doesn't install it #256

Open
opened 2026-05-15 19:43:12 +00:00 by mik-tf · 1 comment
Owner

Observed (session 95 / hero_code sweep, lab build #50469)

lab service hero_proc --start (or any dep-chain that needs to bootstrap hero_proc) launches the daemon via:

launching: screen -dmS hero_proc_server /home/pctwo/hero/bin/hero_proc_server

If screen is not installed, the launch silently fails:

fail hero_code_server: dependency 'hero_db_server' failed to start: dependency 'hero_proc_server' (hero_proc_server) failed to start via screen: failed to run screen — is it installed?: No such file or directory (os error 2)

screen is not in the install set of lab flow host or lab install base. On a clean Ubuntu host it's commonly absent.

Two clean fixes

  1. Add screen to lab flow host / lab install base's apt install set so the host preflight provides it.
  2. OR remove the screen dep by launching hero_proc_server via nohup + setsid + &, or fork-and-disown, or systemd-style --detach. screen is a heavyweight choice for "background a daemon".

Either is fine — but the current state where hero_proc launch is gated on an external tool that isn't installed by lab itself is friction.

Why this matters for the sweep

Every developer environment that runs lab service against a fresh hero install must independently discover screen needs to be apt install-ed. Surfacing this as part of the install set (or removing the dep) is one-time effort that saves N developer-discovery cycles.

Refs: lhumina_code/hero_proc#102 (sweep tracker), lhumina_code/hero_code#15 (where this surfaced).

## Observed (session 95 / hero_code sweep, lab build #50469) `lab service hero_proc --start` (or any dep-chain that needs to bootstrap hero_proc) launches the daemon via: ``` launching: screen -dmS hero_proc_server /home/pctwo/hero/bin/hero_proc_server ``` If `screen` is not installed, the launch silently fails: ``` fail hero_code_server: dependency 'hero_db_server' failed to start: dependency 'hero_proc_server' (hero_proc_server) failed to start via screen: failed to run screen — is it installed?: No such file or directory (os error 2) ``` `screen` is not in the install set of `lab flow host` or `lab install base`. On a clean Ubuntu host it's commonly absent. ## Two clean fixes 1. **Add `screen` to `lab flow host` / `lab install base`'s apt install set** so the host preflight provides it. 2. **OR remove the `screen` dep** by launching `hero_proc_server` via `nohup` + `setsid` + `&`, or fork-and-disown, or systemd-style `--detach`. `screen` is a heavyweight choice for "background a daemon". Either is fine — but the current state where hero_proc launch is gated on an external tool that isn't installed by lab itself is friction. ## Why this matters for the sweep Every developer environment that runs `lab service` against a fresh hero install must independently discover screen needs to be `apt install`-ed. Surfacing this as part of the install set (or removing the dep) is one-time effort that saves N developer-discovery cycles. Refs: https://forge.ourworld.tf/lhumina_code/hero_proc/issues/102 (sweep tracker), https://forge.ourworld.tf/lhumina_code/hero_code/pulls/15 (where this surfaced).
Author
Owner

Fix in PR #257 — awaiting squash-merge gate.

Verified under lab build #54729 during testing on the hero_proc#102 sweep:

  • lab service hero_code --start now starts both server and admin via a single invocation (8/8 smoke checks).
  • start_hero_proc no longer destroys a live hero_proc socket on false-negative liveness probe.
  • Missing screen fails fast with a clear pointer to lab install base BEFORE any state cleanup.
Fix in [PR #257](https://forge.ourworld.tf/lhumina_code/hero_skills/pulls/257) — awaiting squash-merge gate. Verified under lab build #54729 during testing on the hero_proc#102 sweep: - `lab service hero_code --start` now starts both server and admin via a single invocation (8/8 smoke checks). - `start_hero_proc` no longer destroys a live hero_proc socket on false-negative liveness probe. - Missing `screen` fails fast with a clear pointer to `lab install base` BEFORE any state cleanup.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_skills#256
No description provided.