Skip to content

fix(client): hide client create from the user surface (installer-internal)#192

Open
LukasWodka wants to merge 1 commit into
developfrom
fix/hide-client-create
Open

fix(client): hide client create from the user surface (installer-internal)#192
LukasWodka wants to merge 1 commit into
developfrom
fix/hide-client-create

Conversation

@LukasWodka

@LukasWodka LukasWodka commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Summary

tracebloc client offered users create in its help — but provisioning is the installer's job (provision.sh calls tracebloc client create with zero flags, cli#137), not a human command. Exposing it is:

  • Inconsistent — its sibling list is already Hidden with the rationale "keep it callable, off the user-facing surface"; create is more installer-internal, yet was visible. The curated top-level tracebloc help also omits client entirely.
  • The front door to phantom-minting — a human running tracebloc client create standalone mints a client the installer never deploys: an orphaned "phantom" (the root of the cluster_conflict saga; see backend#970 / #1021 / #1022).

Change

Mark create Hidden, mirroring list. It stays fully callable — including client create --help, so provision.sh's _cli_supports_provisioning probe is unaffected — it's just no longer advertised. tracebloc client now shows only the user-useful status.

(No behavior change to the command itself, exit codes, or the installer path — this is purely surface visibility.)

Tests

TestClientSubcommandVisibility pins create + list Hidden, status visible, and create still runnable (hidden ≠ disabled). Full go test ./... green; gofmt -s / errcheck / ineffassign / misspell clean.


Note

Low Risk
CLI help visibility only; no changes to provisioning logic, exit codes, or installer invocation paths.

Overview
Marks tracebloc client create as hidden in Cobra, matching the already-hidden list, so tracebloc client help surfaces only status for humans.

create is unchanged functionally — the installer still runs it (including --help for capability probes); the goal is to stop advertising a command that, when run standalone, can mint a backend client the installer never deploys.

Adds TestClientSubcommandVisibility to lock in create/list hidden, status visible, and create still runnable.

Reviewed by Cursor Bugbot for commit d05ece9. Bugbot is set up for automated code reviews on this repo. Configure here.

…ternal)

`tracebloc client` offered users `create` — but provisioning is the installer's
job (provision.sh calls `client create` with zero flags, cli#137), not a human
command. Exposing it is inconsistent (its sibling `list` is already Hidden as
"installer-internal, off the user-facing surface") and it's the front door to
phantom-minting: a human running `tracebloc client create` STANDALONE mints a
client the installer never deploys — an orphaned phantom (backend#970, the root
of the cluster_conflict saga).

Mark `create` Hidden, mirroring `list`. It stays fully callable — including
`create --help`, so provision.sh's `_cli_supports_provisioning` probe is
unaffected — but is no longer advertised. `tracebloc client` now shows only the
user-useful `status`.

Test: TestClientSubcommandVisibility pins create+list Hidden, status visible,
and create still runnable (hidden != disabled). Full suite green; gofmt -s /
errcheck / ineffassign / misspell clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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