Skip to content

fix(#6149): change DefaultUpstreamRef from v0 to main - #6565

Open
fullsend-ai-coder[bot] wants to merge 2 commits into
mainfrom
agent/6149-scaffold-ref-to-main
Open

fix(#6149): change DefaultUpstreamRef from v0 to main#6565
fullsend-ai-coder[bot] wants to merge 2 commits into
mainfrom
agent/6149-scaffold-ref-to-main

Conversation

@fullsend-ai-coder

Copy link
Copy Markdown
Contributor

Summary

Changes DefaultUpstreamRef from v0 to main so all scaffold workflow templates use the same reusable workflow ref, resolving the inconsistency where the code agent was the only stage tracking @main while all others were pinned to @v0. Also replaces a hardcoded ref: v0 in repo-maintenance.yml with the __FULLSEND_AI_REF__ placeholder for consistency.

This implements the team decision from the 2026-08-18 meeting to standardize on main branch tracking for version consistency across all agent workflows.

Changes

  • internal/config/config.go: Change DefaultUpstreamRef constant from "v0" to "main"
  • internal/scaffold/fullsend-repo/.github/workflows/repo-maintenance.yml: Replace hardcoded ref: v0 with ref: __FULLSEND_AI_REF__ placeholder
  • internal/scaffold/render_test.go: Update test assertions from @v0 to @main
  • internal/layers/workflows_test.go: Update pinned-SHA leak guard to check for @main

Testing

  • go test ./internal/config/... passes
  • go test ./internal/scaffold/... passes
  • go test ./internal/layers/... passes
  • go test ./internal/repos/... passes
  • gofmt and go vet pass
  • Secret scan passes

Closes #6149

Post-script verification

  • Branch is not main/master (agent/6149-scaffold-ref-to-main)
  • Secret scan passed (gitleaks — 7b08468970a4e9e924efff34aab5ec62b890b6ca..HEAD)
  • PR body secret scan passed (gitleaks — no-git)

The code agent scaffold template was the only stage using @main while
all other workflows used @v0, creating inconsistency. Per the team
decision (meeting 2026-08-18), standardize all scaffold workflow
templates on main instead of v0 to ensure version consistency across
all agent workflows.

Changes:
- Update DefaultUpstreamRef constant from "v0" to "main" in
  internal/config/config.go, which controls the ref used for all
  reusable workflow references rendered into scaffold templates
- Replace hardcoded ref: v0 in repo-maintenance.yml with the
  __FULLSEND_AI_REF__ placeholder so it derives from the same
  constant as the mint-token action in the same file
- Update tests to expect @main instead of @v0

Note: actionlint and pinact hooks could not run (not installed in
sandbox). gofmt, go vet, and all targeted tests pass. Pre-commit
hooks could not run due to sandbox network restrictions (git fetch
blocked).

Closes #6149
@fullsend-ai-coder
fullsend-ai-coder Bot requested a review from a team as a code owner August 24, 2026 20:01
@fullsend-ai-coder fullsend-ai-coder Bot added the ready-for-review Agent PR ready for human review label Aug 24, 2026
@fullsend-ai-review

fullsend-ai-review Bot commented Aug 24, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 8:03 PM UTC · Completed 8:20 PM UTC

Commit: d32daae · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $3.88

@codecov

codecov Bot commented Aug 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@fullsend-ai-review

fullsend-ai-review Bot commented Aug 24, 2026

Copy link
Copy Markdown

Review

Findings

Low

Previous run

Review

Findings

High

  • [stale-reference] docs/guides/user/building-custom-agents.md:482 — Workflow example hardcodes ref: v0 for checking out upstream defaults. With DefaultUpstreamRef changed to main, this example teaches users the wrong ref.
    Remediation: Change ref: v0 to ref: main.

  • [stale-reference] docs/guides/user/building-custom-agents.md:513 — Workflow example uses fullsend-ai/fullsend@v0 for the install step. Should reflect the new default ref.
    Remediation: Change uses: fullsend-ai/fullsend@v0 to uses: fullsend-ai/fullsend@main.

  • [stale-reference] docs/guides/user/custom-poller-example.md:82 — Workflow example uses fullsend-ai/fullsend/.github/workflows/reusable-dispatch.yml@v0. Directs users to a stale ref.
    Remediation: Change the @v0 suffix to @main.

  • [stale-reference] docs/guides/user/jira-integration.md:147 — Workflow example uses fullsend-ai/fullsend/.github/workflows/reusable-dispatch.yml@v0. Should use @main to match the new default.
    Remediation: Change the @v0 suffix to @main.

Medium

  • [stale-reference] docs/guides/dev/testing-workflows.md:50 — States that thin callers reference upstream workflows at fullsend-ai/fullsend@v0. Now inaccurate.
    Remediation: Update to reference @main instead of @v0.

  • [stale-reference] docs/guides/dev/cli-internals.md:590 — Table row describes layered content as "Upstream @v0 sparse checkout" and line 593 references fullsend-ai/fullsend@v0. Both stale.
    Remediation: Replace @v0 with @main on lines 590 and 593.

Low

  • [supply-chain-mutable-ref] internal/config/config.go:91DefaultUpstreamRef changes from v0 (mutable tag) to main (branch). Both are mutable refs; not a net regression. Accepted team decision per Code agent scaffold template uses @main ref while all other stage workflows use @v0 #6149.

  • [stale-reference] docs/architecture.md:54 — Historical reference to @v0 in dispatch version-skew description. Describes what was eliminated (ADR 0062), not a prescriptive instruction.

  • [stale-reference] skills/cutting-releases/pre-flight.md:76 — Release checklist references to @v0 tag. These describe the release tagging process, not the default upstream ref.

  • [stale-reference] skills/cutting-releases/post-flight.md:72 — Post-flight references to @v0 tag verification. Part of the release process independent of the default upstream ref.


Next steps:

  • /fs-fix — agent addresses review findings automatically
  • /fs-fix <your instruction> — agent fixes with your specific guidance
  • Push commits directly — review re-runs automatically on push
  • /fs-fix-stop — disable automatic fix runs for this PR

fullsend-ai-review[bot]

This comment was marked as outdated.

@fullsend-ai-coder

fullsend-ai-coder Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Finished Fix · ✅ Success · Started 8:22 PM UTC · Completed 8:28 PM UTC

Commit: d32daae · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $1.23

Update documentation examples that still referenced @v0 to use @main,
matching the DefaultUpstreamRef change in internal/config/config.go.

- docs/guides/user/building-custom-agents.md: checkout ref and install action
- docs/guides/user/custom-poller-example.md: reusable dispatch workflow ref
- docs/guides/user/jira-integration.md: reusable dispatch workflow ref
- docs/guides/dev/testing-workflows.md: layered install description
- docs/guides/dev/cli-internals.md: content category table and description

Addresses review feedback on #6565
@fullsend-ai-coder

Copy link
Copy Markdown
Contributor Author

🔧 Fix agent — iteration 1 (bot-triggered)

Fixed all 6 actionable review findings: updated stale @v0 references to @main in 5 documentation files (4 high, 2 medium). Recorded reasoned disagreements for 4 low-severity informational findings that the reviewer themselves noted required no action (accepted team decision, historical references, and release process refs).

Fixed (6):

  1. stale-reference: building-custom-agents.md:482 hardcodes ref: v0 (docs/guides/user/building-custom-agents.md): Changed ref: v0 to ref: main for the upstream defaults checkout step
  2. stale-reference: building-custom-agents.md:513 uses fullsend-ai/fullsend@v0 (docs/guides/user/building-custom-agents.md): Changed uses: fullsend-ai/fullsend@v0 to uses: fullsend-ai/fullsend@main for the install step
  3. stale-reference: custom-poller-example.md:82 uses reusable-dispatch.yml@v0 (docs/guides/user/custom-poller-example.md): Changed @v0 to @main in the reusable dispatch workflow reference
  4. stale-reference: jira-integration.md:147 uses reusable-dispatch.yml@v0 (docs/guides/user/jira-integration.md): Changed @v0 to @main in the reusable dispatch workflow reference
  5. stale-reference: testing-workflows.md:50 references @v0 (docs/guides/dev/testing-workflows.md): Updated prose reference from fullsend-ai/fullsend@v0 to fullsend-ai/fullsend@main
  6. stale-reference: cli-internals.md:590,593 references @v0 (docs/guides/dev/cli-internals.md): Updated table row and description from @v0 to @main on lines 590 and 593

Disagreed (4):

  1. supply-chain-mutable-ref: internal/config/config.go:91 main is mutable: Acknowledged by the reviewer as an accepted team decision per Code agent scaffold template uses @main ref while all other stage workflows use @v0 #6149 — not a net regression since v0 was also mutable. No action needed.
  2. stale-reference: docs/architecture.md:54 historical @v0 reference: Reviewer noted this is a historical reference describing what was eliminated (ADR 0062), not prescriptive. Changing it would misrepresent the historical context.
  3. stale-reference: skills/cutting-releases/pre-flight.md:76 release @v0 tag: Reviewer noted these describe the release tagging process, independent of DefaultUpstreamRef. The v0 tag is a release artifact, not the default upstream ref. Additionally, skills/ is a protected path.
  4. stale-reference: skills/cutting-releases/post-flight.md:72 release @v0 verification: Reviewer noted these are part of the release process, independent of DefaultUpstreamRef. Additionally, skills/ is a protected path.

Tests: passed

Next steps:

  • /fs-review — request a re-review of the changes
  • /fs-fix <your instruction> — run another fix pass with specific guidance
  • Push commits directly — review re-runs automatically on push
    Updated by fullsend fix agent

@github-actions

Copy link
Copy Markdown

Site preview

Preview: https://c13f1085-site.fullsend-ai.workers.dev

Commit: 90be18c5e5735111218b2c2bd2acb301d711e5c7

@fullsend-ai-review

fullsend-ai-review Bot commented Aug 24, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 8:30 PM UTC · Completed 8:44 PM UTC

Commit: 90be18c · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $3.40

@fullsend-ai-review
fullsend-ai-review Bot dismissed their stale review August 24, 2026 20:44

Superseded by updated review

@fullsend-ai-review fullsend-ai-review Bot added the ready-for-merge All reviewers approved — ready to merge label Aug 24, 2026
@rh-hemartin

Copy link
Copy Markdown
Member

I think we need a new ADR to override what we decided at https://fullsend.sh/docs/ADRs/0048-automatic-updates.html#decision, there we decided to not track main by default to avoid breaking users, this is why we were tracking v0. With the change on this PR we are installed new users against main, right? So main workflows mean main fullsend CLI, and then main agents?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-merge All reviewers approved — ready to merge ready-for-review Agent PR ready for human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Code agent scaffold template uses @main ref while all other stage workflows use @v0

2 participants