Articles
DebugSession: a companion class for coordination
The worker in the previous article built coordination on top of the engine’s hooks. v7 lifted that coordination into a companion class next to the engine.
25 min read
Three guises of a Turing machine: object, graph, behaviour
I serialized a machine to a Mermaid diagram and rebuilt it. Proving it’s the same machine turned “the same” into three questions: object, graph, behaviour
26 min read
Seven arrows, 429 trees: a Mermaid cleanup uncovered a 7-year naming bug
Composed-state naming in a Turing-machine engine was non-injective since 2019: one name, up to C_7 = 429 distinct machines. v7 fixes it with parens.
23 min read
A pause with two sides: the hook contract and the worker protocol
Implementing a pause inside a worker isn’t one decision — it’s two contracts at once: the engine’s hook and the worker-main protocol.
28 min read
Two majors, one README, one demo: two cheap design reviews
Of the three majors covered by the previous article, two never surfaced in the test suite. They surfaced in the two design reviews tests can’t run.
11 min read
Three majors, two mistakes: designing a pause API for a Turing-machine interpreter
Two design mistakes in a Turing-machine pause API, and the three major releases it took to get them out.
21 min read