Skip to content

[Task]: GH-C06 extract Goal Channel runtime CLI ownership #3710

Description

@LIHUA919

Task ID or area

GH-C06

Technical direction

Core control-plane hardening

Intent

I want to claim an existing task

Summary

loopx/cli_commands/goal_channel.py currently owns both the Lark Goal Channel CLI and the built-in botmux runtime command group. Extract the existing goal-channel runtime setup/doctor/trigger/status/disable registration and dispatch into the nearest focused CLI owner while preserving every public invocation and behavior.

This is a bounded GH-C06 maintainability slice. It follows the earlier registry-admin extraction in #3656 but targets a separate command family and file.

Proposed scope

In scope:

  • characterize the current runtime subcommand registration and dispatch behavior;
  • move the cohesive runtime registration/dispatch group into a focused owner module;
  • update the active call site and remove the old branch rather than retaining a compatibility wrapper without a real external import contract;
  • preserve public CLI names, arguments, output, receipts, and error behavior;
  • keep Goal Channel as the existing capability owner and botmux runtime as the existing built-in/internal route;
  • retain focused regression coverage for botmux runtime, Lark Goal Channel, and CLI module ownership.

Out of scope:

  • runtime behavior or receipt-semantic changes;
  • provider lifecycle or Lark routing changes;
  • new CLI options, capabilities, providers, or generic abstractions;
  • unrelated cleanup in adjacent command families.

Intended base branch

main

Relevant files or commands

  • loopx/cli_commands/goal_channel.py
  • proposed focused owner: loopx/cli_commands/goal_channel_runtime.py
  • tests/control_plane/test_botmux_goal_channel_runtime.py
  • tests/extensions/test_lark_goal_channel.py
  • regression/cli-command-module-contract.py

Validation plan

  • python3 -m pytest -q tests/control_plane/test_botmux_goal_channel_runtime.py tests/extensions/test_lark_goal_channel.py
  • python3 regression/cli-command-module-contract.py
  • python3 -m py_compile loopx/cli_commands/goal_channel.py loopx/cli_commands/goal_channel_runtime.py
  • loopx canary premerge --from-git-diff
  • loopx check --scan-path loopx/cli_commands/goal_channel.py --scan-path loopx/cli_commands/goal_channel_runtime.py --scan-path tests/control_plane/test_botmux_goal_channel_runtime.py --scan-path tests/extensions/test_lark_goal_channel.py

Public/private boundary

  • This issue does not include private benchmark traces, verifier output, credentials, internal document links, raw agent sessions, or local runtime state.
  • I will not run or duplicate maintainer-owned benchmark cases unless a maintainer explicitly splits out a public task.

I would like to work on this focused slice. Please mark it claimed or suggest a smaller boundary before implementation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions