Story: Compass quality-of-life improvements

Table of Contents

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

Goal

Collect small, standalone improvements to compass itself — ergonomics, safety nets, and workstation-integration niceties — that are each too small to warrant their own story but are still real, shippable developer-experience work.

Status

Field Value
State DONE
Parent sprint Sprint 24
Now The two shipped tasks (compass claude launcher + environment-scoped naming) each satisfy this story's own acceptance independently. Closed at sprint 24 health review; the three remaining not-yet-started tasks were split into Compass quality-of-life improvements: remaining follow-ups in the product backlog.
Waiting on Nothing.
Next Nothing – see the split-off story for further compass DevX work.
Last touched 2026-08-03

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 claude, a systemd-scoped Claude Code launcher DONE 2026-07-29 2026-07-29 New compass claude subcommand launches Claude Code as a transient systemd –user scope under a checked-in app-claude.slice, so systemd-oomd can kill a runaway session without taking its parent (e.g. Emacs) down with it. Deploys the slice unit on first use, no separate machine bootstrap needed.
Name compass claude's systemd scope after the environment identity DONE 2026-07-29 2026-07-29 compass claude currently names its transient systemd scope/unit claude-<pid>, so systemd-cgtop/systemctl –user status can't tell which worktree a Claude session belongs to. Include ORES_ENV_NAME (falling back to the checkout dir name) in the unit name, e.g. claude-<env>-<pid>.

Decisions

Out of scope

Emacs 29.3 (Org mode 9.6.15)