docs(adr): multi-repo management for per-repo installations#2392
docs(adr): multi-repo management for per-repo installations#2392ggallen wants to merge 1 commit into
Conversation
Site previewPreview: https://958ec23a-site.fullsend-ai.workers.dev Commit: |
|
🤖 Finished Review · ✅ Success · Started 4:43 PM UTC · Completed 4:57 PM UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
ReviewFindingsLow
Previous runReviewFindingsHigh
Medium
Low
Labels: PR adds ADR and implementation plans for per-repo installation management tooling. Previous run (2)ReviewFindingsMedium
Low
Info
Previous run (3)ReviewFindingsMedium
Low
Info
Previous run (4)ReviewFindingsMedium
Low
Info
Previous run (5)ReviewFindingsMedium
Low
Info
Previous run (6)ReviewFindingsMedium
Low
Info
Previous run (7)ReviewFindingsMedium
Low
Info
Previous run (8)ReviewFindingsLow
Info
Previous run (9)ReviewFindingsHigh
Low
Info
Previous run (10)ReviewFindingsMedium
Low
Info
Previous run (11)ReviewFindingsMedium
Low
Info
Previous run (12)ReviewFindingsLow
Info
Previous run (13)ReviewFindingsLow
Info
Previous run (14)ReviewFindingsMedium
Low
Info
Previous run (15)ReviewFindingsMedium
Low
Info
|
061706f to
eb4e66d
Compare
|
🤖 Finished Review · ✅ Success · Started 5:44 PM UTC · Completed 5:56 PM UTC |
eb4e66d to
2500322
Compare
|
🤖 Finished Review · ✅ Success · Started 10:43 PM UTC · Completed 10:56 PM UTC |
2500322 to
e46f72d
Compare
|
🤖 Finished Review · ✅ Success · Started 11:02 PM UTC · Completed 11:14 PM UTC |
e46f72d to
812cbc0
Compare
|
🤖 Finished Review · ✅ Success · Started 11:20 PM UTC · Completed 11:34 PM UTC |
812cbc0 to
c40dcfe
Compare
a0853da to
4a7ba40
Compare
|
🤖 Finished Review · ✅ Success · Started 3:56 AM UTC · Completed 4:10 AM UTC |
4a7ba40 to
211a5c8
Compare
|
🤖 Finished Review · ✅ Success · Started 11:53 AM UTC · Completed 12:08 PM UTC |
waynesun09
left a comment
There was a problem hiding this comment.
Review Squad — Multi-Agent Analysis (6 agents: Claude, Gemini, Codex)
10 findings posted inline (4 HIGH, 6 MEDIUM). See inline comments for details.
Full report with LOW/INFO findings available on request.
211a5c8 to
7b2856b
Compare
|
🤖 Finished Review · ✅ Success · Started 12:35 AM UTC · Completed 12:50 AM UTC |
…stallations Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
7b2856b to
2da14dd
Compare
|
🤖 Finished Review · ✅ Success · Started 11:48 AM UTC · Completed 12:08 PM UTC |
waynesun09
left a comment
There was a problem hiding this comment.
Structural feedback on ADR scope
Thanks for addressing the round-1 findings — all 10 were handled cleanly.
After a second pass with fresh eyes, the main concern is structural rather than content bugs: the ADR is ~975 lines, which is roughly 25x the repo's own ADR template (0000-adr-template.md). ADR 0001 says problem docs are for open-ended exploration while ADRs are for crystallizing specific decisions — and the template intentionally has no implementation section.
A few recommendations:
1. Slim the ADR to the decision layer (~400 lines)
The core decision — declarative repos.yaml manifest, repos subcommand group for platform admins, three-phase execution model — is solid. But the ADR currently duplicates content that already lives in docs/plans/repos-management.md and docs/plans/repos-init.md: sync reconciliation tables, replaceShimRef() regex details, WIFProvisioner interface shapes, PR-level dependency graphs. Per the repo's conventions, that detail belongs in the plans, with the ADR referencing them.
2. Resolve contradictions between ADR and plans
Having the same detail in two places has already caused drift:
- ADR sync scope text (lines 270-272) says
base_harnessandallowed_remote_resourcesare reconciled, but the sync table (lines 582-587) only lists 4 resources and doesn't include them - Plan PR 5 header (line 551) says "Depends on: PR 1, PR 2" but the summary (line 39) correctly says "PR 5 depends on PRs 1, 2, and 3"
FULLSEND_ALLOWED_RESOURCESis referenced (ADR line 268) but doesn't exist in the codebase
Keeping implementation detail in one place (the plans) avoids this.
3. Gate version management on ADR 0048
The upgrade and upgrade-mint commands, plus replaceShimRef() in the plan, target field names (fullsend_actions_ref, fullsend_cli_ref) that don't exist yet — they're proposed in ADR 0048 which is still marked "assumed implemented" (line 992). Recommend either deferring PRs 7-8 until ADR 0048 ships, or splitting them into a separate follow-up ADR/plan that explicitly depends on 0048.
4. Consider splitting the PR
ADR in one PR, plans in a follow-up after the ADR decision is accepted. This makes the ADR reviewable on its own merits without the plans creating additional surface area.
None of these are blockers if the team prefers to keep the current structure, but slimming the ADR to match the repo's conventions would make it easier to review and maintain.
Summary
fullsend repossubcommand group for managing per-repo installations at scale — bulk install, status/drift detection, sync, upgrade, and removal across multiple orgs via a declarativerepos.yamlmanifest.fullsend repos initfor bootstrapping the manifest from existing installations (per-repo and per-org) or greenfield onboarding with interactive repo selection.repos init(independent, parallelizable).Test plan
make lintpasses (ADR frontmatter, markdown links, broken symlinks)🤖 Generated with Claude Code