fix(tools): create-issue sends labels as strings, Forgejo API expects int64 IDs (HTTP 422)
feat(backup): external git-mirror + issues/PR export
test(verify): forgejo port smoke check
test(verify): forgejo port smoke check
chore(test): forgejo pipeline smoke-test (end-to-end 6-phase)
fix(deploy): re-point deploy pipeline + userscript URLs to Forgejo
fix(tools): port remaining GitHub-specific paths to Forgejo (5 fixes)
refactor(repo): flatten structure — remove compose/ and runner-image/ subdirs