Description
The evaluator <-> executor "protocol" currently relies on formulaic sequences of strings sent to buffers, e.g.
: start result <<< : // big JSON blob, possibly spanning multiple messages : >>> end result
The evaluator then manages an internal state machine in response to the messages it receives. We should instead use an existing protocol to avoid classes of errors related to message spoofing.
Desired behavior/Acceptance criteria (returned value, expected error, performance expectations, etc.)
- unhackable protocols 😤
Completion checklist
- Before closing this task, review one by one the checklist available here: https://www.mediawiki.org/wiki/Abstract_Wikipedia_team/Definition_of_Done#Back-end_Task/Bug_completion_checklist