Surfaced in review of #23.
The SinkDedup primitive is now unit-tested, but RunsRootWatcher's new state machine has zero automated coverage and is the most intricate code in the β release — validated only by manual runs:
- the 700ms
tick() poll backstop (catches frames/FINISHED that fs.watch/FSEvents drops),
- the idle-on-finished baseline at
start() (a finished run at launch sets activeRunDir without a sink so it isn't re-rendered),
- the warming-up → first-frame transition.
Fix: an integration test that appends iter_*.png + AMICODE_ITER lines to a temp run dir over time and asserts the sink/inspector calls — including a finished run at launch staying idle, warming → first frame, and the poll delivering frames fs.watch missed.
Ref: #23.
Surfaced in review of #23.
The
SinkDedupprimitive is now unit-tested, butRunsRootWatcher's new state machine has zero automated coverage and is the most intricate code in the β release — validated only by manual runs:tick()poll backstop (catches frames/FINISHED that fs.watch/FSEvents drops),start()(a finished run at launch setsactiveRunDirwithout a sink so it isn't re-rendered),Fix: an integration test that appends
iter_*.png+AMICODE_ITERlines to a temp run dir over time and asserts the sink/inspector calls — including a finished run at launch staying idle, warming → first frame, and the poll delivering frames fs.watch missed.Ref: #23.