You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
scaffold: lint drift between internal/scaffold/fullsend-repo/profiles and the fullsend-ai/agents profiles #6978
The embedded scaffold profiles and the fleet copies in fullsend-ai/agents are maintained by hand and drift silently. The **/claude.exe gap that broke every 0.40.0-image run (#6971) was fixed in the agents copy on 2026-09-01 (fullsend-ai/agents#1118) and only reached this repo's copy on 2026-09-03 after functional-tests broke (#6962). Other drift still present after PR #6975:
profiles/fullsend-vertex-ai.yaml: the scaffold copy sets allow_uninspected_credentials: true on api.anthropic.com as well as *.googleapis.com; the agents copy sets it only on *.googleapis.com.
profiles/fullsend-package-registries.yaml: the agents copy allowlists **/uv and **/uvx; the scaffold copy does not.
PR #6975 pins only the Vertex binaries list in a unit test.
Proposed change
Add a local check (a script under internal/scaffold/fullsend-repo/scripts/ or a Go test with a pinned agents commit) that diffs each internal/scaffold/fullsend-repo/profiles/*.yaml against the same file at the agents commit pinned in .fullsend/, ignoring comments, display_name and description, and fails on any semantic difference. Wire it into make lint. Decide per profile whether the scaffold or the agents copy is canonical and document that in docs/contributing/.
Validation criteria
make lint fails on the two drifts above until they are reconciled, and passes once the copies match.
Re-checked relevance as requested. This issue is still valid, and the drift it describes has grown rather than shrunk since filing:
Vertex profile: the allow_uninspected_credentials scope difference from the original report is still present — the scaffold copy applies it to both api.anthropic.com and *.googleapis.com, while the current agents copy applies it only to *.googleapis.com. Note for maintainers: the agents copy's inline comment attributes that scoping to ADR 0092 / a specific PR covering OpenAI credential delivery, which appears unrelated to this Anthropic/Vertex endpoint — worth a sanity check on whether that comment is accurate.
Package-registries profile: the **/uv / **/uvx binaries gap is also still present. New since filing: the agents copy now also sets an encoded-slash allowance on the npmjs.org and yarnpkg.com endpoints that the scaffold copy lacks.
Per the accompanying request, this stays open for human prioritization rather than being routed to auto-implementation.
Next steps:
/fs-code — agent creates a PR to implement this issue
/fs-code <your instruction> — agent implements with your specific guidance
Previous run
Related work: PR #6975 (open) fixes the immediate **/claude.exe breakage and adds a unit test for the Vertex profile's binaries list, but does not implement the general drift detection this issue requests. Once #6975 merges, the two specific drifts called out here (Vertex allow_uninspected_credentials scope and package-registries uv/uvx) will remain undetected.
Implementation notes:
The pinned agents commit is in .fullsend/config.yaml. The test can fetch the remote file via gh api repos/fullsend-ai/agents/contents/profiles/<name>.yaml?ref=<commit> or embed a testdata snapshot at the pinned commit.
YAML comparison should use a structural diff (unmarshal to map[string]interface{}, delete ignored keys, then reflect.DeepEqual or a recursive diff) rather than string comparison, to avoid false positives from whitespace or comment changes.
The decision on which copy is canonical per profile should be documented in docs/contributing/ so future editors know where to make changes.
Proposed test case:
funcTestScaffoldProfileDrift(t*testing.T) {
// For each profile in internal/scaffold/fullsend-repo/profiles/:// 1. Parse scaffold YAML, remove display_name/description// 2. Fetch agents-repo copy at pinned commit, parse similarly// 3. Deep-compare remaining structure// 4. Fail with readable diff on any semantic difference
}
Labels: Adding priority/medium — the immediate breakage was addressed by PR #6975, but this preventive lint check guards against future silent drift.
Next steps:
/fs-code — agent creates a PR to implement this issue
/fs-code <your instruction> — agent implements with your specific guidance
/fs-triage lots of things have changed between when this was originally filed and now across both the https://github.com/fullsend-ai/fullsend and https://github.com/fullsend-ai/agents repos. Is this still relevant? This is a stale-issue review, not an implementation request: even if the issue is still a valid bug and has sufficient information, do not recommend or trigger ready-to-code yet. Leave it for human prioritization after confirming whether it remains relevant. Do not close a still-relevant bug merely to avoid coding it.
Activity
fullsend-ai-triage commentedon Sep 3, 2026
🤖 Finished Triage · ✅ Success · Started 5:05 PM UTC · Completed 5:10 PM UTC
Commit:
48eac1a· View workflow run →Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $0.87
fullsend-ai-triage commentedon Sep 3, 2026
Re-checked relevance as requested. This issue is still valid, and the drift it describes has grown rather than shrunk since filing:
allow_uninspected_credentialsscope difference from the original report is still present — the scaffold copy applies it to bothapi.anthropic.comand*.googleapis.com, while the current agents copy applies it only to*.googleapis.com. Note for maintainers: the agents copy's inline comment attributes that scoping to ADR 0092 / a specific PR covering OpenAI credential delivery, which appears unrelated to this Anthropic/Vertex endpoint — worth a sanity check on whether that comment is accurate.**/uv/**/uvxbinaries gap is also still present. New since filing: the agents copy now also sets an encoded-slash allowance on the npmjs.org and yarnpkg.com endpoints that the scaffold copy lacks.claude.exebinary gap and explicitly deferred this broader check to this issue. No documentation yet records which copy is canonical per profile.Per the accompanying request, this stays open for human prioritization rather than being routed to auto-implementation.
Next steps:
/fs-code— agent creates a PR to implement this issue/fs-code <your instruction>— agent implements with your specific guidancePrevious run
Related work: PR #6975 (open) fixes the immediate
**/claude.exebreakage and adds a unit test for the Vertex profile'sbinarieslist, but does not implement the general drift detection this issue requests. Once #6975 merges, the two specific drifts called out here (Vertexallow_uninspected_credentialsscope and package-registriesuv/uvx) will remain undetected.Implementation notes:
.fullsend/config.yaml. The test can fetch the remote file viagh api repos/fullsend-ai/agents/contents/profiles/<name>.yaml?ref=<commit>or embed a testdata snapshot at the pinned commit.map[string]interface{}, delete ignored keys, thenreflect.DeepEqualor a recursive diff) rather than string comparison, to avoid false positives from whitespace or comment changes.docs/contributing/so future editors know where to make changes.Proposed test case:
Labels: Adding priority/medium — the immediate breakage was addressed by PR #6975, but this preventive lint check guards against future silent drift.
Next steps:
/fs-code— agent creates a PR to implement this issue/fs-code <your instruction>— agent implements with your specific guidanceralphbean commentedon Sep 24, 2026
/fs-triage lots of things have changed between when this was originally filed and now across both the https://github.com/fullsend-ai/fullsend and https://github.com/fullsend-ai/agents repos. Is this still relevant? This is a stale-issue review, not an implementation request: even if the issue is still a valid bug and has sufficient information, do not recommend or trigger ready-to-code yet. Leave it for human prioritization after confirming whether it remains relevant. Do not close a still-relevant bug merely to avoid coding it.
fullsend-ai-triage commentedon Sep 24, 2026
🤖 Finished Triage · ✅ Success · Started 9:02 PM UTC · Completed 9:07 PM UTC
Commit:
d565f76· View workflow run →Runtime: claude · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $0.33
feat(#7268): keep reserved copies live for the warning release, stop …
feat(#7268)!: resolve every built-in provider from the fullsend binary
feat(#7268)!: resolve every built-in provider from the fullsend binary
feat(#7268)!: resolve every built-in provider from the fullsend binary