Spacebot
The runtime layer for Guildhall. A Rust-based concurrent agent orchestration system, forked and adapted from the Spacedrive team’s open-source project.
What it is
Spacebot replaces the monolithic single-session AI model with specialized concurrent processes. Instead of one model doing everything sequentially, multiple processes think, execute, and respond simultaneously. This is the architectural foundation that makes Quorum’s 13-seat deliberation practical on local hardware.
Why Spacebot instead of building from scratch
The original plan was a Ruby script driving Ollama’s API. Spacebot provides everything that script would need to become, already built and battle-tested:
- Concurrent multi-agent orchestration (13 seats running in parallel batches)
- Typed memory graph with eight memory types (Fact, Preference, Decision, Identity, Event, Observation, Goal, Todo)
- Graph edges between memories (RelatedTo, Updates, Contradicts, CausedBy, PartOf)
- Multi-model routing with Ollama support for local inference
- Agent isolation (each seat gets its own workspace, databases, identity — shares the runtime)
- Skills loading from folders (compatible with the folder-as-workspace pattern)
- Single binary deployment, no Docker required
- Web UI for monitoring
License
FSL-1.1-ALv2 — Functional Source License, converting to Apache 2.0 after two years. Source-available, not traditional open source. Self-hosting and modification for personal use is explicitly permitted. The restriction is on offering a competing hosted service. Converts to fully permissive Apache 2.0 automatically after two years.
For Guildhall’s use case (self-hosted on Blackthorn, personal use), the license poses zero constraints.
How Guildhall uses Spacebot
Spacebot’s process model maps to Guildhall’s architecture:
| Spacebot concept | Guildhall equivalent |
|---|---|
| Agent | A Quorum seat, or the Secretary, or a Lugh pipeline stage |
| Channel | A department office or the boardroom |
| Worker | A Phase 2 deep dive task |
| Branch | A forked thinking process within a seat |
| Cortex | The Facilitator (Seat 13) — synthesizes across all departments |
| Identity files | Seat definitions (role, key questions, behavioral rules) |
| Memory graph | Institutional knowledge accumulated across Quorum runs |
| Hierarchical links | Departments report to the Facilitator |
| Peer links | Inter-department consultation during Phase 2 |
What we modify
Spacebot is designed for conversational multi-user interaction (Discord/Slack/Telegram). Guildhall needs:
-
Batch deliberation mode. A workflow where 13 agents run a structured three-phase protocol rather than responding to chat messages. Phase 1 (fast sync), Phase 2 (selective deep dives), Phase 3 (synthesis).
-
Adversarial model diversity. Spacebot assumes all agents can share models. Quorum requires different models on seats that check each other’s work. The four-level routing system already supports per-agent model overrides — the reason for those overrides (decorrelated errors) is Guildhall’s contribution.
-
Twilio SMS adapter. New adapter for the Secretary’s primary interface. Simpler than Discord/Slack since SMS is text in, text out.
-
Two-tier compute. Secretary runs on Hoid (always-on), deliberation runs on Blackthorn (WoL). Spacebot assumes a single always-on deployment. Guildhall needs the Secretary to wake Blackthorn and spawn the deliberation agents on demand.
-
Department-based UI. The web interface skinned as The Directory — front desk, six offices, boardroom — rather than generic agent channels.
What we keep as-is
- The concurrent process model (Channels, Branches, Workers, Cortex)
- The typed memory graph and all eight memory types
- Graph edges (RelatedTo, Updates, Contradicts, CausedBy, PartOf)
- Agent isolation at the data level
- The Rust binary deployment model
- Skills folder loading
- The existing Discord/Slack/Telegram adapters (useful for future community access)
Source
- Repository: https://github.com/spacedriveapp/spacebot
- Documentation: https://docs.spacebot.sh
- Built by the Spacedrive team (Jamie Pine et al.)