ibexharness
STAR ON GITHUB
v0.1.0-dev · early access§ phase 01 of 06 · complete

Surefooted memory
for agents that forget.

ibexharness is an open-source runtime giving AI agents persistent memory, intelligent context assembly, and behavioral drift detection — engineered in the open, phase by phase.

§ 01The failure modes

Agents are stateless processes pretending to be colleagues.

Four failure modes the industry has quietly accepted. The harness exists to retire them.

01

Amnesia

Every session starts at zero. Conversation history evaporates the moment the process exits.

02

Context decay

As context grows, recall degrades. Agents contradict themselves mid-conversation.

03

Behavioral drift

Identical prompts produce divergent outputs over time. No baseline, no alert.

04

Opaque decisions

Why did the agent do that? Nobody knows. There is no record of what it remembered.

§ 02System topology

One critical path.
Twenty milliseconds.

A Go proxy guards a Python intelligence layer, fronted by SDKs, backed by tiered storage, with async workers handling extraction and drift detection off the hot path. Auth, rate limiting, and context injection happen inline; everything else runs in parallel.

topology · ibexharness
critical pathasync
YOUR AGENTSIBEXHARNESS · COREDATA LAYERSTORAGEOPERATORS (PLANNED)LLM PROVIDERSOpenAI · Anthropic · Local · …Python SDKplannedTypeScript SDKplannedGo SDK / CLIplannedHTTP clientsphase 01LLM PROXYauthenticate · rate-limitinject context · streamgo · phase 01 · ✓ shippedAuth Servicetoken + permissionsgo · phase 01 · ✓Context Assemblytoken-budget · knapsackMemory Servicevector · dedup · PIIAsync Workersextraction · driftEmbedding Serviceall-MiniLM-L6 · 384dPostgres 16pgvector · RLSRedis 7hot cache · limitsClickHousetraces · billingObject storeMinIO / S3 archivesDashboardphase 03 · plannedManagement APIphase 03 · plannedHTTPScritical path · <20msgRPCassembleasync job
phase 00 + 01 shipped · phase 02–05 in active designdiagram · authoritative source: /docs/architecture
Critical path
Go · <20ms

Proxy authenticates, rate-limits, injects context, streams.

Auth
Go · gRPC

Token validation, per-tenant permission bitmap.

Intelligence
Python · FastAPI

Context assembly, memory service, embeddings.

Data plane
Postgres · Redis · CH · S3

pgvector + RLS, hot cache, traces, archives.

§ 03The harness, in four parts

A complete runtime,
not a library.

Every capability designed to compose. The contracts between them are stable, observable, and documented from day one.

§ 01phase 02 · planned

Persistent memory

Write, retrieve, dedupe across sessions.

Semantic search over an agent's lifetime via vector embeddings. Automatic extraction from interactions, conflict resolution, multi‑tenant isolation enforced at every layer.

§ 02phase 02 · planned

Context assembly

The right memories, every call.

A ranking pipeline that balances recency, relevance, and observed utility — fitted to your model's token budget. Target p95 under 50ms, measured end‑to‑end.

§ 03phase 03 · planned

Behavioral fingerprints

Detect drift before users do.

Statistical baselines per agent. Alerts when output distributions shift. Compare directive versions before they ever reach production traffic.

§ 04phase 01 · ✓ shipped

LLM proxy & auth

Inline. Fast. In your stack.

Go proxy authenticates requests, rate-limits per tenant, injects assembled context, and streams responses with sub-20ms overhead target. Permission bitmap from a dedicated auth service.

§ 04Three lines, real memory

Attach the harness.
Keep your loop.

No framework rewrite. No vendor lock‑in on your prompts. The harness wraps your agent loop with three primitives: recall, llm, remember.

  • drop‑in for OpenAI, Anthropic, local
  • async memory writes off the hot path
  • structured traces piped to OTel
  • SDK surface lands with phase 02
agent.py
# planned · phase 02
from ibexharness import Harness

agent = Harness("kestrel")            # attach the harness

