- RepoData dataclass with all repo fields - collect_all enriches each repo with release and milestones - Computes open_issues = open_issues_count - open_pr_counter - 6 unit tests with mocked GiteaClient Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>