• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

run-llama / llama-agents / 37991505027
85%

Build:
DEFAULT BRANCH: main
Ran 09 Oct 2026 09:07PM UTC
Jobs 0
Files 0
Run time –
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
  cancel
37991505027

push

github

web-flow
Record step emissions as delivery obligations in broker state (#791)

## What changed

Every event a step returns or sends with `ctx.send_event` is recorded in
`BrokerState.deliveries`, keyed by `(invocation_id, index)`, until the
tick that delivers it is reduced. `TickAddEvent.emission` carries the
key, and the reducer uses it to discharge the matching entry, record a
receipt if the producing step is still running, or drop a duplicate.
Reducing `TickSessionStart` re-emits every delivery still owed, right
after the rewind. Terminal exits clear the list; cancellation and idle
release keep it.

## Why

Part of a stack that lets a workflow run be persisted as a tick journal
plus an occasional snapshot (API in
https://github.com/run-llama/llama-agents/pull/784). The earlier PRs
make snapshot and replay agree about which steps are running. This one
makes sure nothing a step produced can fall between a snapshot and the
journal.

A snapshot or journal cut taken between a step finishing and its output
being delivered loses the output. The restored run has nothing queued
and nothing in progress, and waits out the workflow timeout with `No
steps active`.

The window exists because a step's returned event is not a state
transition. The reducer emits a `CommandQueueEvent`, the runner turns
that into a `TickAddEvent` in its in-memory buffer, and the event enters
state only when that tick is reduced. Between those two ticks it lives
nowhere persistent. `ctx.send_event` has the same hole from the other
side: its tick is in the mailbox before the step returns, but the runner
can reduce the step's result first, and then a cut after the result has
no record of the send.

Everything else the runner owes at a given moment is already in state
and already regenerated at session start. A running worker is in
`in_progress` and gets rewound. A scheduled retry has `not_before` on
its queued attempt and gets rescheduled. Returned and sent events were
the one obligation state di... (continued)
Source Files on build 37991505027
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #37991505027
  • 27e31c35 on github
  • Prev Build on main (#37945987730)
  • Next Build on main (#38063514549)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc