← Journal

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.

Tools axiom-enginesveltesqliteopenaianthropic

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.