Objective
Let authors manage transition guards semantically—Always, Never, structured clauses, or provider expressions—without losing existing Elsa Input<bool> definitions.
Context
Scope
- Pure condition classification/serialization adapter.
- Wide condition workspace launched from the compact inspector.
- Missing, literal true, literal false, known provider, unknown provider, and malformed states.
- Structured clause authoring where lossless mapping is proven.
- Advanced raw-definition escape hatch with validation.
- No-op preservation of unknown fields and shapes.
Non-goals
- Treating Condition as an activity.
- Forcing all providers into a structured builder.
- Normalizing untouched legacy values.
- Creating a parallel general expression subsystem.
Architecture constraints
Reuse existing expression descriptors/editor where context permits. Route mutations through StateMachineEditorSession.SetTransitionSlot.
Dependencies
Structured clause UI depends on the clause-mapping spike. The adapter can proceed independently.
Tasks
Acceptance criteria
Validation
Pure adapter tests, bUnit workspace tests, mapper/session round-trip tests, and provider integration checks.
Objective
Let authors manage transition guards semantically—Always, Never, structured clauses, or provider expressions—without losing existing Elsa
Input<bool>definitions.Context
Scope
Non-goals
Architecture constraints
Reuse existing expression descriptors/editor where context permits. Route mutations through
StateMachineEditorSession.SetTransitionSlot.Dependencies
Structured clause UI depends on the clause-mapping spike. The adapter can proceed independently.
Tasks
Acceptance criteria
Validation
Pure adapter tests, bUnit workspace tests, mapper/session round-trip tests, and provider integration checks.