Skip to main content

Demiurge 0.6.0

Demiurge is alpha / developer-preview software. APIs, runtime layout, and authoring contracts may still change.

Summary

This minor release expands built-in skill management tools, adds package author documentation, restores TUI transcript history when resuming sessions, and fixes several runtime, scheduler, and cross-platform TUI issues.

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

  • Expanded skill_manage beyond full SKILL.md create, update, and delete operations. It now supports patch, write_file, and remove_file for packaged skill support files under references/, templates/, scripts/, and assets/.
  • Added host-side safety checks for skill file writes, including configured skills-root resolution, hidden path rejection, parent traversal rejection, symlink escape protection, core reload validation, and rollback when a skill edit would make the active core unloadable.
  • Added user-facing documentation for writing package recipes and publishing package repositories, with matching zh-CN website pages.
  • Restored TUI transcript history when initializing with an existing session, creating a new session, or resuming a previous session. Tool history is shown as summary or full tool cards according to the configured TUI tool-display mode.
  • Updated package author navigation so the manual points directly at recipe authoring, repository publishing, and the package recipe reference.

Fixes

  • Scoped task_list to the current session so one session cannot list another session's controllable background tasks through the built-in tool schema.
  • Changed the TUI build command to a Node script so the esbuild banner works reliably across shells and platforms.
  • Closed SQLite runtime-store connections promptly after runtime operations.
  • Avoided duplicate user-visible scheduler run logs for completed and failed scheduled runs.
  • Updated scheduler test fixtures to use the current agent/pipelines.yaml layout.

Breaking Changes

  • task_list no longer accepts owner_session_id. It always lists tasks owned by the active session.

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

  • uv run python -m compileall demiurge tests
  • uv run pytest -vv --durations=20 -o faulthandler_timeout=60
  • uv run demiurge --help
  • uv run demiurge init --help
  • (cd ui-tui && npm ci && npm run typecheck && npm test -- --run && npm run build)
  • cmp ui-tui/dist/entry.js demiurge/ui/tui_dist/entry.js
  • (cd website && npm ci && npm run build)
  • git diff --check -- ':!demiurge/ui/tui_dist/entry.js'
  • uv run python -c 'import tomllib, demiurge; print(tomllib.load(open("pyproject.toml", "rb"))["project"]["version"]); print(demiurge.__version__)'
  • rg -n "0\\.6\\.0|docs/releases/0\\.6\\.0" pyproject.toml demiurge/__init__.py uv.lock README.md README.zh-CN.md docs website