Repository navigation
tasks: a conversation with no title is drawn as its raw session id #915
Description
What is true today
On the tasks place, a conversation that has said nothing yet is drawn as its raw
session id, capitalised by the row's own casing:
earlier · 3 folded away
▸ The Backup Window · infra 2d
▸ Why the Frame Jumps · aforge-v2 8d
De9ea39e6f4c18c3
▸ The Certificate Rotation · infra
de9ea39e6f4c18c3 is the session the launch itself created. Its meta.json is
{"id":"de9ea39e6f4c18c3","workspace":"/private/tmp/htw/aforge-v2",
"created":"2026-09-11T14:25:34-04:00","lastUserAt":"0001-01-01T00:00:00Z"}— no title, because the title role has had nothing to name.
Why it is a regression and not an old wart
Before #905 the same fixture drew that row as new conversation, which is what
home calls it and what the person would recognise:
earlier
new conversation now
So the table's row composer lost the fallback the list had. The row also has no
age (lastUserAt is the zero time, and the emptiness law draws nothing), which
is right — it is only the name that is wrong.
Replication
make build
go build -o /tmp/afdemo ./cmd/aforge-demo-home
/tmp/afdemo --into /tmp/htw --keep
tmux new-session -d -s htw -x 122 -y 40 -c /tmp/htw/aforge-v2 \
"HOME=/tmp/htw $PWD/bin/aforge"
sleep 20; tmux send-keys -t htw " " " "; sleep 4; tmux send-keys -t htw Tab
sleep 6; tmux capture-pane -p -t htwThe launch's own untitled session is the row; typing its id into the filter
isolates it.
Acceptance
End to end, through the real door above: the tasks place draws
new conversation for a session with no title, spelled the way home spells it
(one word for one thing, read from wherever home reads it rather than spelled a
second time here), and no frame of that place contains a bare sixteen-hex-digit
id. A unit test over the row composer with a titleless SessionRow pins it.
Note
A titleless session with no work under it arguably belongs on no row of this
place at all. That is the other honest answer and it is a ruling, not a defect:
earlier today lists conversations as well as work, and the fixture shows three
more of them.
Drafted with CodeAF · reviewed and owned by the author
Activity
e2e: the refused proposal and the task room wait for what is drawn
e2e: the tmux suite reads the surface again (#1360)