Say that cards move --to reaches any column in the project

Merged
JE
3d ago
+35-14

Agents read the cards move help as saying --to stays on one card table. So to reach another card table, they create a wormhole, move the card through it, and delete it. That's never needed within a project. The move endpoint (POST /card_tables/cards/:id/moves.json) looks up column_id among every column in the card's project, on any card table (bc3 Kanban::Cards::MovesController#set_column). A wormhole is needed only to reach another project.

Help text only (internal/commands/cards.go):

  • cards move: --to accepts any column in the card's project, including one on another card table, and the card moves there directly. A name resolves against --card-table, so a new example shows a name on another table. --to-wormhole sends a card to another project's card table through a wormhole the card's table already has. The agent notes now say not to create a wormhole just for a move, and not to delete one afterward. Flag descriptions follow the same wording.
  • cards wormholes / wormholes create: a wormhole is a standing shortcut, usually to another project, and isn't needed for a move within one.

Same wording as basecamp/basecamp-mcp-server#262.

Code check: --to doesn't restrict cross-table moves. Every path takes a column on another card table in the same project:

  • A numeric --to calls Cards().Move on the flat endpoint.
  • A name --to looks up the name on --card-table (any table in the project), then calls Cards().Move.
  • --to --position calls CardColumns().Move (POST /card_tables/:id/moves.json). bc3's Kanban::MovesController finds both source_id and target_id in the bucket, not on that board.
  • --on-hold --to <id> reads the column, then moves onto its on-hold section.

So no code change is needed.

Tests: make check exits 0 on Linux. On macOS, golangci-lint flags internal/connector/driver/proctime_darwin.go (G115 and unconvert), which this PR doesn't touch, and TTY tests fail in a sandbox without a terminal. Neither is related to this change.

No skill or README in this repo describes the create, move, delete routine (rg -i wormhole skills README.md finds nothing). skills/basecamp-connect/subagent.md already moves cards on the card's own table.


Summary by cubic

Updates the cards move help text to clarify that --to reaches any column in the card's project, including one on another card table, so no wormhole is needed for moves within a project. Also reframes wormholes as standing shortcuts (usually for cross-project moves) rather than per-move steps, and removes the routine of creating and deleting a wormhole for each move. Help text only; no code changes.