PSYCHE

A Cognitive Scaffold for the Feral Mind

Eight MCP servers. Markdown all the way down. Local‑first, file‑based, git‑versioned.
Built to preserve the natural flow of curiosity‑driven, multi‑threaded thinking — so nothing valuable gets lost, and ideas become real artifacts with minimal toil.

The system exists to let the mind move freely while having the infrastructure to catch what matters before it disappears. This is not a productivity value. It is an aliveness value.

Design Principle Zero
◆ ◆ ◆

Philosophy

Coherence Over Optimization

Alignment between identity, values, energy, and action matters more than maximum output. A highly optimized machine running toward the wrong destination is a sophisticated failure.

Clarity Over Intensity

Reduce ambiguity and cognitive drag before accelerating. The most valuable thing is often a single clear question, not a burst of frantic activity.

Structure in Service of Aliveness

Every structure must earn its place by making something more alive, not less. A system that costs more energy than it returns is a burden with a logo.

Symbolic Intelligence Is First-Class

Tarot, archetypes, dreams, and Jungian frames are valid pattern-detection tools — not decorative features. They surface what linear analysis misses.

Reality-Based Support

Accounts for executive pressure, neurodivergent variability, context switching, and competing demands. Support that only works under ideal conditions isn't support.

The System Learns

Usage patterns and feedback signals continuously sharpen the model. A static system accumulates data; a learning system accumulates understanding.

◆ ◆ ◆

Architecture

Orchestration — Claude Code + Skills
/align /capture /decide /draft /oracle /mode /thread-bridge /learn /reconcile /review-swipe /podcast /update /sync
MCP Servers — stdio transport, TypeScript, local process
🜄

psyche-threads

Persistent context containers. Bridges preserve momentum across sessions. Priority, lifecycle, deadlines.

6 tools · create · list · get · resume · update · write_bridge
🜁

psyche-capture

Raw material intake. Swipe files by focus area. URL extraction. Zero filing decisions at capture time.

6 tools · capture · list · search · get · review · focus-areas
🜃

psyche-identity

Self-model, modes, memory, relationships, feedback loops, learned preferences. The system that knows you.

9 tools · identity · modes · memory · relationships · feedback · learning
🜂

psyche-activity

Discrete life events. Meetings, decisions, milestones. Feeds relationship recency and trajectory computation.

5 tools · log · query · backfill · digest · staleness

psyche-semantic

Vector search across the full corpus. Ollama embeddings with keyword fallback. Cross-content-type recall.

3 tools · semantic_recall · rebuild_index · index_status
🔐

psyche-credentials

Encrypted OAuth token store. Per-account routing — personal and work identities stay distinct. PKCE flow. Silent refresh. Infrastructure beneath workspace and media.

3 tools · setup · health · service-config
📬

psyche-workspace

Google Mail, Calendar, Drive, Docs, Sheets. Multi-account. Read + write with lazy write-scope re-auth. /align surfaces today's schedule automatically.

10 tools · gmail · calendar · drive · docs · sheets
🜏

psyche-media

Spotify playback + device routing + mode-aware playlist learning (offer, never auto-play). Podcast pipeline: Riverside transcript → voice-preserving show notes + social seeds.

18 tools · playback · learning · podcast
◆ ◆ ◆

Data Flow

Capture → Thread

Captures link to threads via slug. Thread bridges reference captures for re-entry. Bidirectional context without coupling.

Activity → Relationships

Activity events carry participant lists. Relationship recency, trajectory (increasing / stable / declining / dormant), and staleness computed dynamically from the event stream.

Memory → Activity Backfill

High-signal memories become activity events. Idempotent — content-hashed deduplication prevents double-logging.

Feedback → Learning

Accepted / rejected / ignored signals accumulate. Periodic synthesis produces learned preferences — deterministic aggregation, no AI hallucination in the loop.

All Content → Semantic Index

Memories, activities, captures, relationships, threads — all embedded via Ollama (nomic-embed-text). Cosine similarity search with content-type filters.

Identity → Everything

Values, voice, archetypes, cognitive profile, and design principles loaded every session. The self-model is the gravity well — everything else orbits it.

Credentials → External APIs

Per-account OAuth routing. Personal and work Google are distinct identities — no collision. Tokens encrypted on disk, refreshed silently. No plaintext in the repo.

Mode → Music

Entering a mode surfaces a playlist suggestion via psyche-media. An offer, never an auto-play. Accepted selections write to learned-preferences — the system learns which playlist fits which mode.

Transcript → Show Notes

Riverside export → voice-preserving draft + chapter extraction + thread-matched capture suggestions + 3-5 social post seeds. One pass from /podcast. Guest relationship graph enriches automatically.

◆ ◆ ◆

Key Abstractions

🧵

Thread

Persistent context container. Lifecycle (active → parked → completed → archived), priority tiers, deadlines, linked people, domain tags. The unit of ongoing thought.

🌉

Bridge

Hemingway-pattern momentum snapshot: what was happening, where energy was, what's unresolved, and a re-entry prompt. Cross-session continuity without re-reading everything.

