Skip to content

Report-back reaches the parent exactly once across a server restart #94

Description

@lukemaj

What: A child thread's report-back reaches its parent exactly once even across a Chromeria server restart.
Why: Report-back state is held in memory and restored from the parent's newest activities, so after a restart a report can be lost or repeated (childReportState.ts documents the gap).
So what: A worker implements it; the planner reviews and merges.

Parent

#92

Outcome

After a server restart, every child's next finished turn is reported to its parent once, and earlier reports are not resent.

Elon record

  • Requirements and who asked: Prism routes delegated work through Chromeria's thread tools; retire the Python runner #92 acceptance: report-back must survive a restart so the dispatcher and planner are always woken.
  • Deleted: the runner's job database as the durability layer.
  • Bottleneck: dispatchers wait on report-back; a lost report stalls the job silently.
  • Checked myself: apps/server/src/mcp/toolkits/threads/childReportState.ts header describing the activity-window gap.

Acceptance criteria

  • A child with reportBack on or off keeps that setting after a restart, regardless of how many parent activities followed.
  • A child's reply already reported before the restart is not reported again; a reply finished during the restart is reported once.

Non-goals

  • Changing what report-back sends.

Blocked by

None

Required proof

  • Tests at the threads toolkit seam that simulate restart beyond the activity window; CI green on the exact head; independent review.

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