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. |