Agent runtime · ascorblack-labs STATUS: OPEN CORE

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 ProtocolsILLMProvider, IRunStore, ISessionStore, IToolRegistry, IMemory, IWorkspace, ISearchIndex, IEventStream, ISkillStore, IHookManager, and the rest; they are the whole outward surface of the core.
  • A ReAct runtimeQueryEngine owns 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 .py module 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