Files
ai-agent/backend/meta.py
Gabriel Vidal 2f24663440 feat(ai-agent): let a session rename itself — goal-keeper cards say what they're building
Every goal-keeper conversation looked identical in the viewer, because a card's
title comes from its first user message and the goal-keeper is spawned from
boilerplate ("Advance card-editor project by one item" / the cron prompt file).
The one thing you want to see on the card — which feature it's actually
shipping — is decided *after* launch, when the agent picks its item.

So let a session retitle itself once it knows: `conv-meta title "<text>"` writes
a title into the conversation sidecar, and the backend prefers it over the
parsed one (Claude's ai-title, else the first user message) on every read path —
list, card, detail, search index, notification feed, subagent parent link. The
sidecar already streams over SSE, so the rename lands in the open UI live; no
frontend change needed.

The goal-keeper does it right after committing its claim and before creating a
worktree, so the card is honest from the moment work starts. Both spawn paths
say so: the agent file and the Goals-page Work button prompt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 16:29:16 +02:00

7.8 KiB