Skip to content

Add base system groups#321

Merged
waynemwashuma merged 3 commits into
wimaengine:devfrom
waynemwashuma:add-base-system-group
May 25, 2026
Merged

Add base system groups#321
waynemwashuma merged 3 commits into
wimaengine:devfrom
waynemwashuma:add-base-system-group

Conversation

@waynemwashuma
Copy link
Copy Markdown
Collaborator

Objective

Introduce built-in core scheduling phases by adding reusable core system groups for startup and update schedules while making App#createSchedule() chainable.

Solution

Previously, startup and update schedules were created independently without predefined execution phases. This privides systems with a way to be ordered in larger base groups that are defined by the engine.

Changes include:

  • Added built-in core system groups:
    • Start
    • PreMain
    • Main
    • PostMain
    • End

Core execution flow:

flowchart LR
    Start --> PreMain --> Main --> PostMain --> End
Loading

The scheduling phases provide a consistent execution structure across applications while still allowing custom ordering and extension through existing group APIs.

Returning the app instance from createSchedule() aligns it with the rest of the fluent application configuration API and simplifies plugin setup code.Systems can now automatically participate in the default Main phase if registered without a system group in the core schedules.

Showcase

N/A

Migration guide

No migrations required

Notes

  • Systems without an explicit group now default to CoreSystems.Main inside core schedules
  • Existing explicit system groups continue to work unchanged

Checklist

  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.

@waynemwashuma waynemwashuma self-assigned this May 25, 2026
@waynemwashuma waynemwashuma merged commit 11e3d1d into wimaengine:dev May 25, 2026
7 checks passed
@waynemwashuma waynemwashuma deleted the add-base-system-group branch May 25, 2026 23:18
@waynemwashuma waynemwashuma added the type:enhancement New feature or request label May 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mod:app type:enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant