fix(#5700): move mint config into per-forge section in repos.yaml - #5701
Conversation
|
🤖 Finished Review · ✅ Success · Started 1:22 AM UTC · Completed 1:41 AM UTC |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
ReviewFindingsLow
Previous runReviewFindingsLow
Previous run (2)ReviewFindingsMedium
Low
Previous run (3)ReviewFindingsLow
Labels: PR fixes a validation bug in repos.yaml manifest handling Previous run (4)ReviewFindingsMedium
Low
Previous run (5)ReviewFindingsMedium
Low
Previous run (6)ReviewFindingsHigh
Medium
Low
Labels: PR restructures mint config into per-forge sections of repos.yaml, directly modifying mint infrastructure config types and CLI install commands. Next steps:
|
b0d86dd to
4e2934c
Compare
|
/fs-review |
|
🤖 Review · ❌ Terminated · Started 1:56 AM UTC · Ended 2:12 AM UTC |
Site previewPreview: https://3cac75bd-site.fullsend-ai.workers.dev Commit: |
Superseded by updated review
|
🤖 Finished Review · ✅ Success · Started 1:56 AM UTC · Completed 2:12 AM UTC |
4e2934c to
616c6bd
Compare
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 2:18 AM UTC · Completed 2:38 AM UTC |
616c6bd to
2c662a6
Compare
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 2:45 AM UTC · Completed 3:04 AM UTC |
Signed-off-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
6634a6e to
2477b78
Compare
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 10:27 AM UTC · Completed 10:41 AM UTC |
|
🤖 Finished Retro · ✅ Success · Started 12:18 PM UTC · Completed 12:34 PM UTC |
Retro: PR #5701 — move mint config into per-forge section in repos.yamlTimeline
What went wellThe review agent was highly effective. It caught all critical issues on the first pass — missing forge guards that would crash on GitLab-only manifests, silent data loss from undetected old-format config files, and stale documentation references. Across 7 review iterations, findings decreased monotonically from 4 HIGH + 5 MEDIUM to 3 LOW, with each cycle surfacing progressively lower-severity issues. The final 3 LOW findings were all acknowledged by the human reviewer as intentional design decisions. What could go betterHigh rework rate: 7 review cycles over ~11 hours. The code agent's initial output required significant human rework. The code agent correctly restructured the type definitions (
The fix agent was never dispatched (no Evidence for existing issues
Proposals filed
|
Summary
Moves the top-level
mintblock inrepos.yamlinto a per-forgeforgesection, allowing GitLab-only manifests to validate without mint fields (GitLab does not use the mint service per ADR 0067).Not a breaking change: No
repos.yamlconsumers exist yet (#5616), so the schema migration frommint:toforge:does not require the!suffix.Changes
internal/repos/manifest.go: ReplaceMintConfigwithForgeSection/GitHubForgeInfra/GitLabForgeInfratypes.Validate()now only requiresforge.github.mint_url/mint_project/mint_regionwhen at least one repo resolves toforge: github.resolveWithEntry()sources mint config from the forge-specific section.LoadManifest()detects the old top-levelmint:key and returns a clear migration error.internal/repos/init.go:buildManifest()generates the newforge:section instead of a top-levelmint:block. TODOs referenceforge.github.*paths. GitLab-only manifests skip mint config entirely.internal/repos/upgrade.go: Updated mint URL comparison to read fromForge.GitHub.MintURL.internal/cli/repos.go: UpdatedresolveMintProvisioner()to read fromForge.GitHub.*. Guard mint verification behindhasGitHubForge()check so GitLab-only manifests skip mint entirely.internal/repos/batch_install.go: Filter Phase 2 org-mint loop to skip non-GitHub orgs, preventingEnsureOrgInMintcalls with emptyMintURLfor GitLab repos.mint.url/mint.project/mint.regionreferences indocs/cli/repos.md,docs/guides/getting-started/repo-management.md,docs/plans/repos-management.md, anddocs/plans/repos-init.md.ForgeSectionandGitHubForgeInfra. Added tests for GitLab-only and mixed-forge validation.Scope
Partial #5700 — implements items 1, 2, 5, 6 from the issue. Items 3 (
installVarsForForgefor GitLab) and 4 (gitlabUninstallVars) are deferred because the GitLab install flow is not yet implemented (install.goline 171 returns early with "not yet implemented"). Those will be addressed when the GitLab install path is built. Similarly,install.gostill listsFULLSEND_MINT_URLinrequiredVariablesregardless of forge — this is inert for GitLab since install returns early, but should be made forge-aware when GitLab install lands.Testing
internal/repos/...tests pass (race detection enabled)internal/cli/...tests passgo build ./...succeedsgo vet ./...cleanTestValidate_GitLabOnly_NoMintRequired,TestValidate_MixedForge_RequiresMintPost-script verification
agent/5700-forge-section-manifest)eeb97439bfb4d4d400c47607f4a1ccbea3244872..HEAD)