Skip to content

feat: native engine invite from the Add dialog (+ backend endpoint) - #523

Merged
juliarvalenti merged 2 commits into
mainfrom
claude/github-issue-518-9wengz
Aug 14, 2026
Merged

feat: native engine invite from the Add dialog (+ backend endpoint)#523
juliarvalenti merged 2 commits into
mainfrom
claude/github-issue-518-9wengz

Conversation

@juliarvalenti

@juliarvalenti juliarvalenti commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Closes #518.

What

Invite a first-party cognition engine (aligner / synthesizer) directly from the room's Members → Add → Engines dialog — no CLI required.

Engines are backend-owned: registration is a pure manifest write with no machine-local side effects (unlike claude_code/cursor agents, which need a resident session + workspace assets). So the UI can do it natively.

Backend

  • POST /api/rooms/{room}/engines (app/routes/engines.py) builds and persists the same agents/<handle> manifest the CLI's mycelium engine create writes (adapter: engine, kind, embed=False, agent-manifest tag), reusing the memory-create path. The aligner/synthesizer summon seam (_registered_engine_kind) and GET .../agents pick it up identically to a CLI-created engine.
  • Validates room / kind (aligner|synthesizer) / handle slug; rejects duplicates (409), unknown kind + bad handle (422), missing room (404).
  • tests/test_engines_route.py — 6 tests including a summon-seam-recognition assertion.

Frontend

  • lib/api.ts: createEngine() + EngineKind, surfacing backend detail on error.
  • agents-panel.tsx: the Engines tab is a real form (kind picker with blurbs, handle prefilled with the kind name and tracking it until edited, optional description). On success it refreshes the roster and closes the dialog.
  • The Agents tab keeps CLI guidance (agents genuinely need local side effects) but is de-staled: drops the removed daemon/cold-spawn commands (see refactor(cli): remove the daemon + claude -p cold-spawn — agents are resident await loops #526) for the resident mycelium await --loop --exec model, and no longer presents --cwd as required.

Supersedes the CLI-copy-only onboarding this PR originally shipped.

claude and others added 2 commits August 14, 2026 16:25
The Members panel's Add dialog only covered cold-spawn agents, and the
guidance had gone stale: it pointed at the removed `mycelium agent add`
picker and the deprecated openclaw adapter.

- Split the dialog into Agents (cold-spawn) and Engines (first-party)
  tabs, keeping it read-only guidance.
- Engines tab: `mycelium engine create --kind` + `engine invoke`, with a
  short note on the runtime model (backend-run room citizens; aligner
  mediates, synthesizer distills).
- Agents tab: claude_code + cursor create examples, --owner/--team
  attribution note, and the shared cold-spawn daemon step.
- Drop openclaw and `mycelium agent add` references; point the empty
  state at `mycelium agent create`.

Closes #518

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011yvS96kxZn7VpM5SgN5i7i
Engines (aligner/synthesizer) are backend-owned — registration is a pure
manifest write with no machine-local side effects — so the UI can invite
one natively instead of punting to the CLI.

Backend: POST /api/rooms/{room}/engines builds and persists the same
agents/<handle> manifest the CLI's 'mycelium engine create' writes, so the
summon seam and the agents listing pick it up identically. Validates room,
kind, and handle slug; rejects duplicates. Covered by tests/test_engines_route.py.

Frontend: the Add dialog's Engines tab is now a real form (kind picker,
handle prefilled with the kind name, optional description) posting to the
new endpoint. The Agents tab drops the removed daemon/cold-spawn guidance
(see #526) for the resident 'mycelium await --loop --exec' model, and no
longer presents --cwd as required.
@juliarvalenti
juliarvalenti force-pushed the claude/github-issue-518-9wengz branch from d495420 to 326e1cb Compare August 14, 2026 23:44
@juliarvalenti juliarvalenti changed the title feat(frontend): engine onboarding + fresh agent guidance in Add dialog feat: native engine invite from the Add dialog (+ backend endpoint) Aug 14, 2026
@juliarvalenti
juliarvalenti merged commit d45af12 into main Aug 14, 2026
5 checks passed
@juliarvalenti
juliarvalenti deleted the claude/github-issue-518-9wengz branch August 14, 2026 23:46
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.

"Add agent" modal: add engine onboarding + refresh stale agent guidance

2 participants