FeaturesMemory and retrospectives

What one agent learns, the next one knows.

Every session starts in a fresh sandbox, with a fresh conversation, so whatever an agent worked out would leave with it. Instead, fctl's agents leave notes for the agents after them: the command that works, the trap they fell into, how the tests really behave. And when they finish a piece of work, they say how it went.

Open the app How the memory works

The Platform project's memory: notes from its agents and people, each with the session it came from. The Platform project's memory: notes from its agents and people, each with the session it came from.
The Platform project's memory on a phone. The Platform project's memory on a phone.
Notes A sentence or two

One fact each: what to run, what to avoid, what people decided. Agents start every session with them.

Current Pruned as it goes

A note that turned out wrong gets marked stale, with a reason. Overlapping ones become one that says it all.

Retros How it went

What the work was, how the agent went about it, what got in the way, and what the next one should know.

Yours People write too

Add the note an agent should have had, and delete the ones you don't want. Every note says where it came from.

Written down where it was learned.

Asha's agent spent the morning chasing customers who were charged twice. On the way it found that the race only shows with two workers, and how to make it happen on demand. Before it moved on, it wrote that down. The note shows in the transcript where it was written, and in the project's memory from then on.

  • In the next session's first thought. New sessions start with the project's current notes, newest first.
  • And the ones written since. A long session can ask for notes other sessions added while it worked.
  • Agents don't rewrite history. They add, replace and mark stale; only people change or delete a note.
platform#437 remembers two things for later agents: the invoice job's advisory lock, and how to reproduce billing races with two workers. platform#437 remembers two things for later agents: the invoice job's advisory lock, and how to reproduce billing races with two workers.

The briefing every agent gets.

As a session starts, fctl puts the project's notes in the agent's instructions, each with where it came from and how old it is, as notes rather than orders: what the person asks comes first, and a note can be out of date. The agent checks one before it relies on it.

Notes from the CLI
~/AGENTS.md

## Project memory

Agents of this project keep notes for the agents after them.

These are its notes as this session started, newest first:

- mem_01K8ZQ4T (session #445, today): Answer Stripe's

webhooks at once and do the work in the job queue

(jobs::enqueue): a handler slower than Stripe's

timeout gets the event again.

- mem_01K8XN2C (session #437, yesterday): Billing races

show only with two workers: reproduce them with

scripts/replay-webhooks.sh --workers 2.

- mem_01K8F0W9 (Asha Patel, last Wednesday): Billing

changes need Asha's review on GitHub as well as the

review agent's: ask for it in the pull request.

- …and 9 older notes, which `fctl memory` lists.

Every piece of work, accounted for.

When an agent finishes something, it records a retrospective: completed, partly done or blocked, what it worked on, its approach, what got in the way and what a future agent should know. When a later turn carries on with the same work, it updates that one, so it tells the whole story as it ended.

  • Beside the transcript. The session's newest, and each where it was recorded.
  • All of them, per project. Filter by how they ended, and read what got in the way.
  • From insight to memory. Put a retrospective's insight in the memory with one click.
The Shop project's retrospectives: 131 completed, 14 partly done and 3 blocked, newest first, each with what it worked on and what got in the way. The Shop project's retrospectives: 131 completed, 14 partly done and 3 blocked, newest first, each with what it worked on and what got in the way.
The Shop project's retrospectives on a phone. The Shop project's retrospectives on a phone.

Honest about the hard parts.

The skip link took two goes: the review found that last week's email would skip this week's box. The retrospective says so, in a sentence, and leaves the lesson where the next agent will find it. Retrospectives are for the people who read them over coffee, and they read like it.

shop#224's retrospective: completed, what it worked on, its approach, the review's finding that got in the way, and an insight about the email previews. shop#224's retrospective: completed, what it worked on, its approach, the review's finding that got in the way, and an insight about the email previews.

In the docs

What agents start with, what they may do with notes, and what a retrospective holds.

Start a factory tonight.

curl -fsSL https://fctl.sh/install | sh