launcher-visibility¶
Provenance¶
- Source:
.spec/spexcode/spec-cli/sessions/lifecycle/launch/launcher-select/launcher-visibility/spec.md - Source SHA-256:
e7ef49ea715206547539878bda887d44661ddedc0cbc32628bd3bea8129064a3
launcher-visibility¶
The dashboard's New Session picker is a focused interactive-launch surface, not an inventory of every configured execution profile. A launcher whose [[harness-adapter]] declares itself headless stays a real, resolvable [[launcher-select]] profile, but is hidden from that picker by default so non-interactive adapters do not crowd the ordinary launch choice.
Headlessness is one explicit boolean capability on every Harness adapter. It is never inferred from a
launcher name, command, or harness id, and every adapter declares the value. The launcher projection exposed
through GET /api/settings derives that capability from the resolved adapter and applies the dashboard
visibility policy. dashboard.showHeadlessLaunchers: true reveals headless rows; absent or false hides them.
The setting is portable project policy and belongs in committed spexcode.json; spex init plants the
explicit false default and spex guide settings documents its ownership and effect.
This policy changes visibility only. The CLI and session-create backend continue to resolve the complete
configured launcher map, so spex session new --launcher <name> can explicitly select any launcher,
including a hidden headless one. The dashboard consumes the filtered settings projection; it does not grow
a harness-specific branch or delete the underlying launcher.