feat: add a live activity page to follow a run's agent #15
No reviewers
Labels
No labels
ai::retry
ai::retry_once
ai::retry_until_green
ai::validate_plan
status::blocked
status::done
status::functional_analysis
status::in_ci
status::in_development
status::in_review
status::technical_analysis
status::waiting_info
status::waiting_validation
type::analysis
type::bug
type::question
type::task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Alchemic.Studio/Alfred!15
Loading…
Reference in a new issue
No description provided.
Delete branch "main"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Add /runs/{id}/live, reached from a "Watch live" button on every run page.
It shows a read-only feed of what the run's agent does — messages,
thinking, tool calls and results, files read or edited, commands, errors —
appended while the run is going on, then frozen with the final status.
ActivityRecorder, which writes masked, capped entries as they come and
never fails the run
by the container and host runtimes and by the fake
Codex, OpenCode, Copilot and Grok Build to feed entries; raw_output,
text, usage and outcome are unchanged
through laravel/ai's StepCompleted event
live.js gains an append mode for the feed
§27.5 and §27.6 updated
Refs: #11
Add /runs/{id}/live, reached from a "Watch live" button on every run page. It shows a read-only feed of what the run's agent does — messages, thinking, tool calls and results, files read or edited, commands, errors — appended while the run is going on, then frozen with the final status. - run_activities table, RunActivity model, ActivityKind enum and the ActivityRecorder, which writes masked, capped entries as they come and never fails the run - ContainerRuntime::exec() takes an optional stdout callback, implemented by the container and host runtimes and by the fake - local adapters map the JSON events of Claude Code (now stream-json), Codex, OpenCode, Copilot and Grok Build to feed entries; raw_output, text, usage and outcome are unchanged - API mode records each tool call and result live, and each step's text through laravel/ai's StepCompleted event - the run page's refresh fragment moves to /runs/{id}/fragment; live.js gains an append mode for the feed - the retention purge clears feed contents; spec §16.5, §24.5, §27.2, §27.5 and §27.6 updated - unit, feature and Playwright browser tests Refs: #11