STACKS: [GO]Persistent shared memory infrastructure for Claude Code workstations. Single server (Docker on Unraid/NAS) stores observations in PostgreSQL 17 + pgvector, exposes 48 MCP tools via Streamable HTTP / SSE on port 37777.
| Rule | Description |
|---|---|
| No stubs | Complete, working implementations only |
| No guessing | Verify with tools before using |
| Reasoning first | Document WHY before implementing |
| No silent patching | Report every discrepancy found |
| No time estimates | Prioritize by value/risk/dependencies, not phantom duration |
- Language: Go 1.25+
- Build:
make build - Test:
go test ./... - Database: PostgreSQL 17 + pgvector (HNSW cosine index)
- Embedding: ONNX BGE (384D) or OpenAI-compatible REST API
- Reranking: ONNX cross-encoder reranker
- Worker:
cmd/worker/main.go— HTTP API + MCP SSE + MCP Streamable HTTP + dashboard - Hooks:
plugin/hooks/— JavaScript hooks for Claude Code lifecycle - Plugin:
plugin/— Claude Code plugin definition + marketplace
cmd/worker/ — server entry point
internal/mcp/ — MCP protocol, 48 tool handlers (tools_*.go)
internal/search/ — hybrid search (tsvector + vector + BM25, RRF fusion)
internal/scoring/ — importance + relevance scoring
internal/embedding/ — ONNX BGE + OpenAI REST providers
internal/worker/sdk/ — observation extraction (LLM API or Claude CLI)
internal/learning/ — self-learning, LLM client
plugin/hooks/ — JS hooks (session-start, user-prompt, post-tool-use, stop)
System prompts > Task/delegation > Global rules > Project rules > Defaults
- Project skills (
.agent/skills/) override global skills - Same-name project skill completely replaces global
- Skills are loaded by semantic description matching