Let a cluster with no usable host still be named

main

Commit

gtrrz-victor1w ago

--cluster asked hostBySlug whether a cluster EXISTS, but that map drops any cluster whose publicUrl fails validation — while placementCluster still renders those placements under the slug. So the filter refused the one spelling its own rows ever print for such a cluster, told the reader to pass a HOST instead, and entire cluster list prints - for that host. Unfollowable advice on top of a wrong refusal, where main simply matched the slug and worked.

fetchRepoDirCatalog now hands back the catalog next to the map: existence is a question for the catalog, spelling a question for the map. The test fixture carries a real unsafe publicUrl rather than a hand-built map, so the same omission is reachable from a test again.

That is the third defect at this seam — the sort key and the clone-URL fallback were the first two — all of them from asking the slug→host map something it is not a record of.

Four comments alongside, each naming something this branch removed: the mirror subtree's get verb, renderCoreObject's cluster caller (the layer is inlined, since sharing was its only reason and one caller is left), and the conventions routing readers to repo mirror get twice. warnRedundantProjectFlag's rationale needed less than it looked: --json carries owningProjectId again, so only "prints its project" was stale.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com Entire-Checkpoint: 01M3PKKHSWM8Z08YKV91M0X203

Checkpoints

Fix repo view CLI output and validation

Claude CodeOpus 5
View session
Checkpoint 1