Protocore
A protocol-first runtime for stateful, tool-using LLM agents. The core — "the agent loop, and nothing else" — is open under MPL-2.0 and installs via pip; the platform on top of it (enterprise backend, sandbox, chat, dashboard) is proprietary and runs entirely on my own infrastructure. Flagship project — founder / solo.
SOURCE: MANUAL README
Protocore is a runtime for LLM agents that must keep working after the first response: long sessions, tools, delegation, resumption after a restart. The public project site with research and publications: protocore.ascorblack.com.
Role: founder / solo developer — I designed and built the core, the enterprise backend, the sandbox, the chat and admin frontend applications, and the Helm / Kubernetes deployment.
The open core — protocore
The core is the agent loop, and nothing else. A Python 3.12+ library holding one ReAct runtime: the loop, the context budget, the tool surface, compaction, and stop conditions. Everything the loop touches from outside is a Protocol the host implements: the model client, the stores, the event transport, the tools themselves. No database driver, no HTTP endpoint, no import that reaches upward out of the package.
- 20 interface Protocols —
ILLMProvider,IRunStore,ISessionStore,IToolRegistry,IMemory,IWorkspace,ISearchIndex,IEventStream,ISkillStore,IHookManager, and the rest; they are the whole outward surface of the core. - A ReAct runtime —
QueryEngineowns the per-run state,query()drives one turn and yields a stream of typed events; snapshot and resume are first-class, so a run survives a process restart. - A three-layer tool surface — tenant policy → a lean clipped surface → progressive discovery over BM25, with a permission gate in front of dispatch.
- Multi-tier context compaction — the loop keeps working when the transcript outgrows the window, and the compaction is deterministic enough to test.
- 500+ runtime constants in a frozen per-tenant snapshot: no magic numbers in the executable path, new behaviour defaults off.
- A bundled conformance suite (
protocore[testing]) a host points at its own adapters.
License MPL-2.0, pip install protocore (pre-release, version pinned explicitly). Repository: github.com/ascorblack-labs/protocore-community.
The proprietary platform
- protocore-enterprise — the reference backend: FastAPI with SSE streaming, RBAC with scoped roles, access plans with quotas and rate limits, LLM routing with health monitoring and a circuit breaker, a versioned control plane in Postgres.
- protocore-sandbox — isolated execution of shell/Python in per-session Kubernetes pods under gVisor.
- protocore-chat / protocore-dashboard — an end-user chat (SSE streaming, session branching) and an admin console on Next.js 15 / React 19.
- protocore-autonomous — scheduled autonomous tasks and multi-step workflows with leader election.
- Dynamic tools — a tool is a single
.pymodule decorated with@dyn_tool(protocore-tools-sdk); CI publishes an immutable revision to a stateless MCP runtime (protocore-tools-mcp), and an admin activates it per scope from the dashboard with no backend redeploy. - proto (protocore-cli) — a terminal client in Go / Bubble Tea: the agent loop runs in the organisation's service while the run is rendered and tool calls are performed locally, in the developer's working tree.
- protocore-kb — a Knowledge Bases application built entirely on the public HTTP API of the enterprise layer (Vite + React, a thin Hono backend).
- Experimental protocore-rust — a Rust translation of the pure core with a PyO3 drop-in.
Self-hosted / local LLMs are supported: vLLM, Ollama, and OpenAI-compatible providers.
Maturity
- 11,000+ tests across the core and enterprise packages; the open core — 90% branch coverage, strict typing, CI on Python 3.12 / 3.13 / 3.14;
- ruff / mypy / bandit / pip-audit — clean; live-backend integration tests with Docker;
- fully self-owned infrastructure: GitLab, Harbor, k3s, Helm, CI/CD;
- a reproducible-research and publication site — protocore.ascorblack.com;
- Daedalus, a personal self-developing agent, runs on the core.
Stack: Python 3.12+ · Pydantic v2 · FastAPI · Next.js 15 · React 19 · PostgreSQL + pgvector · Valkey (Redis) · RabbitMQ · OpenSearch · S3/MinIO · gVisor · Helm · Kubernetes · Harbor · GitLab CI