Skip to content

feat(agent): show completed work without reopening the full thread - #6642

Open
BradGroux wants to merge 4 commits into
block:mainfrom
BradGroux:agent/job-result-handoff
Open

BradGroux wants to merge 4 commits into
block:mainfrom
BradGroux:agent/job-result-handoff

Conversation

@BradGroux

@BradGroux BradGroux commented Aug 24, 2026 •

Copy link
Copy Markdown
Contributor

Make completed agent work inspectable from a structured kind 43004 handoff instead of reconstructing the entire thread. Add a versioned job-result payload, typed SDK builder, buzz jobs handoff, channel-scoped relay admission for the existing job lifecycle, a Desktop result card, and a human-readable Home projection.

The payload includes disposition, outcome, artifacts, verification, and blockers. Validate byte/item limits and unsafe references in Rust and Desktop. Require the payload's request ID to match the single signed reply tag. Keep legacy, malformed, unsupported, oversized, or tag-mismatched content on the existing Markdown fallback; ignore additive unknown fields in version 1.

Reject credential-bearing URLs and absolute local paths, including Windows drive/rooted/UNC forms, before exposing handoff references. Signed content is authoritative; schema/disposition tags are query hints.

Closes #2932.

Verification

Rebased onto main at 2d289f720de0, preserving third-party authorship. Corrected the lazy import for the named card export and reconstructed the shared fallback with current Wave/video-review rendering, typography, agent prefix, and search behavior. Removed a duplicated CLI test attribute introduced by merging current coverage.

Core/SDK/CLI library tests, 184 relay-ingest tests (14 ignored), 29 focused Desktop parse/render/layout tests, strict Rust all-target Clippy, Desktop typecheck/formatting, file-size, and diff checks pass. Postgres-dependent relay admission/integration and the complete native handoff journey were not exercised.

No scheduler, worker loop, approval system, workspace scanner, new HTTP endpoint, production dependency, or change to job acceptance/mention delivery is added.

@BradGroux

Copy link
Copy Markdown
Contributor Author

This is a replacement for #2941, which was accidentally closed when branches were force-pushed after a commit identity rewrite. Prior review comments and feedback are preserved on the old PR:

#2941

@BradGroux
BradGroux force-pushed the agent/job-result-handoff branch from acd9791 to c2ecba3 Compare August 25, 2026 19:17
@BradGroux

Copy link
Copy Markdown
Contributor Author

Rebased onto the latest main (was 36 commits behind). All 3 commits applied cleanly. The job result handoff feature (structured kind:43004 payloads, buzz jobs handoff CLI, Desktop handoff card) is not present on current main, so this PR is still needed.

No review comments on this PR. CI will verify the build and test gate.

@BradGroux
BradGroux force-pushed the agent/job-result-handoff branch from c2ecba3 to c189bfc Compare August 29, 2026 16:15
@github-actions

github-actions Bot commented Aug 29, 2026 •

Copy link
Copy Markdown

🔐 Codex Security Review

Status: review required for the current range.

The current range is 2d289f720de0012fa36b5f6faa0e3bdd845ccfcf...85450c2f8ccaecdb5acf366bbbf58d8ecb4cbd08.
A new review must complete for this exact range. When manual authorization
is required, a user with write access must comment exactly
@buzz-security-review 85450c2f8ccaecdb5acf366bbbf58d8ecb4cbd08 to authorize a new review.
Any previous review applies only to its recorded range.

@BradGroux

Copy link
Copy Markdown
Contributor Author

Rebased onto the latest main (was 62 commits behind at f249710, now at 00e61ea). The branch applies cleanly with all tests passing.

Still-needed assessment: No upstream commits in the 62-commit window address the same issue. This PR remains needed.

Review requests: buzz-oss-team review request is active from the previous pass.

@BradGroux
BradGroux force-pushed the agent/job-result-handoff branch from c189bfc to 9a8a456 Compare September 2, 2026 17:30
@BradGroux

Copy link
Copy Markdown
Contributor Author

Rebased onto current block:main (2af9773d6) — 38 new commits since the last rebase pass (Aug 29, 00e61eafa).

Conflict resolved: desktop/src/features/messages/ui/MessageRow.tsx — Upstream added a WaveMessageAttachment import and other imports above the lazy-loaded DiffMessage/DiffMessageExpanded lines. This PR's JobResultCard lazy import was interleaved in the same region. The resolution keeps both the upstream imports and the PR's JobResultCard lazy import, placed after DiffMessageExpanded.

Still needed: No upstream commit addresses inspectable job result handoffs. The PR remains relevant.

Verification:

  • Branch is 0 commits behind block:main, mergeable on GitHub
  • All commits authored as Brad Groux (3053586+BradGroux noreply)
  • DCO signoff preserved on all commits

@BradGroux
BradGroux force-pushed the agent/job-result-handoff branch from 9a8a456 to e64ed87 Compare September 3, 2026 17:35
@BradGroux

Copy link
Copy Markdown
Contributor Author

Rebase and review — 2026-09-03

Base commit: 752cbfc03 (latest main)
Mergeable: Yes
Conflict resolution: MessageRow.tsx — trivial import conflict, merged the JobResultCard lazy import.

Accuracy review: Completed job results still reopen the full thread instead of showing a result handoff.
Continued relevance: Still needed.

@BradGroux
BradGroux force-pushed the agent/job-result-handoff branch from e64ed87 to 0a98b96 Compare September 3, 2026 17:46
@BradGroux

Copy link
Copy Markdown
Contributor Author

Rebase and review update — Sep 3, 2026

