Soul Brews Studio — Relationship Map
Generated 2026-05-02 by sbs-repo-oracle
arra-oracle-v3 (:47778)
├─→ studio.buildwithoracle.com ui-oracle/apps/studio :3000
├─→ vector.buildwithoracle.com ui-oracle/apps/vector :5173
├─→ canvas.buildwithoracle.com ui-oracle/apps/canvas :5173
├─→ feed.buildwithoracle.com ui-oracle/apps/feed :5174
├─→ forum.buildwithoracle.com ui-oracle/apps/forum :5174
├─→ schedule.buildwithoracle.com ui-oracle/apps/schedule :5173
├── arra-cli (plugin system) cli/src/cli.ts 20 plugins
├── oracle-cli (standalone) oracle-cli/src/index.ts HTTP client
├── MCP server (stdio) src/index.ts 18 tools
└── arra-oracle-skills-cli skill installer 30+ skills
maw-js (:3456)
├─→ shrine.buildwithoracle.com maw-ui/shrine
└─→ god.buildwithoracle.com maw-ui
pulse-cli
└─→ pulse.buildwithoracle.com Pulse-Oracle/pulse-site
Port
Service
:47778
arra-oracle-v3 (Elysia)
:3456
maw-js HTTP API
:3000
ui-oracle/apps/studio
:5173
ui-oracle/apps/vector, canvas, schedule ⚠️
:5174
ui-oracle/apps/feed, forum ⚠️
arra-oracle-v3 Full Breakdown
Repo : Soul-Brews-Studio/arra-oracle-v3
Version : 26.4.20-alpha.9
Port : :47778 (env: ORACLE_PORT)
Data dir : ~/.arra-oracle-v2/
DB : SQLite + FTS5 (oracle.db) — 54 docs, 110 concepts
Vector : LanceDB (bge-m3, 1024-dim, via Ollama)
OracleNet : urchin-app-csg5x.ondigitalocean.app
Three Entry Points + Standalone Client
bin/arra.ts → src/server.ts HTTP API (Elysia) → :47778
src/index.ts MCP Server (stdio) → Claude Code (18 tools)
cli/src/cli.ts CLI (plugin system) → terminal (20 plugins)
oracle-cli (separate repo) Standalone HTTP client → :47778
Tool
Type
Handler
arra_search
read
src/tools/search.ts
arra_read
read
src/tools/read.ts
arra_learn
write
src/tools/learn.ts
arra_list
read
src/tools/list.ts
arra_stats
read
src/tools/stats.ts
arra_concepts
read
src/tools/concepts.ts
arra_supersede
write
src/tools/supersede.ts
arra_handoff
write
src/tools/handoff.ts
arra_inbox
read
src/tools/inbox.ts
arra_thread
write
src/tools/forum.ts
arra_threads
read
src/tools/forum.ts
arra_thread_read
read
src/tools/forum.ts
arra_thread_update
write
src/tools/forum.ts
arra_trace
write
src/tools/trace.ts
arra_trace_list
read
src/tools/trace.ts
arra_trace_get
read
src/tools/trace.ts
arra_trace_link
write
src/tools/trace.ts
arra_trace_unlink
write
src/tools/trace.ts
arra_trace_chain
read
src/tools/trace.ts
Arra CLI — Plugin System (20 plugins)
cli/src/
cli.ts Main dispatcher (235 lines)
lib/api.ts HTTP bridge → localhost:47778
plugin/
types.ts PluginManifest, InvokeContext
loader.ts Discovers bundled + user plugins (~/.neo-arra/plugins)
registry.ts Sorts by weight, resolves commands/aliases
invoke.ts Dynamic import() + 5s timeout
manifest.ts JSON validation
commands/
plugins-*.ts Plugin management (install/list/remove/info)
session-*.ts Session inspection (list/show/context)
menu-*.ts Menu customization (list/add/remove/gist/reset)
_output.ts Output formatting
plugins/
{search,learn,list,read,...}/
plugin.json Manifest
index.ts Handler
#
Plugin
Weight
Command
API Endpoint
1
search
10
arra-cli search "query"
GET /api/search?q=
2
stats
10
arra-cli stats
GET /api/stats
3
reflect
10
arra-cli reflect
GET /api/reflect
4
learn
20
arra-cli learn "pattern"
POST /api/learn
5
list
30
arra-cli list
GET /api/list
6
trace
40
arra-cli trace
traces API
7
trace-list
41
arra-cli trace-list
traces API
8
trace-get
42
arra-cli trace-get <id>
GET /api/traces/:id
9
trace-chain
41
arra-cli trace-chain <id>
trace chain API
10
read
50
arra-cli read <id>
GET /api/read
11
threads
50
arra-cli threads
GET /api/threads
12
thread
51
arra-cli thread <id>
GET /api/threads/:id
13
supersede-list
—
arra-cli supersede-list
supersede API
14
supersede-chain
—
arra-cli supersede-chain
supersede API
15
schedule
—
arra-cli schedule
schedule API
16
plugin
—
arra-cli plugin list|install|remove
local
17
hello
—
arra-cli hello
example
18
export-obsidian
—
arra-cli export-obsidian
local (256 lines)
19
import-obsidian
—
arra-cli import-obsidian
local (108 lines)
Built-in Subcommands (not plugins)
arra-cli session list|show|context Inspect session state
arra-cli menu list|add|remove|gist-* Manage studio menu
arra-cli plugin list|info|install|rm Plugin management
Env Var
Purpose
Default
NEO_ARRA_API
Server URL
http://localhost:47778
ARRA_PLUGIN_TIMEOUT_MS
Plugin timeout
5000
ORACLE_PORT
Server port
47778
{
"name" : " arra-search" ,
"version" : " 1.0.0" ,
"entry" : " ./index.ts" ,
"sdk" : " ^0.0.1" ,
"weight" : 10 ,
"cli" : {
"command" : " search" ,
"aliases" : [" s" ],
"help" : " arra-cli search \" <query>\" [--limit N]" ,
"flags" : { "--limit" : " Max results" , "--type" : " Filter type" }
}
}
Standalone CLI: oracle-cli
Repo : Soul-Brews-Studio/oracle-cli (v0.2.0)
npm : published as arra-cli (bin: arra)
Usage : bunx github:Soul-Brews-Studio/oracle-cli search "patterns"
13 commands : search, learn, list, stats, threads, schedule, traces, inbox, server, vault, + more
Lightweight HTTP wrapper — all calls go to arra-oracle-v3 :47778
HTTP API Routes (17 modules)
Prefix
Module
Endpoints
/api/auth
auth
status, login, logout
/api/settings
settings
get, update
/api/feed
feed
list, create
/api/health
health
health, stats, oracles
/api/dashboard
dashboard
summary, activity, growth, session-stats
/api/search
search
search, reflect, similar, map, map3d, list
/api/compare
compare
compare, agreement
/api/learn
knowledge
learn, handoff, inbox
/api/supersede
supersede
list, create, chain
/api/forum
forum
threads-list, thread-create, thread-get, thread-status
/api/traces
traces
list, get, link, unlink, chain, linked-chain
/api/schedule
schedule
list, create, update, md
/api/files
files
graph, context, file, read, doc, logs, plugins, plugin-by-name
/api/plugins
plugins
list, get-by-name
/api/oraclenet
oraclenet
feed, oracles, presence, status
/api/sessions
sessions
summary
/api/vault
vault
sync
/api/menu
menu
menu, custom, admin, studio-href, studio-tag, admin-order, admin-source
src/vector/adapters/
├── lancedb.ts ← default (production)
├── sqlite-vec.ts
├── qdrant.ts
├── chroma-mcp.ts
└── cloudflare-vectorize.ts
src/
index.ts MCP server (stdio)
server.ts HTTP server (Elysia :47778)
config.ts Path + port resolution
const.ts Pure constants
types.ts Shared types
tools/ MCP tool handlers (18 tools)
routes/ HTTP API (17 modules, 50+ endpoints)
db/ SQLite + Drizzle ORM
vector/ Vector search (5 adapters)
vault/ ψ/ vault operations
indexer/ Content indexing pipeline
trace/ Trace system
forum/ Forum/thread engine
menu/ Navigation menu system
verify/ Identity verification
process-manager/ Graceful shutdown + health
server/ HTTP server utilities
cli/ CLI interface (src/cli/)
config/ Tool group config
cli/ Plugin-based CLI (cli/src/)
src/cli.ts Main dispatcher
src/lib/api.ts HTTP bridge
src/plugin/ Plugin framework
src/commands/ Built-in subcommands
src/plugins/ 20 bundled plugins
bin/ Entry points
web/ Built-in web UI
tests/ Test suites
e2e/ End-to-end tests
scripts/ Utility scripts
docs/ Documentation
Script
What
dev
Dev server
serve / server
Production HTTP
start
MCP stdio server
index
Run content indexer
test / test:unit / test:integration
Tests
vault:init / vault:sync / vault:migrate
ψ/ vault ops
db:generate / db:migrate / db:studio
Drizzle DB
File
Bug
Location
src/vector/factory.ts
LanceDB default = L2, should be cosine for bge-m3
createVectorStore()
src/vector/embeddings.ts
No instruction prefix for bge-m3 queries vs passages
embed()
src/tools/learn.ts:171
Single vector per doc, no chunking (despite types.ts:10 promise)
handleLearn()
CLI issues (from Hermes Oracle)
Issue
Description
JSON-only output
CLI defaults to JSON, breaks jq with Thai text. Needs --json flag + human-readable default