Skip to content

feat(workhub): add work identity, prompt status, and keyboard selection - #5198

Open
ARE404 wants to merge 9 commits into
apache:mainfrom
ARE404:feat/workhub-conversation-colors
Open

feat(workhub): add work identity, prompt status, and keyboard selection#5198
ARE404 wants to merge 9 commits into
apache:mainfrom
ARE404:feat/workhub-conversation-colors

Conversation

@ARE404

@ARE404 ARE404 commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Summary

WorkHub conversations now identify delegated work with separate message accents (prompt on the right, answer on the left), compact colored Workspace / Session labels, and status text before the prompt timestamp. The standalone delegation result card is removed.

Ambiguous routing can pause before Turn admission and show a target selector in the composer area. Nothing is preselected: number keys and arrows select, Enter confirms, and Esc returns to the preserved draft. The Host validates the offered opaque candidate identity, refreshes the same target against current candidates, and leaves execution authorization with the existing Action Gate. Expired or unavailable targets require another selection.

WorkHub also exposes AskUserQuestion through its tool profile and renders the shared question panel, including pending-question hydration, answer retry, and Stop. Prompt statuses cover coordination before delegation as well as delegated work. Ordinary question panels share keyboard selection and display submission errors without discarding answers.

Verification

  • Desktop build, typecheck, lint, format, renderer architecture, ASF headers, and Astryx surface inventory checks passed.
  • WorkHub coordinator, protocol, and Desktop send regression tests: 51 passed; the final send regression rerun passed all 15 tests.
  • Root Turn, Action Gate, hosted tool profile, and Desktop bridge regression run during target-selector implementation: 136 passed.
  • Latest hosted tool profile and execution-model composition run: 39/40 passed initially; the child-patch test timed out, then passed in isolation (1/1).
  • Native Electron Storybook interaction checks passed for target keyboard selection, selection submission failure, question hydration and retry to completion, question Stop, and ordinary question keyboard choices. These use scripted service fixtures and include accessibility-tree checks.
  • Native WorkHub return/navigation regression: 2 passed during selector implementation.
  • Dark narrow-window selector rendering inspected.

Conversation identity and timestamp status (captured during this branch's status implementation):

Conversation identity and status

Target selection, waiting status, and keyboard hints (latest implementation, scripted native Electron fixture):

Target selection

Remaining acceptance

  • Run the complete ambiguous-routing → user selection → target execution flow against a real model service.
  • Exercise the actual floating WorkHub window: automatic expansion from progress mode, keyboard focus, and floating/docked transitions with a pending question. Both placements share the implementation, but narrow-window fixture checks do not establish these behaviors.

Protocol compatibility

Runtime Host compatibility epoch increases from 142 to 143 because an answer response can now request target selection without admitting a Turn. Pending selector offers are bounded transient Host state; admitted routing decisions use the existing durable execution record.

AI use

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Codex implemented the changes, tests, and PR description. Affected commits include Generated-by: Codex; retain this trailer when squashing.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@github-actions github-actions Bot added the effort/XL Under 2500 readable lines label Sep 11, 2026
@ARE404
ARE404 marked this pull request as ready for review September 11, 2026 14:26
Preserve message decorations and question fixtures with the renderer-owned transcript window. Disambiguate repeated work navigation labels with prompt context.

Generated-by: Codex
Move the keyboard hint translations into ConversationCopy to satisfy the locale hygiene CI gate without changing displayed copy.

Generated-by: Codex
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/XL Under 2500 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant