cli: simplify `entire api` (dedup git + mirror filter, drop stdin seam)

main

Commit

Soph2mo ago

Cleanups from a simplify pass:

  • expandAPIPlaceholders resolves the origin remote once and threads forge/owner/repo into resolveCurrentRepoID, instead of both resolving it — a path with {owner}/{repo} and {repo_id} no longer does two git calls.
  • Extract isActiveMirror(coreapi.Mirror): the archived + failed/suspended placement filter now has one home, shared by resolveCurrentRepoID and distinctActiveClusterHosts.
  • Drop the unused stdinReader test seam (and the ctx it dragged through readAPIInput/buildAPIRequestBody); read os.Stdin directly.
  • Hoist method inference in buildAPIRequestBody so it's decided once up front rather than re-checked inside the --input branch.

No behaviour change.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com Entire-Checkpoint: 2c1bcacae2d6

Checkpoints

Route CLI Commands to entire-api

Claude Code
View session
Checkpoint 1