feat(agents): Harnesses status card in Settings (slice 2/5, stacked on #272) - #277
Conversation
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
wesbillman
left a comment
There was a problem hiding this comment.
Star Lord automated source review (via Wes's account)
Reviewed head 5b4b02e94666f5cfaa803367c8f219a1f0401a78 against stacked base 49000442cab1c59e748cf0d463395e7042faa7a6 (also the merge-base).
Two actionable integration findings are attached inline: one missing setup route from supported profile editors (P2), and one browser-fixture caller regression (P3). These are non-blocking review comments, not a GitHub approval or request-changes decision.
Scope: the complete 15-file diff, the approved Settings/Harnesses contract, native detection and snapshot callers, controller refresh/error handling, Settings composition, Add/Edit and profile-editor entry points, and the changed test sources. The existing snapshot path re-runs executable detection; installation, global defaults and restart-on-save remain later slices, not requirements added by this review.
Validation: source-only inspection of pinned Git objects; isolated source copies were byte-checked against the head, with no dirty worktree inputs. No tests, builds, installs, PR-code execution, app launches or live native workflows were performed. The author's reported test results were not independently verified, and current CI/runtime/packaged behavior is not established by this review. Requested regression checks in the comments remain unrun.
wesbillman
left a comment
There was a problem hiding this comment.
Carl, an automated reviewer, commenting via Wes’s GitHub account.
Changes requested: complete the supported Edit → Harnesses setup route. Reviewed head 5b4b02e94666f5cfaa803367c8f219a1f0401a78 against stacked base/merge-base 49000442cab1c59e748cf0d463395e7042faa7a6, with independent UI and native-detection review.
- P2, merge criterion: I independently verified the existing profile-editor finding. Wire both production profile editor entry points to Settings → Agents, deliberately close their editor on successful navigation, and cover those routes plus the dirty-draft warning. These companion panels can remain mounted over Settings; merely adding the callback is insufficient. This is completion of the approved Edit-dialog behavior, not a request for another setup subsystem.
- P3, non-blocking: The existing mentions-fixture caller regression is also verified. It affects the optional
?settingsfixture mode, not the production Settings caller or current browser journeys.
The app-owned refresh/status path, older-host fallback, and Agents-page Add/Edit navigation are coherent in source. No installer, defaults, or restart machinery is required in this slice.
Validation: complete 15-file diff and responsible callers reviewed; git diff --check passed for the pinned range. Hosted CI run 36170869214 checked merge 54f9158 (head into the stated base): 3,916 Vitest passes and the same three failures addressed by #276 (PluginImport, ProfileAgentIdentity, MessageRow); Rust/tool integration and Chromium/WebKit journeys passed. No local tests, installs, builds, native launches, or live setup were run. No screenshot/generated review artifacts were added in the diff. This is not approval or a claim of CI-green/native workflow validation.
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
wesbillman
left a comment
There was a problem hiding this comment.
Star Lord automated source follow-up (via Wes's account)
No actionable findings in this follow-up. The two previous findings are addressed in the reviewed source:
- Profile editor → Harnesses:
ProfilePanel.tsx:118–120supplies the existing Settings → Agents navigation to both profile entry points.ProfileAgentRuntime.tsx:103–111andProfileRuntime.tsx:185–193deliberately close the editor only on anopenedresult. The reused editor retains its dirty-draft warning, and the new mounted regression covers both routes, failed navigation retaining the dialog, and successful closure. - Settings-enabled mentions fixture:
tests/fixtures/mentions.tsx:31,275–276supplies one stable browser/unavailable controller toAgentSettings. The added browser case exercises the real Vite fixture entry point with?settings, checking that the composer and preference render without a page error. One browser case added; none removed.
Pinned scope: head 6a02b2bf5bbfceccd568000ee4518e520b5f7beb; stacked base/merge-base 49000442cab1c59e748cf0d463395e7042faa7a6. Reviewed the complete six-file follow-up from previously reviewed 5b4b02e94666f5cfaa803367c8f219a1f0401a78, its production profile/plugin and navigation callers, and controller/Settings fixture integration. Installers, global defaults and restart-on-save remain later slices, not new requirements here.
Validation limits: source-only; pinned extracts byte/blob/SHA256 verified, no dirty source inputs, and read-only git diff --check passed against both base and prior head. Tests were read, not executed; no builds, installs, native launches or live workflows were run. The author's local results were not independently reproduced.
One read-only CI snapshot at 2026-09-25 19:53 UTC, reported for this exact head: JavaScript and Browser measurements failed; both WebKit journey shards were in progress; Chromium shards, Rust/tool integration and DCO passed; Windows was skipped. Failure causes were not independently diagnosed, and CI was not waited on or polled. This review does not establish CI-green or native/runtime acceptance.
Non-blocking COMMENT only—not approval, dismissal of prior reviews, or merge authorization.
Signed-off-by: OpenAI Codex <codex@openai.com>
Signed-off-by: OpenAI Codex <codex@openai.com>
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
Signed-off-by: Salman Mohammed <smohammed@squareup.com>
6a02b2b to
1b7e84f
Compare
Signed-off-by: OpenAI Codex <codex@openai.com>
…ad-on-send * origin/main: (58 commits) Keep profile avatar cutouts transparent and align the header gutter (#319) Restore sidebar status icons beside names (#316) docs(mentions): specify portable mention rules (#343) fix(agents): wait for native host operations (#331) Simplify channel templates and report setup failures accurately (#318) feat(agents): Harnesses Goose install (slice 3/5) (#279) feat(agents): Harnesses status card in Settings (slice 2/5, stacked on #272) (#277) Fix timer operation ownership and stabilize timing regressions (#317) Restore cached workspace before relay startup (#311) test(browser): wait for the app's own quota cooldown before retrying (#284) docs: define Harnesses setup and global agent defaults (#272) Make mention choices consistent and stable (#258) Discover saved relay agents without changing the page (#224) feat: add persistent dev log levels and relay traffic summaries (#306) Polish inline message reactions and previews (#213) feat(identity): add native macOS import, creation and backup (#308) fix(status): reopen a Today status as Today near 16:00 (#275) test: use current navigation for GIF send roundtrip (#309) Fix composer focus when selecting channels and DMs (#307) fix: retire mention searches after chips and refuted prose (#303) ... # Conflicts: # src/features/messages/MessageComposer.test.tsx # src/features/messages/MessageComposer.tsx
* origin/main: (45 commits) Use Blue 11 links with Blue 3 hover and explicit contrast exceptions (#322) perf(messages): index the emoji catalog for reaction lookups (#333) Polish search palette and add conversation search (#340) Use step-ten avatar colors with contrasting outlines (#320) Keep profile avatar cutouts transparent and align the header gutter (#319) Restore sidebar status icons beside names (#316) docs(mentions): specify portable mention rules (#343) fix(agents): wait for native host operations (#331) Simplify channel templates and report setup failures accurately (#318) feat(agents): Harnesses Goose install (slice 3/5) (#279) feat(agents): Harnesses status card in Settings (slice 2/5, stacked on #272) (#277) Fix timer operation ownership and stabilize timing regressions (#317) Restore cached workspace before relay startup (#311) test(browser): wait for the app's own quota cooldown before retrying (#284) docs: define Harnesses setup and global agent defaults (#272) Make mention choices consistent and stable (#258) Discover saved relay agents without changing the page (#224) feat: add persistent dev log levels and relay traffic summaries (#306) Polish inline message reactions and previews (#213) feat(identity): add native macOS import, creation and backup (#308) ... Signed-off-by: Sol <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz> # Conflicts: # src/bundled/agents/AgentCard.tsx # src/bundled/agents/AgentsPage.tsx
* origin/main: (36 commits) Delay message timestamp tooltips by 500 ms (#321) Use Blue 11 links with Blue 3 hover and explicit contrast exceptions (#322) perf(messages): index the emoji catalog for reaction lookups (#333) Polish search palette and add conversation search (#340) Use step-ten avatar colors with contrasting outlines (#320) Keep profile avatar cutouts transparent and align the header gutter (#319) Restore sidebar status icons beside names (#316) docs(mentions): specify portable mention rules (#343) fix(agents): wait for native host operations (#331) Simplify channel templates and report setup failures accurately (#318) feat(agents): Harnesses Goose install (slice 3/5) (#279) feat(agents): Harnesses status card in Settings (slice 2/5, stacked on #272) (#277) Fix timer operation ownership and stabilize timing regressions (#317) Restore cached workspace before relay startup (#311) test(browser): wait for the app's own quota cooldown before retrying (#284) docs: define Harnesses setup and global agent defaults (#272) Make mention choices consistent and stable (#258) Discover saved relay agents without changing the page (#224) feat: add persistent dev log levels and relay traffic summaries (#306) Polish inline message reactions and previews (#213) ... Signed-off-by: Sol <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz> # Conflicts: # src/bundled/agents/AgentEditor.tsx # src/bundled/profiles/ProfileAgentIdentity.test.tsx
Slice 2/5 of the Harnesses work. #272 (docs) has merged; this PR now targets
main.Changes
npm install -gcommands for Pi andbuzz-pi-acp.control.refresh()→agent_control_snapshot, which re-runs native executable detection (harness_options()) on every snapshot. Nothing needs to be reopened.harnessOptionsnow include astatusfield. Pi reports CLI needed whenpiornodeis missing, and Adapter needed whenbuzz-pi-acpis missing.availablemeansstatus == "ready".Checks
Run on
5b4b02e9:pnpm checkpasses.cargo fmt --checkpasses.cargo clippy -p buzz-foundation --all-targets -D warningspasses.cargo testforsrc-tauri --lib: 79 passed, 3 ignored.AgentSettingsandAgentsPage: 58 passed.tests/browser/agent-control.spec.mjsin Chromium and WebKit: 38 passed.PluginImport,MessageRowandProfileAgentIdentity. They were inherited from the base, and docs: define Harnesses setup and global agent defaults #272's CI fails on the same three tests. Approved PR test: repair three baseline Vitest failures #276 fixes all three and has green CI.Run on
6a02b2bf:bin/pnpm checkpasses. The focusedProfileRuntime.test.tsxfile passes (5 tests).?settingsmentions fixture. It verifies the Vite fixture entry point renders both composer and preference without a page error; this module mounts at import, outside the TypeScript source check. Chromium and WebKit pass (2 tests). No browser cases were removed. Before this fix,AgentSettingsrendered without its requiredcontrolprop, so the fixture threw.Integration update on
2b7761ef:mainand resolved the mentions fixture conflict, keeping the Harnesses Settings mount and the new nonmember admission fixture.bin/pnpm typecheck, focused Vitest (72 tests), andtests/browser/mentions.spec.mjsin Chromium and WebKit (8 tests) passed. The repository pre-push group passed (547 related tests and design checks).Not verified
The native app wasn't launched. UI checks use fixtures only.
Generated with Codex