Skip to content

feat(workflows): workflows umbrella - #6079

Open
brunozoric wants to merge 1 commit into
nextfrom
bruno/feat/workflows-umbrella
Open

brunozoric wants to merge 1 commit into
nextfrom
bruno/feat/workflows-umbrella

Conversation

@brunozoric

@brunozoric brunozoric commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Umbrella for the workflows refactor, split from bruno/refactor/workflows-flow (#5973) for review. Each part squash-merges into this branch; this branch then merges into next.

Parts do not share files, so any merge order works. The order below is the suggested review order: lower layers first, so later parts build on code already reviewed. Only the full umbrella builds; single parts do not.

1. Shared base API changes

  1. feat(api-core): workflows support [skip ci] #6056 api-core: Identity and authorization context changes for workflow permissions.
  2. feat(api-core-ddb): workflows support [skip ci] #6057 api-core-ddb: Admin users storage change (DynamoDB).
  3. feat(api-core-sql): workflows support [skip ci] #6058 api-core-sql: Admin users storage change (SQL).
  4. feat(api-core-testing): workflows support [skip ci] #6059 api-core-testing: TestAuthorizer mock update.
  5. feat(api-headless-cms): workflows support [skip ci] #6061 api-headless-cms: UpdateEntrySystem use case and the CmsEntrySystemField extension point for filterable entry.system fields, both exported for extensions.
  6. feat(api-headless-cms-ddb): workflows support [skip ci] #6062 api-headless-cms-ddb: Registered entry system fields passed to DynamoDB entry filtering, with a test.
  7. feat(api-headless-cms-ddb-es): workflows support [skip ci] #6063 api-headless-cms-ddb-es: Entry system field filter test (OpenSearch).
  8. feat(api-headless-cms-storage): workflows support [skip ci] #6064 api-headless-cms-storage: System filter fields built from registered entry system fields.
  9. feat(api-headless-cms-testing): workflows support [skip ci] #6065 api-headless-cms-testing: CMS test handler update.
  10. feat(api-headless-cms-utils-os): workflows support [skip ci] #6066 api-headless-cms-utils-os: OpenSearch system filter fields built from registered entry system fields.
  11. refactor(api-headless-cms-sql): pass registered entry system fields to filtering [skip ci] #6083 api-headless-cms-sql: Registered entry system fields passed to SQL entry filtering.
  12. feat(api-aco): workflows support [skip ci] #6060 api-aco: Folder test update.
  13. feat(api-website-builder): workflows support #6067 api-website-builder: Page exports and handler changes used by workflows, with tests; pages use their own GraphQL types (WbPageSystem, WbPageLive) instead of copied CMS ones.
  14. feat(api-website-builder-scheduler): workflows support [skip ci] #6068 api-website-builder-scheduler: Publish and unpublish action handlers report workflow errors.
  15. feat(api-mailer): workflows support [skip ci] #6069 api-mailer: SMTP transport default sender fix.
  16. feat(api-sync-system): workflows support [skip ci] #6070 api-sync-system: Default filter for workflow records.
  17. feat(background-tasks): workflows support #6071 background-tasks: Private tasks and self-cleaning task handlers, used by workflow notifications. The GraphQL API cannot start a private task and leaves private definitions out of listDefinitions; private task runs stay visible (D188).
  18. feat(common-audit-logs): workflows support [skip ci] #6073 common-audit-logs: Workflows app in the audit log app list.
  19. fix(api-opensearch-aws): skip deletes of missing records in the batch write test stream [skip ci] #6086 api-opensearch-aws: Test stream harness skips batch deletes of missing records, like real DynamoDB.

2. Workflows engine

  1. feat(api-workflows): domain #6037 api-workflows-domain: Domain model of the workflows engine: workflows, steps, rules, review entries, routing and notifications.
  2. feat(api-workflows): review and workflow state features #6038 api-workflows-features-review: Review and workflow-state features: request, approve, reject and reassign reviews; track the state of each entry.
  3. feat(api-workflows): remaining features #6039 api-workflows-features: Other engine features: workflows CRUD, step runs, config, notifications, routing, settings, identity and AI tools.
  4. feat(api-workflows): GraphQL schema and package wiring #6040 api-workflows-core: GraphQL schema, validation and package wiring of the workflows engine.
  5. feat(api-workflows): tests #6041 api-workflows-tests: Tests for the workflows engine. Also allowlists one made-up test value in .gitleaks.toml.

3. API integrations

  1. feat(api-headless-cms-workflows): workflows integration #6042 api-headless-cms-workflows: Headless CMS integration: workflow rules, guards and review state for CMS entries; registers system.workflow as a filterable entry system field.
  2. feat(api-website-builder-workflows): workflows integration #6043 api-website-builder-workflows: Website Builder integration: workflow rules, guards and review state for WB pages.
  3. feat(ai-powerups): workflows integration #6050 ai-powerups: AI step type for workflows, the review capability and the listAiModels operation.
  4. feat(notifications-integrations): workflows support #6072 notifications-integrations: Workflow approved/rejected notification handlers and review links.

4. Admin base changes

  1. feat(admin-ui): workflows support [skip ci] #6051 admin-ui: Button, checkbox and date picker fixes, including the DateOnlyPicker fix.
  2. feat(app): workflows support [skip ci] #6055 app: GraphQLOperationError helper for admin GraphQL errors.
  3. feat(icons): workflows support [skip ci] #6075 icons: progress_activity icon.
  4. feat(app-admin): workflows support #6052 app-admin: Admin app changes for workflows, including the Workflows group in the role form.
  5. feat(app-headless-cms): workflows support #6053 app-headless-cms: Headless CMS admin hooks used by workflows (e.g. Publish hidden in the revisions drawer on workflow models).
  6. feat(app-website-builder): workflows support [skip ci] #6054 app-website-builder: Website Builder admin hooks used by workflows.

5. Admin workflows app

  1. feat(app-workflows): shared presentation, config, domain and wiring #6044 app-workflows-core: Shared admin layer: presentation, config, domain, gateways and app wiring.
  2. feat(app-workflows): the workflow editor #6045 app-workflows-editor: Workflow editor in the admin app: steps, rules and their dialogs.
  3. feat(app-workflows): content reviews #6046 app-workflows-review: Content Reviews in the admin app: review list, steps popover, trash and review actions.
  4. feat(app-workflows): settings and exclusions #6047 app-workflows-settings: Workflows settings in the admin app, including the exclusions page.

6. Admin integrations

  1. feat(app-headless-cms-workflows): workflows integration #6048 app-headless-cms-workflows: Headless CMS admin integration: review actions in the entry editor and revisions drawer.
  2. feat(app-website-builder-workflows): workflows integration #6049 app-website-builder-workflows: Website Builder admin integration: review actions in the page editor.

7. Wrap-up

  1. feat(webiny): workflows support [skip ci] #6076 webiny: webiny package exports for workflows (including UpdateEntrySystemUseCase and CmsEntrySystemField) and the API abstractions registry.
  2. feat(cli-core): workflows support #6074 cli-core: References update.
  3. feat(workflows): CI, scripts and lockfile #6077 repo: Test package listing scripts and yarn.lock.
  4. feat(workflows): planning docs and Claude skills #6078 docs: Planning docs, handoffs and specs (docs/.bruno) and the design-pull / design-ask Claude skills.

🤖 Generated with Claude Code

Per-package PRs target this branch. Source: bruno/refactor/workflows-flow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🚓 Slop Cop

✅ Nothing worth flagging. The diff looks consistent with the PR's stated intent and the code-style rules.

Empty umbrella PR with no diff content; nothing to flag.

Automated, non-blocking heads-up from an LLM. It can be wrong — use your judgment. Regenerates on every push.

This branch has not been deployed

No deployments
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.

1 participant