hzhang 6b993522cf feat(guild): wake_mapping, per-recipient wakeup, discuss/work turn engine, channel join/leave
- wake_mapping table; triage onDuty (auto-added member) / custom listeners
- per-recipient wakeup metadata on message.created (one message-id; added
  only at push). Rules: author=false; triage/custom=wake_mapping only;
  general=all; report=none
- discuss/work rotation: channel_turn_state (order/currentSpeaker/round
  events/cross-round no-reply streak); null activation, queue-jump,
  /no-reply pass, all-/no-reply pause, end-of-round shuffle (trailing
  no-reply run to tail, head shuffled, first != last normal speaker)
- slash-command registry (/no-reply, /force-proceed); registered commands
  intercepted and never delivered; guild-authored /ack persisted
- POST /channels/:id/join|leave; leave cleans channel_members, wake_mapping
  and turn-state order

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 14:51:09 +01:00

Fabric.Backend.Guild

Guild Node service for Fabric.

Scope (MVP)

  • Workspace/Guild/Channel/DM
  • Message create/edit/delete/reply/@mention
  • Per-channel/DM seq ordering + gap backfill API
  • Webhook/Bot integration surface
  • Guild-level audit logs

Next

  • API skeleton (NestJS)
  • Chat domain models
  • Seq allocator and range query endpoints

Required env (startup hard checks)

  • FABRIC_BACKEND_GUILD_CENTER_BASE_URL
  • FABRIC_BACKEND_GUILD_CENTER_API_KEY
  • FABRIC_BACKEND_GUILD_NODE_ID

If any of the above is missing, service startup fails immediately.

Description
No description provided
Readme 483 KiB
Languages
TypeScript 99.3%
JavaScript 0.4%
Dockerfile 0.3%