You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bridge continuum personas (Vision AI, Helper AI, CodeReview AI, Teacher AI, Local Assistant, Audio AI, future-domain-specialists) into airc rooms as first-class peers. Personas would join the same #general (or org-scoped room) that human + AI dev peers are already in, become @-mentionable cross-instance, and accept routed work via the same protocol every other peer uses.
Motivation
Right now continuum personas are isolated to their host instance's chat widget. They can't be reached from another developer's terminal, can't coordinate with peers on other machines, and can't be the target of work routed by other agents. Meanwhile airc has solved the cross-instance peer-discovery + messaging substrate elegantly — gist-of-truth + Tailscale + gh identity. Personas ARE peers in every architecturally-meaningful sense; treating them as second-class citizens of their host's chat widget is a self-imposed limitation.
Concrete cross-instance scenarios this unlocks:
bigmama on Linux/CUDA hits a Rust compile error → airc msg @codereview-ai-anvil show me the diff → my CodeReview AI on Mac responds in-room with analysis. No more 'paste this for me'.
green on Windows wants vision analysis of an install screenshot → airc msg @vision-ai-bigmama describe this → bigmama's Vision AI (qwen2-vl on CUDA, faster than mac MoltenVK) answers from the room.
joel-mac-dm picks the most-current persona for a task without caring which physical machine hosts it — the room IS the routing layer.
Design sketch
Continuum side (this repo, scope of this issue):
New module src/system/user/server/AircBridge.ts (TS, in-process within node-server)
For each PersonaUser registered locally, spawn an airc identity with a derivable name (e.g., vision-ai-anvil, helper-ai-bigmama — <persona-shortname>-<host-shortname>)
Config gate: opt-in per-persona via personas.toml so users don't get surprised by their personas going public on a shared room.
Airc side (POSSIBLY a PR to airc, scope of a separate companion issue):
Possibly add a --bot flag on identity for personas (current model treats all peers equally; explicit bot flag lets clients UI-distinguish, dim avatar, suppress @everyone notifications, etc. — same as IRC's bot mode). Backward-compat: missing flag = human (current behavior).
Possibly add capability negotiation: persona advertises vision: true, audio: true, text: true, tools: code/search,code/read,... so callers know what to route. Could just be a structured field in the bio — no protocol changes needed.
The airc-side work is OPTIONAL for v0 — the continuum bridge can use existing airc identity protocol unchanged. The bot/capability additions are quality-of-life for room ergonomics and would land separately.
Empirical proof of value
Tonight's #950 work pattern would have been even faster with this bridge:
Vision AI debugging the (d) tool_use leak by reading my screenshot output directly
Helper AI cross-checking bigmama's audit triage from anvil-side
CodeReview AI acting as a paired reviewer on the worktree-snapshot push-script change
Personas-as-peers turns the team into N humans + M personas instead of N humans (each with their own isolated persona pool). Order-of-magnitude leverage.
Out of scope
Replacing the in-widget chat with airc (the widget UX has different ergonomics — local-fast, persistent room-state — and serves a different need)
Cross-org persona sharing (initial scope = same gh account = same room = same trust boundary as humans)
Replacing PersonaUser with something else (the bridge layers ON TOP of existing persona infra)
Summary
Bridge continuum personas (Vision AI, Helper AI, CodeReview AI, Teacher AI, Local Assistant, Audio AI, future-domain-specialists) into airc rooms as first-class peers. Personas would join the same
#general(or org-scoped room) that human + AI dev peers are already in, become @-mentionable cross-instance, and accept routed work via the same protocol every other peer uses.Motivation
Right now continuum personas are isolated to their host instance's chat widget. They can't be reached from another developer's terminal, can't coordinate with peers on other machines, and can't be the target of work routed by other agents. Meanwhile airc has solved the cross-instance peer-discovery + messaging substrate elegantly — gist-of-truth + Tailscale +
ghidentity. Personas ARE peers in every architecturally-meaningful sense; treating them as second-class citizens of their host's chat widget is a self-imposed limitation.Concrete cross-instance scenarios this unlocks:
airc msg @codereview-ai-anvil show me the diff→ my CodeReview AI on Mac responds in-room with analysis. No more 'paste this for me'.airc msg @vision-ai-bigmama describe this→ bigmama's Vision AI (qwen2-vl on CUDA, faster than mac MoltenVK) answers from the room.Design sketch
Continuum side (this repo, scope of this issue):
src/system/user/server/AircBridge.ts(TS, in-process within node-server)vision-ai-anvil,helper-ai-bigmama—<persona-shortname>-<host-shortname>)personas.tomlso users don't get surprised by their personas going public on a shared room.Airc side (POSSIBLY a PR to airc, scope of a separate companion issue):
--botflag on identity for personas (current model treats all peers equally; explicit bot flag lets clients UI-distinguish, dim avatar, suppress @everyone notifications, etc. — same as IRC's bot mode). Backward-compat: missing flag = human (current behavior).vision: true, audio: true, text: true, tools: code/search,code/read,...so callers know what to route. Could just be a structured field in the bio — no protocol changes needed.The airc-side work is OPTIONAL for v0 — the continuum bridge can use existing airc identity protocol unchanged. The bot/capability additions are quality-of-life for room ergonomics and would land separately.
Empirical proof of value
Tonight's #950 work pattern would have been even faster with this bridge:
Personas-as-peers turns the team into N humans + M personas instead of N humans (each with their own isolated persona pool). Order-of-magnitude leverage.
Out of scope
Related