diff --git a/kipina-codebench/results/2026-04-14T19-58-38.html b/kipina-codebench/results/2026-04-14T19-58-38.html
new file mode 100644
index 0000000..8d08d42
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T19-58-38.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T19-58-38.json b/kipina-codebench/results/2026-04-14T19-58-38.json
new file mode 100644
index 0000000..529670d
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T19-58-38.json
@@ -0,0 +1,71 @@
+[
+ {
+ "model": "qwen3:8b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 1,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 31870,
+ "totalTokens": 4024,
+ "avgTokPerSec": 143.80989267612117,
+ "promptChars": 11168,
+ "promptTokensEst": 2792,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "small",
+ "promptName": "code-go",
+ "round": 1
+ },
+ {
+ "model": "qwen3:8b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 50050,
+ "totalTokens": 6218,
+ "avgTokPerSec": 142.0357712618218,
+ "promptChars": 11624,
+ "promptTokensEst": 2906,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "small",
+ "promptName": "code-go",
+ "round": 2
+ },
+ {
+ "model": "qwen3:8b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 45209,
+ "totalTokens": 5571,
+ "avgTokPerSec": 139.512254185898,
+ "promptChars": 11544,
+ "promptTokensEst": 2886,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "small",
+ "promptName": "code-go",
+ "round": 3
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T20-19-09.html b/kipina-codebench/results/2026-04-14T20-19-09.html
new file mode 100644
index 0000000..b7b16cf
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-19-09.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T20-19-09.json b/kipina-codebench/results/2026-04-14T20-19-09.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-19-09.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T20-24-36.html b/kipina-codebench/results/2026-04-14T20-24-36.html
new file mode 100644
index 0000000..b7b16cf
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-24-36.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T20-24-36.json b/kipina-codebench/results/2026-04-14T20-24-36.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-24-36.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T20-32-12.html b/kipina-codebench/results/2026-04-14T20-32-12.html
new file mode 100644
index 0000000..2084207
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-32-12.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T20-32-12.json b/kipina-codebench/results/2026-04-14T20-32-12.json
new file mode 100644
index 0000000..8c8747d
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-32-12.json
@@ -0,0 +1,65 @@
+[
+ {
+ "model": "qwen3:8b",
+ "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": 30421,
+ "promptTokensEst": 7605,
+ "score": 0,
+ "stars": "",
+ "error": "Puuttuvat: go.mod",
+ "round": 1
+ },
+ {
+ "model": "qwen3:8b",
+ "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": 26971,
+ "promptTokensEst": 6743,
+ "score": 0,
+ "stars": "",
+ "error": "Puuttuvat: go.mod",
+ "round": 2
+ },
+ {
+ "model": "qwen3:8b",
+ "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": 27694,
+ "promptTokensEst": 6924,
+ "score": 0,
+ "stars": "",
+ "error": "Puuttuvat: go.mod",
+ "round": 3
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T20-37-18.html b/kipina-codebench/results/2026-04-14T20-37-18.html
new file mode 100644
index 0000000..c09467e
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-37-18.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T20-37-18.json b/kipina-codebench/results/2026-04-14T20-37-18.json
new file mode 100644
index 0000000..a250f51
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-37-18.json
@@ -0,0 +1,71 @@
+[
+ {
+ "model": "qwen3:8b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 1,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 95709,
+ "totalTokens": 11690,
+ "avgTokPerSec": 132.16841505518815,
+ "promptChars": 20579,
+ "promptTokensEst": 5145,
+ "score": 30,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "small",
+ "promptName": "code-go",
+ "round": 1
+ },
+ {
+ "model": "qwen3:8b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 45562,
+ "totalTokens": 5534,
+ "avgTokPerSec": 132.0768897820692,
+ "promptChars": 19628,
+ "promptTokensEst": 4907,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "small",
+ "promptName": "code-go",
+ "round": 2
+ },
+ {
+ "model": "qwen3:8b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 0,
+ "testsPassed": 0,
+ "testsFailed": 0,
+ "totalDurationMs": 47588,
+ "totalTokens": 5819,
+ "avgTokPerSec": 132.74582771351155,
+ "promptChars": 20752,
+ "promptTokensEst": 5188,
+ "score": 40,
+ "stars": "★★☆☆☆",
+ "error": null,
+ "profile": "small",
+ "promptName": "code-go",
+ "round": 3
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T20-41-39.html b/kipina-codebench/results/2026-04-14T20-41-39.html
new file mode 100644
index 0000000..b7b16cf
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-41-39.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T20-41-39.json b/kipina-codebench/results/2026-04-14T20-41-39.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-41-39.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T20-41-48.html b/kipina-codebench/results/2026-04-14T20-41-48.html
new file mode 100644
index 0000000..b7b16cf
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-41-48.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T20-41-48.json b/kipina-codebench/results/2026-04-14T20-41-48.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-41-48.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T20-41-56.html b/kipina-codebench/results/2026-04-14T20-41-56.html
new file mode 100644
index 0000000..b7b16cf
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-41-56.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T20-41-56.json b/kipina-codebench/results/2026-04-14T20-41-56.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-41-56.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T20-42-21.html b/kipina-codebench/results/2026-04-14T20-42-21.html
new file mode 100644
index 0000000..b7b16cf
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-42-21.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T20-42-21.json b/kipina-codebench/results/2026-04-14T20-42-21.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T20-42-21.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T21-15-46.html b/kipina-codebench/results/2026-04-14T21-15-46.html
new file mode 100644
index 0000000..b7b16cf
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T21-15-46.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T21-15-46.json b/kipina-codebench/results/2026-04-14T21-15-46.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T21-15-46.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T21-40-58.html b/kipina-codebench/results/2026-04-14T21-40-58.html
new file mode 100644
index 0000000..d3932f2
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T21-40-58.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T21-40-58.json b/kipina-codebench/results/2026-04-14T21-40-58.json
new file mode 100644
index 0000000..36d5308
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T21-40-58.json
@@ -0,0 +1,209 @@
+[
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "todo",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 1,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 6,
+ "testsPassed": 6,
+ "testsFailed": 0,
+ "totalDurationMs": 18254,
+ "totalTokens": 2677,
+ "avgTokPerSec": 189.94573063405974,
+ "promptChars": 12393,
+ "promptTokensEst": 3098,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "users",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 1,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 8,
+ "testsPassed": 7,
+ "testsFailed": 1,
+ "totalDurationMs": 62436,
+ "totalTokens": 10254,
+ "avgTokPerSec": 180.7144707287582,
+ "promptChars": 12114,
+ "promptTokensEst": 3029,
+ "score": 73,
+ "stars": "★★★★☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code",
+ "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": 31205,
+ "totalTokens": 5060,
+ "avgTokPerSec": 184.0318504412911,
+ "promptChars": 12363,
+ "promptTokensEst": 3091,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code",
+ "round": 1
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "todo",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 1,
+ "validationIssues": 0,
+ "fixRounds": 2,
+ "testsTotal": 6,
+ "testsPassed": 6,
+ "testsFailed": 0,
+ "totalDurationMs": 33675,
+ "totalTokens": 5292,
+ "avgTokPerSec": 187.55877092211753,
+ "promptChars": 12030,
+ "promptTokensEst": 3008,
+ "score": 80,
+ "stars": "★★★★☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "users",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 1,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 6,
+ "testsPassed": 6,
+ "testsFailed": 0,
+ "totalDurationMs": 17703,
+ "totalTokens": 2890,
+ "avgTokPerSec": 185.61718567437205,
+ "promptChars": 12222,
+ "promptTokensEst": 3056,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 1,
+ "testsTotal": 12,
+ "testsPassed": 12,
+ "testsFailed": 0,
+ "totalDurationMs": 48697,
+ "totalTokens": 7851,
+ "avgTokPerSec": 181.3588176072106,
+ "promptChars": 12618,
+ "promptTokensEst": 3155,
+ "score": 90,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code",
+ "round": 2
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "todo",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 1,
+ "validationIssues": 0,
+ "fixRounds": 0,
+ "testsTotal": 6,
+ "testsPassed": 6,
+ "testsFailed": 0,
+ "totalDurationMs": 17426,
+ "totalTokens": 2532,
+ "avgTokPerSec": 189.99848651835183,
+ "promptChars": 12217,
+ "promptTokensEst": 3054,
+ "score": 100,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "users",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 1,
+ "validationIssues": 0,
+ "fixRounds": 3,
+ "testsTotal": 9,
+ "testsPassed": 8,
+ "testsFailed": 1,
+ "totalDurationMs": 51361,
+ "totalTokens": 8528,
+ "avgTokPerSec": 183.31274532724456,
+ "promptChars": 11465,
+ "promptTokensEst": 2866,
+ "score": 73,
+ "stars": "★★★★☆",
+ "error": null,
+ "profile": "large",
+ "promptName": "code",
+ "round": 3
+ },
+ {
+ "model": "qwen3-coder:30b",
+ "scenario": "blog",
+ "reqOk": true,
+ "specOk": true,
+ "specEntities": 2,
+ "validationIssues": 0,
+ "fixRounds": 1,
+ "testsTotal": 12,
+ "testsPassed": 12,
+ "testsFailed": 0,
+ "totalDurationMs": 49147,
+ "totalTokens": 7931,
+ "avgTokPerSec": 178.9319278594721,
+ "promptChars": 12262,
+ "promptTokensEst": 3066,
+ "score": 90,
+ "stars": "★★★★★",
+ "error": null,
+ "profile": "large",
+ "promptName": "code",
+ "round": 3
+ }
+]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T21-50-37.html b/kipina-codebench/results/2026-04-14T21-50-37.html
new file mode 100644
index 0000000..b7b16cf
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T21-50-37.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T21-50-37.json b/kipina-codebench/results/2026-04-14T21-50-37.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T21-50-37.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/kipina-codebench/results/2026-04-14T21-50-42.html b/kipina-codebench/results/2026-04-14T21-50-42.html
new file mode 100644
index 0000000..b7b16cf
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T21-50-42.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Kipina Model Benchmark
+
+
+
+
+Mallikohtainen yhteenveto
+
+
+Kaikki tulokset
+
+
+
+
+
diff --git a/kipina-codebench/results/2026-04-14T21-50-42.json b/kipina-codebench/results/2026-04-14T21-50-42.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/kipina-codebench/results/2026-04-14T21-50-42.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/network-poc/frontend/public/GUIDE.md b/network-poc/frontend/public/GUIDE.md
index 39e3092..e5de3f6 100644
--- a/network-poc/frontend/public/GUIDE.md
+++ b/network-poc/frontend/public/GUIDE.md
@@ -90,7 +90,7 @@ flowchart TD
S["System prompt
You are a coding assistant. Respond with ONLY code.
🔒 Kiinteä, kovakoodattu — malli priorisoi tämän"]
A["Agent prompt
Olet kokenut ohjelmistokehittäjä...
✏️ Käyttäjän muokattavissa UI:ssa"]
U["User prompt
Write ONLY the file main.py...
📋 Vaihtelee joka kutsussa, sisältää kontekstin"]
- P["Prefill: ```
🎯 Pakottaa mallin aloittamaan koodilla"]
+ P["Prefill: ```
🎯 Pakottaa mallin aloittamaan koodilla"]
S --> A --> U --> P
P -->|malli jatkaa| R["Generoitu koodi"]
diff --git a/network-poc/native-node/src/tui.rs b/network-poc/native-node/src/tui.rs
index b0c1df8..ab8c1f4 100644
--- a/network-poc/native-node/src/tui.rs
+++ b/network-poc/native-node/src/tui.rs
@@ -46,9 +46,10 @@ pub async fn select_model(ollama_url: &str, client: &Client) -> Result Result