Skip to content

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

Merged
jeremy merged 1 commit into
mainfrom
wormhole-docs
Oct 17, 2026
Merged

jeremy merged 1 commit into
mainfrom
wormhole-docs

Conversation

@jeremy

@jeremy jeremy commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

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.

Written for commit 1938355. Summary will update on new commits.

View guided diff Turn on auto-fix

The move endpoint resolves column_id against every column in the card's
project, on any card table, so a move to another card table in the same
project is direct. The help read as though --to stayed on one card
table, which steered agents to create a wormhole, move through it, and
delete it. Say --to takes any column in the project, that --to-wormhole
is for another project's card table, and that a wormhole is a standing
shortcut rather than a per-move step.
@jeremy
jeremy requested a review from a team as a code owner October 17, 2026 04:09
Copilot AI balanced review requested due to automatic review settings October 17, 2026 04:09
@github-actions github-actions Bot added the commands CLI command implementations label Oct 17, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-17T04:10:36.135137Z 1938355 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approved

The help-only changes align with existing command behavior, with no unresolved findings.

No open issues 🎉

What changed in this PR

Clarifies that cards can move directly between card tables within the same project, without a wormhole. Changes affect help text and comments only.

Changes:

  • Explains project-wide --to destinations and adds a cross-table example.
  • Describes wormholes as reusable shortcuts rather than per-move steps.

[!TIP]
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

File Description
internal/​commands/​cards.go Updates move and wormhole guidance without changing runtime behavior.

Review effort: Balanced

@jeremy

jeremy commented Oct 17, 2026

Copy link
Copy Markdown
Member Author

Review threads: none opened. Copilot approved 1938355 and Codex completed on 1938355 with no findings.
CI: green on 1938355. Go Security Checker had failed because the golangci-lint schema download timed out; it passed on a rerun.
Nothing open on 1938355.

@jeremy
jeremy merged commit d30da2e into main Oct 17, 2026
35 of 36 checks passed
@jeremy
jeremy deleted the wormhole-docs branch October 17, 2026 06:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commands CLI command implementations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants