Skip to content

Bring existing local agent identities into Agents2 - #858

Draft
baxen wants to merge 3 commits into
baxen/agent-metadatafrom
baxen/agents2-adopt
Draft

baxen wants to merge 3 commits into
baxen/agent-metadatafrom
baxen/agents2-adopt

Conversation

@baxen

@baxen baxen commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Agents2 can bring over an identity from the earlier harness controller or old Buzz while preserving its key and existing profile. A Bring over view lists eligible identities; the native import path validates the source and reuses credentials through the existing credential store.

Stack: metadata (baxen/agent-metadata) → this PR → v1 retirement. This is the migration layer; v1 UI/runtime removal is reviewed separately above it. The full chain includes #838, #852, the session viewer and model/effort picker.

Validation: TypeScript passes after restacking. All 13 controller app-agent tests pass on this layer. Adoption records complete publication receipts from the metadata parent; existing native import and frontend adoption coverage is retained. Required push checks are recorded separately. Native migration and destructive erase acceptance remain pending. Kept draft for human testing.

Stack index: #838 → #852 → #855 → #856 → #857 → #858 → #859. Local baxen/next at 7a645d346 has the exact same tracked tree as the complete tip 261db4c78. Its temporary integration commit preserves fast-forward ancestry from the existing squashed green history. All newly opened PRs are drafts; native human acceptance is pending.

baxen and others added 3 commits October 11, 2026 10:06
Agents2 can now take over an identity that the harness controller or
old Buzz (installed or dev) saved on this machine. It keeps the key,
name and picture, and leaves the instructions and settings behind.
Neither old store is written.

- port.rs lists both stores as one flat list, one entry per key. The
  harness copy wins because its key is already in this app's store.
  It also re-reads an identity and its key at take-over time.
- AppAgents::adopt is prepare with an existing key. When a harness
  agent saved for the same community already holds the key under the
  same credential ID, commit shares that key and never adds or
  withdraws it. Without this, a failed add would have deleted the
  harness copy.
- An adopted agent keeps the profile its community already has.
  Without one, it publishes the name and picture it brought. If the
  read fails, it overwrites nothing until the agent is renamed.
  Agents2 profiles gain an optional picture.
- Adds a "Bring over" side panel on the Agents2 page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Bradley Axen <baxen@squareup.com>
fixup! [agents2-adopt] bring over agents from earlier agent systems

Check an adopted key's community profile under its publication turn, on
the first publication rather than right after bringing it over, so a
sync meanwhile cannot replace it and a failed read is retried. Refuse a
key that is already here or still being removed, never delete a
credential an adopted key may share, read old Buzz's inline keys, and
wait out a busy credential store.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Bradley Axen <baxen@squareup.com>
Adapt adoption to the metadata layer so accepted pictures and descriptions are recorded with the name.

Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: Bradley Axen <baxen@squareup.com>
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.

1 participant