Rebased onto latest main (88687876f). No conflicts.

Accuracy review: Main does not have job result handoff support — job lifecycle kinds 43001–43006 are not admitted to required_scope_for_kind / requires_h_channel_scope, and there is no inspectable result handoff surface for completed agent work. The PR (including ScaleLeanChris's cherry-picked relay E2E test commit and the local-path rejection fix for job artifacts) is still needed.

Mergeable status: Confirmed MERGEABLE on GitHub after force-push.

@BradGroux
BradGroux force-pushed the agent/job-result-handoff branch from 0a98b96 to d8917e3 Compare September 5, 2026 04:59
@BradGroux

Copy link
Copy Markdown
Contributor Author

Rebase pass — Sep 5, 2025

Rebased onto current upstream main (f038cbbb0). Main moved 62 commits since the Sep 2 rebase pass (2af9773d6).

Rebase result

Rebased cleanly onto current main. No conflicts.

Still-needed assessment

Checked all 62 new main commits for overlap with this PR's topic. None obsoleted:

Verification

  • PR confirmed MERGEABLE on GitHub
  • All commits authored as Brad Groux (3053586+BradGroux noreply)
  • DCO signoff preserved on all commits
  • Review requests to buzz-oss-team still active from the Aug 24 recovery pass

@BradGroux

BradGroux commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor Author

Restoration note — Sep 16, 2026: The original text of this comment was accidentally overwritten when the Sep 16 rebase pass posted its follow-up with an edit flag instead of as a new comment. What follows is a faithful reconstruction from the session record; the byte-exact original remains in this comment's GitHub edit history (hover the edited marker on this comment).

Rebase pass — Sep 9, 2026

Rebased onto current upstream main (c045321a7). Main moved 8 commits since the Sep 5 rebase pass (f038cbbb0).

Rebase result

Rebased cleanly onto current main. No conflicts.

Still-needed assessment

Checked all 8 new main commits for overlap with this PR's topic. None obsoleted. None of the 8 new main commits add job-result handoff UI.

Verification

  • PR confirmed MERGEABLE on GitHub
  • All commits authored as Brad Groux (3053586+BradGroux noreply)
  • DCO signoff preserved on all commits
  • Review requests to buzz-oss-team still active from the Aug 24 recovery pass

@BradGroux
BradGroux force-pushed the agent/job-result-handoff branch from 7aefa33 to b6db2b2 Compare September 16, 2026 18:09
@BradGroux

Copy link
Copy Markdown
Contributor Author

Rebase pass — Sep 16, 2026

Rebased onto current upstream main (213092074). Main moved 37 commits since the Sep 9 rebase pass (c045321a7).

Rebase result

Rebased cleanly onto current main. No conflicts.

Still-needed assessment

None of the 37 new main commits add job-result handoff UI.

Verification

  • PR confirmed MERGEABLE on GitHub
  • All commits authored as Brad Groux (3053586+BradGroux noreply)
  • DCO signoff preserved on all commits
  • buzz-oss-team review request still active

What was not done

No local test suites were run. The rebase only repositions commits; conflict resolutions carry the same logical changes forward (CI will verify builds).

@BradGroux BradGroux left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review refresh — 2026-10-02

Reviewed against current main 5a4b2d3d.

Verdict: Still needed. Current main has no JobResultPayload contract or equivalent structured job-result handoff.

Rebase check: All three commits rebase cleanly in a disposable detached worktree, but five touched core/SDK/relay files also changed upstream. The resulting contract needs focused core, SDK, CLI, relay admission, and desktop rendering verification before publication.

Static review: No actionable defect found. The payload parser fails closed to legacy rendering, builders bind results to requests, and all six lifecycle kinds are channel-scoped and covered by the PR's relay tests.

No branch update was pushed in this pass because updating the PR head would trigger the repository's pull_request GitHub Actions workflows, which this workstream is not authorized to trigger.

BradGroux and others added 4 commits October 22, 2026 09:02
Co-authored-by: Brad Groux <bradgroux@hotmail.com>
Signed-off-by: Brad Groux <bradgroux@hotmail.com>
Signed-off-by: Brad Groux <3053586+BradGroux@users.noreply.github.com>
Co-authored-by: Brad Groux <bradgroux@hotmail.com>
Signed-off-by: Brad Groux <bradgroux@hotmail.com>
Signed-off-by: Brad Groux <3053586+BradGroux@users.noreply.github.com>
Signed-off-by: ScaleLeanChris <chris@scalelean.com>
Signed-off-by: Brad Groux <bradgroux@hotmail.com>
Signed-off-by: Brad Groux <3053586+BradGroux@users.noreply.github.com>
@BradGroux
BradGroux force-pushed the agent/job-result-handoff branch from b6db2b2 to 85450c2 Compare October 22, 2026 16:50
@BradGroux

Copy link
Copy Markdown
Contributor Author

Still relevant on current main: job results remain opaque strings without this schema and handoff UI. Rebased while preserving third-party authorship. Corrected the named-export lazy import and removed a duplicate rendering switch/stale fallback implementation, retaining current Wave, video-review, search, agent-prefix, and typography behavior. Removed a duplicated CLI test attribute.

Core/SDK/CLI library tests, 184 relay-ingest tests (14 ignored), 29 focused Desktop parse/render/layout tests, strict Rust all-target Clippy, typecheck, formatting, file-size, and diff checks passed. Postgres-dependent relay admission/integration and the complete native handoff journey remain unverified locally. Head: 85450c2f8cca.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make completed agent work inspectable without reading the full thread

2 participants