CoreAPI Command Output and Mirror Improvements

Codex·GPT-5.5·Soph·3mo ago·1min·12 Checkpoints·45 file changes·+3967/-1607
273826dAddress PR review: visible errors, scoped login hint, ctrl-c, licenses PR #1299 review fixes: - SilentError swallowed API errors. renderCoreError, parseProjectOwnerType, and the mirror create/remove invalid-URL paths returned NewSilentError, which main.go skips printing — so a 409 conflict or bad flag produced no output at all. Return plain errors (with SilenceUsage already set), which main.go prints. SilentError is now reserved for the genuinely-quiet case. - BearerAuth showed "run entire login" for every auth failure. Gate the hint on errors.Is(err, auth.ErrNotLoggedIn); other failures (STS rejection, network, bad config) now surface verbatim. Also pass the exchange resource through api.OriginOnly. - Ctrl+C during a mirror clone-wait printed "timed out…: context canceled". Map context.Canceled to a SilentError so cancellation exits quietly; a real deadline still reports. Also use a single time.Ticker instead of allocating a timer per loop iteration. - --insecure-http-auth wasn't wired for the control-plane commands, so plain-HTTP dev cores were unusable. Add it as a hidden persistent group flag; runCore calls auth.EnableInsecureHTTP() before building the client. - grant doc comment claimed repo has add/list/remove; it only has add (the Core API exposes no repo-grant list/revoke). Corrected. - License check: go-licenses reports github.com/segmentio/asm as "Unknown" though it's MIT. Add a .license-overrides file (module -> SPDX) and teach mise lint:licenses to apply it (portable to bash 3.2). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: 1fb181087a92+122/-24