From 4c3fd49fc078cdc2734dc334043d7d27d93af859 Mon Sep 17 00:00:00 2001 From: JasonBuildAI Date: Tue, 27 Oct 2026 08:34:27 +0800 Subject: [PATCH 1/2] fix(cli): classify the shipped dsh-launch command in the manual The secure DSH launcher added in edc9f84e1 registers a top-level `loopx dsh-launch` command but never declared its manual visibility, so the required tests/test_cli_manual_visibility.py shard and the documented release preflight examples/cli-help-manpage-smoke.py both fail on an unmodified main with {'unclassified': ['dsh-launch']}. Add the command to the manual catalog next to the analogous `loopx dashboard` host launcher, since packages/dsh-loopx-plugin/README.md routes users to `loopx dsh-launch web` as the credential-safe launch path, and regenerate the checked-in manual. Fixes #7438 Signed-off-by: JasonBuildAI --- loopx/help_surface.py | 7 +++++++ man/loopx.1 | 3 +++ 2 files changed, 10 insertions(+) diff --git a/loopx/help_surface.py b/loopx/help_surface.py index e11583491a..cb177397e6 100644 --- a/loopx/help_surface.py +++ b/loopx/help_surface.py @@ -82,6 +82,13 @@ def register_command_reference(subparsers: argparse._SubParsersAction) -> None: "command": "loopx dashboard", "purpose": "Start the local dashboard, status service, and Agent Chat service with one command.", }, + { + "command": "loopx dsh-launch [dsh args...]", + "purpose": ( + "Launch DeepSeek Harness with this machine's stored provider " + "credential and no secret in argv or output." + ), + }, { "command": "loopx chat --goal-id ", "purpose": "Open Goal Studio, ask the read-only Agent for a bounded Todo, and approve its preview before writeback.", diff --git a/man/loopx.1 b/man/loopx.1 index be781e1333..610cf98e43 100644 --- a/man/loopx.1 +++ b/man/loopx.1 @@ -66,6 +66,9 @@ Show goals, gates, attention queue, and next action. \fBloopx dashboard\fR Start the local dashboard, status service, and Agent Chat service with one command. .TP +\fBloopx dsh\-launch [dsh args...]\fR +Launch DeepSeek Harness with this machine's stored provider credential and no secret in argv or output. +.TP \fBloopx chat \-\-goal\-id \fR Open Goal Studio, ask the read\-only Agent for a bounded Todo, and approve its preview before writeback. .TP From 84196f30987c75c29ca476dab335ab5aac882bcd Mon Sep 17 00:00:00 2001 From: JasonBuildAI Date: Tue, 27 Oct 2026 08:53:31 +0800 Subject: [PATCH 2/2] fix(cli): qualify dsh-launch in the CLI output budget Once dsh-launch is taught in the manual it joins the agent-facing help surface enumerated by the CLI output budget manifest, so the manifest needs an explicit qualification row. Classify it as an explicit cold-path launcher: it runs on demand and the provider credential reaches only the child environment. Signed-off-by: JasonBuildAI --- loopx/control_plane/testing/cli_output_budget.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/loopx/control_plane/testing/cli_output_budget.py b/loopx/control_plane/testing/cli_output_budget.py index 27527f17f5..2d136dca81 100644 --- a/loopx/control_plane/testing/cli_output_budget.py +++ b/loopx/control_plane/testing/cli_output_budget.py @@ -702,6 +702,15 @@ class CliOutputCommandClassification: surface_id=None, rationale="interactive local dashboard launched explicitly by the operator", ), + CliOutputCommandClassification( + command_id="dsh-launch", + qualification="explicit_cold_path_exception", + surface_id=None, + rationale=( + "explicit host launcher invoked on demand; the provider credential " + "reaches only the child environment" + ), + ), CliOutputCommandClassification( command_id="diagnose", qualification="qualified_default",