Chirak Source on GitHub
Live demo with a CPU playground: chirak.fleetq.net. This page is a static snapshot of Run 8e (store reviews, best) (store-review-triage-bg-v2-r2-jev-za7pl2), generated 15 Oct 2026 from its stored results. Runs: Run 6 · Run 5b · Run 5 · Run 4 · Run 7 (store reviews) · Run 7b (store reviews + real) · Run 8e (store reviews, best). Every number can be re-scored with make eval; see the run log.

Store review triage (BG) v2 r2-jev

completed

Sort customer reviews of a Bulgarian online store by what the shop should do with them: thank the customer, fix a problem, look at both, or consider an idea. Public, read-only report built from the stored results.

Baseline macro-f1
92.6%
Final macro-f1
97.7%
Change
+5.1 pts

Baseline vs iterations

ModelAccuracyMacro-F1 JSON validityExact match
Baseline (base model) 92.6% 92.6% 100.0% 92.6%
Iteration 1 served 97.7% 97.7% 100.0% 97.7%

Target: macro-f1 at least 95%. Stopped: target met (0.977 >= 0.950).

Own tickets

533 of the shop's own tickets, masked and frozen as a separate slice. They came with labels made by people: the dataset authors Georgieva-Trifonova, Stefanova and Kalchev (Harvard Dataverse, doi:10.7910/DVN/TXIK9P, CC BY 4.0): the 182 test reviews of the MTEB release plus the 351 reviews of the check half of its train split. Neither the judge nor Chirak changed them. The tickets themselves are private to the run owner.

ModelAccuracyMacro-F1 category
Base model 73.4% 61.0% 73.4%
Served adapter (iteration 1) 85.0% 73.8% 85.0%

Accuracy is on the primary field; the field columns are the accuracy of each field on its own.

Per-class results, baseline vs iteration 1

ClassSupport Base PBase RBase F1 PRF1F1 vs base
compliment 54 100% 94% 97% 100% 100% 100% +2.9 pts
complaint 54 89% 94% 92% 98% 98% 98% +6.3 pts
mixed 54 98% 83% 90% 98% 94% 96% +6.2 pts
suggestion 53 85% 98% 91% 95% 98% 96% +5.1 pts

Confusion matrix (Iteration 1, rows = expected, columns = predicted)

compliment complaint mixed suggestion __invalid_...
compliment 54 0 0 0 0
complaint 0 53 1 0 0
mixed 0 0 51 3 0
suggestion 0 1 0 52 0
__invalid__ 0 0 0 0 0

Leakage guard and frozen eval set

Eval items
215 (200 synthetic + 15 seed)
Frozen at
2026-10-15 11:00:54 UTC
Blind label check
15 of 273 eval candidates dropped because the generator, labelling the text blind with the student's prompt, disagreed with the target label. The kept items are the unambiguous ones, so this eval is cleaner and easier than an unfiltered one.
Eval SHA-256
83179743c3e768a696972b31863ea8bbfd5da1248f9652c5902b6d979a5a8737
Train setCandidatesDropped as near-copies of evalDrop rateDropped by label check
Iteration 1 1374 11 0.8% 63

Decisions log

After iteration 1 Stop rules: stop, target met (0.977 >= 0.950)

The model was not consulted: the stop rules ended the loop.

Training loss