Repository navigation
feat!: workflow store found by scope, remove deprecated APIs (contract v0.8.0) - #187
Merged
Merged
Conversation
|
Caution Review failedThe pull request is closed.
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
WorkflowAcknowledgeable removed: a queue names only its scope (Scoped). WorkflowStore gains FinishTask(queueID, ackID, end). Process registry (Register/Unregister/LookupWorkflowStore, WorkflowStores, ErrScopeRegistered) lets adapters register stores without importing varmq. Root varmq does not build until the core follows.
Drop WithPersistent*/WithDistributed* binders, NewDistributed*, the Persistent/Distributed queue handles and IExternalBaseQueue.NumPending. Examples and tests use WithQueue / NewQueue.
Durable tasks look their store up in the contract registry by the queue's scope and finish through store.FinishTask(queueID, ackID, end). A task with no registered store is not run and not acked; the worker reports the error. /workflows lists registered stores plus in-memory ones. Requires contract v0.8.0. Spec 1.8.0, changelog.
Reserve the wf: job ID prefix for workflow tasks, rate-limit the missing store error, treat storage with no Queue ID as storeless, refuse nil or unscoped stores in the registry, fix openapi 1.5.1 and spec 1.8.0 wording.
fahimfaisaal
force-pushed
the
feat/workflow-store-split
branch
from
November 9, 2026 16:47
1a8cb7e to
9ba8fc1
Compare
This was referenced Nov 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Workflow store becomes its own object, found by scope. Queue knows only its scope. Deprecated APIs removed. Stacked on #185.
Errs()/handler once per scope per minute.wf:job-ID prefix reserved for workflow tasks: plainAddwith such an ID returns false.WithPersistentQueue,WithPersistentPriorityQueue,WithDistributedQueue,WithDistributedPriorityQueue,NewDistributedQueue,NewDistributedPriorityQueue, their handle types,IExternalBaseQueue.NumPending.redis-storage.md1.8.0 (FinishTask is a store operation, §9 entry); openapi 1.5.1 (text only).Evidence
go build ./...,go vet ./...,go test -race ./...,cd contract && go test ./...: pass. All example modules vet./workflowslists registered store; registry errors; reservedwf:IDs;WithQueueCapacityon a durable handle.compensated.OpenWorkflowfinds it.Merge Danger
Door: one-way once tagged (contract v0.8.0, varmq v1.11.0 remove API); two-way until then.
Blast Radius: breaking
feat/workflow-store-split, sqliteqfeat/workflow-store(PRs follow, pinned tocontract/v0.8.0).contract/v0.8.0before adapters can pin it.docs/) not touched: its update follows after this and docs(site): sync docs site with main (WithQueue, cancel, pause, workflows, REST) #186 merge (coverage check pins main).#NNplaceholders → this PR's number in a follow-up commit.