Agent Slots
Slots define where Core-authored behavior enters the loop and which governed effects it may request.
Demiurge uses Agent Slots to extend capability boundaries and logic design without changing the Host harness. File-backed Agent Cores can compose agents, state, tools, skills, and MCP while evolving under Host control.
APIs, runtime layout, and authoring contracts may still change while the project is in alpha.
Demiurge keeps custom capability and logic design in Agent Core files and packages while the Host owns the risky runtime machinery.
Slots define where Core-authored behavior enters the loop and which governed effects it may request.
Packages install slots, tools, skills, libraries, and child cores without adding feature code to the harness.
Provider calls, tool dispatch, approvals, state, delivery, promotion, and rollback stay host-owned.
Agent Cores stay readable, diffable, testable, promotable, and evolvable as ordinary files.
Packages attach bootstrap, input, and output behavior through Agent Slots. Custom code can control subagent calls and authored logic while the host keeps provider access, approvals, delivery, promotion, and rollback under control.
A memory package adds bootstrap context from local files before the turn runs, without moving memory ownership into the host harness.
A TTS package adds an output slot that renders spoken replies while delivery remains host-owned.
An STT package adds an input slot that turns voice into governed turn context without changing the host loop.
Tools act. Skills guide. MCP connects. Slots decide where behavior enters the agent loop.
Use the fake provider first to verify the runtime without an API key.
scripts/install.sh ~/.demiurge/demiurge-agent/.venv/bin/demiurge --provider fake