agent-company-core
agent-company-core is an alpha Python framework for durable, policy-aware
multi-agent workflows. It provides reusable infrastructure for applications
that need typed decisions, persistent mission state, explicit approval
boundaries, cancellation and recovery controls, provider-neutral model
routing, memory interfaces, tool registration, and auditable execution.
It is not production-ready. The default runtime is intentionally small and local: Pydantic contracts, SQLite, JSONL audit events, and a deterministic fake model are enough to run the quickstart without cloud credentials.
Architecture
flowchart LR
A[Application] --> E[MissionEngine]
E --> D[Typed AgentDecision]
E --> R[Structured Model Router]
R --> P[ModelProvider protocol]
E --> G[Risk and approval policy]
G --> T[ToolRegistry]
E --> S[StopControl]
E --> M[MemoryStore]
E --> DB[(SQLite default)]
E --> L[Append-only redacted audit]
P -. optional .-> V[Google adapter]
E -. optional .-> X[Temporal gateway]
The model proposes an intention; the engine validates it and applies effects through registered interfaces. Message text is not used as a hidden business router. Routing and delegation consume typed assessments and declared capabilities.
Installation
uv venv
uv pip install -e ".[dev,app]"
Python 3.11 or newer is supported. The core package has only Pydantic as a required dependency.
Five-minute quickstart
import asyncio
from pathlib import Path
from agent_company_core import MissionCreate, MissionEngine
from agent_company_core.persistence import SQLiteStore
async def main() -> None:
engine = MissionEngine(store=SQLiteStore(Path("runtime/state.sqlite3")))
mission = engine.create_mission(
MissionCreate(title="First mission", objective="Complete a harmless example")
)
result = await engine.run_mission(mission.id)
print(result.status, result.summary)
asyncio.run(main())
This uses FakeModel, so it needs no API key and performs no external action.
The SQLite file, stop.json, and audit.jsonl are durable across process
restarts. For a small HTTP reference app, run:
./start.ps1
Invoke-RestMethod http://127.0.0.1:8000/health
./stop.ps1
The reference app is a development example, not a production deployment.
Core capabilities
- Typed mission lifecycle and append-only mission events.
- Idempotent mission creation and durable checkpoints.
- Capability-based neutral agent registry with risk ceilings.
- Provider-neutral async model and embedding protocols, plus a fake provider.
- Deterministic risk policy and approvals that must match the requested effect.
- Persistent STOP state checked before model and tool effects.
- SQLite memory implementation behind a replaceable
MemoryStoreinterface. - Tool registry with explicit capabilities, handlers, risk metadata, and STOP checks.
- Recursive secret redaction before JSONL audit persistence.
- Experimental restricted local skill runner, disabled and untrusted by default.
Optional integrations
Install only what an application needs:
uv pip install -e ".[google]" # Google Gen AI adapter
uv pip install -e ".[temporal]" # Temporal client gateway
uv pip install -e ".[postgres]" # SQLAlchemy/asyncpg extension point
The integrations are optional and are not needed by the test suite. The Google adapter requires credentials supplied by the host application; credentials are never included in this repository.
Development
uv pip install -e ".[dev,app]"
python -m pytest
ruff check src tests
mypy src
python -m build
See SECURITY.md, CONTRIBUTING.md, and ROADMAP.md for current boundaries and unfinished work.
Metadata
Release files for agent-company-core 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agent_company_core-0.1.0.tar.gz | 30.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_company_core-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.7 kB
Release files / agent_company_core-0.1.0.tar.gz
| Download URL | agent_company_core-0.1.0.tar.gz |
|---|---|
| Size | 30.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb899962f6f9ac84288e7723a19417712973eb04d6e1b46e92bcb6031ebb03f7
|
|
BLAKE2b-256 checksum How to use checksums |
e9d14eee5f9229cb9de1043e2c1e932bbeefaba8bae282583886252ec526ed03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency logRelease files / agent_company_core-0.1.0-py3-none-any.whl
| Download URL | agent_company_core-0.1.0-py3-none-any.whl |
|---|---|
| Size | 40.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e65be10f3092ebc903845ad2b196e34eaee6df654a410f77f7c38493da2212a5
|
|
BLAKE2b-256 checksum How to use checksums |
634b65c8d3ca7b363ed245aecd57c229ac41c63bf2b204d50873c75011e8059c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.
Transparency log