Demiurge 0.6.1
Demiurge 是 alpha / developer-preview 软件。APIs、runtime layout 和
authored contracts 在 1.0 之前仍可能变化。
摘要
这个 patch release 加强了 Agent Core revision safety,记录本地 core edit 作为 Git revisions,收紧 runtime task completion 处理,并整理 TUI 的身份 展示与 runtime tool 命名。同时也扩大了 release validation 在 Linux、macOS 和 Windows 上的覆盖面。
默认公开 release 仍是 notes/tag-only:除非明确要求 artifact release,否则不会构建 或附加 wheel / sdist artifacts。
用户可见变化
- Agent Core revisions 现在按 Git revisions 追踪。runtime core 中的本地编辑会在 live core 加载前保存为 revisions,core tracking 也会忽略 Python cache files。
- TUI footer 现在使用稳定 identifiers,并隐藏当前 core revision,以减少状态行 抖动。
- Runtime task 处理现在会正确消费 yielded task completions,并把 yield timeout 结果保留为 task status。
- 从 runtime tools 中移除了
run_terminalalias,改用当前的 tool surface。 - 扩大了 CI 中的 release validation coverage,让当前 release workflow 覆盖更多 cross-platform combinations。
- 文档措辞已与 Git-revision 的 core evolution 模型和当前 worktree-based workflow 对齐。
修复
- 加强了 agent core revision safety,确保当某个 revision 会让 active core 变得 unloadable 时,会先验证并回滚该编辑。
- 在 core revision tracking 中忽略 runtime Python cache files。
- 移除了 TUI footer 中不稳定的 core revision chatter。
- 让 yielded task completions 和 yield timeouts 保持在 runtime task state 中,而不 是直接丢弃。
破坏性变化
run_terminalalias 不再可用。请改用当前的 runtime tool 名称。
已知限制
- Code slots 默认运行在 host-shared Python environment 中。
- Candidate Agent Core evolution 不能自动添加 dependencies。
- 旧 JSON / JSONL runtime state 不会迁移进 SQLite runtime store。
- Host 重启后发现的 in-progress subprocess work 必须视为 lost 或 interrupted; host 不应在 crash 后重放 dangerous effects。
- Telegram 仍然只支持 long-polling。
- Package repositories 可以是 local、built-in,或显式 trusted Git/path sources; install-time trust 仍归 host 管理。
- Provider profile tests 和真实 provider calls 需要显式 provider credentials, 并可能发起 live network calls。
- GitHub Releases 默认仍不会附加 wheel 或 sdist artifacts;这个 alpha release 请使用 source checkout 或 managed checkout install path。
验证
uv run python -m compileall demiurge testsuv run pytest -vv --durations=20 -o faulthandler_timeout=60uv run demiurge --helpuv run demiurge init --help(cd ui-tui && npm run typecheck && npm test -- --run && npm run build)cmp ui-tui/dist/entry.js demiurge/ui/tui_dist/entry.js(cd website && 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\\.1|docs/releases/0\\.6\\.1" pyproject.toml demiurge/__init__.py uv.lock README.md README.zh-CN.md docs website