Review whether public API objects expose mutable internals or weaken authoritative state boundaries.
Questions to resolve:
- Should Decision remain a TypedDict-like shape or become a stronger abstraction?
- Should state access return immutable snapshots/copies?
- Can callers mutate returned state accidentally?
- Are Python and TypeScript API boundaries equivalent?
Goal:
Ensure authoritative state changes flow through validated engine transitions.
Review whether public API objects expose mutable internals or weaken authoritative state boundaries.
Questions to resolve:
Goal:
Ensure authoritative state changes flow through validated engine transitions.