v0.17.0
[0.17.0] - 2026-05-02
Added
- Added the optional
millrace-websource distribution under
packages/millrace-web/. It provides the read-onlymillrace-web serve
local dashboard with Detail and Flow views over the same workspace summary,
queue, run, compiled-plan, Arbiter, usage-governance, and event DTOs. - Added read-only Web UI service tests, CLI smoke coverage, static shell
coverage, and package-boundary checks proving the basemillrace-aiwheel
does not contain web modules or web static assets.
Fixed
- Closure targets that are open only because lineage work is blocked no longer
count as actionable closure targets for new root-spec activation. That lets
unrelated queued root specs start once the active closure target is blocked
by its own lineage work instead of falsely reporting multiple open targets as
corrupt state. millrace statusnow prefers the actionable open closure target when older
lineage-blocked target records remain in the workspace.
Changed
- The release workflow now builds and validates both the base
millrace-ai
distribution and the optionalmillrace-webdistribution while keeping their
package data separate. - Updated README guidance, the shipped Millrace ops skill, and runtime docs to
describe the optional read-only dashboard, local-only safety model, and
separate package boundary.
Distribution note
millrace-ai 0.17.0 is published on PyPI. The optional millrace-web 0.17.0 wheel is attached to this GitHub release; publishing that sidecar package to PyPI requires creating/configuring the separate millrace-web PyPI project or trusted publisher first.