Task: Show per-environment operational status in compass fleet

Table of Contents

This page documents a task in the Compass quality-of-life improvements: remaining follow-ups story. It captures the goal, current status, acceptance, and any notes or results.

Goal

(Describe what user-visible-or-internal change this task produces.)

Status

Field Value
State DONE
Parent story Compass quality-of-life improvements: remaining follow-ups
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-08-05

Acceptance

Plan

Added --status flag to compass fleet (opt-in, slow). Three helpers in compass.py:

  • _worktree_services_status(env_name)systemctl --user is-active ores-<env>.target
  • _worktree_client_status(path, preset) — checks ores.qt*.pid files in the worktree's run dir
  • _worktree_db_status(env)psql query against ores_database_info_tbl with 3s timeout
  • _read_env_map_for(path) — reads a worktree's .env (mirrors _read_env_map() for a different root)

Status columns (SERVICES/CLIENT/DB) only appear when --status is given; fleet without it is unchanged. All checks use the target worktree's .env.

Notes

Test Scenarios

Manual QA scenarios (scaffolded via compass add test_scenario, run through the QA Validation Runner panel) that verify this task. Link new ones here as they're created; the scenario doc itself links back via its "Verifies task" field.

Scenario State Notes
     

PRs

PR Title
#1884 [compass] Add –status flag to compass fleet

Review

Comment summary File Decision Notes
       

Result

compass fleet --status adds SERVICES, CLIENT, and DB columns per worktree. Checks use the target worktree's .env (never the current one's). SERVICES reads systemctl --user is-active; CLIENT checks PID files in the worktree's run dir; DB queries ores_database_info_tbl via psql with 3s timeout. Without --status, fleet output unchanged.

Emacs 29.3 (Org mode 9.6.15)