From 94dc069fb3e63080055ff785088e00af726d5c49 Mon Sep 17 00:00:00 2001 From: song Date: Fri, 4 Sep 2026 20:16:11 +0800 Subject: [PATCH] fix(cli): restore concise default help and manpage parity `examples/cli-help-manpage-smoke.py` went red on the Full Public Smokes baseline for three help-surface drifts that all trace back to recently merged commands: - #3882 added a two-line `loopx coordination-shadow --help` entry to the bare `loopx` / `loopx --help` first screen, pushing the concise help to 41 lines against the smoke's 39-line concise-default budget. The command is a default-off, experimental Stage 2C admin surface, so it does not belong on the first screen. Drop it from `render_concise_help`; it stays listed under "Daily operator commands" in `loopx commands` and in the manual, so the agent-facing output-budget classification is unchanged. - #3865 registered the top-level `machine-config` command without classifying it for the manual. Add it to `MANPAGE_COMMAND_HELP_ONLY`, matching its Goal-scoped sibling `configure-goal`. - The checked-in `man/loopx.1` was never regenerated after #3882 added `coordination-shadow` to the command catalog. Regenerate it with `scripts/render-manpage.py --output man/loopx.1`. Default-behavior disclosure: the bare `loopx` / `loopx --help` first screen no longer lists `loopx coordination-shadow --help` (back to 39 lines). The grouped reference (`loopx commands`) and the manual page are unchanged in membership; the manual gains the catalog row it was already missing. The 39-line budget was not raised. Validation: - PATH with system bash first: python3 examples/cli-help-manpage-smoke.py -> cli-help-manpage-smoke ok - python3 examples/cli-control-plane-command-modularization-smoke.py -> ok - python3 examples/cli-bootstrap-rollout-helper-command-modularization-smoke.py -> ok - python3 -m pytest tests/control_plane/test_cli_output_budget.py -q -> 21 passed Signed-off-by: song (cherry picked from commit 053bd1c795f889724d93dd22c4b97cb793eba906) --- loopx/help_surface.py | 3 +-- man/loopx.1 | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/loopx/help_surface.py b/loopx/help_surface.py index cc6e142d60..13379c5d90 100644 --- a/loopx/help_surface.py +++ b/loopx/help_surface.py @@ -321,6 +321,7 @@ "heartbeat-prequota", "import-doc-registry-authority", "lark-inbox", + "machine-config", "migrate-state", "ml-experiment", "opencode2-goal-worker", @@ -417,8 +418,6 @@ def render_concise_help(program: str = "loopx") -> str: " Read this agent's thin ledger before replan.", " loopx todo --help Add, claim, complete, update, or archive todos.", " loopx task-lease --help Manage a hard per-todo lease.", - " loopx coordination-shadow --help", - " Inspect, bootstrap, or roll back the default-off file shadow.", " loopx quota should-run Decide whether the next agent turn should run.", "", "Run the loop:", diff --git a/man/loopx.1 b/man/loopx.1 index 576cc70fdd..fe768c98a8 100644 --- a/man/loopx.1 +++ b/man/loopx.1 @@ -87,6 +87,9 @@ Show todo lifecycle commands. \fBloopx task\-lease \-\-help\fR Acquire, renew, transfer, release, or inspect a hard per\-todo lease. .TP +\fBloopx coordination\-shadow \-\-help\fR +Inspect, bootstrap, or revision\-fenced rollback the default\-off Stage 2C file shadow. +.TP \fBloopx quota should\-run\fR Decide whether the next agent turn should run. .TP