feat: multi-user support — team accounts, session routing, and Neon web UI #18

Closed
opened 2026-05-22 15:47:32 -07:00 by pyr0ball · 0 comments
Owner

Context

Xander and Neon are joining as community team members. Xander uses Claude Code + MCP. Neon is not terminal-friendly and needs a web UI.

Design spec: circuitforge-plans/magpie/superpowers/specs/2026-05-22-multiuser-design.md

Key insight: RedditClient already accepts session_file: Path | None — multi-user is additive, not a refactor.

DB Migrations

  • 019team_accounts table (display_name, platform, username, account_type, session_file)
  • 020opportunities: add assigned_to + post_as (both FK → team_accounts)
  • 021posts: add posted_by_account_id FK → team_accounts

Session Layout

Move sessions to ~/.local/share/magpie/sessions/{person}_{platform}.json. Keep settings.reddit_session_file for backward compat during migration.

MCP Tool Changes

  • list_team_accounts (new)
  • assign_opportunity (new)
  • post_opportunity(id, account_id) (new) — routes to correct session file
  • list_opportunities — add assigned_to filter
  • update_opportunity — add assigned_to / post_as fields

Neon Web UI (port 8533)

FastAPI + Vue SPA. Queue viewer + copy tool — Neon does not post through automation, she copies drafts and posts manually.

  • Queue view: opportunities by status, filterable
  • Detail view: thread context, draft (editable), copy-to-clipboard, mark as posted, dismiss
  • Recent posts view: read-only
  • Auth: shared MAGPIE_UI_TOKEN for v1

Build Sequence

  1. Migrations 019–021
  2. Session directory restructure + config update
  3. Store methods for team_accounts
  4. MCP tools
  5. Neon web UI
  6. Caddy route /magpie-ui/
  7. Session setup for Xander + CF official accounts
  8. Onboarding doc (after UI is live)

Blocked On

  • Xander and Neon Reddit usernames
  • Lemmy instance for personal accounts
  • Neon UI access URL (subdomain vs. path)
  • CF Bluesky session approach (Playwright vs. API)
## Context Xander and Neon are joining as community team members. Xander uses Claude Code + MCP. Neon is not terminal-friendly and needs a web UI. **Design spec:** `circuitforge-plans/magpie/superpowers/specs/2026-05-22-multiuser-design.md` **Key insight:** `RedditClient` already accepts `session_file: Path | None` — multi-user is additive, not a refactor. ## DB Migrations - **019** — `team_accounts` table (display_name, platform, username, account_type, session_file) - **020** — `opportunities`: add `assigned_to` + `post_as` (both FK → team_accounts) - **021** — `posts`: add `posted_by_account_id` FK → team_accounts ## Session Layout Move sessions to `~/.local/share/magpie/sessions/{person}_{platform}.json`. Keep `settings.reddit_session_file` for backward compat during migration. ## MCP Tool Changes - `list_team_accounts` (new) - `assign_opportunity` (new) - `post_opportunity(id, account_id)` (new) — routes to correct session file - `list_opportunities` — add `assigned_to` filter - `update_opportunity` — add `assigned_to` / `post_as` fields ## Neon Web UI (port 8533) FastAPI + Vue SPA. Queue viewer + copy tool — Neon does **not** post through automation, she copies drafts and posts manually. - Queue view: opportunities by status, filterable - Detail view: thread context, draft (editable), copy-to-clipboard, mark as posted, dismiss - Recent posts view: read-only - Auth: shared `MAGPIE_UI_TOKEN` for v1 ## Build Sequence 1. Migrations 019–021 2. Session directory restructure + config update 3. Store methods for team_accounts 4. MCP tools 5. Neon web UI 6. Caddy route `/magpie-ui/` 7. Session setup for Xander + CF official accounts 8. Onboarding doc (after UI is live) ## Blocked On - [ ] Xander and Neon Reddit usernames - [ ] Lemmy instance for personal accounts - [ ] Neon UI access URL (subdomain vs. path) - [ ] CF Bluesky session approach (Playwright vs. API)
Sign in to join this conversation.
No labels
bug
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/magpie#18
No description provided.