8fc31f2a53
CodeBench: kierroskohtainen output-dir + tiivistetty Go golden example
...
- runPipeline saa round-parametrin, dir: model__scenario__r1, __r2 jne.
- todo-go.md testit 6→4 (poistettu list+update toisteiset), 466→370 riviä
2026-04-14 20:57:50 +03:00
01364b7031
CodeBench: korjaa Go-pipeline — tiedostoparseri + go mod tidy
...
- parseGeneratedFiles regex: lisätty .go ja .mod päätteet
- Markdown fence strippaus: lisätty go/gomod
- Dockerfile.go-test: go mod tidy ennen testejä (go.sum generoidaan)
- Testattu: 6/6 golden example ilman go.sum
2026-04-14 19:27:19 +03:00
f3cd1347ab
CodeBench: Go-tuki — Chi + SQLite + httptest
...
- Golden example: todo-go/ (6/6 testit läpi)
- todo-go.md golden reference
- prompts/code-go.md koodigenerointi-prompti
- Dockerfile.go-test (golang:1.23-alpine)
- benchmark.mjs: LANG_CONFIG, parseTestOutput, prompt/golden-valinta Go:lle
- Käyttö: node benchmark.mjs --lang go --models qwen2.5-coder:32b
2026-04-14 19:20:18 +03:00
5ea2540588
CodeBench: promptit kokonaan englanniksi — poistettu suomenkieliset esimerkit
2026-04-14 18:58:20 +03:00
b91253235e
CodeBench: lisätty qwen2.5-coder:32b profiili Rust-kandidaatiksi
2026-04-14 18:56:51 +03:00
ac2e3e92fc
CodeBench: orkestrointi kaikille malleille ja kielille kun >1 entiteetti
...
Aiemmin vain small+python. Nyt kaikki multi-entity skenaariot pilkotaan
entiteetti kerrallaan — myös Rust ja large-mallit.
Author toimii jo, Article inkrementaalisena lisäyksenä helpompi.
2026-04-14 18:47:34 +03:00
0975385101
CodeBench: reqwest 0.13 + Docker volume cache + rust:latest
...
- reqwest 0.12 → 0.13, rustls-tls → rustls (golden, Dockerfile, promptit)
- Docker volume cache: kipina-cargo-registry + kipina-cargo-target
- rust:latest (1.94) + cmake (aws-lc-sys vaatii)
- Dockerfile yksinkertaistettu — esikäännös ei toimi, volume hoitaa
- Golden example 10/10 testattu uudella setupilla
2026-04-14 18:42:05 +03:00
bb8be3ffb4
CodeBench: revert-if-worse + erillinen testFixRounds-laskuri
...
- Seurataan parasta testitulosta (bestPassed/bestFiles)
- Jos korjaus huonontaa: palautetaan paras versio ja lopetetaan
- fixRounds laskee vain testikorjaukset, ei cargo check -kierroksia
- Estää 4/7 → 0/1 regressiot korjaussilmukassa
2026-04-14 18:24:46 +03:00
8fbb8eda2d
CodeBench: esikäännä Rust-riippuvuudet Docker-imageen — 35x nopeampi
...
Dummy-projekti samalla Cargo.toml:llä: cargo check + cargo build --tests
imageen. Runtime kääntyy vain itse projekti (~2.5s vs ~90s).
2026-04-14 18:16:15 +03:00
742f331d93
CodeBench: Rust cargo check -vaihe ennen testejä + käännösvirheiden itsekorjaus
...
- Vaihe 4/5: cargo check Docker-kontissa ennen cargo test -ajoa
- Käännösvirheet syötetään mallille korjattavaksi (max 2 kierrosta)
- Estää turhat cargo test -ajot kun koodi ei käänny
2026-04-14 17:52:45 +03:00
2f602717b8
CodeBench: tiivistetty todo-rs.md golden example 540→331 riviä
...
- handlers.rs: tiiviimpi muotoilu, kommentit kuvaavat patternia
- tests: 10 testiä → 4 avaintestiä (create, get, not_found, delete)
- spawn_server tiivistetty
- Kaikki kriittiset patternit säilyvät: RETURNING, fetch_optional, rows_affected
2026-04-14 17:50:19 +03:00
d003f73217
CodeBench: tyhjennä GPU-muisti jokaisen kierroksen alussa
...
clearVram()-funktio vapauttaa kaikki Ollama-mallit VRAM:sta ennen testiä.
2026-04-14 17:47:55 +03:00
882bcece06
CodeBench: kirjoita results.json jokaisen kierroksen jälkeen
...
Välitulokset näkyvät heti tiedostossa, ei tarvitse odottaa koko ajon loppua.
2026-04-14 17:45:54 +03:00
477c21efd0
CodeBench: Rust golden example — todo-rs.md + kielitietoinen valinta
...
- Luotu todo-rs.md golden example Rust-referenssitoteutuksesta
- getGoldenForModel() huomioi nyt LANG: todo.md → todo-rs.md Rust-moodissa
- Korjattu golden-compact-rs.md /:id → /{id} bugi
- Juurisyy: malli sai Python golden examplen mutta piti generoida Rustia
2026-04-14 17:37:38 +03:00
088bad7b21
CodeBench: code-rs.md — spawn_server-esimerkki, {id} vahvistus, init_db yksinkertaistus
...
- Eksplisiittinen spawn_server()-koodi testien promptiin (async move wrappaus)
- {param} reittiohje vahvistettu kahdesti, chaining-ohje
- init_db: .expect() ei Result
- "You MUST generate ALL 6 files"
2026-04-14 17:08:26 +03:00
de3e33d46e
CodeBench: code-rs.md — korjaa Rust-prompti kolmeen kriittiseen ongelmaan
...
- sqlx::query_as::<_, T>() runtime-funktiot, EI query_as!() compile-time makroja
- Route path {id} syntaksi, ei /:id (axum 0.8)
- app(pool) ottaa SqlitePool ja kutsuu .with_state(pool)
- Lisätty RETURNING, Result-palautustyypit, testiohjeistus
2026-04-14 16:40:15 +03:00
dcdb360098
Benchmark-tulokset: orkestrointi nosti 8b blogin 0p → 80p (med)
...
Orkestroitu 5 kierrosta: [0, 80, 80, 0, 80] med:80
3/5 kierrosta 100% testit läpi (11/11, 12/12, 11/11).
2/5 kaatui JSON-speksi -vaiheessa (ei orkestroinnin ongelma).
2026-04-14 15:45:27 +03:00
0b926c2cad
CodeBench Taso 3: orkestrointi — pilko entiteetti kerrallaan pienille malleille
...
Small-profiili + >1 entiteettiä → generoi entiteetti kerrallaan:
1. Author (yksi entiteetti, 8b osaa)
2. Syötä Author-koodi → generoi Post + FK
3. Yhdistä ja testaa
Large-profiili jatkaa kuten ennen (kaikki kerralla).
2026-04-14 15:00:40 +03:00
a8f731d38e
CodeBench: palautetaan 8b todo-readme.md — combined liian iso, hukkuu
...
combined-readme aiheutti uusia virheitä (POST 200 vs 201, 405).
Malli ei pysty käsittelemään kahta esimerkkiä kerralla.
2026-04-14 14:58:15 +03:00
5d0baf3ff1
CodeBench: combined-readme.md — todo + blog golden example 8b:lle
...
Molemmat esimerkit (single entity + FK relaatio) yhdessä tiedostossa.
1699 tokenia, 10.4% kontekstista. 8b näkee konkreettisen FK-patternen.
2026-04-14 14:54:12 +03:00
8e9fbc5422
CodeBench: code-small — FK update-testiesimerkki (author_id mukana PUT:ssa)
...
8b:n test_update_article palautti 422 koska author_id puuttui.
Lisätty konkreettinen test_update_post esimerkki FK-kentän kanssa.
2026-04-14 14:15:09 +03:00
06089a58b2
CodeBench: code-small — ForeignKey importin tarkennus (sqlalchemy, ei .orm)
...
8b importtaa ForeignKey väärästä paikasta (sqlalchemy.orm).
Lisätty eksplisiittinen "NOT from sqlalchemy.orm!" -varoitus.
2026-04-14 14:05:59 +03:00
a25c52cff4
CodeBench: mallikohtainen golden example (profiles.json → golden kenttä)
...
qwen3-coder:30b → todo.md (annotaatiot)
qwen3:8b → todo-readme.md (GitHub README -muoto, tutuin koulutusdata)
Golden example ladataan dynaamisesti per malli pipelinen sisällä.
2026-04-14 14:04:28 +03:00
0c3303a640
CodeBench: tyhjennä VRAM automaattisesti ennen testiajoa
2026-04-14 14:00:38 +03:00
ba48b737f2
CodeBench: --scenarios tukee yksittäistä skenaariota (todo/users/blog)
2026-04-14 13:58:38 +03:00
a3f1ead3e6
CodeBench: code-small — test_list assert >= 1 (ei == 1)
...
8b:n blog kaatui koska test_list assertoi tarkkaa määrää
vaikka testit jakavat saman tietokannan.
2026-04-14 13:58:13 +03:00
7fe72480b1
CodeBench: qwen3:8b primary-rooliin, FK-esimerkit code-small promptissa
...
profiles.json: role-kenttä (primary/backup/minimal/retired).
code-small.md: lisätty konkreettinen FK-pattern ja testi-esimerkki
relaatioille — 8b:n blog-skenaario kaatui koska ei osannut FK:ta.
2026-04-14 13:55:40 +03:00
92964e322f
CodeBench: mallikohtaiset promptiprofiilit (profiles.json)
...
- profiles.json: malli → profiili → prompti -mappaus
- code-small.md: tiivistetty prompti pienille malleille (8b, 4b)
- benchmark valitsee automaattisesti oikean promptin mallin perusteella
- qwen3-coder:30b → code.md (large), qwen3:8b → code-small.md (small)
2026-04-14 13:54:26 +03:00
e54c1b057c
Golden example: tarkat 6 testiä per entiteetti, ei ylimääräisiä
...
Malli generoi test_search, test_filter yms. joita ei ole endpointeissa.
Nyt todo.md listaa tarkalleen 6 testiä per entiteetti nimillä.
2026-04-14 12:56:50 +03:00
1de7e5c90b
CodeBench: nopea syntaksitarkistus ennen Docker-ajoa
...
py_compile tarkistaa .py-tiedostot millisekunneissa.
Syntaksivirhe → suoraan itsekorjaukseen, ohitetaan Docker (~10s säästö).
2026-04-14 12:52:03 +03:00
e360896436
CodeBench Taso 4: itsekorjaava looppi — syötä pytest-virhe mallille
...
Jos testit epäonnistuvat, LLM saa virheilmoituksen + koodin ja korjaa.
Max 3 korjauskierrosta. Testattu: qwen3:8b users 0/6 → korjaus → 6/6.
2026-04-14 12:46:06 +03:00
6a40ca5730
CodeBench: golden example markdown-muodossa (koodi + selitykset)
...
todo.md yhdistää koodin ja annotaatiot: miksi pattern on valittu,
mitä EI saa tehdä. 1567 tokenia (vs raaka 1340, compact 335).
Benchmark lataa .md-version oletuksena, fallback erillisiin tiedostoihin.
2026-04-14 12:38:25 +03:00
2d470ee418
CodeBench: deprecated-patterns.md + inline deprecated-säännöt promptissa
...
Lisätty SQLAlchemy 2.0, Pydantic v2, FastAPI ja Python deprecated →
modern patterniparit. Uusimmat dokumentaatiot tarkistettu 2026-04-14.
2026-04-14 12:28:35 +03:00
062e6af776
CodeBench: vahvista CRITICAL-sääntö — ei ylimääräisiä kenttiä
...
qwen3:14b lisäsi created_at spekin ulkopuolelta ja käytti
server_default=datetime.now (virheellinen). Nostettu CRITICAL-tasolle.
2026-04-14 12:27:10 +03:00
75870c1100
CodeBench: korjaa aikaleima-sääntö — ei lisää ylimääräisiä kenttiä, func import
...
func.now() aiheutti NameError koska mallit eivät importanneet func:ia.
Uusi lähestymistapa: kielletään ylimääräiset kentät, ja JOS speksissä
on aikaleimat niin käytetään server_default + func import.
2026-04-14 12:18:36 +03:00
6e83fad31d
CodeBench: 3 uutta promptisääntöä 5-kierroksen virheanalyysistä
...
1. Aikaleimakentät: server_default=func.now(), ei pakollisia Create-schemassa
2. Ei ylimääräisiä filter/search-endpointeja
3. Ei ylimääräisiä kenttiä spekin ulkopuolelta
2026-04-14 12:14:36 +03:00
0f3310996e
CodeBench: oletus-URL 127.0.0.1 localhostin sijaan (Node 18 IPv6-ongelma)
2026-04-14 11:08:21 +03:00
e2a16b8ff6
CodeBench: väliraportti jokaisen kierroksen jälkeen
...
Näyttää mediaanin, kaikkien kierrosten pisteet ja trendin (▲▼─).
2026-04-14 11:04:51 +03:00
a0d3748faf
CodeBench: --rounds N toistaa testiajot 1-10 kertaa
...
Kierrosyhteenveto näyttää mediaanin, min/max ja pass-raten per kierros.
Käyttö: node benchmark.mjs --models qwen3:14b --scenarios all --rounds 3
2026-04-14 11:03:00 +03:00
01b4fb8e22
CodeBench: --compact tiivistää golden examplen templaatiksi
...
Python: 1340 → 335 tokenia (−75%)
Rust: 3383 → 445 tokenia (−87%)
Käyttö: node benchmark.mjs --compact --models qwen3:4b
2026-04-14 10:59:39 +03:00
e7b33b7d6f
CodeBench: Rust-tuki (--lang rust), golden example todo-rs, Dockerfile.cargo-test
...
- golden-examples/todo-rs/: Axum 0.8 + SQLx + SQLite, 10 testiä
- prompts/code-rs.md: Rust-koodingenerointiprompt
- Dockerfile.cargo-test: rust:1.87-slim testikontti
- benchmark.mjs: --lang python|rust, kieliriippuvainen golden example,
parseri tukee cargo test -tuloksia, src/ alihakemistot
2026-04-14 10:55:50 +03:00
9da5540ca2
Golden example: todo-rs (Axum + SQLx + SQLite)
2026-04-14 10:50:16 +03:00
d02f6a51c1
CodeBench: --think lippu thinking-moodin testaamiseen
...
think:true + 3× token-raja (ajattelu vie ~2/3 tokeneista).
Käyttö: node benchmark.mjs --think --models qwen3:14b
2026-04-14 10:12:44 +03:00
8ba9ef83a3
CodeBench: num_ctx 16384 — rajoita konteksti-ikkuna VRAM-säästöksi
...
256K konteksti varaa ~15 GB KV-cachea vaikka benchmark käyttää ~3K.
16K riittää hyvin ja säästää merkittävästi VRAM:ia.
2026-04-14 09:49:30 +03:00
f50dc884a3
CodeBench: automaattinen aikaleima ja arkistointi results/-kansioon
...
Output-hakemisto /tmp/kipina-benchmark/2026-04-14T12-30/
Tulokset kopioidaan automaattisesti results/<aikaleima>.json/.html
2026-04-14 09:47:32 +03:00
7b27800390
Siirrä kipina-codebench projektin päätasolle
2026-04-14 09:44:14 +03:00