feat(desktop): compose signed channel panel from job events [issue:#3863] - #4130
Draft
tcballard wants to merge 5 commits into
Draft
feat(desktop): compose signed channel panel from job events [issue:#3863]#4130tcballard wants to merge 5 commits into
tcballard wants to merge 5 commits into
Conversation
Defines the generic, bounded, channel-scoped manifest contract for the first block#3863 design slice. Transport kind selection remains deferred for maintainer review. Signed-off-by: Tom Ballard <tom@armytage.co>
Signed-off-by: Tom Ballard <tom@armytage.co>
…ock#3863] Signed-off-by: Tom Ballard <tom@armytage.co>
…ock#3863] Signed-off-by: Tom Ballard <tom@armytage.co>
tcballard
added a commit
to tcballard/buzz
that referenced
this pull request
Aug 1, 2026
Author
…3863] Signed-off-by: Tom Ballard <tom@armytage.co>
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.

What problem does this solve?
The signed channel panel surface currently has no transport adapter, so a channel with signed Buzz job activity still shows only the empty placeholder. It also did not subscribe to the signed job kinds for live updates, making new activity invisible until a later history refresh.
What this implements
This stacked follow-up composes a bounded, read-only panel projection from the existing signed job lifecycle events (kinds 43001–43006):
The projection is scoped to the current channel’s h tag, accepts canonical channel UUIDs across UUID versions, excludes pending/unsigned or malformed event ids, and preserves each signed source event id and kind.
Existing paths reused
The adapter consumes ChannelScreen’s existing authenticated
resolvedMessagestimeline events, uses the existinggetChannelIdFromTagschannel boundary, renders in the existing auxiliary-panel shell, and reuses the existing source-event-to-thread navigation path. No new event kind, HTTP endpoint, or remote UI runtime was added.This PR is intentionally stacked on #4102 (renderer) and #3882 (contract); the review delta is commits 246bd5a, 1696308, and 0bef596.
Tests and validation
Added focused regression coverage for:
Commands run:
The focused unit, typecheck, repository checks, E2E build, file-size check, and ready-state Playwright test passed. The empty-state Playwright test passed on retry after a local preview-server startup race; no product assertion failed. The ready-state screenshot is attached in the PR conversation using Buzz’s immutable screenshot branch. No desktop shell layout changed.
Deferred work
Command-palette/autocomplete work remains separate. Canvas revision history, workflow run history, structured handoff cards, and any broader panel transport decision remain separate follow-ups.
No OEXL-specific code, matching, acceptance, payment, accounting, settlement, or marketplace semantics were added.