Initial release-note scaffold for the packaged CLI and prompt-template workflow.
- The supported interpreter floor is now Python 3.12 across package metadata,
.python-version, contributor setup docs, and GitHub Actions validation. - Packaged
umbrelaCLI for direct judging, qrel-backed evaluation, schema inspection, validation, doctor, and view commands. - FastAPI
umbrela servecommand exposingGET /healthzandPOST /v1/judgeon port8084by default. - Direct
judgeinput now also accepts Anserini REST candidates wherecandidates[].docis a plain string, so Anserini search results can be piped directly intoPOST /v1/judgewithout ajqreshape step. - Direct
judgeinput now also accepts single-recordcastorini.cli.v1envelopes from upstream tools such asrank_llm, sosearch | rerank | judgecan be piped throughPOST /v1/judgewithout unwrapping.artifacts[0].value[0]first. - Direct
umbrela judge --output jsonandPOST /v1/judgeresponses are now compact by default. The default judgment records includequery,passage, andjudgment, withreasoningremaining opt-in via--include-reasoning. The older verbose fieldsprediction,result_status, andpromptare now exposed only through the new--include-traceflag, with--redact-promptsavailable to suppress raw prompt text. - YAML-backed prompt templates with the legacy flat-prompt rendering contract preserved.
- Offline-first contributor workflow built around
uv. - Explicit
uv lock --checkenforcement in the local quality gate and GitHub Actions so committeduv.lockstays aligned with contributor and CI environments.
This baseline establishes the release-note policy for future changes.
Document a migration note whenever a change affects:
- prompt semantics or rendered prompt structure
- parsing heuristics or judgment extraction
- backend defaults or provider selection behavior
- qrel, evaluation, or artifact output formats
- supported Python version or default contributor runtime