Open
Conversation
Contributor
darinkrauss
commented
Mar 18, 2026
- Initial refactor work
- Add Provider interface to eventually replace concrete *work.Processor
- Update ProcessPipeline to require completion function
- Require work.Client dependency for all processors for consistency
- Specify ProcessingTimeoutMaximum using time.Duration
- Rename MetadataLengthMaximum to MetadataSizeMaximum
- Add test functionality
- Initial refactor work - Add Provider interface to eventually replace concrete *work.Processor - Update ProcessPipeline to require completion function - Require work.Client dependency for all processors for consistency - Specify ProcessingTimeoutMaximum using time.Duration - Rename MetadataLengthMaximum to MetadataSizeMaximum - Add test functionality
There was a problem hiding this comment.
Pull request overview
Initial refactor of the work processing framework to standardize processor dependencies, tighten pipeline behavior, and prepare for replacing concrete processors with a provider interface.
Changes:
- Introduces a
work.Providerinterface and regenerates mocks to support it. - Refactors
ProcessPipeline.Processto require a completion function and updates processors/tests accordingly. - Standardizes processors to require
work.Clientviawork/base.Dependencies, and updates timeout/metadata max constants.
Reviewed changes
Copilot reviewed 25 out of 25 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| work/work.go | Converts timeout max to time.Duration, renames metadata max constant, and updates validation accordingly. |
| work/test/work.go | Adds helper to build Work from Create with a specific state (test utility). |
| work/test/processor_mocks.go | Updates generated mocks to include Provider and adds required imports. |
| work/test/process_result.go | Updates timeout max usage and adds matchers for failing/failed error assertions in tests. |
| work/processor.go | Adds Provider interface for processor context/logging/result helpers. |
| work/process_result.go | Changes pipeline processing to require a completion function; adds exported error-to-failed-result helper. |
| work/base/processor_test.go | Updates tests for new dependencies model and new pipeline completion requirement. |
| work/base/processor.go | Adds Dependencies (requires work.Client), refactors Process into a pipeline, and centralizes failure creation. |
| private/plugin/abbott | Bumps git submodule pointer. |
| plugin/abbott/abbott/work/work.go | Embeds work/base.Dependencies into plugin processor dependencies and removes redundant work client field. |
| oura/work/users/revoke/processor.go | Embeds base dependencies and updates pipeline usage to provide completion. |
| oura/work/subscribe/processor.go | Embeds base dependencies and updates pipeline usage to provide completion. |
| oura/work/processors/processors.go | Embeds base dependencies and passes them into each processor factory dependency set. |
| oura/work/data/setup/processor.go | Embeds base dependencies, removes redundant work client field, and uses WorkClient() accessor. |
| oura/work/data/historic/processor.go | Embeds base dependencies and updates pipeline usage to provide completion. |
| oura/work/data/event/processor.go | Embeds base dependencies and updates pipeline usage to provide completion. |
| oura/jotform/work/reconcile.go | Embeds base dependencies and updates pipeline usage to provide completion. |
| data/source/work/mixin_test.go | Updates tests to initialize processor via new dependencies and pipeline completion. |
| data/set/work/mixin_test.go | Updates tests to initialize processor via new dependencies and pipeline completion. |
| data/service/service/standard.go | Wires standardized work/base.Dependencies into Abbott/Oura processor factory construction. |
| data/raw/work/mixin_test.go | Updates tests to initialize processor via new dependencies and pipeline completion. |
| customerio/work/event/processor_test.go | Updates test to provide base WorkClient dependency. |
| customerio/work/event/processor.go | Embeds base dependencies and updates pipeline usage to provide completion. |
| auth/service/service/service.go | Wires standardized work/base.Dependencies into Jotform/CustomerIO processor factories and improves logging. |
| auth/providersession/work/mixin_test.go | Updates tests to initialize processor via new dependencies and pipeline completion. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
Author
|
Updates based upon feedback included in later PR. |
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.