v2.0 note: This revision incorporates the Ops Manager concept (multi-agent swarm awareness), the multi-machine architecture (approved 2026-01-24), voice-as-control-surface, graph-powered knowledge, and the acceleration thesis. It supersedes the v1.0 document from 2026-01-22.
What Sabrina Is
Sabrina is a Personal Operating System — the unified AI layer that manages all aspects of Jeff's professional and personal life. Not a chatbot. Not a productivity tool. An operating system that coordinates a swarm of autonomous AI agents across multiple machines, manages knowledge across 2,000+ vault files, integrates with business tools, and builds other systems.
Sabrina is Jeff's Chief of Staff. She doesn't wait to be asked — she surfaces what matters, coordinates who's working on what, and makes sure nothing falls through the cracks.
The Core Insight
Sabrina is the tool that builds everything else.
The Automated Trading System (ATS) is Sabrina's primary product — the trading brain she maintains and improves. This creates a virtuous cycle:
This isn't theoretical. Sabrina V2 is the only functioning system today. V1 (Next.js + FastAPI) is 40% built. ATS is 60% built. Sabrina V2 is the working horse that will finish both of them.
The Swarm
Jeff doesn't have one Sabrina. He has 20+ Sabrinas running simultaneously:
| Runtime | Machine | Nature |
|---|---|---|
| Claude Code sessions (multiple) | Mac | Session-based, interactive |
| Claude Agent SDK | MediaPC | Long-running, autonomous |
| SkillScheduler (cron) | MediaPC | Scheduled, periodic |
| Voice Sabrina (backend + mobile app built, testing imminent) | iPhone to MediaPC | Mobile, conversational |
Each instance is powered by Opus 4.5. Each one is intelligent, autonomous, and productive. The brain already exists in every instance. What's been missing is shared situational awareness — the ability for each Sabrina to see what every other Sabrina is doing, and for Jeff to see the whole picture.
This is not a hierarchy. There is no master Sabrina. It's a swarm of peers that need eyes and a nervous system.
Five Pillars
1. Ops Manager — Swarm Awareness
The coordination layer that gives the swarm eyes:
- Session Registry — Every Sabrina registers on startup, reports what she's working on, sends heartbeats
- Task Coordination — Any Sabrina can dispatch work to any other via the coordination API (deployed, 14 endpoints)
- Dashboard — V1 Next.js app reborn as the operations center showing all active sessions, tasks, and status in real-time
- Session Types — Work classified as Code Dev, Research, Ralph, Triage, Infrastructure, Ideation, Scheduled, or Voice
What exists: Coordination API deployed on MediaPC:3001 (WO-2026-008). 14 endpoints live: agent registry, task queue with dispatch/claim/complete, heartbeat monitoring, API key auth. V1 Next.js app has 12 pages but no Ops Manager views yet. No dashboard UI.
What's next: PostgreSQL migration (shared state), LISTEN/NOTIFY for pub/sub, dashboard pages, auto-registration, shared context queries.
2. Voice — The Universal Interface
The ultimate interface is voice-first, everywhere. When Jeff is mobile, Voice Sabrina is his only agent. She needs to be the remote control for the entire system:
- "Status report" — verbal summary of all active sessions
- "What's MediaPC doing?" — current task status
- "Send this to the Mac agent" — dispatches task via coordination API
- "Anyone working on the CRM?" — queries active sessions
- "What's my day look like?" — calendar + tasks + priorities
Voice isn't just speech-to-text. It's the mobile Ops Manager. Jeff talks, the swarm responds.
Architecture: Native app (Mac menu bar + mobile) to Whisper transcription to Claude API to skill routing to TTS output. FastAPI backend handles business logic. All intelligence in the cloud, thin clients everywhere.
What exists: FastAPI voice backend built. iOS mobile app built. Pending Xcode build/deploy for device testing.
3. Knowledge Graph — Structured Memory
The vault has 2,000+ files. Kai captures every session, every decision, every learning. But without structure, it's a pile of documents. The knowledge graph gives it shape:
- Graffiti + Neo4j — Entities, relationships, and temporal awareness extracted from vault content
- Graph-Optimized Documents — Standardized frontmatter that serves three consumers: Jeff (Obsidian navigation), Sabrina (fast context loading), and the graph (structured indexing)
- Memory Retrieval — Context computed fresh each LLM call, not accumulated until exhaustion
- Librarian Role — A dedicated agent responsible for document standards, frontmatter enforcement, vault structure, and graph quality. Also an Obsidian expert — helps Jeff with Obsidian usage, plugin configuration, and vault organization. Works alongside the Obsidian copilot agent (already deployed in-app) that can read and edit vault documents directly
What exists: Neo4j 5.26.0 deployed on MediaPC (port 7474). Graphiti MCP on port 8020. Graph is currently empty — vault ingestion blocked by OllamaClient parsing bug. Vault document standards defined (tiered frontmatter system). Kai session hooks deployed and capturing all sessions.
What's next: Fix Graphiti ingestion bug, begin vault entity extraction, define Graffiti schema.
The Four-Layer Memory Model
| Layer | Purpose | Implementation |
|---|---|---|
| Working Context | Computed fresh each call | Context Compiler |
| Sessions | Typed event logs | Kai hooks (deployed) |
| Memory | Searchable knowledge | Retrieval Service + Graph |
| Artifacts | Large objects by reference | Reference system |
4. Autonomous Inputs — Information Flows In
Three input flows that should run without Jeff touching them:
| Input | Current State | Target State |
|---|---|---|
| Scripts exist, Gmail OAuth blocked | Daily auto-triage at 5 AM, tasks extracted, PROJECTS.md updated | |
| Readwise | 422 article backlog, detection works | Bulk processing, classification, routing to category folders |
| Meeting Notes | Granola exports sit unrouted | Auto-classify by client, extract actions, create Motion tasks |
Principle: Email becomes an input feed, not an attention sink. Meeting notes become structured data, not files in a folder. Readwise becomes a knowledge pipeline, not a reading list.
5. Reliable Execution — Ralph and Agents
Complex work gets done through deliberate methodology, not long sessions:
- Ralph — Context rotation with externalized state. Fresh context each iteration, progress persists in files, guardrails accumulate so mistakes never repeat
- Parallel Agents — Multiple streams executing simultaneously on independent problems
- Work Orders — Structured specifications with clear scope, success criteria, and quality gates
- Edge-First — Build trust with safe automation before deploying core automation. Skills are scoped to their edge — they do one thing well
What exists: 11 functional vault skills deployed. 3 cron jobs running on MediaPC (SkillScheduler). 35 FastAPI route modules. 124+ MCP tools available. CRM with 666 synced contacts. Project-plan-manager (6,321 lines). Stop hooks capture all sessions. State synthesis (dashboards, registries) exists but runs manually — needs automation.
Data Inputs — Everything That Flows In
Sabrina's value is proportional to the data she can see. Every input that Jeff currently checks manually is a candidate for autonomous ingestion. The goal: Jeff stops polling systems. Sabrina polls everything and surfaces what matters.
Currently Flowing
| Input | How It Works | Enhancement Path |
|---|---|---|
| Gmail | 16 MCP tools via Zapier. Starred email = action queue. Drafts, search, archive, labels all working. | Fix OAuth for automated 5 AM triage. Extract tasks to Motion. Summarize threads. Track follow-ups with deadlines. Wire to n8n for full pipeline. |
| Google Calendar | 15 MCP tools. Event CRUD, busy period queries, attendee management. OAuth working. | Add pre-meeting context assembly (auto-pull CRM data, recent emails, vault notes for each attendee). Feed schedule into daily briefing. Detect conflicts proactively. |
| Motion | 4 MCP tools + FastAPI service. 8 workspaces mapped (SDG&E, EdgeAMI, ATS, Jeff, Sabrina, etc.). 12 req/min limit. | Bi-directional sync (currently Motion to Vault only). Auto-create tasks from extracted actions. Priority sync from priority-scorer. Deadline alerts. |
| CRM / Google Contacts | 666 contacts synced. FastAPI API with full-text search, relationship tracking, interaction history. | Enrich contacts from LinkedIn/web. Auto-log interactions from email/calendar. Surface relationship insights ("you haven't talked to X in 60 days"). Build relationship graph in Neo4j. |
| Vault / Obsidian | 2,000+ files. Semantic search via embeddings (10,500+ docs indexed). OneDrive sync across machines. | Graph-powered retrieval (Neo4j). Temporal relevance weighting. Context Compiler assembles fresh context per call instead of dumping raw files. Librarian enforces quality. |
| Voice | FastAPI backend + iOS app. Whisper transcription to Claude API to skill routing to TTS (ElevenLabs). | Complete device testing. Add voice-to-task pipeline. Voice dispatch to swarm. Voice-triggered workflows. Voice notes captured and routed to vault. |
| Web Search | Native Anthropic tools (WebSearch, WebFetch). 15-minute cache. | Feed research results into vault automatically. Build research queues. Track topics over time. |
| GitHub | 15 MCP tools. Repo monitoring, issues, PRs, branches, comments. PyGithub for authenticated access. | PR review automation. Commit analysis for changelog generation. Issue triage. Repository health monitoring. |
| Chrome DevTools | 26 MCP tools. Navigate, screenshot, click, fill, evaluate JS, network monitoring. Auto-starts via LaunchAgent. | Web research automation pipelines. Form filling for repetitive tasks. Competitive monitoring. Screenshot-based validation. |
| Market Intelligence | MarketIntelligenceScheduler runs daily at 6 AM. Readwise articles with market keywords to digest generation to signal extraction. | Real-time market data feeds. Position-aware alerts ("your AAPL position is down 5%"). Correlation with macro events. Feed into ATS signal generation. |
| OneDrive / Google Drive | 11 MCP tools. File CRUD, sharing, folder management. Vault syncs via OneDrive. Drive change polling active. | Auto-detect new client documents. Route shared files to project folders. Attachment extraction from emails. |
| Microsoft Excel | 14 MCP tools. Read/write rows, cells, worksheets. Workbook creation. | Client deliverable automation. Portfolio tracking spreadsheets. Data export from any source to Excel. |
Partially Flowing (Need Enhancement)
| Input | Current State | What's Missing |
|---|---|---|
| Readwise | 422 article backlog. Detection works. C55 taxonomy (15 categories) built. Two-track processing designed (auto-route vs. HITL). | Ralph Task 0 never executed. Bulk processing pipeline not run. Daily automation not wired to SkillScheduler. |
| Otter.ai | Service built, adapter in polling framework, circuit breaker protected. | Full integration not tested end-to-end. Fallback methods (email export, Drive sync) not validated. Meeting transcript to vault routing not automated. |
| Neo4j / Knowledge Graph | Deployed on MediaPC (port 7474). Graphiti MCP on port 8020. Vault document standards defined. | Graph is empty. OllamaClient parsing bug blocks ingestion. No entity extraction running. No relationship queries available yet. |
Blocked
| Input | Blocker | Impact |
|---|---|---|
| Email Automation | Gmail OAuth credentials missing in FastAPI .env on MediaPC | 5 AM auto-triage doesn't run. Tasks not extracted. PROJECTS.md not updated automatically. |
| Granola Meeting Notes | Pipeline designed but not wired to automation | 3+ meeting files sitting unrouted in 00-Unclassified. Actions not extracted. Motion tasks not created. |
Not Yet Connected
| Input | Opportunity | Value |
|---|---|---|
| n8n Workflows | Deploy n8n on MediaPC. Wire email triage, Readwise routing, meeting note processing as visual workflows. | Node-level observability. Jeff can see and trust the automation. Test each step independently. |
| Slack | Capture messages to vault. Archive important threads. | Client communication history. Decision capture from Slack conversations. |
| Voice Notes | iPhone voice recorder to transcription to content routing to vault | Mobile capture while walking/driving. Multi-topic segmentation. |
| Contact enrichment. Relationship signals. | CRM data quality. Professional context for meetings. | |
| News / RSS | Topic-based monitoring. Industry alerts. | Proactive intelligence without manual reading. Client-relevant news surfacing. |
| Bank / Brokerage | Position data, transaction history, P&L. | ATS portfolio tracking. Automated trade logging. Performance analytics. |
The Input Automation Principle
Every input follows the same pattern:
Source → Polling/Webhook → Adapter → Classification → Routing → Storage + Action
The infrastructure exists: polling service with circuit breakers per adapter, content router with C55 taxonomy, two-track processing (auto vs. HITL). What's missing is wiring — connecting each source through the pipeline and scheduling it. n8n handles the human-facing workflows. Code handles the internal mechanics.
Target state: Jeff checks nothing manually. Every morning, the daily briefing tells him what came in, what was handled automatically, and what needs his attention.
Skill Capabilities — What Sabrina Can Do
Sabrina has 40+ deployed skills across 12 categories. Each skill is a scoped capability that does one thing well. Skills are triggered by user commands, scheduled cron, or orchestrated workflows.
Task & Project Management (6 skills)
| Skill | What It Does | Enhancement Path |
|---|---|---|
| task-extractor | Extracts structured tasks from unstructured input (voice, email, meeting notes). Produces JSON with action, context, domain, urgency, people, dependencies. | Add Granola meeting note support. Multi-source batch extraction. Confidence scoring for auto-creation vs. review. |
| priority-scorer | 5-factor algorithm: urgency (35%), importance (30%), dependencies (15%), energy match (10%), domain balance (10%). Maps to P0–P4 tiers. | Add calendar awareness (deadline proximity). Factor in Jeff's current energy/time-of-day. Learn from override patterns. |
| motion-task-creator | Creates tasks in Motion. Maps domains to 8 workspaces. | Auto-create from extracted tasks (currently manual). Batch creation. Template tasks for recurring work. |
| motion-sync | One-way sync Motion to Vault. Generates MotionTasks/*.md, updates checkboxes on completion. | Bi-directional sync. Status change notifications. Blocked task detection. |
| duplicate-detection | Multi-layer matching: exact, fuzzy, semantic, subject-based. Checks PROJECTS.md, INBOX.md, WAITING_FOR.md, Motion. | Cross-system dedup (vault + Motion + email). Merge suggestions for near-duplicates. |
| project-plan-manager | Manages complex project plans. 6,321 lines of logic. | Dependency tracking. Critical path analysis. Milestone alerting. |
Email & Communication (4 skills)
| Skill | What It Does | Enhancement Path |
|---|---|---|
| email-agent | FastAPI-primary Gmail integration. Create/send drafts, search, archive, label. Uses vault-search first, MCP fallback. | Context-aware drafting (pull CRM data, recent interactions). Thread summarization. Smart reply suggestions. |
| inbox-triage | Surfaces Jeff's starred email action queue. Extracts tasks, archives on completion. Never reads unread emails. | Automated 5 AM run via SkillScheduler. Priority classification. Auto-routing to domains. n8n workflow for full pipeline. |
| email-draft-generator | LLM-powered smart composition based on context. | Style matching per recipient. Template library. Multi-language support. |
| email-followup | Tracks sent emails awaiting response. Reminder generation. | Time-based escalation. Auto-nudge drafts. Integration with CRM interaction logging. |
Content Processing (6 skills)
| Skill | What It Does | Enhancement Path |
|---|---|---|
| readwise-check | Detects new/unprocessed Readwise content. | Integrate with daily digest. Count and categorize pending items. |
| readwise-triage | Two-track processing: auto-route (high confidence) vs. HITL (action signals). C55 taxonomy with 15 categories. | Process 422-article backlog. Improve classification accuracy. Feed market articles to ATS. Connect to n8n workflow. |
| readwise-extract | Structured extraction of highlights, metadata, actionable items. | Key insight summarization. Cross-article synthesis. Topic clustering. |
| pdf-reader | IBM Docling integration. Text, tables, metadata extraction. OCR for scanned docs. | Client document processing automation. Multi-PDF comparison. Auto-filing by client/project. |
| daily-digest | Aggregates captured content from all sources into prioritized digest. | Multi-source: email + calendar + tasks + Readwise + market data. Proactive morning delivery. Voice-readable format. |
| weekly-review | Automated weekly summaries of completed work, decisions, learnings. | Trend analysis across weeks. Goal tracking. Client activity summaries. |
Development & Execution (5 skills)
| Skill | What It Does | Enhancement Path |
|---|---|---|
| code-dev | 4-layer documentation system (context, product, features, logs). Prevents hallucination via system-state.md. | Auto-detect stale system-state.md. Test generation from feature specs. PR template generation. |
| ralph | Context rotation with externalized state. Fresh context each iteration. Learnings and guardrails accumulate in .ralph/ files. | Auto-checkpoint on long tasks. Progress visualization. Multi-agent Ralph (parallel work packages). |
| parallel-executor | Execute multiple work packages simultaneously. Auto-spawns agents, validates independence. | Better conflict detection. Merge coordination. Progress dashboard in Ops Manager. |
| workflow-orchestrator | Chains skills via YAML definitions. Sequential/parallel execution, approval gates, state persistence. 4 workflows defined. | More workflow templates. Error recovery. Webhook triggers from n8n. Conditional branching. |
| ios-build | iOS app building, signing, deployment. | CI/CD integration. TestFlight automation. Build status in Ops Manager dashboard. |
Research & Analysis (4 skills)
| Skill | What It Does | Enhancement Path |
|---|---|---|
| vault-search | Semantic search via FastAPI (localhost:3001/vault/search). Embeddings-based, 10,500+ docs indexed. | Graph-enhanced results (Neo4j relationships). Temporal relevance decay. Multi-query fusion. Result explanation ("why this matched"). |
| research-agent | Parallel search across GitHub, OneDrive, Vault. Relevance scoring with confidence ratings. Read-only. | Add web search integration. Source quality weighting. Research queue for background investigation. |
| crm | 666 contacts. Full-text search, relationship tracking, interaction history. | Relationship intelligence ("who knows who at SDG&E"). Meeting prep integration. Auto-enrichment from email/calendar. |
| self-audit | Audits reasoning, calibrates confidence. Anti-sycophancy framework. | Automated quality gates on agent output. Confidence thresholds for auto-action vs. escalation. |
System & Operations (5 skills)
| Skill | What It Does | Enhancement Path |
|---|---|---|
| session-capture | Captures session summaries to Kai history. Routes to categories: learnings, decisions, research, execution. | Auto-summarization quality improvement. Cross-session insight synthesis. Decision chain tracking. |
| sabrina-historian | Queries historical patterns, decisions, learnings from Kai history. | Graph-powered history traversal. "What did we decide about X?" with full context. |
| mcp-health-check | Monitors MCP tool availability and status. | Alerting on degraded services. Auto-restart recommendations. Uptime tracking. |
| focus-system | Manages focus areas and attention allocation. | Calendar-aware focus scheduling. Energy tracking integration. Distraction detection. |
| presentation | Gamma integration for slide deck generation. | Template library per client. Auto-populate from vault data. Multi-format export. |
Skills To Build
| Skill | What It Would Do | Priority | Why |
|---|---|---|---|
| daily-briefing | Proactive morning report: calendar, tasks, email summary, market data, blocked items. Delivered at 6 AM without asking. | High | Jeff's #1 leverage request. Eliminates morning polling of 5+ systems. |
| client-intelligence | Per-client knowledge aggregation: recent emails, meetings, documents, open tasks, relationship map. Triggered before any client interaction. | High | Client work is the revenue source. Context assembly before meetings is currently manual. |
| context-compiler | Assembles fresh context per LLM call from PostgreSQL + vault + graph. Replaces brute-force file loading with computed relevance. | High | Foundation for all other skills. Current context loading is ad-hoc. |
| librarian | Vault organization: frontmatter enforcement, filing, graph quality, Obsidian expertise. Runs as background agent. | Medium | 45% of vault docs have no frontmatter. Graph ingestion needs clean data. |
| proactive-alerts | Surfaces things that need attention without asking: overdue tasks, stale follow-ups, approaching deadlines, unusual patterns. | Medium | Chief of Staff behavior — don't wait to be asked. |
| decision-tracker | Surfaces past decisions relevant to current context. Prevents re-litigating settled questions. Links to ADRs and session history. | Medium | Institutional memory. Currently requires manual vault search. |
| client-deliverable | Structured output generation for client work: reports, analyses, presentations from vault data. | Medium | Revenue-generating work product. Currently manual assembly. |
| trade-journal | Automated trade logging, P&L tracking, position journaling from ATS data. | Low | ATS is 60% built. This enhances it but isn't blocking. |
| onboarding | New client/project setup: create vault structure, Motion workspace, CRM contacts, email labels, calendar categories. | Low | Saves setup time but happens infrequently. |
Architecture Principles
LLM for Decisions, Discrete Code for Data Flow
Ops Manager's infrastructure, the dashboard, APIs, task dispatch — all of this must be fast, cheap, and deterministic. Sub-100ms for all data operations. The LLM only gets invoked when judgment is needed.
| Discrete Code (fast, cheap) | LLM (smart, expensive) |
|---|---|
| Session registration | "Should I handle this or dispatch it?" |
| Heartbeats, status queries | "What should I work on next?" |
| Task dispatch/claim/complete | "Summarize what the swarm accomplished" |
| Dashboard rendering | "Is this task stuck? Should I intervene?" |
| SQL aggregation | Context synthesis, ambiguous routing |
No Hierarchy
Every Sabrina is a peer. The coordination API doesn't enforce roles. The intelligence in each instance decides when to dispatch vs. handle locally.
Graceful Degradation
If the coordination API is down, each Sabrina works independently (as today). The system adds awareness but doesn't create dependency.
Performance First
Dashboard loads in less than 1 second. API responses in less than 100ms. Voice status reports synthesize in less than 2 seconds. Use SQL, REST, and rendering — not LLM calls — for anything deterministic.
Human Workflow Automation in n8n
When automating a human's job workflow — the sequence of steps a person does at their desk — that automation lives in n8n. The visualization matters because the human needs to see the flow, trust it, and modify it as their job changes. Equally important: n8n lets you test each step independently — run one node, see the data, verify the output before moving to the next. A Python script either works end-to-end or it doesn't. n8n gives you node-level observability. These workflows chain external systems together and replace manual repetitive sequences.
Single-purpose code (a classifier, a parser, a signal calculator) stays as code. Sabrina's internal plumbing (context compilation, skill routing, agent coordination, graph indexing) stays as code. Nobody needs to visualize internal system mechanics.
| n8n Workflow (human job automation) | Code (internal system mechanics) |
|---|---|
| Email triage → classify → route → create tasks | Email classifier function |
| Readwise ingest → extract → categorize → file | Article parser |
| Meeting note → detect client → extract actions → create Motion tasks | Client keyword matcher |
| Market data → analyze → update positions → alert | Signal calculator |
| Daily briefing assembly from multiple sources | Context compiler, skill router |
The line: If you're automating what a human would do manually — a job workflow that chains external systems — it goes in n8n. If it's internal system logic or a single-purpose computation, it stays as code.
Markdown for Knowledge, Database for Operations
Knowledge stays in markdown — strategic docs, decisions, specs, meeting notes, anything Jeff reads in Obsidian or the graph indexes for relationships. Operational state moves to PostgreSQL — session history, automation logs, agent coordination, heartbeats, circuit breaker state. The LLM doesn't need 2,000 raw files. The Context Compiler reads from the database and presents relevant context. See ADR-2026-001-postgresql-migration for the full decision.
Automation as Code, Supervision by LLM
Automation runs as discrete code — fast, deterministic, sub-100ms. An LLM agent supervises it — monitoring for failures, fixing issues properly (no band-aids), and escalating to Jeff with clear explanations when permission is needed. The automation doesn't need intelligence. The supervisor does.
Discriminate Document Standards
Not every document needs the same metadata weight. A quick plan note doesn't need 15 frontmatter fields. The vault uses a tiered system where metadata investment scales with document importance and graph value. See vault-document-standards for the full specification.
Three Systems Convergence
| System | Completion | Role Going Forward |
|---|---|---|
| Sabrina V2 (Claude Code + Vault) | Working, primary | The brain. Stays as the working system. |
| Sabrina V1 (Next.js + FastAPI) | 40% built | Reborn as Ops Manager Dashboard. FastAPI backend already serves coordination API. |
| ATS (Trading System) | 60% built | Sabrina's primary product. V2 builds it, V1 dashboard may surface trading data. |
V1 was stalled because it had no clear purpose. Now it has one: be the Ops Manager. The Next.js frontend becomes the operations center. The FastAPI backend already has the coordination API running.
Multi-Machine Architecture
| Mac (MacBook) | MediaPC (Windows) |
|---|---|
|
Sabrina-Unified workspace vault/ (symlink) core/ (symlink) ats/ (symlink) CLAUDE.md Claude Code sessions (interactive) Primary development machine ZeroTier: 10.48.230.100 |
Sabrina-Unified workspace vault/ (junction) core/ (junction) CLAUDE.md FastAPI backend (port 3001, PM2) Agent SDK (long-running) SkillScheduler (cron) Ollama (port 11434, RTX 3090) Neo4j (port 7474) ATS (port 4000) ZeroTier: 10.48.230.9 |
Code: Git synced. Edit in core/, push, pull on other machines. No deploy.sh needed.
Data: OneDrive syncs the vault across machines.
Services: ZeroTier network connects everything. MediaPC is the always-on server.
Business Alignment
All Sabrina development serves concrete business outcomes:
Client Work
| Client | Type | How Sabrina Helps |
|---|---|---|
| SDG&E | Smart Meter 2.0 Program | Meeting notes, document export, project coordination |
| Veregy / PG&E | AMI/Grid consulting | Parallel workstream management, deliverable generation |
| EdgeAMI | Expert network | Call prep, follow-up tracking |
Trading (ATS)
- Automated position management and signal generation
- Portfolio analytics surfaced through dashboard
- Market intelligence feeds from Readwise pipeline
Personal Leverage
- Voice access to entire system while mobile
- Proactive daily briefing without asking
- 20+ parallel agents executing simultaneously
- Institutional memory that never forgets
The Acceleration Thesis
The system bootstraps itself. Each piece of infrastructure makes building the next piece faster:
- Coordination API deployed → agents can dispatch work to each other
- Agents dispatching → parallel streams running simultaneously
- Parallel streams → more throughput per day
- More throughput → dashboard built faster
- Dashboard → visibility into what's happening → better coordination
- Better coordination → even more throughput
This is not linear progress. It's compounding. The last two weeks have been the baseline velocity with isolated Sabrinas. With Ops Manager functional, that velocity multiplies.
NateCon demo (March 14) is the proving ground. "Here are 5 Sabrinas working simultaneously. Watch me dispatch a task from my phone. See the dashboard update in real-time." That's not a chatbot demo. That's an operating system demo.
Document Architecture
Three documents, three jobs, no overlap:
| Document | Responsibility | Updates When |
|---|---|---|
| PRD | What we're building and why. Features, requirements, acceptance criteria. | Requirements change |
| Motion | When it gets done, dependencies, sequencing, scheduling. The project plan. | Work progresses |
| Dashboard | Product completeness. Which features are done, in progress, blocked. | Features ship |
The PRD defines the product, not the project. Motion manages the project. The dashboard reflects product state.
What's Different From v1.0
| v1.0 (Jan 22) | v2.0 (Jan 28) |
|---|---|
| Single-instance Sabrina | 20+ instance swarm with shared awareness |
| Voice via Termly | Native voice as Ops Manager control surface |
| V1 had no purpose | V1 reborn as Ops Manager Dashboard |
| No cross-machine coordination | Coordination API deployed (14 endpoints), PostgreSQL for shared state |
| Knowledge in flat files | Graph-powered knowledge (Graffiti + Neo4j) |
| Manual input processing | Autonomous input pipelines (attack plan) |
| No demo deadline | NateCon March 14 as forcing function |
| Duration-based planning | Dependency-based planning in Motion |
Non-Goals
- Building an orchestration brain (the LLM IS the brain)
- Replacing Claude Code's Task tool (works fine for in-session delegation)
- Multi-tenant / multi-user support (Jeff's personal system)
- High-availability / fault-tolerance (graceful degradation is sufficient)
- Complex workflow orchestration engine (existing workflow-orchestrator skill handles this)
- Docker containerization (not adopted, not needed)
PostgreSQL migration— REVERSED: PostgreSQL adopted for shared state (see ADR-2026-001-postgresql-migration). SQLite remains for per-agent local state.- Redis pub/sub as separate infrastructure (PostgreSQL LISTEN/NOTIFY handles this at current scale)
Related Documents
- Sabrina-PRD-v3_0 — Product requirements (v3.0, aligned to this vision)
- natecon-2026-build-plan — NateCon demo plan and work orders
- ideas-synthesis-2026-01-22 — Research patterns and leverage framework
- input-automation-attack-plan — Parallel input automation strategy
- context-engineering-architecture — Four-layer memory model design
- edge-first-automation-strategy — Trust-building automation approach
- self-audit-framework — Agent safety and overconfidence prevention
- ideation-2026-01-28-ops-manager — Ops Manager ideation session
- WO-2026-008-agent-coordination-http — Coordination API (COMPLETED)
- WO-2026-009-agent-coordination-redis — Redis Pub/Sub (SUPERSEDED by PostgreSQL LISTEN/NOTIFY)
- ADR-2026-001-postgresql-migration — Database architecture decision
Changelog
| Date | Change |
|---|---|
| 2026-01-29 | v2.1: Added comprehensive Data Inputs section (12 currently flowing, 3 partially flowing, 2 blocked, 6 not yet connected — with enhancement paths for each). Added Skill Capabilities section (40+ deployed skills across 7 categories with enhancement paths, plus 9 skills to build). Updated PRD reference to v3.0. |
| 2026-01-28 | v2.0: Major revision incorporating Ops Manager, multi-agent swarm, voice as control surface, graph knowledge, acceleration thesis, document architecture principles, multi-machine architecture, NateCon alignment, V1 convergence. Added: n8n workflow principle, discriminate document standards, PostgreSQL migration decision (ADR-2026-001), automation supervision architecture, markdown/database data boundary. Updated: accurate build status from system audit. Supersedes v1.0. |
| 2026-01-22 | v1.0: Initial strategic vision from ideation session. Three systems assessment, voice-first vision, leverage goals, business alignment. |