← Switchboard
TECHNICAL REFERENCE · v0

Moneypenny System Architecture

An always-on personal agentic OS. Content listeners feed a classification pipeline; humans triage via Switchboard; agents execute via BatonPass; skillsets plug in at every stage.

8 channels designed · 2 live 4 skillsets registered v0 demo — not for prod
01 / FLOW

Event-driven triage pipeline

Every channel listener fires events into a passive eavesdropper. Skillsets register watch signals, BatonPass verbs, datasources, and channel feedback hooks against a single contract — the same plugin extends multiple pipeline stages.

Pipeline
02 / SEQUENCE

Text yourself → agent dispatched → result delivered

Self-note "dentist Thursday" is the canonical end-to-end use case. Eavesdropper flags it; classifier picks intent; ticket-builder structures it; Switchboard surfaces it; approval routes through BatonPass; agent-run executes; result returns through the originating channel.

UC1 sequence
03 / SCHEMA

Tickets, executables, sessions, signals

Tickets are the canonical lifecycle object. Executables are the Switchboard projection. Sessions are bursts of related events grouped within a 15-minute TTL. Signals are pattern matches the eavesdropper extracts before classification.

Data model
04 / CONVERSATION

Burst detection + session lifecycle

Conversation sessions group rapid-fire events so a single classification covers the whole burst. Burst detector tracks idle gaps; session-manager spawns and reaps; session-store persists open and closed transcripts.

Session
05 / EXTENSIBILITY

Plugin contract: one manifest, five hook points

Skillsets ship as TypeScript modules implementing a single manifest interface. Each can register watch signals (eavesdropper), verbs (BatonPass), datasources, visualizations, and channel feedback — the same career-partner skillset touches four pipeline stages.

Skillsets
06 / RUNTIME

Cross-harness agent transport

agent-run is a tier-laddered executor (codex → pi → foundry → qwythos) — it degrades AWAY from any single subscription so a paid cap on one provider doesn’t freeze the fleet. Approval crosses the execution-engine HTTP boundary.

Transport
07 / WHY THIS WORKS

Subsumption-resistance over feature parity

OpenClaw is 374k★ reactive autonomous agents. Hermes is 94k★ self-improving skills. Moneypenny is novel where it matters: passive cross-channel eavesdropping + human-triage Switchboard + skillsets that hook into multiple pipeline stages. Every lab release strengthens the runner contract; nothing competes head-on with the labs.

Position
08 / COMPONENTS

Component stack

Every module exposes a typed contract through the SDK. Channels and skillsets are swappable; the runtime, router, and engine are the load-bearing core.

Module
Role
License
Deploy
moneypenny/core
MoneypennyRuntime + classifier + ticket-builder + ticket-router
MIT
Mac / Linux
moneypenny/channels
iMessage (chat.db + BlueBubbles) · Gmail · pluggable adapter
MIT
per host
moneypenny-sdk
skillset contract · channel-adapter base · session types · google-genai wrapper
MIT
shared
batonpass/engine
DispatchRunner + PII gate + ResponseChannel ABC
MIT
engine :8321
batonpass/switchboard
SvelteKit triage UI · Capacitor iPad wrap
MIT
iPad / browser
09 / GUARDRAILS

Safety & failure modes

PII gate

Outbound prompts pass through a regex-based PII scrubber before reaching any model vendor. Phone, email, SSN, and CC patterns are redacted; structured logs record match counts without leaking values.

Tier ladder degradation

agent-run degrades through codex → pi → foundry → qwythos. A subscription cap on any one tier surfaces but does not freeze the fleet — paid local generation (qwythos via LM Studio) is the fallback.

The Desk is the gate

Approved tickets dispatch via the engine; unapproved tickets sit in the pending queue until a human swipes. Auto-dispatch is opt-in per intent, not default.

Session burst dedup

Rapid-fire events from the same sender collapse into a single conversation session (15-min idle TTL) so one classification covers the whole burst. The pipeline doesn't thrash on chat threads.

Authoritative source: docs/architecture/moneypenny-*.md · docs/strategy/2026-06-29-moneypenny-strategic-roadmap.md
Diagrams prerendered from Mermaid in projects/moneypenny/docs/diagrams/.