Show live agent activity on an issue and retire the narration comments #147

Closed AtlantisPleb opened this 4d ago

Evidence

Shipped in the release at 815a5b0, promoted 2026-08-26.

1 pushes receipt

Outcome

An issue shows a running attempt live — state, elapsed time, and a cancel control for a viewer with authority — and stops narrating the same facts as Markdown comments.

This is stage 3 of #10. The design is docs/2026-08-23-issue-work-receipt-linkage-design.md, section 6.

Current behavior

Stage 1 renders every attempt as derived timeline events read from forge_assignments. The same facts are also written as Markdown comments by Assignments.report_claim/1, report/1, and report_release/1 (lib/openagents/forge/assignments.ex:371, :338, :356), so a worked issue now says everything twice.

The page also does not update while an attempt runs. IssueShowLive subscribes to repository issue changes, not to the attempt.

Work

  • Subscribe the issue page to the attempt's lifecycle so a running attempt updates its state and elapsed time without a reload.
  • Add a cancel control for a viewer with write authority, reaching the existing terminal path rather than a new one.
  • Stop writing the three narration comments now that the derived events carry the same facts. Existing comments stay; only new ones stop. This is a behavior change on the write path, so it needs its own test that the claim, result, and release no longer create comments.
  • Keep the page honest about an attempt that started and never finished: it renders as started, with no invented terminal event.

Acceptance criteria

  • A running attempt updates on the issue page without a reload, and a finished attempt lands its terminal event the same way.
  • A viewer with write authority can cancel a live attempt from the issue; a viewer without it cannot.
  • Starting and finishing an attempt no longer creates issue comments, and issues that already carry them still render correctly.
  • No private log, prompt, or credential reaches the page.

Verification

LiveView tests for the live update, the cancel control and its refusal, and the mixed old-comment and new-event rendering; context tests that the report paths no longer write comments; mix precommit.

Dependencies

Stage 3 of #10. Builds on stage 1 and pairs with #145. Track E, E3.

  1. AtlantisPleb opened this issue 4d ago
  2. AtlantisPleb closed this as completed in 9b7e43b 4d ago
Sign in with GitHub to comment on this issue.