Skip to content

feat(extensions): activate external primary agent profiles - #2012

Merged
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/external-primary-agent-profiles
Aug 4, 2026
Merged

feat(extensions): activate external primary agent profiles#2012
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/external-primary-agent-profiles

Conversation

@limityan

@limityan limityan commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • expose approved static OpenCode primary/all profiles and Claude Code agent definitions as selectable primary agents; Codex definitions remain subagent-only
  • persist a logical agent id plus route owner, then resolve the generation-scoped runtime key through the existing Agent Registry and Coordinator for GUI, embedded CLI, and Shared TUI
  • add workspace- and remote-aware mode catalogs plus atomic Session mode updates, preserving explicit model precedence, external approval, conflict, and permission constraints

Architecture and boundaries

  • reuses the existing External Sources catalog, Agent Registry, Session lifecycle, workspace binding, model binding, and permission policy
  • IPC protocol v16 adds a session-scoped agent catalog, reviewed mode update, and authoritative workspace binding on restore/fork
  • no Plugin Host Runtime work, external code execution, second Agent Runtime, second registry, MCP/LSP/theme/keybinding/output/formatter scope, or temporary compatibility path
  • OpenCode remains the primary compatibility target; Claude Code uses the same neutral profile boundary, while Codex keeps its current subagent semantics

User experience

  • selectable external primary agents appear in the existing GUI and TUI mode selectors after normal approval/conflict resolution
  • same-name local and external profiles remain distinct through durable route ownership
  • mode updates are serialized per Session; sending is temporarily disabled until the selected owner is authoritative, while cancellation remains available
  • remote workspaces route catalog and mode updates remotely and never scan a remote Windows path on the desktop host

Validation

  • cargo check --workspace
  • cargo test -p bitfun-agent-runtime-ipc (63 passed)
  • cargo test -p bitfun-opencode-adapter
  • cargo test -p bitfun-claude-code-adapter
  • focused bitfun-core primary-route, owner, lease, permission, model, background, and worktree tests
  • focused bitfun-cli mode/update/startup tests and product_assembly_cli (11 passed)
  • focused bitfun-desktop remote catalog and remote workspace policy tests
  • pnpm run type-check:web
  • pnpm run lint:web
  • 8 focused Web UI files (177 passed)
  • pnpm run i18n:contract:test
  • pnpm run i18n:audit
  • pnpm run check:repo-hygiene
  • pnpm run check:github-config
  • node scripts/check-core-boundaries.mjs

Compatibility note

The local Agent Runtime IPC protocol moves to v16, so Shared TUI clients and their owning Runtime must be upgraded together. Persisted Sessions retain logical profile identity and route ownership; unavailable external definitions fail closed instead of falling back to a same-name local agent.

@limityan
limityan force-pushed the yanzhn/external-primary-agent-profiles branch 2 times, most recently from 73676d7 to 458f8d6 Compare August 3, 2026 17:08
@limityan
limityan force-pushed the yanzhn/external-primary-agent-profiles branch from 458f8d6 to 79d6639 Compare August 4, 2026 00:52
@limityan
limityan merged commit ca94825 into GCWing:main Aug 4, 2026
7 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