Repository navigation
Release v3.2.1
Summary
The Decision Engine shipped as source in 3.2.0 but nothing ever built it. Infrastructure deploys it by tag and no other job produces that tag, so a stack configured to run it would have referenced an image that does not exist.
Added
- The Decision Engine image is built and pushed to Docker Hub with every release, as
cratis/decision-engine
Fixed
- The Decision Engine image did not build at all
Notes for reviewers
Two separate faults, both only visible by actually building it. The publish workflow never referenced Source/DecisionEngine/Dockerfile, and the Dockerfile itself was broken: VOLUME only marks a mount point, it does not create the path, so the chown handing /models to the unprivileged user had nothing to act on and the build stopped there. Neither would have surfaced until someone tried to deploy.
Release verification now fails if the image does not go out, matching the bar the agent-harness images are held to. An image nobody notices is missing is exactly how a stack ends up pointing at a tag that was never pushed.
Verification. Built locally, then run and exercised end to end: /healthz, /readyz and /v1/model all answer, and POST /v1/decisions returns a normalised distribution summing to 1.0 over the supplied choices. 3.2.0 has no image; the first tag that will exist is this patch release.