feat(#7065): add --fullsend-binary and --fullsend-source flags to repos install - #7066
Conversation
…os install Wire the existing vendor flags (--fullsend-binary, --fullsend-source) into the repos install command, bringing it to parity with github setup. Previously, repos install hardcoded empty strings for these parameters when calling appendVendorTreeFiles, forcing every --vendor invocation to cross-compile from scratch. Changes: - Add fullsendBinary and fullsendSource fields to reposInstallConfig - Replace standalone --vendor bool flag with addVendorFlags() which registers --vendor, --fullsend-binary, and --fullsend-source - Add validateVendorFlags and applyDeprecatedVendorBinaryFlag calls in RunE, matching the github setup pattern - Pass opts.fullsendBinary and opts.fullsendSource through to appendVendorTreeFiles instead of hardcoded empty strings Note: pre-commit hooks were not run. pre-commit could not complete (infrastructure failure: network access blocked in sandbox). Closes #7065
|
🤖 Finished Review · ✅ Success · Started 5:49 PM UTC · Completed 6:03 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $4.62 |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Risk Assessment: moderate (2/5) DetailsTier 1 remains uniformly low (small well-tested bot-authored change, no protected paths, no security exposure, no dependency changes, composite ~1.1), Tier 3 confirms a well-scoped additive flag enhancement with no risk labels (composite ~1.5), but repos.go and surrounding files remain high-churn hotspots (avg ~18 commits/30d, avg ~17+ fix/revert commits/90d, Tier 2 composite ~2.6), producing a weighted composite of ~1.6 that rounds to 2 (moderate); signals are essentially unchanged from the prior assessment. Previous runRisk Assessment: moderate (2/5) DetailsTier 1 is uniformly low (small well-tested bot-authored change with no protected paths, security exposure, or dependency changes), Tier 3 confirms a well-scoped additive enhancement with no risk labels, but repos.go and surrounding files remain high-churn hotspots (avg 18 commits/30d, ~17.7 fix-pattern commits/90d in Tier 2, score ~2.4) that hold the composite at ~1.6, rounding to moderate (2); signals are essentially unchanged from the prior assessment. Previous run (2)Risk Assessment: moderate (2/5) DetailsTier 1 is uniformly low (small, well-tested, bot-authored change with no security or CI exposure), Tier 3 confirms a well-scoped additive enhancement with no risk labels, but repos.go and its surrounding files remain high-churn hotspots (16-20 commits in 30 days, 4-6 authors, 14-18 fix-pattern commits in 90 days) that hold Tier 2 at ~3.1, yielding a composite of ~1.7 which rounds to moderate (2); signals are essentially unchanged from the prior assessment. Previous run (3)Risk Assessment: moderate (2/5) DetailsTier 1 is uniformly low (small, tested, bot-authored change with no security or CI exposure), but repos.go is a high-churn hotspot (26 commits in 30 days, 4 authors) with a heavy fix-pattern commit history that elevates Tier 2 to ~2.7, yielding a composite of ~1.5 which rounds to moderate (2). |
|
Looks good to me Previous runLooks good to me Previous run (2)ReviewFindingsLow
Next steps:
Previous run (3)ReviewFindingsMedium
Next steps:
|
|
🤖 Finished Fix · ✅ Success · Started 6:05 PM UTC · Completed 6:13 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $1.28 |
…ags table Add the two new vendor flags to the repos install documentation, matching the code changes in this PR. Update the --vendor row to note explicit override options. Note: pre-commit hooks were not run. `pre-commit` could not complete (infrastructure failure); fallback lint checks (trailing-whitespace, end-of-file-fixer, lint-docs-links, lychee) passed. Addresses #7066
🔧 Fix agent — iteration 1 (bot-triggered)Added --fullsend-binary and --fullsend-source flag documentation to the repos install flags table in docs/cli/repos.md. Updated the --vendor description to reference the new override flags. Declined to update docs/cli/github.md as the documentation gap there predates this PR. Fixed (1):
Disagreed (1):
Tests: passed Decision points
Next steps:
|
|
🤖 Review · ❌ Terminated · Started 6:14 PM UTC · Ended 6:26 PM UTC Commit: |
Site previewPreview: https://a04b4241-site.fullsend-ai.workers.dev Commit: |
|
🤖 Finished Review · ✅ Success · Started 6:14 PM UTC · Completed 6:26 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $3.42 |
|
🤖 Finished Fix · ✅ Success · Started 6:28 PM UTC · Completed 6:36 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $1.06 |
Rename TestReposInstallCmd_VendorFlags to TestReposInstallCmd_FullsendBinarySourceFlags to clearly distinguish it from the adjacent TestReposInstallCmd_VendorFlag test, which differs only by a trailing 's'. Addresses #7066
🔧 Fix agent — iteration 2 (bot-triggered)Renamed the confusingly similar test function TestReposInstallCmd_VendorFlags to TestReposInstallCmd_FullsendBinarySourceFlags as suggested by the reviewer, to clearly distinguish it from the existing TestReposInstallCmd_VendorFlag test. Fixed (1):
Tests: passedNext steps:
|
|
🤖 Finished Review · ✅ Success · Started 6:38 PM UTC · Completed 6:49 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $2.80 |
Superseded by updated review
|
/fs-code In internal/cli/repos.go, remove the applyDeprecatedVendorBinaryFlag(cmd, &opts.vendor) call from the repos install RunE. The --vendor-fullsend-binary flag was never offered on repos install, only on github setup, so the deprecation shim is a no-op here and shouldn't be added. Keep validateVendorFlags — that's correct. |
|
/fs-fix In internal/cli/repos.go, remove the applyDeprecatedVendorBinaryFlag(cmd, &opts.vendor) call from the repos install RunE. The --vendor-fullsend-binary flag was never offered on repos install, only on github setup, so the deprecation shim is a no-op here and shouldn't be added. Keep validateVendorFlags — that's correct. |
|
🤖 Finished Fix · ✅ Success · Started 7:13 PM UTC · Completed 7:20 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $1.08 |
…tall The --vendor-fullsend-binary flag was only ever offered on `github setup`, never on `repos install`. The deprecation shim is a no-op here — it looks up a flag that, while registered by addVendorFlags, has no prior callers to deprecate. Remove the unnecessary call; keep validateVendorFlags. Note: pre-commit hooks were not run. `pre-commit` could not complete (infrastructure failure); hooks were run directly (gofmt, go vet). Addresses #7066
🔧 Fix agent — iteration 3 (human-triggered)Removed the no-op applyDeprecatedVendorBinaryFlag call from repos install RunE per human instruction. The deprecation shim only applies to github setup where --vendor-fullsend-binary was historically offered. validateVendorFlags was kept as requested. Fixed (1):
Tests: passed Decision points
Next steps:
|
|
🤖 Finished Review · ✅ Success · Started 7:22 PM UTC · Completed 7:35 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $4.30 |
|
🤖 Finished Retro · ✅ Success · Started 11:06 PM UTC · Completed 11:18 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $3.71 |
Retro: PR #7066 — Add vendor flags to repos installOverall: The workflow completed successfully in ~5.5 hours (issue to merge), with most idle time waiting for human approval. The code agent produced a working implementation, the review agent found real cosmetic issues, and the fix agent resolved them cleanly. However, the human reviewer caught a functional issue that the review agent missed across 4 review cycles — the inclusion of a no-op deprecation shim ( Timeline:
Cost: ~$23.11 total (triage $0.80, code $3.75, 4 reviews $15.14, 3 fixes $3.42). The human-triggered fix cycle (review 4 + fix 3 = $5.38) was caused by the review agent not catching the no-op. Autonomy delta: The human review added clear value — ggallen caught a functional issue (no-op deprecated shim) that the review agent missed across 4 iterations. The review agent found real but lower-impact issues (missing docs, confusing test name). This is evidence that the review agent lacks the ability to evaluate whether backwards-compatibility code applies to the target context. Existing issue evidence: Pre-commit hooks could not run in sandbox across all 4 commits. This is covered by #3746. Related but distinct: #3517 covers review agent missing functional purpose verification — this retro's finding about no-op detection is a different pattern. Proposals filed |
Summary
Add
--fullsend-binaryand--fullsend-sourcevendor flags torepos install, bringing it to parity withgithub setup. Previously,repos install --vendorhardcoded empty strings for these parameters, forcing every invocation to cross-compile the fullsend binary from scratch.Changes
fullsendBinaryandfullsendSourcefields toreposInstallConfig--vendorbool flag registration withaddVendorFlags()(which registers--vendor,--fullsend-binary, and--fullsend-sourcetogether)validateVendorFlagsandapplyDeprecatedVendorBinaryFlagcalls in RunE, matching thegithub setuppatternopts.fullsendBinaryandopts.fullsendSourcethrough toappendVendorTreeFilesinstead of hardcoded empty stringsTesting
TestReposInstallCmd_VendorFlags— verifies--fullsend-binaryand--fullsend-sourceflags are registeredTestReposInstallCmd_VendorFlagValidation— verifies--fullsend-binaryand--fullsend-sourcerequire--vendorChecklist
Closes #7065
Post-script verification
agent/7065-vendor-flags-repos-install)d207874bb16547d8703429e17761d5192491eb2e..HEAD)