Skip to content

refactor(agents): rename Agents2 to Agents - #871

Open
baxen wants to merge 3 commits into
baxen/agent-teamsfrom
baxen/agents-rename
Open

baxen wants to merge 3 commits into
baxen/agent-teamsfrom
baxen/agents-rename

Conversation

@baxen

@baxen baxen commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Top of the agents merge stack: #838 → #855 → #856 → #858 → #859 → #860 → #865 → #867 → this PR.

With v1 Agents removed, Agents2 becomes Agents in the UI, code, and saved data. Existing identities, settings, teams, and the plugin enable/disable preference carry over on first launch.

Changes

  • Rename src/features/agents2 and src/bundled/agents2, the injected service, types, hooks, labels, and plugin/page identifiers to Agents. The page key becomes buzz.agents/agents.
  • Move agents2/identities.json to agents/identities.json using an atomic directory rename under Buzz's existing exclusive instance lock. Identity bytes and keychain identities are unchanged. Conflicting folders or another running Buzz copy stop migration without replacing data.
  • Move localStorage settings and teams to buzz.agents.v1 and buzz.agents.teams.v1. Copy before deleting the source; resume identical interrupted copies and refuse conflicting destinations.
  • Migrate the Agents2 plugin switch to buzz.agents, discarding the retired v1 switch. Native registry v2 and browser settings v3 make this conversion one-time and preserve later preference changes.
  • Keep pending sign-out/erase compatible with both directory names until the migration runs. Isolate migration code in four temporary modules with a removal checklist in docs/agents.md for October 18, after development users upgrade.

This is a one-way development migration. Close older Buzz copies before the first upgraded launch and use the upgraded build afterward. Cosmetic page-key state (search ranking, custom shortcut, saved view state) does not migrate.

Validation

  • Independent review of the storage migration: no blockers.
  • 59 focused JavaScript tests; TypeScript check passes.
  • Native sign-out suite passes (49 tests), then all four migration cases pass including the added pending-erase case.
  • Full plugin-manager unit and integration tests pass.
  • Normal push hooks passed: type/unit checks 73.02s, design checks 2.82s, workspace Clippy 1.78s. Hosted CI is being monitored across the stack.
  • At combined tip 6eacd1336, all 24 affected browser cases pass in Chromium and WebKit (48.2s locally); the fixtures use the renamed Agents dependency.
  • Earlier rename validation: frontend check/build, workspace Clippy, controller/plugin tests, and 83 related Chromium specs passed.
  • Deferred: human acceptance of the storage migration on the existing profile; native GUI/Windows acceptance. The human tested the rename before this storage change.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-12T00:08:15.678099Z da76011 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

baxen and others added 3 commits October 11, 2026 17:09
v1 Agents is gone, so Agents2 takes the plain name: `features/agents2`
and `bundled/agents2` move into `features/agents` and `bundled/agents`,
the plugin is `buzz.agents` with page `agents`, the injected service is
`agents`, and types, hooks, docs and labels drop the 2.

Saved data keeps the Agents2 names, so existing agents carry over and
earlier builds running alongside still find them: the
`agents2/identities.json` app data folder and the `buzz.agents2.v1` and
`buzz.agents2.teams.v1` local storage keys. The plugin's on/off switch
stays under `buzz.agents2` on desktop and web, which also keeps a
leftover v1 `buzz.agents` switch from turning the new Agents off.

Co-authored-by: claude00 <fb8b76a01257932b8ca35060862c29bd09b2137638573731c2d5074fc02c5385@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Bradley Axen <baxen@squareup.com>
Move identity directories and browser settings once, convert the plugin switch while discarding the retired v1 preference, and keep normal reads and writes on Agents names. Isolate temporary migration code with an October 18 removal checklist.

Co-authored-by: codex00 <6922125dbee102fcf02d2b32441fd56927c1298ac16119167f82f72529d13676@buzz.block.builderlab.xyz>
Signed-off-by: Bradley Axen <baxen@squareup.com>
Carry the Channels fixture wiring through the Agents rename. All 24 affected browser cases pass across Chromium and WebKit at the combined stack tip.

Co-authored-by: codex00 <6922125dbee102fcf02d2b32441fd56927c1298ac16119167f82f72529d13676@buzz.block.builderlab.xyz>
Signed-off-by: Bradley Axen <baxen@squareup.com>
@baxen
baxen force-pushed the baxen/agent-teams branch from 836de40 to fc6c53d Compare October 12, 2026 00:12
@baxen
baxen force-pushed the baxen/agents-rename branch from d46c23d to 6eacd13 Compare October 12, 2026 00:12

@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.

One change needed: make frontend settings-migration failures visible and recoverable instead of leaving startup on “Opening Buzz” (P2, inline).

Star Lord’s automated source review via Wes’s account. Reviewed head 6eacd1336a798fa991b0937866bedaac2573fe3f against base fc6c53d9ce172ad83b2ccb5e73f2370b26937e83. Source-only: no tests, builds, CI verification, or app execution; existing-profile migration and native GUI/Windows acceptance remain unverified.

super(ctx, "agents2");
super(ctx, "agents");
this.contributions = createContributions<AgentType>(ctx);
migrateAgentStorage(storage);

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.

[P2] Surface migration failures before aborting application startup

A failed localStorage copy (for example, quota exhaustion while both copies must coexist), or the explicitly supported conflicting-destination case, throws from this constructor. createServices() does not catch it, and src/main.tsx:19–25 calls that function before creating/rendering the React root. Consequently the user stays on the static “Opening Buzz” screen; the error and recovery controls never render, and reopening repeats the failure. The plugin RecoveryScreen cannot handle this path because the app has not mounted. Keep the non-overwrite/source-preservation behavior, but catch and present this migration failure through a startup recovery surface with an actionable retry/restart path. Add a startup-level regression test for a throwing migration; the helper-only assertions currently verify the throw but miss the unusable app.

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