Skip to content

fix(#2294): make EnsureProvider idempotent via delete-and-recreate - #10

Closed
guyoron1 wants to merge 8 commits into
mainfrom
fix/2294-idempotent-ensure-provider
Closed

fix(#2294): make EnsureProvider idempotent via delete-and-recreate#10
guyoron1 wants to merge 8 commits into
mainfrom
fix/2294-idempotent-ensure-provider

Conversation

@guyoron1

Copy link
Copy Markdown
Owner

EnsureProvider called openshell provider create and treated any error as a hard failure. When a provider already existed from a prior run, the AlreadyExists error blocked subsequent runs, requiring manual cleanup between iterations.

Now when the create command fails with AlreadyExists, the function deletes the existing provider and recreates it with current credentials. This makes the function truly idempotent (matching the "Ensure" naming convention used by EnsureGateway and the Provider.Provision() interface contract) while also ensuring credentials are never stale across runs.

Also extracted a redactSecrets helper to reduce duplication in error formatting paths.


Closes fullsend-ai#2294

Mirrored from upstream PR #2296

@guyoron1

Copy link
Copy Markdown
Owner Author

/fs quality

@fullsend-ai-review

fullsend-ai-review Bot commented Jun 15, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 2:41 PM UTC · Completed 2:51 PM UTC
Commit: 4365b3d · View workflow run →

@fullsend-ai-review

fullsend-ai-review Bot commented Jun 15, 2026

Copy link
Copy Markdown

Review

Reason: stale-head

The review agent reviewed commit 82cb9c7e04e498e4e8620536c3d5cd3714f209e3 but the PR HEAD is now cc0e4872cf2d6b415af513197c2122696c2f572f. This review was discarded to avoid approving unreviewed code.

Previous run

Review

Reason: stale-head

The review agent reviewed commit 37bbad41e43f551b6f204283f85bd5a40c1f66d6 but the PR HEAD is now 82cb9c7e04e498e4e8620536c3d5cd3714f209e3. This review was discarded to avoid approving unreviewed code.

Previous run (2)

Review

Reason: stale-head

The review agent reviewed commit 9b0f5f5d3fe7f6eec8a6fd68548d49c5be3fdf9d but the PR HEAD is now 8a66bf0d3a8a005d48cf58783e6311b0f87634d6. This review was discarded to avoid approving unreviewed code.

@fullsend-ai-review

Copy link
Copy Markdown

/fs-review

@fullsend-ai-review

fullsend-ai-review Bot commented Jun 15, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 2:52 PM UTC · Completed 3:02 PM UTC
Commit: 4365b3d · View workflow run →

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@fullsend-ai-review

Copy link
Copy Markdown

/fs-review

@fullsend-ai-review

fullsend-ai-review Bot commented Jun 15, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 3:04 PM UTC · Completed 3:15 PM UTC
Commit: 4365b3d · View workflow run →

@fullsend-ai-review

Copy link
Copy Markdown

/fs-review

QualityFlow and others added 3 commits June 15, 2026 15:17
Replaces intermediate pipeline artifacts with organized test files.

Total: 2 test files → qf-tests/GH-10/
Jira: GH-10
[skip ci]
@github-actions

Copy link
Copy Markdown

QualityFlow Pipeline Summary

Stage Agent Status
1 STP Builder
2 STP Reviewer
3 STP Refiner
4 STD Builder
5 STD Reviewer
6 STD Refiner
7 Test Generator

Test Output

Language Count Location
Go 2 files qf-tests/GH-10/go/

Issue: GH-10


Generated by QualityFlow

@guyoron1

Copy link
Copy Markdown
Owner Author

Closing — QF infrastructure updated on main, will re-create with improved pipeline.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

EnsureProvider should be idempotent — fails with AlreadyExists on repeated runs

1 participant