Three bugs the first live run surfaced:
aoe reports `worktree.main_repo_path` with a trailing slash, so the
session lookup never matched and the daemon created a second session for
a PR that already had one.
The gitea token belongs to a separate bot account, so PRs opened by
agents looked like someone else's work and got `review-pr` instead of
`land`. `self` now takes a list of logins per forge.
A webhook whose signature fails logged nothing, which makes a mismatched
secret indistinguishable from no deliveries at all.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>