Skip to content

Validate workflow before scheduling#98

Merged
frantic-openai merged 1 commit into
mainfrom
codex/fix-startup-semantic-preflight
Jul 17, 2026
Merged

Validate workflow before scheduling#98
frantic-openai merged 1 commit into
mainfrom
codex/fix-startup-semantic-preflight

Conversation

@frantic-openai

Copy link
Copy Markdown
Collaborator

Context

Symphony could start scheduling with semantically invalid workflow
settings, while blank required values also passed validation.

TL;DR

Validate workflow settings before they become effective or start scheduling.

Summary

  • Make WorkflowStore cache only semantically valid workflow settings.
  • Return startup errors before Orchestrator schedules cleanup or polling.
  • Reject blank Linear settings and whitespace-only Codex commands.
  • Keep last-good settings across invalid reloads and runtime restarts.
  • Add cold-start, reload, restart, and test-bootstrap coverage.

Alternatives

  • Validating only in Orchestrator init was rejected because bad reloads
    could break ordinary OTP restarts.
  • Keeping validation only per tick was rejected because startup still
    appeared healthy with invalid settings.

Test Plan

  • cd elixir && mise exec -- make all
  • cd elixir && mise exec -- mix test --seed 567691 --max-failures 1

Summary:
- Keep only semantically valid workflow settings in WorkflowStore.
- Reject blank Linear settings and whitespace-only Codex commands.
- Fail orchestrator startup cleanly when no valid settings are available.
- Add regressions for cold startup, invalid reloads, and OTP restarts.

Rationale:
- The scheduler must not start with config it cannot dispatch with.
- Invalid reloads must keep using last-known-good settings instead of
  taking down a restarted runtime.

Tests:
- mise exec -- make all
- mise exec -- mix test --seed 567691 --max-failures 1

Co-authored-by: Codex <codex@openai.com>
@frantic-openai
frantic-openai merged commit d476215 into main Jul 17, 2026
2 checks passed
@frantic-openai
frantic-openai deleted the codex/fix-startup-semantic-preflight branch July 17, 2026 22:14
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