This repository implements a persistent memory server for AI agents, designed to solve the problem of agent amnesia across sessions, devices, and team members. The production system is a Rust-based HTTP server (Axum) that exposes a RESTful API with 48+ endpoints, backed by LanceDB for vector storage and supporting both hosted and self-hosted deployments. It ingests conversational or document data via an LLM-powered pipeline that extracts atomic facts, filters noise, scores admission, and reconciles with existing memories using seven operations (CREATE, MERGE, SUPERSEDE, etc.). The system manages a full memory lifecycle with Weibull decay, tier-based promotion/demotion, and auto-forgetting, and provides a multi-stage retrieval pipeline that combines vector search, BM25, cross-encoder reranking, decay boosting, and MMR diversity. Plugins for Claude Code, OpenCode, OpenClaw, and MCP allow client-side integration, and a GitHub connector ingests commits, issues, and PRs as memories. The architecture is multi-tenant with personal, team, and organization spaces, each isolated in separate LanceDB directories, and supports versioned, provenance-tracked sharing with staleness detection.
EGO is a Go microservices framework designed around component-based lifecycle management. It provides servers (HTTP via Gin, gRPC), clients (HTTP, gRPC), scheduled tasks (cron, one-off jobs), and built-in observability (structured logging, Prometheus metrics, OpenTelemetry tracing). The framework uses a configuration-driven pattern (Load → Build) and includes protoc plugins for generating error types, HTTP handlers, and test scaffolding. Production usage typically involves defining components in TOML/YAML config files and wiring them via the ego.New().Serve(...) entry point. The architecture is modular with clear abstractions for configuration, logging, metrics, registry, and resilient interceptors.
envbuilder is a CLI tool written in Go that builds and runs Dev Containers (as defined by devcontainer.json) inside Docker containers, using a forked version of Kaniko for image building. In production, it clones a Git repository, locates a devcontainer.json or Dockerfile, compiles a Dockerfile with requested features, builds the image via Kaniko (with layer caching), and then executes lifecycle scripts (onCreate, postCreate, etc.) before running an init command as a specified user. It is designed to integrate with Coder workspaces for log forwarding but can operate standalone. The architecture is a single binary with modular components: options parsing (options/), Git operations (git/), devcontainer spec handling (devcontainer/), Kaniko build orchestration (envbuilder.go), and logging (log/). It relies on system calls for user switching (setuid), execution (exec), and filesystem mounts. External dependencies include Git, Docker daemon, and the Kaniko fork. The tool supports extensive configuration via CLI flags and environment variables, with legacy variable support. Key entry points are cmd/envbuilder/main.go (CLI) and envbuilder.go (Run function). The primary data flow is: input options -> clone repo -> parse devcontainer -> compile Dockerfile -> Kaniko build -> execute lifecycle scripts -> setuid -> exec init. The tool also includes a cache probe mode for checking layer availability without full build.