atproto git client

feat(stack): pr merge and stack merge — the lifecycle lands CLI-only master

crate::knot::xrpc is the shared spelling of the service-auth dance repo create grew inline: the PDS mints an audience- and method-bound token per call, the knot verifies it. The merge scopes have been requested since before the commands existed, so no re-login. Both commands run mergeCheck first (all --dry-run runs), merge, then write a merged status record per landed pull — the knot moved the branch, and without the records every listing keeps calling the pulls open. Owner-only: own_repo_facts doubles as ownership check and knot/name lookup. stack merge lands the sub-stack bottom --through a position (default all) as one combined patch, Tangled's own button semantics; merged members contribute nothing, anything not cleanly open is refused, and pr merge refuses stacked pulls toward it. Proven live on atgc-stack-lab: --through 1 landed the bottom alone, the rebase-then-resubmit reconciled survivors around the merged member as anchor (the one fate that had only unit tests), and a final stack merge landed the rest — the complete lifecycle has now run CLI-only. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>