Skip to main content

Persistent memory for Claude Code — installs and wires GitNexus, OMEGA, and Semble

Project description

goldfishh — persistent memory for Claude Code

goldfishh

Persistent memory for Claude Code agents.
One command installs and wires together GitNexus, OMEGA, and Semble so your AI agent
never starts a session from scratch again.

License: MIT Python 3.13 Platform: Linux | macOS Windows: beta PyPI


Quick start

Prerequisites: Python 3.13 (pinned — see note below), Node.js 18+, uv (curl -LsSf https://astral.sh/uv/install.sh | sh)

uvx goldfishh init

Or install as a persistent tool:

uv tool install goldfishh
goldfishh init

Python 3.13 required. goldfishh pins to Python 3.13 because chonkie (a required dependency) is incompatible with Python 3.14. uvx and uv tool install both respect this constraint automatically.

The init wizard detects and installs all dependencies, indexes your codebase, scaffolds your memory vault, and registers Claude Code hooks. Re-running is safe — it reports health and skips what's already installed.

If you have prior Claude Code sessions in this project, seed OMEGA with their history:

goldfishh mine

The problem

Claude Code agents are stateless. Every session starts from zero. You spend 10–30 minutes re-explaining context that was established yesterday. The agent repeats mistakes it already made, asks questions already answered, and changes a function without knowing 47 others depend on it.

The tools to fix this exist. Nothing connects them. That's the gap goldfish fills.

Failure Cause Solution
Session amnesia Agent starts blank every session OMEGA episodic memory mines JSONL logs
Codebase blindness Agent doesn't know the shape of the code GitNexus code knowledge graph
Decision blindness Agent doesn't know why things are built this way Vault markdown notes + OMEGA
Impact blindness Agent doesn't know what breaks when it changes something GitNexus blast-radius analysis
Prompt deafness Agent gets generic context, not prompt-specific context Chonkie + Semble + OMEGA fan-out

How it works

goldfish installs four layers of intelligence into Claude Code — each maintained by a dedicated open-source tool or human maintainer.

Layer Installed by What it provides
Layer 0 — Memory You User preferences, behavioral feedback, reference pointers (plain markdown)
Layer 1 — Tool-native GitNexus, OMEGA, Semble (via goldfishh init) Each tool's own hooks, MCP server, and agent instructions
Layer 2 — Coordination goldfish Cross-tool orchestration — tells agents to query all three tools before acting
Layer 3 — Project-specific You (or your agent) Codebase-specific guardrails, architecture context, contributor workflow

goldfish itself is ~500 lines of Python — a thin orchestration layer with no search, embedding, or graph code. Every function is a subprocess call, a file write, or a config read.

How the tools connect

Claude Code JSONL logs         ← source of truth
       ↓ mined by OMEGA
SQLite episodic store          ← past decisions, lessons, errors
       ↓ written by goldfish
~/.goldfishh/vaults/{project}/  ← plain markdown vault (human-readable)
       ↑ indexed by GitNexus
Code knowledge graph           ← symbols, callers, execution flows
       ↑ searched by Semble
Prompt enrichment              ← context injected before every task
       ↑ decomposed by Chonkie

Hook lifecycle

Event What happens
SessionStart Drains queue, generates wake-up context from vault + OMEGA
UserPromptSubmit Decomposes prompt → fans out to Semble (code + vault) + OMEGA → injects context
PreCompact Drains queue, writes checkpoint note to vault
TaskCreated / TaskCompleted Writes task notes to vault
Stop / SessionEnd Advances JSONL offset in manifest

All async events write to ~/.goldfishh/queue.jsonl first and return in <10ms so Claude never blocks.


Vault

All knowledge is plain markdown — readable with cat, searchable with grep, versionable with git.

~/.goldfishh/vaults/{project}/
├── .manifest.toml           ← sync state (byte offset, timestamps)
├── Memory/
│   ├── Decisions/           ← architectural choices and rationale
│   ├── Lessons/             ← patterns learned across sessions
│   ├── Errors/              ← bugs and fixes
│   └── Checkpoints/        ← pre-compaction snapshots
├── Specs/                   ← feature specs referenced by tasks
├── Tasks/                   ← task notes (created/completed events)
└── _context/
    └── wake-up.md           ← refreshed every session

Each note uses temporal frontmatter so agents can tell what's current and what's superseded:

---
id: decision-jwt-auth-2026-05-24
type: decision
valid_from: 2026-05-24
superseded_by: null
confidence: 0.94
source_session: abc123
---

Want a visual graph of the knowledge store? See docs/obsidian.md.


CLI reference

goldfishh init              Run the setup wizard
goldfishh mine              Seed OMEGA from historical JSONL session logs (run once on onboarding)
goldfishh status            Show queue depth, manifest state, and sync timestamps
goldfishh doctor            Check all dependencies and report with fix instructions
goldfishh register-hooks    Re-register hooks with the correct binary path
goldfishh replay            Rebuild vault from JSONL transcripts (resumable)
goldfishh hook              Handle a hook event from stdin (called by Claude Code)
goldfishh drain             Process queued events from ~/.goldfish/queue.jsonl

Platform support

Linux + macOS (primary): tested on Ubuntu 26.04 LTS; macOS expected to work.
Windows (beta): CI passes on Windows; clean-install verification pending.


Development

git clone https://github.com/miztertea/goldfish
cd goldfish
uv sync
uv run pytest

Tests stub all subprocess calls and run without live tool installations. ~100 tests, ~0.3s.

uv run pytest -v          # verbose test output
uv run goldfishh --help   # run CLI from source

Contributing

Human contributors: CONTRIBUTING.md
AI agent contributors: AGENTS.md


License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

goldfishh-0.11.0.tar.gz (5.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

goldfishh-0.11.0-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file goldfishh-0.11.0.tar.gz.

File metadata

  • Download URL: goldfishh-0.11.0.tar.gz
  • Upload date:
  • Size: 5.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for goldfishh-0.11.0.tar.gz
Algorithm Hash digest
SHA256 e9a3307dd4c067e2d61b8289fa1eb597f2c23ad99cecab754c449758bd712b3c
MD5 6012102d3aba4f304ce1d08fb9b7c9ab
BLAKE2b-256 7e1ca6a32e9d4f0504d1f26518d33767ed6b352ccaadab0eeeb57997f38c3e0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for goldfishh-0.11.0.tar.gz:

Publisher: publish.yml on miztertea/goldfish

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file goldfishh-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: goldfishh-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for goldfishh-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e19bbf9e6bd67676c97cc59c0117137e941b130d5a24fde5f42b2880b88f4cd
MD5 dbcb8b425babe42bf6581704bb4cb396
BLAKE2b-256 04258e2f89ceca2176a0dd9e5e1c83e509922e8eeda7fcbd986a2f03af48d193

See more details on using hashes here.

Provenance

The following attestation bundles were made for goldfishh-0.11.0-py3-none-any.whl:

Publisher: publish.yml on miztertea/goldfish

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page