Story: Compass quality-of-life improvements: remaining follow-ups

Table of Contents

This page documents a story in Sprint 25. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Originally split from Compass quality-of-life improvements at sprint 24 close (three self-contained tasks not yet started); pulled into sprint 25 and topped up with four more loose compass DX captures found sitting in the backlog (inbox/next/deferred) during a mop-up sweep, so all seven land together as one story instead of each dragging its own PR-review/CI cycle individually.

Status

Field Value
State DONE
Parent sprint Sprint 25
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-08-06

Acceptance

  • Each task is a self-contained compass improvement with its own PR; no cross-task coupling required.

Tasks

Task State Start End Description
Add compass command to prune merged git branches and report branch/environment usage DONE 2026-08-05 2026-08-05 Add a compass git subcommand (e.g. 'compass branches prune' or similar) that deletes all fully-merged local and remote git branches, and separately reports which branches are stale/unmerged, mapping each to the fleet worktree/environment currently using it if any. Formalises a manual git-branch cleanup workflow performed ad hoc in this session (fetch –prune, diff local/remote against origin/main, cross-reference against 'compass fleet' to avoid deleting a branch another environment has checked out, then git branch -d / git push origin –delete for the safe set).
Show systemd slice/scope info in compass fleet and bearings DONE 2026-08-05 2026-08-06 Add systemd slice/scope information to compass fleet and compass bearings output
Support multiple named .env files, e.g. per remote host DONE 2026-08-06 2026-08-06 Every compass command that needs environment or DB config (db recreate, services start, etc.) reads a single hardcoded .env at the repo root, with no way to point at a different target. Surfaced while deploying the containerized service runtime to Newton: compass db recreate had to be run against Newton's Postgres by temporarily editing the repo's own .env in place (ORES_DB_HOST, PGPORT), then restoring it afterward – fragile and easy to forget to revert. Add support for named environment files, e.g. .env.newton alongside the default .env, and a way to select one per invocation (an –env-file flag or similar), so targeting a remote host's DB or services never requires mutating the working .env.
Add a full-content flag to compass show DONE 2026-08-06 2026-08-06 compass show only prints metadata/summary/links for a document; add a flag (e.g. –full) to dump the full body content, so the LLM doesn't have to fall back to the Read tool on the file path.
Show blocked story dependency tree in compass where DONE 2026-08-06 2026-08-06 compass where shows STARTED items but not blocked chains (story C blocked by B blocked by A); surface the dependency tree with root causes in the Orient output.
Show per-environment operational status in compass fleet DONE 2026-08-06 2026-08-06 Extend compass fleet with each worktree's operational state: services running (parse that worktree's .env for preset/label, check its publish/run PID files and readiness logs), client running (ores.qt*.pid), and DB last restored (query that env's database via its own credentials, e.g. a timestamp on ores_database_info_tbl). Every check must use the target worktree's .env, never the current one's.
Add a compass help command DONE 2026-08-06 2026-08-06 compass help currently returns an error. Add a top-level help subcommand that lists all available commands with a one-line description, and compass help for a specific command should show its full usage.
Environment activity log: track manual post-pull setup steps per checkout DONE 2026-08-05 2026-08-05 New compass env activity mechanism (sibling of the .env-format version log): a numbered, org-roam-linked log of one-off environment setup activities (often privileged/manual, e.g. root systemd drop-ins) that compass bearings surfaces as outstanding until a checkout runs 'compass env activity ack'. Includes the .env-format version bump for the new ORES_ENV_ACTIVITY var and the WS-5 root-half recipe as the log's first real entry.
Surface unclaimed BACKLOG stories in compass heading and bearings BACKLOG     compass heading currently skips BACKLOG stories that are in the current sprint but unclaimed. Fix heading and bearings to include these so they don't get lost.
Auto-derive –parent-dir from –parent-id in compass add BACKLOG     When –parent-id is passed, compass knows the parent story path. Auto-derive –parent-dir instead of requiring the caller to guess the slug, or at minimum validate the match and reject mismatches.
Fix false positive redirect detection in deny_piped_compass_hook.py BACKLOG     The REDIRECT_RE regex matches any greater-than character anywhere, including inside quoted strings where it cannot be a shell redirect. Add basic quoting awareness so it only flags operators outside quotes.
Add ASD-STE100 Simplified Technical English skill for agent output DONE   2026-08-08 Create a Claude Code skill based on the ASD-STE100 Simplified Technical English standard that rewrites ambiguous agent output into clear, single-meaning, active-voice sentences. Include references/writing-rules.md and examples/before-after.md from the upstream repo. Install and rebuild the skill bundle.

Decisions

Out of scope

Emacs 29.3 (Org mode 9.6.15)