Skip to content

feat: unify agent identities and refine agent and skill management - #2932

Merged
GCWing merged 2 commits into
mainfrom
gcwing/agent-harness-workspace-polish
Sep 9, 2026
Merged

feat: unify agent identities and refine agent and skill management#2932
GCWing merged 2 commits into
mainfrom
gcwing/agent-harness-workspace-polish

Conversation

@GCWing

@GCWing GCWing commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Summary

Unify the four built-in Agent Harness identities as Minimal, Standard, Ultimate, and Creative, while keeping legacy configuration, persisted sessions, and peer/mobile/dispatch wire identities readable. Refine Agent and assistant configuration, reusable skill groups, and session panel ownership across the desktop and mobile surfaces.

Type and Areas

Feature, refactor, and UI/UX. Shared Rust contracts/runtime, desktop and CLI adapters, Web UI, mobile web, design system, and localization.

Motivation / Impact

  • Generate Rust and TypeScript Harness identities from one contract, preserve unknown identities and configuration fields, and reject conflicting legacy aliases without overwriting records.
  • Write canonical Swarm root identities and normalize legacy database rows at the read boundary, so upgraded trees can keep launching child Agents without rewriting existing records.
  • Keep the SSH dispatch adapter independently buildable: its remote-ssh-concrete feature explicitly activates the existing core-types dependency used for identity wire translation. No dependency version or default feature changes are required.
  • Manage reusable skill groups in the Skills scene and expand selections through the shared group store when configuring an Agent. Keep unavailable members and partial catalog results visible.
  • Consolidate Agent/assistant configuration presentation, simplify navigation and motion, and align terminal/content panel ownership with the active session.
  • Integrate the current main changes to account-device routing, removal of cloud settings sync, and retirement of first-entry mode reminders.

Verification

Passed locally:

  • pnpm run fmt:rs
  • cargo test --locked -p openbitfun-core-types
  • cargo test --locked -p openbitfun-config-contracts --lib — 77 tests passed.
  • cargo test --locked -p openbitfun-core --no-default-features --lib service::config:: — 63 tests passed.
  • cargo test --locked -p openbitfun-core --no-default-features --features agent-runtime,git,external-sources --lib agentic::coordination:: — 173 tests passed, including legacy Swarm database and external Agent ownership regressions.
  • cargo test --locked -p openbitfun-services-integrations --no-default-features --features remote-ssh-concrete --lib remote_ssh::manager::tests::workspace_ — 24 tests passed; 2 existing opt-in diagnostics skipped.
  • pnpm run check:web — type-check, Appearance, typography, theme color, and visual-contract gates passed.
  • pnpm run design-system:test
  • pnpm --dir src/mobile-web run test:ui-components — 10 tests passed.
  • pnpm --dir src/mobile-web run type-check
  • pnpm run i18n:generate, pnpm run i18n:contract:test (37 passed), and pnpm run i18n:audit (zero warnings).
  • pnpm run check:core-boundaries:test — 142 tests passed.
  • pnpm run check:core-boundaries
  • pnpm run check:repo-hygiene
  • pnpm run motion:audit — intent inventory reviewed; not visual acceptance.
  • node scripts/check-git-object-sizes.mjs --base origin/main --head HEAD
  • git diff origin/main...HEAD --check

The focused frontend command below passed all 92 tests across 8 files:

pnpm --dir src/web-ui run test:run src/features/skill-groups/skillGroups.test.ts src/features/skill-groups/skillGroupsStore.test.ts src/shared/agents/identity.test.ts src/app/components/panels/content-canvas/hooks/canvasPanelOwnership.test.tsx src/app/services/sessionSceneLifecycle.test.ts src/flow_chat/services/sessionActivation.test.ts src/flow_chat/services/storeSync.test.ts src/app/stores/sceneStore.test.ts

The CI regression command below also passed all 62 tests across 5 files. The text-clipping test additionally checks the compact line-height scale against the bundled font metrics.

pnpm --dir src/web-ui run test:run src/app/global-search/globalSearchArchitecture.test.ts src/app/styles/textClipping.test.ts src/flow_chat/components/ChatInputWorkspaceStripLayout.test.ts src/app/components/panels/content-canvas/hooks/canvasPanelOwnership.test.tsx src/shared/agents/identity.test.ts

Full automated validation is provided by the PR CI; this PR will be merged only after all applicable checks succeed on its final commit.

Reviewer Notes

AI-assisted. Testing level: focused automated tests; full CI pending. No browser automation, mock visual validation, or manual visual acceptance was performed. Compatibility fixtures cover legacy identity round trips; live SSH workspaces, remote control, Peer Device Mode, and detached dispatch were not exercised manually.

Checklist

  • This PR contains the requested product changes and no temporary artifacts or credentials.
  • Verification and its current limits are recorded above.
  • User-facing strings, docs, and locales are updated where applicable.

@GCWing
GCWing merged commit 69ce226 into main Sep 9, 2026
13 checks passed
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