Repository navigation
feat(service,features): a workspace's automations and an automation's runs are live reads - #3289
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
luke-agent
Bot
changed the base branch from
main
to
luke/neon-realtime-agent-notices
October 17, 2026 01:33
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 18, 2026 20:24
7e1c3de to
265ae03
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 18, 2026 20:31
9227733 to
4fd53c6
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 18, 2026 21:24
265ae03 to
3ee823b
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 18, 2026 21:24
4fd53c6 to
c241c39
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 19, 2026 18:52
3ee823b to
c5b9c64
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 19, 2026 18:52
c241c39 to
e20c218
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 20, 2026 02:53
c5b9c64 to
bbe5c74
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 20, 2026 02:53
e20c218 to
811d315
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 20, 2026 02:58
bbe5c74 to
710d7fa
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 20, 2026 02:58
811d315 to
fb5020c
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 20, 2026 04:02
710d7fa to
5d0c06b
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 20, 2026 04:02
fb5020c to
c1104a8
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
2 times, most recently
from
October 21, 2026 00:25
5a9a34c to
827b2c5
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 21, 2026 00:37
c1104a8 to
c23709c
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 21, 2026 00:44
c23709c to
8134bab
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 21, 2026 01:23
9635f18 to
629734b
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 21, 2026 01:23
3b02702 to
36b084a
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 21, 2026 05:20
36b084a to
98f9329
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 21, 2026 05:20
629734b to
64ea3eb
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 21, 2026 05:30
98f9329 to
f9bad5a
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 21, 2026 05:30
64ea3eb to
95addee
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 21, 2026 05:38
95addee to
0b8a78a
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 21, 2026 05:38
f9bad5a to
191addc
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 21, 2026 05:50
191addc to
b1bab0a
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 21, 2026 05:50
0b8a78a to
8eba1ac
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-agent-notices
branch
from
October 21, 2026 05:58
b1bab0a to
7199d3c
Compare
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 21, 2026 05:58
8eba1ac to
94d1b67
Compare
… runs are live reads GET /api/live/automations (live.automations) answers every automation of a workspace the account reads, with its newest run, that run's agent, and what the agent's status is read from, in one statement; GET /api/live/automation-runs (live.automationRuns) answers an automation's newest fifty runs on the same terms, once the automation is read as the account. As every live read is, each names the account it is read for, answers its rows inline at the poll address with Realtime off, held until they move, and is sealed where Realtime is on. An agent's newest turn, its newest awaiting line, and why its turn failed are one set of fragments the task list shares, the failure named in SQL so a turn's detail never leaves the database, and an automation with no repositories of its own falls back to its task's on the reader, since jsonb_build_array is not immutable. The desktop builds the list and the history with @luke/features/automation-live. Parity tests run the statements as raw SQL against the held answers, and both pass the immutability helper. Co-authored-by: luke-agent[bot] <339870089+luke-agent[bot]@users.noreply.github.com>
luke-agent
Bot
force-pushed
the
luke/neon-realtime-automations-service
branch
from
October 21, 2026 06:07
94d1b67 to
34fe396
Compare
Contributor
There was a problem hiding this comment.
Devin Review found 1 potential issue.
1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stack 2 · Task list and automations, piece 5. Stacked on #3284 (
luke/neon-realtime-agent-notices).New live reads on the central live layer:
live.automations(GET /api/live/automations?workspaceId=) returns every automation in the workspace the account can read. Each comes with its newest run (a lateral join), that run's agent, and the inputs to the agent's status.live.automationRuns(GET /api/live/automation-runs?id=) returns the automation's newest 50 runs, after reading the automation as the account. An automation the account can't read answersnot-found.Both work like every other live read: each names the account it's read for (
sameUser), and polls with Realtime off.Shared fragments in
packages/service/src/live/agent-standing.ts, also used by the task list:Repositories: an automation with no repositories of its own falls back to its task's repository on the reader side, because
jsonb_build_arrayisn't immutable.Assembly:
@luke/features/automation-livebuilds the held list and history at an instant. The host uses it in the next PR.Tests:
mutableFunctionsOfon both statements.