Skip to content

Deduplicate validation between AEES and StructuredEpisodeManager #19

Description

@davidkfoss

Problem

The same control_mode / context_mode / structured_control_mode / candidate-list invariants are validated in two places:

  • scheduler.py:84-111 (AEES)
  • episode.py:90-130 (StructuredEpisodeManager)

When a constraint changes, both must be updated or they drift.

Proposal

Pick one layer to own validation. The natural home is StructuredEpisodeManager (it owns the structured-control state); AEES should pass its config through and trust the manager to raise. Alternatively, extract a single _validate_control_config(...) helper used by both.

Acceptance criteria

  • Only one place performs the invariant checks.
  • The same exceptions (type + message) are still raised for the same bad inputs.
  • Tests covering invalid-config paths still pass.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions