Skip to content

Hide the unreleased inbox command from help and the agent skill - #1750

Merged
backnotprop merged 1 commit into
mainfrom
chore/hide-inbox-until-launch
Oct 7, 2026
Merged

backnotprop merged 1 commit into
mainfrom
chore/hide-inbox-until-launch

Conversation

@backnotprop

Copy link
Copy Markdown
Owner

The Inbox back end (#1745) is in the binary, but its window is still a stub page, so the next release (0.28.7) must not advertise it (owner: "don't show inbox until we release it"). plannotator inbox, inbox --background, inbox --no-open, inbox mcp and inbox --help all keep working. They are only removed from the places that advertise the CLI.

Hidden from:

  • plannotator --help: the two inbox usage lines are gone.
  • "Did you mean" suggestions: typing plannotator inbo no longer suggests inbox. inbox is still a known subcommand, so it never reports "Unknown command".
  • The plannotator knowledge skill (apps/skills/core/plannotator/SKILL.md): the ## plannotator inbox section and the table row are removed. The Pi and OpenCode copies are generated from this file at build time (both gitignored), and install.sh copies the same source, so nothing else needed editing.

Mechanism: HIDDEN_SUBCOMMANDS in apps/hook/server/cli.ts. The freshness guard (plannotator-skill-reference.test.ts) still requires every non-hidden subcommand to be documented in the skill. A hidden subcommand must be absent from the skill and from the top-level help, and it must still have a SUBCOMMAND_HELP entry, so a stale name in the set cannot make the test pass on nothing. I checked both directions by hand:

  • With inbox added back to the skill, the test fails: "is unreleased … but SKILL.md documents it".
  • With the set empty, the test fails: "plannotator inbox is not documented".

To un-hide: delete it from the set, add the top-level usage lines back, and document it in the skill. AGENTS.md has a one-line note about this beside the skill's entry in the project structure. I kept that note out of the Inbox section to avoid conflicts with the inbox thread-routing work.

Checked and left as is: the marketing docs, the README, the plugin command stubs, the OpenCode/Pi commands and the plannotator tool contract never mention the Inbox. The session.inbox.* names in the OpenCode plugin are OpenCode's own events and have nothing to do with this. The Inbox's own MCP instructions are seen only by an agent that has already registered plannotator inbox mcp. uninstall --dry-run lists the Inbox only when its data exists.

Proof (temp PLANNOTATOR_DATA_DIR):

  • bun apps/hook/server/index.ts --help: no inbox lines.
  • … inbo: prints "Unknown command" with no suggestion.
  • … inbox --help: still prints its usage.
  • … inbox --background: printed its URL and exited 0. /api/inbox/health answered, and the token-guarded stop route then stopped it.
  • The generated Pi skill copy contains no "inbox".
  • bun run typecheck passes.
  • bun test apps/hook packages/server: 1729 pass, 2 skip, 0 fail.

🤖 Generated with Claude Code

The Inbox back end (#1745) ships in the binary, but its window is still a
stub, so 0.28.7 must not advertise it. `plannotator inbox` keeps working
(and keeps `inbox --help`) for developers and the coming connections; it is
only taken out of discovery.

- cli.ts: HIDDEN_SUBCOMMANDS (today `inbox`). Top-level help no longer
  lists the inbox lines.
- unknown-subcommand.ts: hidden subcommands stay known to the dispatcher
  but are never offered as a "Did you mean" suggestion.
- The plannotator knowledge skill drops its Inbox section and table row.
- plannotator-skill-reference.test.ts: every non-hidden subcommand must
  still be documented; a hidden one must be ABSENT from the skill and the
  top-level help, and must still be a real subcommand.
- AGENTS.md: one line on HIDDEN_SUBCOMMANDS and how to un-hide.

Co-Authored-By: Claude <noreply@anthropic.com>
@backnotprop
backnotprop merged commit 708f4b3 into main Oct 7, 2026
40 of 41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant