diff --git a/kipina-codebench/results/2026-04-14T13-11.html b/kipina-codebench/results/2026-04-14T13-11.html
new file mode 100644
index 0000000..cdd33c0
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T13-11.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T13-11.json b/kipina-codebench/results/2026-04-14T13-11.json
new file mode 100644
index 0000000..6035705
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T13-11.json
@@ -0,0 +1,107 @@
+[
+ {
+ "model": "qwen3:8b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 1,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 0,
+ "totalTokens": 0,
+ "avgTokPerSec": 0,
+ "promptChars": 10508,
+ "promptTokensEst": 2627,
+ "score": 0,
+ "stars": "",
+ "error": "Puuttuvat: Cargo.toml, src/models.rs, src/handlers.rs, src/lib.rs, src/main.rs, tests/api_test.rs",
+ "round": 1
+ },
+ {
+ "model": "qwen3:8b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": false,
+ "specEntities": 0,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 0,
+ "totalTokens": 0,
+ "avgTokPerSec": 0,
+ "promptChars": 0,
+ "promptTokensEst": 0,
+ "score": 0,
+ "stars": "",
+ "error": "JSON-speksi epäonnistui",
+ "round": 2
+ },
+ {
+ "model": "qwen3:8b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": false,
+ "specEntities": 0,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 0,
+ "totalTokens": 0,
+ "avgTokPerSec": 0,
+ "promptChars": 0,
+ "promptTokensEst": 0,
+ "score": 0,
+ "stars": "",
+ "error": "JSON-speksi epäonnistui",
+ "round": 3
+ },
+ {
+ "model": "qwen3:8b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": false,
+ "specEntities": 0,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 0,
+ "totalTokens": 0,
+ "avgTokPerSec": 0,
+ "promptChars": 0,
+ "promptTokensEst": 0,
+ "score": 0,
+ "stars": "",
+ "error": "JSON-speksi epäonnistui",
+ "round": 4
+ },
+ {
+ "model": "qwen3:8b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": false,
+ "specEntities": 0,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 0,
+ "totalTokens": 0,
+ "avgTokPerSec": 0,
+ "promptChars": 0,
+ "promptTokensEst": 0,
+ "score": 0,
+ "stars": "",
+ "error": "JSON-speksi epäonnistui",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T13-12.html b/kipina-codebench/results/2026-04-14T13-12.html
new file mode 100644
index 0000000..38103ec
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T13-12.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T13-12.json b/kipina-codebench/results/2026-04-14T13-12.json
new file mode 100644
index 0000000..1b0b059
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T13-12.json
@@ -0,0 +1,117 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 3,
+ "testsPassed": 0,
+ "testsFailed": 3,
+ "totalDurationMs": 217110,
+ "totalTokens": 21602,
+ "avgTokPerSec": 114.70956637458333,
+ "promptChars": 12612,
+ "promptTokensEst": 3153,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 3,
+ "testsPassed": 0,
+ "testsFailed": 3,
+ "totalDurationMs": 204772,
+ "totalTokens": 20717,
+ "avgTokPerSec": 114.45999021594592,
+ "promptChars": 12743,
+ "promptTokensEst": 3186,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 4,
+ "testsPassed": 0,
+ "testsFailed": 4,
+ "totalDurationMs": 180501,
+ "totalTokens": 18467,
+ "avgTokPerSec": 115.23583963958032,
+ "promptChars": 12392,
+ "promptTokensEst": 3098,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 25,
+ "testsPassed": 0,
+ "testsFailed": 25,
+ "totalDurationMs": 282681,
+ "totalTokens": 27665,
+ "avgTokPerSec": 111.29688837623901,
+ "promptChars": 12675,
+ "promptTokensEst": 3169,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 5,
+ "testsPassed": 0,
+ "testsFailed": 5,
+ "totalDurationMs": 171686,
+ "totalTokens": 17525,
+ "avgTokPerSec": 114.88288274375243,
+ "promptChars": 12618,
+ "promptTokensEst": 3155,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T13-42.html b/kipina-codebench/results/2026-04-14T13-42.html
new file mode 100644
index 0000000..acc1083
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T13-42.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T13-42.json b/kipina-codebench/results/2026-04-14T13-42.json
new file mode 100644
index 0000000..b88879b
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T13-42.json
@@ -0,0 +1,113 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 18,
+ "testsPassed": 0,
+ "testsFailed": 18,
+ "totalDurationMs": 208078,
+ "totalTokens": 20783,
+ "avgTokPerSec": 114.94478559756693,
+ "promptChars": 13278,
+ "promptTokensEst": 3320,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 0,
+ "totalTokens": 0,
+ "avgTokPerSec": 0,
+ "promptChars": 13362,
+ "promptTokensEst": 3341,
+ "score": 0,
+ "stars": "",
+ "error": "Puuttuvat: src/lib.rs, src/main.rs, tests/api_test.rs",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 9,
+ "testsPassed": 0,
+ "testsFailed": 9,
+ "totalDurationMs": 221174,
+ "totalTokens": 22354,
+ "avgTokPerSec": 114.09551344946065,
+ "promptChars": 13234,
+ "promptTokensEst": 3309,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 0,
+ "totalTokens": 0,
+ "avgTokPerSec": 0,
+ "promptChars": 13317,
+ "promptTokensEst": 3329,
+ "score": 0,
+ "stars": "",
+ "error": "Puuttuvat: src/lib.rs, src/main.rs, tests/api_test.rs",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 8795,
+ "totalTokens": 954,
+ "avgTokPerSec": 124.86009274372915,
+ "promptChars": 13335,
+ "promptTokensEst": 3334,
+ "score": 0,
+ "stars": "☆☆☆☆☆",
+ "error": "fetch failed",
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T14-12.html b/kipina-codebench/results/2026-04-14T14-12.html
new file mode 100644
index 0000000..8727551
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T14-12.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T14-12.json b/kipina-codebench/results/2026-04-14T14-12.json
new file mode 100644
index 0000000..fb32949
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T14-12.json
@@ -0,0 +1,115 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 1,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 133173,
+ "totalTokens": 13174,
+ "avgTokPerSec": 117.52479437665707,
+ "promptChars": 14102,
+ "promptTokensEst": 3526,
+ "score": 30,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 5,
+ "testsPassed": 0,
+ "testsFailed": 5,
+ "totalDurationMs": 267561,
+ "totalTokens": 27021,
+ "avgTokPerSec": 113.5812238661422,
+ "promptChars": 14052,
+ "promptTokensEst": 3513,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 0,
+ "totalTokens": 0,
+ "avgTokPerSec": 0,
+ "promptChars": 13914,
+ "promptTokensEst": 3479,
+ "score": 0,
+ "stars": "",
+ "error": "Puuttuvat: src/handlers.rs, src/lib.rs, src/main.rs, tests/api_test.rs",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 2,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 162271,
+ "totalTokens": 16343,
+ "avgTokPerSec": 115.53039090208604,
+ "promptChars": 14062,
+ "promptTokensEst": 3516,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 1,
+ "testsPassed": 0,
+ "testsFailed": 1,
+ "totalDurationMs": 211367,
+ "totalTokens": 21183,
+ "avgTokPerSec": 113.22772767359652,
+ "promptChars": 14038,
+ "promptTokensEst": 3510,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T14-38.html b/kipina-codebench/results/2026-04-14T14-38.html
new file mode 100644
index 0000000..16e3e30
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T14-38.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T14-38.json b/kipina-codebench/results/2026-04-14T14-38.json
new file mode 100644
index 0000000..094b636
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T14-38.json
@@ -0,0 +1,117 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 38807,
+ "totalTokens": 5667,
+ "avgTokPerSec": 183.83891911423427,
+ "promptChars": 21818,
+ "promptTokensEst": 5455,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 178290,
+ "totalTokens": 26265,
+ "avgTokPerSec": 168.77786498646262,
+ "promptChars": 21840,
+ "promptTokensEst": 5460,
+ "score": 0,
+ "stars": "☆☆☆☆☆",
+ "error": "Testit kaatuivat",
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 151603,
+ "totalTokens": 22725,
+ "avgTokPerSec": 170.74115131582644,
+ "promptChars": 21750,
+ "promptTokensEst": 5438,
+ "score": 0,
+ "stars": "☆☆☆☆☆",
+ "error": "Testit kaatuivat",
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 41059,
+ "totalTokens": 6288,
+ "avgTokPerSec": 183.76827829344424,
+ "promptChars": 21848,
+ "promptTokensEst": 5462,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 187666,
+ "totalTokens": 27278,
+ "avgTokPerSec": 166.24197655672018,
+ "promptChars": 21694,
+ "promptTokensEst": 5424,
+ "score": 0,
+ "stars": "☆☆☆☆☆",
+ "error": "Testit kaatuivat",
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T14-52.html b/kipina-codebench/results/2026-04-14T14-52.html
new file mode 100644
index 0000000..b4e2ad7
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T14-52.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T14-52.json b/kipina-codebench/results/2026-04-14T14-52.json
new file mode 100644
index 0000000..46e9ca8
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T14-52.json
@@ -0,0 +1,117 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 4,
+ "testsTotal": 1,
+ "testsPassed": 0,
+ "testsFailed": 1,
+ "totalDurationMs": 231122,
+ "totalTokens": 22952,
+ "avgTokPerSec": 113.75113825466987,
+ "promptChars": 17604,
+ "promptTokensEst": 4401,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 5,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 260314,
+ "totalTokens": 26144,
+ "avgTokPerSec": 113.40388181735229,
+ "promptChars": 17539,
+ "promptTokensEst": 4385,
+ "score": 0,
+ "stars": "☆☆☆☆☆",
+ "error": "Testit kaatuivat",
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 4,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 227228,
+ "totalTokens": 22381,
+ "avgTokPerSec": 113.5362722539456,
+ "promptChars": 17630,
+ "promptTokensEst": 4408,
+ "score": 0,
+ "stars": "☆☆☆☆☆",
+ "error": "Testit kaatuivat",
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 1,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 102052,
+ "totalTokens": 9984,
+ "avgTokPerSec": 117.77973450501808,
+ "promptChars": 17571,
+ "promptTokensEst": 4393,
+ "score": 30,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 2,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 146321,
+ "totalTokens": 14445,
+ "avgTokPerSec": 115.61186488022163,
+ "promptChars": 17589,
+ "promptTokensEst": 4397,
+ "score": 20,
+ "stars": "★☆☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T15-48.html b/kipina-codebench/results/2026-04-14T15-48.html
new file mode 100644
index 0000000..b7b16cf
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T15-48.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T15-48.json b/kipina-codebench/results/2026-04-14T15-48.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T15-48.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T15-51.html b/kipina-codebench/results/2026-04-14T15-51.html
new file mode 100644
index 0000000..673d805
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T15-51.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T15-51.json b/kipina-codebench/results/2026-04-14T15-51.json
new file mode 100644
index 0000000..753c789
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T15-51.json
@@ -0,0 +1,71 @@
+[
+ {
+ "model": "codestral:22b",
+ "scenario": "todo",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 130035,
+ "totalTokens": 6520,
+ "avgTokPerSec": 61.71030751274268,
+ "promptChars": 7556,
+ "promptTokensEst": 1889,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 1
+ },
+ {
+ "model": "codestral:22b",
+ "scenario": "todo",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 1,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 68507,
+ "totalTokens": 3808,
+ "avgTokPerSec": 62.98926789707312,
+ "promptChars": 16131,
+ "promptTokensEst": 4033,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 2
+ },
+ {
+ "model": "codestral:22b",
+ "scenario": "todo",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 1,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 148585,
+ "totalTokens": 8183,
+ "avgTokPerSec": 60.985378376436714,
+ "promptChars": 11852,
+ "promptTokensEst": 2963,
+ "score": 30,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-rs",
+ "round": 3
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T16-27.html b/kipina-codebench/results/2026-04-14T16-27.html
new file mode 100644
index 0000000..e2395ca
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T16-27.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T16-27.json b/kipina-codebench/results/2026-04-14T16-27.json
new file mode 100644
index 0000000..655c678
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T16-27.json
@@ -0,0 +1,117 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 12,
+ "testsPassed": 12,
+ "testsFailed": 0,
+ "totalDurationMs": 101159,
+ "totalTokens": 9818,
+ "avgTokPerSec": 117.6413187791681,
+ "promptChars": 24501,
+ "promptTokensEst": 6125,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 12,
+ "testsPassed": 12,
+ "testsFailed": 0,
+ "totalDurationMs": 111387,
+ "totalTokens": 10789,
+ "avgTokPerSec": 116.08909495915704,
+ "promptChars": 26133,
+ "promptTokensEst": 6533,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 116265,
+ "totalTokens": 10890,
+ "avgTokPerSec": 115.97514442822705,
+ "promptChars": 27525,
+ "promptTokensEst": 6881,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 117780,
+ "totalTokens": 11066,
+ "avgTokPerSec": 115.92491045384959,
+ "promptChars": 27275,
+ "promptTokensEst": 6819,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 12,
+ "testsPassed": 12,
+ "testsFailed": 0,
+ "totalDurationMs": 110848,
+ "totalTokens": 10433,
+ "avgTokPerSec": 115.79955217404776,
+ "promptChars": 25670,
+ "promptTokensEst": 6418,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T16-28.html b/kipina-codebench/results/2026-04-14T16-28.html
new file mode 100644
index 0000000..c120eff
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T16-28.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T16-28.json b/kipina-codebench/results/2026-04-14T16-28.json
new file mode 100644
index 0000000..5393559
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T16-28.json
@@ -0,0 +1,117 @@
+[
+ {
+ "model": "qwen3:32b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 240877,
+ "totalTokens": 3896,
+ "avgTokPerSec": 18.330483073242423,
+ "promptChars": 0,
+ "promptTokensEst": 0,
+ "score": 0,
+ "stars": "☆☆☆☆☆",
+ "error": "fetch failed",
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 1
+ },
+ {
+ "model": "qwen3:32b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 232792,
+ "totalTokens": 3768,
+ "avgTokPerSec": 18.174747642473534,
+ "promptChars": 0,
+ "promptTokensEst": 0,
+ "score": 0,
+ "stars": "☆☆☆☆☆",
+ "error": "fetch failed",
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 2
+ },
+ {
+ "model": "qwen3:32b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 246427,
+ "totalTokens": 3982,
+ "avgTokPerSec": 18.211912659152603,
+ "promptChars": 0,
+ "promptTokensEst": 0,
+ "score": 0,
+ "stars": "☆☆☆☆☆",
+ "error": "fetch failed",
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 3
+ },
+ {
+ "model": "qwen3:32b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 228096,
+ "totalTokens": 3696,
+ "avgTokPerSec": 18.319094437507093,
+ "promptChars": 0,
+ "promptTokensEst": 0,
+ "score": 0,
+ "stars": "☆☆☆☆☆",
+ "error": "fetch failed",
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 4
+ },
+ {
+ "model": "qwen3:32b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 228521,
+ "totalTokens": 3722,
+ "avgTokPerSec": 18.29875057445382,
+ "promptChars": 0,
+ "promptTokensEst": 0,
+ "score": 0,
+ "stars": "☆☆☆☆☆",
+ "error": "fetch failed",
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T17-58.html b/kipina-codebench/results/2026-04-14T17-58.html
new file mode 100644
index 0000000..62500ed
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T17-58.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T17-58.json b/kipina-codebench/results/2026-04-14T17-58.json
new file mode 100644
index 0000000..739a30f
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T17-58.json
@@ -0,0 +1,117 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 90734,
+ "totalTokens": 8837,
+ "avgTokPerSec": 118.15403404653254,
+ "promptChars": 21527,
+ "promptTokensEst": 5382,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 91883,
+ "totalTokens": 8943,
+ "avgTokPerSec": 117.97076258455319,
+ "promptChars": 22052,
+ "promptTokensEst": 5513,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 94539,
+ "totalTokens": 8925,
+ "avgTokPerSec": 117.61954720611362,
+ "promptChars": 21972,
+ "promptTokensEst": 5493,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 91180,
+ "totalTokens": 8537,
+ "avgTokPerSec": 116.3158218746635,
+ "promptChars": 21508,
+ "promptTokensEst": 5377,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 1,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 142431,
+ "totalTokens": 14065,
+ "avgTokPerSec": 115.30180394322426,
+ "promptChars": 22423,
+ "promptTokensEst": 5606,
+ "score": 90,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T17-59.html b/kipina-codebench/results/2026-04-14T17-59.html
new file mode 100644
index 0000000..9bed99b
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T17-59.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T17-59.json b/kipina-codebench/results/2026-04-14T17-59.json
new file mode 100644
index 0000000..19bbabb
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T17-59.json
@@ -0,0 +1,117 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 60602,
+ "totalTokens": 8923,
+ "avgTokPerSec": 179.27347290692742,
+ "promptChars": 21986,
+ "promptTokensEst": 5497,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 60628,
+ "totalTokens": 8990,
+ "avgTokPerSec": 179.75492148906073,
+ "promptChars": 22182,
+ "promptTokensEst": 5546,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 60120,
+ "totalTokens": 8913,
+ "avgTokPerSec": 179.69559472880027,
+ "promptChars": 22119,
+ "promptTokensEst": 5530,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 60745,
+ "totalTokens": 8972,
+ "avgTokPerSec": 179.4894978567171,
+ "promptChars": 22146,
+ "promptTokensEst": 5537,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 60264,
+ "totalTokens": 8945,
+ "avgTokPerSec": 179.78195301228135,
+ "promptChars": 21998,
+ "promptTokensEst": 5500,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T18-11-01.html b/kipina-codebench/results/2026-04-14T18-11-01.html
new file mode 100644
index 0000000..5b7ed31
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T18-11-01.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T18-11-01.json b/kipina-codebench/results/2026-04-14T18-11-01.json
new file mode 100644
index 0000000..89be917
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T18-11-01.json
@@ -0,0 +1,117 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 93812,
+ "totalTokens": 8825,
+ "avgTokPerSec": 117.65658861683121,
+ "promptChars": 21711,
+ "promptTokensEst": 5428,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 95415,
+ "totalTokens": 8968,
+ "avgTokPerSec": 116.38601312871819,
+ "promptChars": 22272,
+ "promptTokensEst": 5568,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 94923,
+ "totalTokens": 8925,
+ "avgTokPerSec": 117.12905531929448,
+ "promptChars": 22083,
+ "promptTokensEst": 5521,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 97361,
+ "totalTokens": 9191,
+ "avgTokPerSec": 117.7917994223736,
+ "promptChars": 22528,
+ "promptTokensEst": 5632,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 87238,
+ "totalTokens": 8535,
+ "avgTokPerSec": 118.24773478067195,
+ "promptChars": 22021,
+ "promptTokensEst": 5505,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T18-11-03.html b/kipina-codebench/results/2026-04-14T18-11-03.html
new file mode 100644
index 0000000..7fa8f70
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T18-11-03.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T18-11-03.json b/kipina-codebench/results/2026-04-14T18-11-03.json
new file mode 100644
index 0000000..110751f
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T18-11-03.json
@@ -0,0 +1,117 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 60226,
+ "totalTokens": 8933,
+ "avgTokPerSec": 179.777657764066,
+ "promptChars": 22099,
+ "promptTokensEst": 5525,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 61248,
+ "totalTokens": 9044,
+ "avgTokPerSec": 179.5168548848639,
+ "promptChars": 22045,
+ "promptTokensEst": 5511,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 60744,
+ "totalTokens": 8936,
+ "avgTokPerSec": 177.805229869474,
+ "promptChars": 22103,
+ "promptTokensEst": 5526,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 61103,
+ "totalTokens": 9004,
+ "avgTokPerSec": 178.49315317367385,
+ "promptChars": 22240,
+ "promptTokensEst": 5560,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 1,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 96365,
+ "totalTokens": 14294,
+ "avgTokPerSec": 174.47755518388152,
+ "promptChars": 22362,
+ "promptTokensEst": 5591,
+ "score": 90,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T18-21-28.html b/kipina-codebench/results/2026-04-14T18-21-28.html
new file mode 100644
index 0000000..9d3884a
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T18-21-28.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T18-21-28.json b/kipina-codebench/results/2026-04-14T18-21-28.json
new file mode 100644
index 0000000..1bd2908
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T18-21-28.json
@@ -0,0 +1,117 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 58681,
+ "totalTokens": 5655,
+ "avgTokPerSec": 118.77562779075755,
+ "promptChars": 17612,
+ "promptTokensEst": 4403,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 2,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 169807,
+ "totalTokens": 16883,
+ "avgTokPerSec": 115.96768040993769,
+ "promptChars": 17644,
+ "promptTokensEst": 4411,
+ "score": 80,
+ "stars": "★★★★☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 1,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 117405,
+ "totalTokens": 11271,
+ "avgTokPerSec": 116.36291292849495,
+ "promptChars": 17615,
+ "promptTokensEst": 4404,
+ "score": 90,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 1,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 114898,
+ "totalTokens": 10974,
+ "avgTokPerSec": 116.03234661922525,
+ "promptChars": 17614,
+ "promptTokensEst": 4404,
+ "score": 90,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 1,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 121791,
+ "totalTokens": 12040,
+ "avgTokPerSec": 116.40843044337468,
+ "promptChars": 17798,
+ "promptTokensEst": 4450,
+ "score": 90,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 5
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T18-21-44.html b/kipina-codebench/results/2026-04-14T18-21-44.html
new file mode 100644
index 0000000..de2ab50
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T18-21-44.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T18-21-44.json b/kipina-codebench/results/2026-04-14T18-21-44.json
new file mode 100644
index 0000000..eb23b71
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T18-21-44.json
@@ -0,0 +1,117 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 38613,
+ "totalTokens": 5749,
+ "avgTokPerSec": 186.0062849599216,
+ "promptChars": 17610,
+ "promptTokensEst": 4403,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 44003,
+ "totalTokens": 6531,
+ "avgTokPerSec": 180.46364119019972,
+ "promptChars": 17654,
+ "promptTokensEst": 4414,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 43321,
+ "totalTokens": 6433,
+ "avgTokPerSec": 183.23569602310963,
+ "promptChars": 17661,
+ "promptTokensEst": 4415,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 8,
+ "testsPassed": 8,
+ "testsFailed": 0,
+ "totalDurationMs": 43423,
+ "totalTokens": 6366,
+ "avgTokPerSec": 183.20013867919306,
+ "promptChars": 17622,
+ "promptTokensEst": 4406,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 4
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 7,
+ "testsPassed": 7,
+ "testsFailed": 0,
+ "totalDurationMs": 36998,
+ "totalTokens": 5388,
+ "avgTokPerSec": 180.07304484079054,
+ "promptChars": 17641,
+ "promptTokensEst": 4410,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code-go",
+ "round": 5
+ }
+]
\ No newline at end of file