class

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)
Source

Instance methods

empty?
Source
items
Source
on_change
Source
on_change=(on_change : Proc(Array(Item), Nil) | Nil)
Source
replace(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.

Source
summary
Source

Nested types