Skip to content

v0.1.14 — Turkish reaches its tools, and a command that says why

Choose a tag to compare

@farukciftler farukciftler released this 29 Jul 10:00
· 15 commits to main since this release

The defect

The router's trigger table was English only. The price was written down in the source and had never been paid attention to: a user writing in Turkish touches no trigger, scores zero on every profile, and the nine-slot tool budget fills with whatever sits at the head of the catalog. Measured against a live catalog: "Dolar kuru şu an ne durumda?" and both memory questions never saw web_search or remember at all. The model was being marked wrong for not calling a tool it had never been shown.

Two more of the same kind came with it:

  • Scoring was a bare substring search over a diacritic fold, so "teşekkürler" contains "url" and a thank-you pulled both web tools to the front of the budget — on the one metric this project ties its exit code to.
  • The same hole on the tool side: the Turkish "türleri" contains "url", so a directory-listing tool scored as a web tool.

Both now use the term-boundary rule the skill and memory layers already shared, so the three cannot drift apart. Turkish month names also did not resolve — and the test asserting they did was resolving 2 december 2026.

New: tacet why

tacet why "Dolar kuru şu an ne durumda?"

No model, no socket, milliseconds. It prints what the message scored and which triggers fired, then the tools the model will actually see with the reason each one is there, and what was left out — because a tool that is not on that list cannot be called however well the model reasons.

It found three of the defects above within minutes of existing.

Reports now say what produced them

Model path, quantization read from the tensor types rather than the file name, device, a file fingerprint, wall time, and the catalog the run scored against — three tools are platform-gated, so two numbers are only comparable when that list matches. A TACET_MODEL left over in a shell used to override --model silently; it now says so.

What the measurement actually showed

Honest version, because the numbers deserve it. Turkish went 13/18 → 15/18. English went 29/32 → 26/32. A sign test over the pooled suite gives p = 1.0 — no detectable difference either way.

The three English cases did not lose their tool: in all three the expected tool was in the budget before and after, and the model changed its mind because two neighbours swapped places. A diagnostic added in this release shows why that matters — nineteen of forty-two tool orderings moved while the score moved by three cases. Almost half the suite is one swap away from a different prompt.

What is not luck, and is verified without running a model at all: Turkish messages now reach web_search and remember, a thank-you no longer scores as a web request, and sum no longer matches inside summarize.

Crates

tacet-cli 0.1.14 · tacet-tools 0.1.6 · tacet-eval 0.1.3 · tacet-engine 0.1.3 · tacet-kernel 0.1.3

cargo install tacet-cli --features candle

Full Changelog: v0.1.13...v0.1.14