6ccf6fb0e1
CodeBench: stripaa === marker === file-by-file outputista
2026-04-15 00:28:57 +03:00
a3ea0c2fda
CodeBench: file-by-file build-validointi vasta kun kaikki tiedostot valmiina
...
- Vaihe 1: generoi kaikki 4 tiedostoa peräkkäin (konteksti kasvaa)
- Vaihe 2: go build kaikilla tiedostoilla → virheet per tiedosto → korjaus
- Ratkaisee: models.go yksinään ei käänny (ei main-funktiota)
- Virheet ryhmitellään tiedostoittain, korjataan vain viallinen tiedosto
2026-04-15 00:21:36 +03:00
3b1a02a9af
CodeBench: go build output ei vuoda terminaaliin (stdio: pipe)
2026-04-15 00:12:57 +03:00
56133b5d19
CodeBench: siistimpi file-by-file virheilmoitus
2026-04-15 00:12:20 +03:00
9670c85750
CodeBench: file-by-file välitön go build -validointi + korjausloop
...
- Jokainen tiedosto (paitsi _test.go) validoidaan go buildilla heti
- Käännösvirheet palautetaan mallille korjattavaksi (max 2 yritystä)
- Virhe korjataan yhden tiedoston kontekstissa, ei koko projektia
- Testitiedosto validoidaan vasta lopussa go testillä (vaihe 5)
2026-04-15 00:10:06 +03:00
20a1e5f015
CodeBench: --convert-model Python→Go pipeline
...
- 8b generoi Pythonia (osaa sen), 30b konvertoi Go:ksi
- convert-go.md prompti: FastAPI→Chi, SQLAlchemy→database/sql mappaukset
- Koodigenerointi käyttää Python golden+promptia kun convert-model asetettu
- Vaihe [3.5/5] konvertointia varten
2026-04-14 23:54:45 +03:00
a16c33f4fb
CodeBench: go.mod-generointi ennen missing-tarkistusta
2026-04-14 23:37:09 +03:00
afef340eb8
CodeBench: file-by-file logiin tokenit, rivimäärä ja tok/s per tiedosto
2026-04-14 23:36:29 +03:00
a65a25c56c
CodeBench: --file-by-file generointi pienille malleille
...
- Generoi yksi tiedosto kerrallaan: models.go → handlers.go → main.go → tests
- Edellisten tiedostojen koodi kontekstissa seuraavalle
- Max 2048 tok per tiedosto (vs 10240 kaikki kerralla)
- go.mod generoidaan aina golden examplesta (ei mallin tuotoksesta)
- Promptissa "Write ONLY the file X" + "Start with package main"
2026-04-14 23:31:20 +03:00
178bef1277
CodeBench: korvaa go.mod aina golden versiolla — pienet mallit tuottavat vääriä moduulipolkuja
2026-04-14 23:14:07 +03:00
1649d2e864
CodeBench: --spec-ollama lippu eri Ollama-instanssille spec-vaiheissa
2026-04-14 23:05:07 +03:00
3caefa2f6e
CodeBench: automaattinen go.mod-korjaus pienille malleille
2026-04-14 23:02:44 +03:00
65e7365e75
Poistettu virheelliset 8b Go-tulokset (väärä promptti: code-small → Python)
2026-04-14 23:00:31 +03:00
9aa4a46768
CodeBench: kielisuffiksi priorisoituu prompttivalinnassa (code-go > code-small)
2026-04-14 22:58:14 +03:00
61966783e3
CodeBench: spec-simple.md pienille malleille
...
- Yksinkertaistettu JSON-skeema: ei sa_type/py_type, vain type-kenttä
- Small-profiili käyttää automaattisesti spec-simple promptia
- Vähemmän kenttiä per entity → pienempi output → 8b selviytyy
2026-04-14 22:06:29 +03:00
7bcba3daf8
CodeBench: --spec-model lippu — eri malli spec-vaiheille (1-2)
2026-04-14 21:43:44 +03:00
7d49d62f81
CodeBench: kompaktoitu Go handlers.go golden — error handling yhdelle riville
2026-04-14 21:15:57 +03:00
5b8919ef89
CodeBench: sekunnit aikaleimaan (T17-58 → T17-58-23)
2026-04-14 21:10:52 +03:00
a4942edb9f
CodeBench: --no-orchestrate lippu orkestroinnin ohittamiseen
2026-04-14 21:08:34 +03:00
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