Skip to content

feat(services): add optimistic price updates with rollback - #643

Open
woahwhattheheck wants to merge 8 commits into
Agentpay-Org:mainfrom
woahwhattheheck:sol56/agentpay624-optimistic-services-20261006
Open

woahwhattheheck wants to merge 8 commits into
Agentpay-Org:mainfrom
woahwhattheheck:sol56/agentpay624-optimistic-services-20261006

Conversation

@woahwhattheheck

@woahwhattheheck woahwhattheheck commented Oct 6, 2026 •

Copy link
Copy Markdown

Closes #624

What changed

  • add a service-scoped optimistic mutation ledger keyed by serviceId with monotonic revisions
  • publish price edits immediately to services dashboard/detail subscribers
  • reconcile successful writes with a canonical GET /api/v1/services/{serviceId}
  • roll back only the failed mutation revision, preserving newer same-service edits and unrelated concurrent updates
  • prevent out-of-order responses from replacing a newer successful local edit
  • surface stable typed error codes (SERVICE_WRITE_FAILED, SERVICE_RECONCILE_FAILED) without leaking backend internals
  • announce rollback failures through a polite live region
  • document the consistency model

Tests

  • unit: optimistic -> canonical success
  • unit: exact rollback + typed error
  • unit: rapid same-key edits with out-of-order responses
  • unit: unrelated concurrent service updates
  • integration: dashboard optimistic price + isolated rollback
  • integration: edit rollback + polite assistive-tech announcement

Validation note

The connected cloud shell could not resolve github.com, so local npm validation was not executed from that shell. Repository CI/check results on this PR are the executable validation source; any failure will be repaired on this branch.

@woahwhattheheck

Copy link
Copy Markdown
Author

/claim #624

Existing issue-level claim: #624 (comment)

I, @woahwhattheheck, affirmatively claim original-contributor credit for PR #643 and request evaluation for any applicable GrantFox OSS / Official Campaign (FWC26) reward and payment if accepted. Current carrier head: 9fa85b79a0e26886cc05a0af2b58457868533557.

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.

optimistic UI updates with rollback for services dashboard mutations

1 participant