Demiurge 0.8.0
Demiurge is alpha / developer-preview software. APIs, runtime layout, and authored contracts may still change.
Summary
This minor release redesigns the host runtime harness and operator gateway,
adds structured child-agent controls for authored slots, introduces runtime
provider profiles, and ships the built-in self_learning_skills package. It
also improves channel/session routing, Telegram approval callbacks, provider
configuration docs, and cross-platform release validation.
The default public release remains notes/tag-only: wheel and sdist artifacts are not built or attached unless an artifact release is explicitly requested.
User-Visible Changes
- Split the runtime runner into focused host-owned modules for turn pipelines,
approvals, ingress, delivery, session routing, prompt context, history
display, and operator-gateway dispatch. This keeps authored slot code behind
the
ctxSDK while the host owns provider calls, delivery, approvals, and session state. - Added child-agent controls for authored slots. Slots can run constrained child agents with selected input slots, output slots, tools, and bootstrap context, and can choose the child tool surface explicitly.
- Added runtime provider profiles with built-in OpenAI-compatible and Anthropic Messages transports. Setup can create, inspect, test, edit, and select provider profiles while keeping provider secrets in host-owned config.
- Added the built-in
self_learning_skillspackage. It periodically reviews recent turns with a constrained same-core child agent and can update the active core's skills through the normalskill_manageapproval path. - Expanded the Slot Context SDK and delivery/history reference for input and output delivery helpers, transient progress/notice sends, artifact handling, child-agent access, session state, and result writing.
- Routed live delivery by session and rebound channel conversations when a new session starts, so gateway and Telegram deliveries target the correct active conversation.
- Added a Python CI profile runner and sharded Windows release validation to make long release gates easier to run and diagnose.
Fixes
- Stabilized Telegram approval callbacks by preserving callback context across approval prompts.
- Updated the TUI runtime fake and packaged bundle for route-binding changes.
- Tightened provider setup and CLI behavior around built-in provider overrides, custom provider modes, and provider test commands.
- Refined evolver guidance so slot edits target the documented
ctxSDK and stay within authored-surface boundaries.
Breaking Changes
- The host runtime internals were reorganized substantially. Code that imports
internal runtime modules directly may need to move to the documented CLI,
package, slot, tool, or
ctxsurfaces.
Known Limitations
- Code slots run in the host-shared Python environment by default.
- Candidate Agent Core evolution cannot add dependencies automatically.
- Old JSON / JSONL runtime state is not migrated into the SQLite runtime store.
- In-progress subprocess work found after a restart must be treated as lost or interrupted; the host must not replay dangerous effects after a crash.
- Telegram is still long-polling only.
- Package repositories can be local, built-in, or explicitly trusted Git/path sources; install-time trust still belongs to the host.
- Provider profile tests and real provider calls require explicit provider credentials and may make live network calls.
- GitHub Releases do not attach wheel or sdist artifacts by default yet; use the source checkout or managed checkout install path for this alpha release.
Verification
git status --shortuv run python -c 'import tomllib, demiurge; print(tomllib.load(open("pyproject.toml", "rb"))["project"]["version"]); print(demiurge.__version__)'rg -n "0\\.8\\.0|docs/releases/0\\.8\\.0" pyproject.toml demiurge/__init__.py uv.lock README.md README.zh-CN.md docs website(cd website && npm run build)git diff --check -- README.md README.zh-CN.md docs website pyproject.toml demiurge/__init__.py uv.lock