Skip to content

fix(composer): clarify Prime Agent harness controls - #53

Merged
rynfar merged 1 commit into
pylonfrom
fix/prime-agent-composer-ux
Aug 20, 2026
Merged

rynfar merged 1 commit into
pylonfrom
fix/prime-agent-composer-ux

Conversation

@rynfar

@rynfar rynfar commented Aug 18, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Prime Agent’s session controls were flattened into the composer footer: subagent depth, resource browsing, and a bare reload icon sat beside everyday controls. The reload action gave no visible indication of when it was useful, while an inactive persistent goal appeared only as Idle and the read-only popover did not teach users that goals are started through conversation.

How it was fixed

  • Web and desktop now group subagent depth, resource browsing, and resource reload under one Harness menu.
  • Reload is labeled Reload commands and resources and explains that it is only needed after changing session commands, skills, or prompts.
  • Idle goal state is presented as No goal. The goal surface says it is managed in chat, explains that goals continue work across turns, and gives the prompt pattern “Start a persistent goal to …” instead of showing empty usage metrics.
  • Mobile keeps its horizontally scrollable secondary toolbar, but uses the same goal language and gives the formerly icon-only reload action a visible label.
  • Prime Agent user documentation now describes the conversational goal workflow and the new Harness grouping.

Surfaces

Web and desktop share the new Harness menu. Mobile retains its native toolbar structure with aligned labels and guidance. This is presentation-only: provider capabilities, server authority, wire contracts, remote behavior, and connection modes are unchanged. Pending Inputs remain outside the menu because they are live state requiring immediate visibility; context and goal remain status indicators beside the send action.

Verification

  • 9 focused tests across client-runtime, web, and mobile
  • targeted lint on all changed TypeScript/TSX files — clean
  • typechecks for @t3tools/web, @t3tools/client-runtime, and @t3tools/mobile — pass (one pre-existing Effect suggestion in client-runtime/src/relay/discovery.ts)
  • git diff --check — clean
  • isolated real Prime Agent daemon pass: started a disposable no-tools thread, verified one Harness trigger, all depth choices, enabled idle reload, reload guidance, No goal, chat-managed goal guidance, and hidden empty metrics
  • CI: Check, Test, Mobile Native Static Analysis, and Release Smoke pass

UI Changes

Before — depth and reload compete for footer space; goal reads “Idle”

Before: flattened Prime Agent composer controls

After — one Harness menu owns session settings and explains reload

After: consolidated Harness menu

After — the inactive goal state teaches the conversational workflow

After: No goal guidance

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for UI changes
  • No animation or timing behavior changed, so no video is required

Model: GPT-5.6 Sol in Pylon (Prime Agent harness)

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Aug 18, 2026
@github-actions

github-actions Bot commented Aug 18, 2026 •

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 12.6 KiB 12.6 KiB +8 B (+0.1%) 15.1 KiB ✅
Codex Thread snapshot wire 6.3 KiB 6.3 KiB −3 B (−0.0%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.3 KiB 6.4 KiB +11 B (+0.2%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 51.8 KiB 51.8 KiB 0 B (0.0%) 66.4 KiB ✅
Codex Live turn messages 16 16 0 (0.0%) 21 ✅
Claude Total thread wire 12.6 KiB 12.6 KiB −8 B (−0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 6.3 KiB 6.3 KiB −3 B (−0.0%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.3 KiB 6.3 KiB −5 B (−0.1%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 52.7 KiB 52.7 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 16 16 0 (0.0%) 21 ✅

Baseline: 29bc8ed · PR result: ad64564 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 99.8 KiB
  • Claude decoded thread snapshot: 100.6 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar
rynfar force-pushed the fix/prime-agent-composer-ux branch from 3964ca3 to ad64564 Compare August 18, 2026 22:09
@rynfar
rynfar marked this pull request as ready for review August 18, 2026 22:09
@rynfar
rynfar merged commit f079e4f into pylon Aug 20, 2026
26 checks passed
@rynfar
rynfar deleted the fix/prime-agent-composer-ux branch August 20, 2026 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant