v0.4.7

atlasia-ma/MoulSotv0.4.7Oct 14, 2026by github-actions[bot]

Upgrading?

AI Summary

This release focuses on Docker health checks, CLI improvements, and introduces Go support for questions and decoding. It also adds new MCP tools and fixes various evaluation and routing issues.

Key Highlights

  • Distinguish HTTP liveness checks from inference checks
  • Fix CLI to return the correct exit code based on request success
  • Add Go SDK support for questions, sequences, and answer decoding
  • New `laya_tournament` MCP tool for tournament selection
  • Verify ONNX graphs before saving to output directory

New Features

  • Go foundation for questions, sequences, and answer decoding
  • Narrow large choices on batch endpoint
  • Export `jev_confidence` formula
  • Port cached embedder to TypeScript SDK

Full Release Notes

## What's Changed
* docs(docker): distinguish HTTP liveness from inference by @maxfield-allison in https://github.com/NandhaKishorM/laya/pull/1181
* test(docker): add an optional cached HTTP inference check by @maxfield-allison in https://github.com/NandhaKishorM/laya/pull/1182
* fix(cli): an interactive session returns the exit code its requests earned by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1184
* fix(evals): hash option_order into the question fingerprint by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1187
* fix(ts): read email text the way the Python reference does by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1188
* test(citations): a :NNN citation must fall inside the symbol it names by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1189
* fix(common): report a bool temperature a checkpoint shipped, not load it silently by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1190
* fix(ts): report a bool temperature a checkpoint shipped, not load it silently by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1191
* fix(ts): read a temperature as float() does, not as Number() does by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1192
* fix(presets): an empty category map falls back to the defaults by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1193
* docs(hooks): the RuntimeWarning arrives once per distinct message, not per failure by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1194
* fix(ts): normalise the action head at the model boundary, not in the decoder by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1195
* feat(ts): honour a question's `option_order` across encoding and decoding by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1196
* docs(benchmarks): MPS fp16 autocast against fp32 on an Apple M5 Pro by @sandole in https://github.com/NandhaKishorM/laya/pull/1199
* fix(router): validate questions in predict before checkpoint load (#707) by @Swatantra-66 in https://github.com/NandhaKishorM/laya/pull/1201
* fix(calibrate): refuse a non-integral JSON version instead of truncating it by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1202
* feat(serve): narrow large choices on /v1/systemone/batch too (#302) by @kmitul in https://github.com/NandhaKishorM/laya/pull/1204
* fix(ts): verify the ONNX graphs before anything lands in --out-dir by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1206
* fix(compose): forward tournament group knob to laya-serve by @NAVEENPRASAATH23 in https://github.com/NandhaKishorM/laya/pull/1207
* fix(common): report lang_temperatures overrides that inherited the checkpoint's temperatures by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1208
* docs(calibrate): name what actually covers a bucket the abstention floor omits by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1209
* docs(index): routing and the HTTP API have pages; link them, and hold the front door to the tree by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1167
* feat(go): questions, sequences and answer decoding by @keemsisi in https://github.com/NandhaKishorM/laya/pull/1169
* docs(onnx): teach the stride default as half the effective window by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1170
* fix(evals): an unwritable report path is a usage error, not exit 1 by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1171
* ci(suites): a crashing suite leaves its output and an exit status by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1172
* fix(evidence): stop calling a limitation "fitted with" when it says "not fitted" by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1173
* feat(evals): attribute tournament elimination and final-choice errors by @xinpingzh in https://github.com/NandhaKishorM/laya/pull/1175
* fix(evals): read a report's identity wherever the report puts it by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1177
* feat(mcp): expose core tournament selection as laya_tournament by @Rish-it in https://github.com/NandhaKishorM/laya/pull/1178
* test(batch): pin the two hook cases the batch path can still get wrong by @PerryLink in https://github.com/NandhaKishorM/laya/pull/1179
* docs(typescript-sdk): say which endpoints the client actually calls by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1180
* ci(dependabot): cover the TypeScript HTTP SDK by @maxfield-allison in https://github.com/NandhaKishorM/laya/pull/1183
* fix(shortlist): hold every tournament call to the reply shape it indexes by @aashish254 in https://github.com/NandhaKishorM/laya/pull/1185
* fix(compose): forward LAYA_SHA256_DIGESTS to quickstart service in compose.yaml by @NAVEENPRASAATH23 in https://github.com/NandhaKishorM/laya/pull/1186

## New Contributors
* @sandole made their first contribution in https://github.com/NandhaKishorM/laya/pull/1199

**Full Changelog**: https://github.com/NandhaKishorM/laya/compare/v0.4.6...v0.4.7

Related Repositories