Skip to content

Task boards show rollout audit lines as titles for event-only Todos #5289

Description

@songoow

Problem

Personal Workspace task boards show titles such as todo add recorded for todo_584f55f8f3b4 for some open Todos (reproducible with the public examples/status.example.json).

These rows come from build_todo_index (loopx/control_plane/todos/todo_index.py). Todos present in the attention queue use their real text, but a Todo that is only known from the rollout event log (for example because the attention queue carries a bounded Todo list) is indexed from the event itself:

  • loopx todo add|update|… records the event with summary="todo <command> recorded for <todo_id>" (loopx/cli_commands/todo_event.py);
  • _indexed_rollout_todo_event uses that summary as both text and title, falling back to "<event_kind> recorded for <todo_id>".

The event carries no Todo text, so the index has nothing better to show, and the audit sentence reaches the operator as if it were the task.

Options

Both change a control-plane contract, so this needs a maintainer decision before a PR:

  1. Record the Todo text on the event — todo_event.py adds a compact, public-safe details.text (same redaction as other Todo text in the status projection), and the index prefers it over the summary. Additive to the append-only event log; events written before the change keep the audit title.
  2. Type the title source in the index — _indexed_rollout_todo_event marks such rows (e.g. title_source: "event_audit"), and the workspace renders them as an event-only Todo (id plus last event) instead of a task title. No event-log change; works for existing events.

They are not exclusive: (1) improves new events, (2) makes existing ones honest.

Acceptance

  • A rollout-only open Todo never renders … recorded for todo_… as its task title.
  • Todos present in the attention queue are unchanged.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions