TODO.md had reached 1050 lines and 72 open items across 28 sections, read mostly on a phone. It is now a directory: todo/<theme>/<item>.md, one card per file, with frontmatter carrying id, status, created date and order, and the prose body copied across verbatim. TODO.md becomes a generated index (bun run todo:index). Dates: where an item's prose stated one it is used; otherwise its old section's; otherwise 2026-08-20, floored at the day before the split rather than invented. date_source records which. Shaped for a two-way Kanban board, filed as todo/tooling — a card is a file, id is the identity, frontmatter is the machine's half and the body is the owner's. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
23 lines
1.2 KiB
Markdown
23 lines
1.2 KiB
Markdown
---
|
|
id: agent-delivery/generalise-it-deliver-a-turn-to-a-named
|
|
title: "Generalise it: deliver a turn to a named session, from anywhere in the backend"
|
|
theme: agent-delivery
|
|
status: open
|
|
created: 2026-08-21
|
|
date_source: stated
|
|
order: 1
|
|
---
|
|
|
|
**Generalise it: deliver a turn to a named session, from anywhere in the backend.** Wanted
|
|
2026-08-21 — "ideal" is the owner's word for it. Today the only server-side caller is the nudger,
|
|
and delivery is welded to its schedule: a row in `nudges`, one per (user, session), a fixed
|
|
message, a tick. What the dispatcher, the file watchers and Command HQ all want instead is a plain
|
|
verb — *here is some text, deliver it to session X* — with the schedule, if any, belonging to the
|
|
caller.
|
|
|
|
Two things already established and worth not re-deriving. The nudger's `checkSafe` holds three
|
|
refusals — not live, live but generating, another live session in the same directory — and the
|
|
comments above it carry why each one is there. And "not live" is the case that differs by caller:
|
|
the nudger refuses (nudging a dead session would CREATE an agent, which is not what nudge means),
|
|
while a dispatcher handing over five todos does want it created.
|