📋

Capture

Raw material — text, URLs, quotes, observations — filed into focus-area swipe files. Zero friction at capture time. Synthesis happens later.

Activity

Discrete life event: meeting, decision, conversation, work-session, milestone. Timestamped, participant-tagged. Feeds relationship and staleness computation.

💎

Memory

Long-lived knowledge that persists across context resets. Tagged, searchable, date-ranged. What the system knows that isn't in the code.

🪞

Identity

Self-model: values, voice, domains, archetypes, cognitive profile, natal chart. Loaded every session. The gravity well everything orbits.

🔮

Operating Mode

Six behavioral parameter sets — Executive, Builder, Creator, Oracle, Recovery, Integration — that reshape how the system communicates and what it surfaces.

👤

Relationship

Person record with goals, org context, influence level. Recency and trajectory computed dynamically from activity events. Staleness detection surfaces neglected connections.

📡

Feedback Signal

Accepted / rejected / ignored. The system's learning substrate. Aggregated into preferences deterministically — no AI in the feedback synthesis loop.

🔐

Service Config

Per-account OAuth routing rule. {service}:{account} key. Personal Google, work Google, and Spotify stay as distinct identities. Encrypted storage, silent refresh, scope-incremental re-auth.

🎙️

Episode

Structured podcast record — title, guest, date, status, links, thread_slug. Produced from /podcast against a Riverside transcript. Guest relationship graph updates automatically.

◆ ◆ ◆

Operating Modes

⚔️
Executive
High-stakes triage. Lead with the recommendation.
🔨
Builder
Deep technical work. Precision over polish.
Creator
Generative flow. Follow the thread wherever it goes.
🔮
Oracle
Symbolic depth. Meaning over mechanics.
🌙
Recovery
Low capacity. One small step. No shame.
🌀
Integration
Cross-domain synthesis. Find the pattern.
◆ ◆ ◆

Storage

~/.psyche/ ← git-versioned root
├── identity/ ← self-model (7 files)
│ ├── values.md
│ ├── voice.md
│ ├── archetypes.md
│ ├── cognitive-profile.md
│ └── ...
├── threads/ ← one .md per thread
├── swipe-files/ ← captures by focus area
│ ├── inbox/
│ ├── coaching/
│ ├── symbolic-spiritual/
│ └── ...
├── activity/ ← timestamped events
├── memory/ ← persistent knowledge
├── relationships/ ← person records
├── feedback/ ← learning signals
├── learning/ ← synthesized preferences
├── credentials/ ← encrypted OAuth tokens
├── media/ ← playlist prefs
├── podcast/ ← episodes + transcript cache
└── semantic/ ← vector index

Markdown All the Way Down

Every data artifact is a markdown file with YAML frontmatter. Human-readable, git-diffable, greppable. No database. No lock-in. Your data is always yours.

Git-Versioned

The entire ~/.psyche/ directory is a git repository. Every thread bridge, every capture, every memory — version-controlled. Time travel is built in.

Local-First

Everything lives on your machine. No cloud sync, no third-party storage, no API keys for your inner life. The semantic index runs through local Ollama.

Content-Addressed Deduplication

SHA256 content hashes prevent duplicate indexing. Backfill operations are idempotent. The system handles its own housekeeping.

◆ ◆ ◆

Tech Stack

Runtime
Node.js 20+
Language
TypeScript 5.8
Protocol
MCP SDK 1.29
Transport
stdio
Validation
Zod 4.x
Embeddings
Ollama + nomic
Frontmatter
gray-matter
URL Parse
readability + linkedom
Auth
OAuth PKCE + Keychain
External APIs
Google · Spotify
◆ ◆ ◆
🜏

What Makes This Different

Identity as Architecture

Most AI tools optimize for task completion. Psyche starts from a self-model — values, voice, archetypes, cognitive profile — and shapes every interaction through that lens. The system knows who it's working with, not just what it's doing.

Symbolic Intelligence, Not Just Analytics

Tarot, Jungian archetypes, astrological cycles, and dream material are first-class data types. Oracle mode isn't a novelty — it's a second cognitive system running parallel to the analytical one. Techno-mysticism isn't a brand; it's an architecture decision.

Hemingway Bridges

Named after Hemingway's practice of stopping mid-sentence so he'd know where to start tomorrow. Thread bridges capture: what was happening, where energy was, what's unresolved, and the exact re-entry prompt. Context resets stop being catastrophic.

Neurodivergent by Design

Variable cognitive capacity is a design constraint, not an edge case. Recovery mode exists. The system never shames, never nags, never assumes linear performance. Good-brain days get depth; bad-brain days get one small step.

Deterministic Learning Loop

Feedback signals (accepted/rejected/ignored) are logged and synthesized into preferences without AI in the aggregation loop. The system learns from you, but the learning mechanism is transparent and auditable.

Fire Preservation

The system is built to protect creative fire — irreverence, sovereignty, originality — from the forces that flatten it. It does not soften, sanitize, or optimize for acceptability. The fire being alive is the success state.