W15 — Chat memory, the inspector matures, and flows-as-tools
44 commits, three threads: chat conversation persistence, the flow inspector's stage-by-stage maturation, and the moment the LLM gained the ability to call flows as tools — collapsing the line between chat agent and skill pipeline.
A surprisingly heavy week — 44 commits — driven by three parallel arcs that quietly compounded.
What shipped
Chat persistence — agents that remember conversations
chat_conversations and chat_messages tables landed Friday morning. By Saturday: full CRUD routes with auto-save on every chat. By Sunday: a conversation sidebar with restore, rename, and delete. Context window size now displayed per model in the selector — small UX detail that quietly removed a recurring confusion.
The flow inspector grew up
Three named stages this week:
- Stage A rolled out earlier; built on it.
- Stage B introduced the promote-rail gutter and numeric field pairing — fields now align in tight pairs the way a control surface should.
- Stage C added a validation strip, width toggle, and keyboard shortcuts.
The inspector went from “a panel that lets you edit a node” to “a control surface that’s actually pleasant to live in for hours.” Step-card got auto-save, chain insertion, and reorder in the same wave.
Flows as tools
The single biggest unlock of the week — and arguably of the month. The chat panel got two new tools: list_flows and run_flow. The LLM, given the right prompt, can now enumerate every flow you’ve built and run any of them as a step in its own reasoning. The line between “chat agent” and “skill orchestrator” effectively dissolved.
Architecture moves
The flow-as-tool work is the early shape of something larger. Every flow you build is, by extension, an LLM-callable skill. This means flow authoring is, indirectly, agent capability authoring — the operator no longer has to choose between graph-based composition and chat-based orchestration. They’re the same surface seen from two angles.
By the numbers
- 44 commits
- +11,318 / −3,719 (net +7,599)
- 30 milestone-class changes
- 3 distinct architectural threads progressing in parallel
What’s next
Continue inspector polish toward a settled visual language. Build out the memory layer that the chat persistence work foreshadowed — store_name parameterization across flows. Begin sketching what a public-metrics export pipeline would look like.