atproto git client atgc.codes

fix: plainer migrate advice, version-gap hints, bidi stripping and retry jitter #1430

Merged permadeath.com
targeting main from claude/stranger-errors
Merged opened by and assigned to permadeath.com
targeting main from claude/stranger-errors

Five stranger-facing audit findings are fixed. The agent briefing now runs atgc migrate import --execute --unmark only when atgc migrate status reports work, and an unmarked account gets a plain refusal instead of being called a liar account. The change-id hook's fallback advice now names atgc repo configure --hook-config, not a script that only exists in atgc's own source tree.

A 501 Not Implemented or MethodNotImplemented from Bobbin, a knot, a spindle or a record read now names the method and suggests checking for an atgc update, with the exit code unchanged. Terminal sanitising drops Unicode bidi controls, and pr merge --dry-run passes the knot's check message through it.

The fallback retry backoff is jittered by ±20% so agents do not retry a recovering service in lockstep; Retry-After is still honoured exactly and the test hook bypasses jitter. Tests: 1434 passed, 0 failed, 4 ignored across 35 test binaries; clippy and prek are clean.

before and after

🤖 Generated with Claude Code

Commits 0