Smith::TodoList
Inherits Reference < Object
The plan a multi-step run is following, kept as a structured artifact instead of only implicitly in the transcript — where context compaction would drop it first.
Deliberately independent of the tool that writes it and of the event bus,
so session persistence and the renderers can use it without knowing about
the tool registry. The only way out is the optional on_change callback,
which the CLI wires to the renderer.
Constructors
new(items : Array(Item) = Array(Item).new)
SourceInstance methods
empty?
Sourceitems
Sourceon_change
Sourceon_change=(on_change : Proc(Array(Item), Nil) | Nil)
Sourcereplace(items : Array(Item)) : Nil
Replaces the complete list. Incremental patching would need the model to track indices correctly across turns; a full rewrite cannot desynchronise.
summary
Source