repo mirror: add `detach` to convert a GitHub mirror into a native repo

main

Commit

nodoyesterday

entire repo mirror detach /gh/<owner>/<repo> --project <p> drives core's POST /repos/{repoId}/detach, now generally available. Every run fetches the dry-run plan first: the preconditions and who keeps or loses access. --dry-run stops there, and an ineligible plan stops before the write with the failed precondition slugs. A real detach is confirmed on the prompt's own writer (--force/--yes skips it; without a terminal the command refuses before any request), then waits on GET /repos/{repoId}/detach through a stall the server resumes on its own (--no-wait, --timeout). The /gh/ ref answers "moved" once the write happened, so every exit that leaves a detach unfinished prints the entire api call that follows or resumes it.

Refresh the vendored core spec from us.console.entire.io for the two detach routes, and loosen the detach read-model enums (precondition slugs, access source and subject type, statuses), which core documents as growing. runPromptForm gains a preamble variant so the plan follows the prompt.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_01KvM3bkziUHdcD3GQFSWubD Entire-Checkpoint: 01M48N3DFGHY6RJ59KZ3F7Q9ZV

Checkpoints

GitHub Mirror Detach Command Implementation

Claude CodeFable 5.1
View session
Checkpoint 1