Skip to content

feat(F50): harden state machine with StrEnum#96

Merged
wendeus0 merged 1 commit into
mainfrom
feature/F50-state-machine-hardening
Mar 15, 2026
Merged

feat(F50): harden state machine with StrEnum#96
wendeus0 merged 1 commit into
mainfrom
feature/F50-state-machine-hardening

Conversation

@wendeus0
Copy link
Copy Markdown
Owner

Description

F50: Hardens the state machine by replacing string literals with a StrEnum and explicit terminal state definition.

Changes

  • Introduces PipelineState(StrEnum) in src/synapse_os/state_machine.py.
  • Updates PipelineEngine, RuntimeWorker, and Persistence to use the enum.
  • Defines TERMINAL_STATES = {COMPLETED, FAILED, CANCELLED}.
  • Fixes MyPy issues with strict typing on transitions.

Verification

  • Unit tests: 297 passed.
  • Integration tests: 110 passed.

…ates

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@wendeus0 wendeus0 merged commit 5751760 into main Mar 15, 2026
9 of 11 checks passed
@wendeus0 wendeus0 deleted the feature/F50-state-machine-hardening branch March 15, 2026 18:42
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