Task: Add a compass help command

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 help dispatch in main() before the unknown-command handler. compass help rewrites argv to --help and recurses into main() to trigger argparse's built-in help. compass help <cmd> rewrites argv to <cmd> --help and recurses, triggering that sub-command's own help output. Works for both early-dispatch commands (db, services, etc.) and argparse-managed ones (fleet, bearings, etc.).

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
#1885 [compass] Add compass help command

Review

Comment summary File Decision Notes
       

Result

compass help prints top-level usage. compass help <cmd> prints that command's full usage (same as compass <cmd> --help). Works for all commands: early-dispatched (db, services, etc.) and argparse-managed (fleet, bearings, etc.). Implemented via argv rewriting + recursive main() call — no new parser or help text.

Emacs 29.3 (Org mode 9.6.15)