Skip to content

feat: show read-only local agent runtime in profiles - #220

Merged
wesbillman merged 6 commits into
mainfrom
peon/profile-agent-runtime
Sep 24, 2026
Merged

wesbillman merged 6 commits into
mainfrom
peon/profile-agent-runtime

Conversation

@kalvinnchau

@kalvinnchau kalvinnchau commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

What changed

  • Add a read-only Local agent section to the profile Info tab. It is built from the app-owned native AgentControl snapshot. It appears only for a record with the exact profile key whose relay origin matches the active community scope (sameCommunityAgents).

  • The section shows:

    • process status, labelled "relay readiness unverified";
    • saved harness, provider, model and workspace, labelled "Saved settings; environment overrides may apply" because they come from the saved agent view, not the launched configuration;
    • collapsible instructions;
    • drift between the saved and running revision;
    • host diagnostics.

    It never shows environment keys or arguments.

  • The host error, runtime-unavailable reason, unconfirmed-status notice and Retry status are shown once, by the existing profile actions (feat: add owned local agent actions to profiles #190). The summary shows only facts, so there are no duplicate alerts or Retry buttons.

  • Browser and unavailable hosts, unknown keys, and records saved for another community render nothing, leaving the public identity. A failed read keeps the last evidence.

  • Opening the Info tab requests a status read. Concurrent requests coalesce in AgentControl with the existing readers. The summary adds no timer of its own; it observes the profile actions' existing 5-second refresh (useAgentControl).

  • docs/profiles.md documents the section and the app-wide native custody model: the viewer is not an owner check.

  • Start/Stop/Restart are the separate profile actions from feat: add owned local agent actions to profiles #190. Edit, harness logs and memory stay on Agents.

Verification

At head f9c31d5 on origin/main 119195e:

  • vitest run src/bundled/profiles src/features/agents: 222/222 passed.
  • pnpm typecheck and biome check docs/profiles.md src/bundled/profiles/: clean.
  • ProfileAgentRuntime.test.tsx covers:
    • public fallback;
    • exact-key and community filtering across scope moves;
    • an unknown key;
    • status transitions, the saved-settings qualifier and hidden environment/arguments;
    • errors, unavailable runtime and Retry left to the actions section (a single alert and a single Retry);
    • an Info↔Channels read-count regression, where both Info readers share one held read.
  • Hosted CI at ad1d108: Vitest, Rust/tool integration, browser measurements, both Chromium shards and WebKit 1/2 passed. WebKit 2/2 failed message-navigation.spec.mjs:430 and settings.spec.mjs:7, outside this diff. The same two tests also fail WebKit 2/2 on main's own CI run for 119195e (run 36063972192).

@kalvinnchau
kalvinnchau requested review from a team, comp615 and wesbillman as code owners September 24, 2026 15:55
@kalvinnchau
kalvinnchau force-pushed the peon/profile-agent-runtime branch 5 times, most recently from 1adf6eb to d9e935d Compare September 24, 2026 21:12
peon and others added 5 commits September 24, 2026 15:04
Co-authored-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: peon <9ac6794b000690b7e814eb1805ad32405d0bec7d52838de3a86cf967565dacc0@buzz.block.builderlab.xyz>
Co-authored-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: peon <9ac6794b000690b7e814eb1805ad32405d0bec7d52838de3a86cf967565dacc0@buzz.block.builderlab.xyz>
Co-authored-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: peon <9ac6794b000690b7e814eb1805ad32405d0bec7d52838de3a86cf967565dacc0@buzz.block.builderlab.xyz>
Co-authored-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: peon <9ac6794b000690b7e814eb1805ad32405d0bec7d52838de3a86cf967565dacc0@buzz.block.builderlab.xyz>
Co-authored-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: peon <9ac6794b000690b7e814eb1805ad32405d0bec7d52838de3a86cf967565dacc0@buzz.block.builderlab.xyz>
@kalvinnchau
kalvinnchau force-pushed the peon/profile-agent-runtime branch from d9e935d to ad1d108 Compare September 24, 2026 22:04

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Carl, an automated reviewer, commenting via Wes’s GitHub account.

No blocking code defects found. Two nonblocking clarity comments inline; this is a COMMENT review, not approval.

Reviewed head ad1d108ece69d7c43b2f2930c881c8f6a0d06604 against base 119195ea331de33c8480bab180df0091ca8e9421, including native projection/custody, exact-key/community selection, profile lifecycle, coalescing and error recovery.

Validation: source review plus hosted CI at merge commit 3f25a496ce0c58d455937f035a53b8a46edf3b59. All 3,317 Vitest tests passed, including the six new runtime tests; Rust/tool integration, browser measurements, both Chromium shards and WebKit 1/2 passed. No local suites or attended native GUI acceptance were run for this review.

Not merge-ready yet: WebKit 2/2 and consequently CI required failed. Failures are the message-navigation reading anchor (59px displacement versus <4px) and narrow Settings at 200% text size (switch viewport ratio 0.99297 versus 1), outside this diff. I have not reproduced them on base or established flakiness. Resolve the required CI gate and obtain maintainer approval before merge.

Comment thread src/bundled/profiles/ProfileAgentRuntime.tsx
Comment thread docs/profiles.md Outdated
…olling note

The harness/provider/model/workspace rows come from the saved agent view, not
the launched configuration, so environment overrides can differ. The summary
itself adds no polling but shares the profile actions' existing refresh.

Co-authored-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: peon <9ac6794b000690b7e814eb1805ad32405d0bec7d52838de3a86cf967565dacc0@buzz.block.builderlab.xyz>
@wesbillman
wesbillman merged commit 204ea9d into main Sep 24, 2026
12 checks passed
@wesbillman
wesbillman deleted the peon/profile-agent-runtime branch September 24, 2026 22:45
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.

2 participants