Codeberg uses shared issue/PR numbering. When a PR IS the dep issue (e.g. PR #665 fixes issue #665), the title search misses it. Fallback checks if pulls/{dep_num} is merged.
Three agents extracted from ~/scripts/harb-{dev,review}/: - dev/ — pull-based dev agent (find ready issues → implement → PR → merge) - review/ — AI code review (structured verdicts, follow-up issues) - factory/ — supervisor (bash health checks, auto-fix, escalation) All secrets externalized to .env (see .env.example). Shared env/helpers in lib/env.sh.