test(oauth): prove the agent-driven flow and the consent seam over the real router master
crates/didbot-serve/tests/oauth_agent_flow.rs exercises plan/oauth.md's "agent completes the flow itself" and "confirm after the page" items against the real HTTP router rather than each module's own unit-level fakes: it pushes a login_hint-bearing request, drives GET /oauth/authorize through tower::ServiceExt::oneshot, and reads the consent reference off the response body the way a headless browser would -- no browser, no network. A stand-in for the harness's PreToolUse rewrite then drives oauth::token::confirm_and_issue_code through to a real POST /oauth/token exchange, and separately proves each of the three consent checks (replay, identity mismatch, policy refusal) issues no code. plan/oauth.md is updated to point at this coverage; neither checklist item is ticked, since the actual headless-browser client and the PreToolUse rewrite remain out of this crate's declared scope. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Change-Id: I030ae0bc2281ff8c29c2bf0277dc18b2edcdadb0