feat: GitLab provider adapter with cross-adapter parity tests (#7) - #19
Merged
Conversation
Implements the full v1 ActivitySet for GitLab (MRs, approvals, review comments, merge timing, rework signals) bound to immutable account IDs. Cross-adapter parity tests prove GitHub and GitLab fixtures normalise to equivalent ActivitySets and identical metrics. Fixes ClosedAt normalisation: GitLab sets merged_at but not closed_at on merged MRs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ken flags Adds -platform gitlab routing to the coderepute CLI so the tool can run against a GitLab group with a group access token and produce a valid report. GitHub path is unchanged; -platform defaults to github. New flags: -platform github (default) | gitlab -gitlab-token GitLab token (or GITLAB_TOKEN env var) -group GitLab group to enumerate all projects from -gitlab-api-base GitLab API base URL (default: https://gitlab.com/api/v4) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tion to GitHub path The coding agent deleted CI YAML, action.yml, docs, render templates, and report verification code that were added in prior PRs and outside this issue's territory. Restore all deleted out-of-scope files from main, and add the missing report.CIVerification(getenv) call to the GitHub path so CI attestation still upgrades verification status as before. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #7
Summary
provider/gitlab: full v1 ActivitySet adapter — MRs, approvals/changes-requested (from system notes), diff-note review comments, merge timing, rework signals; identity bound to immutable GitLab account ID; org coverage via group access token with scope detection via/personal_access_tokens/selfprovider/gitlab/projects.go:ListGroupProjectspagination for org-scoped runsprovider/parity_test.go+provider/testdata/: cross-adapter parity tests — equivalent GitHub/GitLab fixtures normalise to identicalActivitySets and produce the same metric valuesClosedAtnormalisation: GitLab setsmerged_atbut notclosed_atfor merged MRs; adapter now mirrors GitHub semantics by treatingMergedAtasClosedAtwhenclosed_atis nullTerritory contract compliance
provider/gitlab/,provider/parity_test.go,provider/testdata/)ActivitySet, metrics package, report schema, renderer, or CI YAMLTest plan
go test ./...passes (all packages green)/contents,/git/, or tarball endpoints appear in fixtures or adapter code🤖 Generated with Claude Code