@agent.task
def reply(message: str) -> str:
    ctx = agent.recall(message, k=8)  # target p95 · <50ms
    out = agent.llm(message, ctx)
    agent.remember(message, out)      # async · non-blocking
    return out
design preview · phase 02API may evolve before v0.2
§ 05aGet on the ridge

Four steps to a running harness.

No signup. No waitlist. Clone, compose, run. Everything that exists today runs locally on your machine — the same way the maintainers run it.

  1. 01

    Clone the repo

    Pull the monorepo. Phase 0 + 1 are in main; the proxy and auth service run locally via Docker Compose.

    $ git clone github.com/Rick1330/ibex-harness
  2. 02

    Boot local infra

    Compose brings up Postgres, Redis, ClickHouse stubs, and the OTel collector — the same topology CI runs against.

    $ make dev   # compose up + migrate
  3. 03

    Run the proxy

    The Go proxy binds to :8080 and the auth service answers gRPC. Health, readiness, and Prometheus endpoints are live.

    $ make run-proxy   # then curl :8080/healthz
  4. 04

    Watch a phase land

    Pick a milestone from /docs/roadmap, open a discussion, or grab a good-first-issue. Phase 1.5 docs work is open right now.

    $ gh issue list --label good-first-issue
Heads up: v0.1.0-dev — APIs may shift before phase 02 lands. Pin your branch.
§ 06What's shipped, what's next

Built in the open, phase by phase.

2 / 6 phases shipped · phase 1.5 (docs) in progress · MIT

ibexharness is in early development. Phase 0 and Phase 1 are implemented in the repository, the docs site (phase 1.5) is being built right now, and Phases 2 through 5 are actively designed with milestone-level READMEs in the monorepo. Track progress on GitHub.

CURRENTLY BUILDING · PHASE 1.5

Docs site

active

Public documentation surface — architecture reference, ADRs, operator runbooks, quickstart guides. The first thing the world will read about ibexharness.

  • · Architecture ref
  • · ADR index
  • · Quickstarts
  • · API contracts
the rest of the road
  • P00Foundation

    ~2 weeks

    complete
  • P01Core Platform

    shipped 2026-06-05

    complete
  • P02Single Provider E2E

    3–5 weeks

    planned
  • P03Memory Engine + Operator Platform

    6–8 weeks

    designed
  • P04Multi-Provider + Routing

    4–6 weeks

    planned
  • P05Production Hardening

    4–8 weeks

    planned
source of truth · /docs/roadmap in the monorepoview milestone READMEs on GitHub ↗
§ 07Docs site · phase 1.5 · building now

The manual, in the open.

Phase 1.5 takes the canonical docs already living in /docs and ships them as a public site. Here is the table of contents — sections are already written; the rendering is what we're building.

docs.ibexharness.com/ phase-1-core-platform
building · phase 1.5
ARCHphase 0 · ✓

Architecture overview

Hot path, services, data plane, async surface — the system as one diagram.

read the source on GitHub
ADRphase 0 · ✓

Decision records

Why Argon2id, why bitmap permissions, why ClickHouse for traces. Every yes and every no.

read the source on GitHub
APIphase 1 · ✓

Proxy + Auth contracts

REST and gRPC surfaces, error envelopes, retry semantics, request-ID propagation.

read the source on GitHub
SDKphase 2 · planned

Client SDK guide

Python, TypeScript, Go. Three primitives: recall, llm, remember.

read the source on GitHub
live site lands with phase 1.5 · live: docs.ibexharness.combrowse /docs on GitHub ↗
§ 07Open source · MIT

Build the harness
with us.

ibexharness is being engineered in the open on GitHub. Stars help us reach more engineers facing the same agent-memory problems. Issues, RFCs, and pull requests are welcome — early contributors shape the public API.

github.com / Rick1330 / ibex-harnessvisit ↗
license
MIT
language
Go · Python
phases shipped
02 / 06 · phase 1.5 active
next milestone
phase 1.5 · docs site
deployed
not yet · early development
good first issues
open — see repo