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
838d5fbd73
SUPERAGENTS.md: mallisuositukset VRAM-luokittain benchmark-datan perusteella
...
4GB qwen3:4b, 8GB qwen3:8b (95p), 16GB qwen3:14b (100p),
24GB qwen3-coder:30b (97p, 123 tok/s), 48GB molemmat rinnakkain.
Thinking-moodi huonontaa tuloksia. Yleismallit voittivat kooderimallit.
2026-04-14 10:33:35 +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
b93ae2fd1b
Golden examples: README.md — ohje uusien esimerkkien luomiseen
2026-04-14 09:44:02 +03:00
4c116428c3
kipina-codebench: itsenäinen benchmark-moduli git-submoduliksi
...
Refaktoroitu tests/-kansiosta omaksi moduliksi:
- prompts/ — kaikki promptit erillisinä .md-tiedostoina
- golden-examples/ — todo (taso 1) + blog (taso 2)
- benchmark.mjs lataa promptit ja esimerkit dynaamisesti
- Dockerfile.pytest, report-template.html, package.json, README.md
- results/ — tallennetut benchmark-tulokset
2026-04-14 09:42:20 +03:00
542230f091
Benchmark: promptisääntö — update-testidatan pitää sisältää kaikki pakolliset kentät
...
qwen3-coder:30b users 6/7: test_update_user lähetti luontipaiva=None
NOT NULL -kenttään. Uusi sääntö estää tämän.
2026-04-14 09:31:42 +03:00
c217271907
Benchmark-tulokset 2026-04-14: mistral-perhe ja top3-vertailu
...
top3: qwen3-coder:30b ★★★★★ 97p, codestral:22b ★★★★☆ 88p, qwen3.5:35b 40p
mistral: codestral:22b 80p, mistral-small3.1 30p, devstral:24b 44p
2026-04-14 09:30:40 +03:00
a08b5f3893
Benchmark: think:false — kytke ajattelu pois Ollama-kutsuissa
...
Thinking-mallit (qwen3.5) käyttivät kaikki tokenit ajatteluun
eikä content-kenttään jäänyt mitään. think:false pakottaa
suoran vastauksen ilman ajattelublokkia.
2026-04-14 08:48:03 +03:00
25b9ab0c37
Benchmark: käytä thinking-kenttää fallbackina jos content tyhjä
...
qwen3.5 palauttaa vastauksen thinking-kentässä kun content on tyhjä.
Lisätty debug-logi thinking-malleille.
2026-04-14 08:45:06 +03:00
62c9b6e17e
Benchmark: nosta token-rajoja thinking-malleja varten
...
qwen3.5 palauttaa ajattelun erillisessä thinking-kentässä,
content jää tyhjäksi jos tokenit loppuvat kesken.
Vaatimukset 1024→2048, speksi 2048→4096.
2026-04-14 08:42:32 +03:00
ad097ca712
Benchmark: HTML-raportti laskee pisteet itse (toimii vanhoilla tuloksilla)
2026-04-14 08:29:47 +03:00
868d116961
Benchmark: HTML-webbiraportit tuloksista
...
Standalone HTML-tiedosto joka sisältää:
- Yhteenvetokortit (keskiarvo, paras malli, nopein, testit)
- Mallikohtainen taulukko palkkikaavioilla
- Yksittäiset tulokset sortattavassa taulussa
- Dark mode, ei ulkoisia dependencyjä
2026-04-14 08:27:01 +03:00
02e3701d77
Benchmark: output-tokenit yhteenvetotaulussa per skenaario ja yhteensä
2026-04-14 08:20:32 +03:00
b3abf4e89f
Benchmark: mallikohtainen yhteenvetotaulu + kokonaisaika
...
Näyttää per malli: testit ja aika per skenaario, kokonaisläpäisy,
kokonaisaika, keskimääräinen tok/s ja keskipisteet.
2026-04-14 08:19:27 +03:00
9f2899b83d
Benchmark: pisteytys (0-100) ja tähtiluokitus tuloksissa
...
Pisteytys: speksi 10p + koodi 10p + testit 60p + korjaukset 20p.
Tähdet: ★★★★★ (90+), ★★★★☆ (70+), ★★★☆☆ (50+), ★★☆☆☆ (25+), ★☆☆☆☆ (1+).
Näkyy per-ajo rivillä, tulostaulussa ja yhteenvedossa.
2026-04-14 08:10:27 +03:00
4a811e4171
Benchmark: näytä kontekstin koko (promptin token-arvio) tuloksissa
2026-04-14 08:05:59 +03:00
8efbf96295
Golden example: blog (taso 2, relaatiot Author → Post)
...
13 testiä, ForeignKey-relaatio, uniikki suomalainen testidata
(Aleksis Kivi, Tove Jansson jne). Testattu Docker-kontissa.
2026-04-14 08:03:21 +03:00
16f40a7536
Benchmark: pytest ajetaan Docker-kontissa (kipina-pytest)
...
Kontti hoitaa uv init + uv add + pytest eristetyssä ympäristössä.
Python 3.14, ei VIRTUAL_ENV-ongelmia, täysi toistettavuus.
Image: docker build -t kipina-pytest -f tests/Dockerfile.pytest tests/
2026-04-14 07:39:23 +03:00
42ee959781
Benchmark: uv init + uv add hoitaa projektiasetuksen
...
LLM generoi enää 4 tiedostoa (ei pyproject.toml).
Pipeline: uv init → uv add deps → kirjoita .py → pytest.
Poistaa Poetry-yhteensopivuusongelmat kokonaan.
2026-04-14 07:34:06 +03:00
0850a139f1
Benchmark: fallback korvaa Poetry-pyproject.toml PEP 621 -versiolla
...
Kaikki testatut mallit generoivat [tool.poetry] -muodon
vaikka kultainen esimerkki näyttää [project]-muodon.
uv sync ei ymmärrä Poetrya → pytest ei asennu → kaatuu.
Fallback korvaa rikkinäisen pyproject.toml kultaisella versiolla.
2026-04-14 07:30:55 +03:00
d6a544909c
Benchmark: kultainen esimerkki + zensical-dokumentointiohjeet
...
- golden-examples/todo/: 6/6 PASS referenssitoteutus
- SQLAlchemy 2.0 (DeclarativeBase, Mapped, mapped_column)
- Pydantic v2 (ConfigDict)
- PEP 621 pyproject.toml, Python >=3.14
- Uniikki testidata per testi
- CODE_SYSTEM päivitetty: few-shot kultaisesta esimerkistä
- DOCUMENTATION.md: zensical-dokumentointiohjeet
2026-04-14 07:28:47 +03:00
8f154a578c
SUPERAGENTS.md: benchmark-arkkitehtuuri kehityksen todentamiseen
...
Moniulotteinen pisteytys (0-100), portaittaiset vaikeustasot
(CRUD → relaatiot → liiketoimintalogiikka → kehittyneet patternit),
historiavertailu ja regressiotunnistus.
2026-04-14 07:16:37 +03:00
7221f5e920
SUPERAGENTS.md: itseoppivan koodausagentin arkkitehtuuri ja toteutussuunnitelma
2026-04-14 07:14:17 +03:00
34a56e408d
Benchmark: stripThinking tukee myös qwen3/3.5 <think>-tageja
2026-04-14 06:58:18 +03:00
ecd4bc2ac3
Benchmark: nosta koodigeneroinnin token-raja 4096 → 8192
...
gemma4:e4b tuotti 323 riviä ja tokenit loppuivat kesken,
pyproject.toml ei mahtunut vastaukseen.
2026-04-14 06:38:40 +03:00
7dc2af59c3
Benchmark: stripThinking poistaa gemma4-ajattelutagit vastauksista
2026-04-14 06:35:31 +03:00
4aa09e1025
Benchmark: LLM generoi koodin templaattien sijaan
...
Vaihe 3 käyttää nyt oikeaa LLM-kutsua (CODE_SYSTEM-prompti)
koodin generointiin. Templaattifunktiot poistettu kokonaan.
Tämä mittaa mallin todellista koodingenerointikykyä.
2026-04-13 22:23:35 +03:00
20cea8f268
Model benchmark: testaa kaikki Ollama-mallit järjestelmällisesti
...
Ajaa täyden pipeline-kierroksen per malli × skenaario:
1. Client-prompti → vaatimukset
2. Manager/SPEC_SYSTEM → JSON-speksi
3. Template-generointi → koodi
4. Validointi + LLM-korjaussilmukka
5. uv sync + pytest
Tuottaa vertailutaulukon: speksin laatu, testien tulos, nopeus.
Tukee suoraa Ollamaa (--ollama) ja hub-reittiä (--hub).
2026-04-13 22:08:47 +03:00
38a18c555b
Debug: reititys logittaa kaikki solmut ja niiden tilat
2026-04-13 21:53:40 +03:00
8138e41aa1
native-noden tuunausta
2026-04-13 21:29:05 +03:00
6ee5bdf960
Native node: lämmittelykutsu lataa mallin VRAM:iin heti käynnistyksessä
2026-04-13 21:23:56 +03:00
cf3bf54bf8
kipina-node: automaattinen versiopäivitys build-hashilla
...
Poistettu interaktiivinen "haluatko korvata?" -kysely. Tilalle:
- Bootstrap hakee .build-hash palvelimelta joka käynnistyksellä
- Vertaa paikalliseen kipina-node-bin.hash
- Lataa uuden automaattisesti jos hash eroaa
- Näyttää version käynnistyksen yhteydessä
Ei enää tilannetta jossa vanha binääri jää vahingossa ajoon.
2026-04-13 21:21:48 +03:00
56f21a96c9
TUI: VRAM-tila värikoodattu (vihreä=100% GPU, keltainen=osittainen, punainen=CPU)
2026-04-13 21:12:50 +03:00
763b93396c
Reititys: busy-solmut suodatetaan pois — työ jakautuu solmuille
...
Aiemmin busy-lukko luettiin mutta sitä ei käytetty suodatukseen,
joten sama solmu valittiin aina uudelleen vaikka se oli varattu.
Nyt matching-lista suodattaa pois busy-solmut, joten toinen
vapaa solmu saa tehtävän. Heavy-fallback kevyempään solmuun
jos kaikki isot mallit ovat varattuja.
2026-04-13 21:09:24 +03:00
e09962940a
Native node: VRAM-tila TUI:ssa (ollama ps)
...
- fetch_ps(): hakee /api/ps ja palauttaa ModelVramStatus
- ModelVramStatus: size vs size_vram → 100% GPU / osittainen / CPU
- TUI: uusi "VRAM: ✓ qwen3:32b (20.1 GB) — 100% GPU" -rivi
- Taustapäivitys 30s välein
- Tuore linux-x86_64 binääri
2026-04-13 21:06:27 +03:00
5e44b63b0c
Native node: tuore linux-x86_64 -binääri (reconnect, timestamp, node_id)
2026-04-13 16:54:28 +03:00
0f3881aa02
Fix: async RwLock read ennen Mutex-scopea (Send-yhteensopivuus)
2026-04-13 16:34:51 +03:00
fa85dcc5b3
Älykäs reititys: capability=heavy priorisoi isoimman mallin solmun
...
Hub:
- Parsii node_models:sta suurimman mallin parametrimäärän (B)
per solmu (esim. qwen3:32b → 32, qwen2.5-coder:7b → 7)
- Tallentaa node_max_param_b: HashMap<u64, u32>
- ChatCompletionRequest: uusi capability-kenttä ("heavy"/"light")
- Reitityslogiikka: capability=heavy → valitsee solmun jolla on
suurin malli; oletus → natiivi ensin kuten ennenkin
Frontend (pipeline):
- JSON-speksin generointi: capability=heavy
- QA-korjaussilmukan koodikorjaus: capability=heavy
- Observer/README-arviointi: capability=heavy
- Vaatimukset (Client): oletus (kevyt, kelpaa pieni malli)
Tämä mahdollistaa sen, että A40-koneella pyörivä Qwen3:32B
saa raskaat tehtävät ja selaimen 0.5B-malli hoitaa kevyet.
2026-04-13 16:30:47 +03:00
58d93613f0
Hero-kuvat: oikeat kipina.tech-kuvat (forge, serpent, gecko)
2026-04-13 14:33:11 +03:00
66b4435362
Teemavalitsin: painike kiertää gecko/forge/serpent, oletus forge
...
- Teemapainike (emoji) oikeaan yläkulmaan kuten kipina.tech:ssä
- Oletus forge (syaani), tallennetaan localStorage:iin
- Hero-kuva vaihtuu teeman mukaan fade-efektillä
- Kolme hero-kuvaa: gecko_hero, forge_hero (hämähäkki), serpent_hero
2026-04-13 14:29:14 +03:00
3a00de9b8e
Kolme kipina.tech-teemaa: gecko, forge, serpent — satunnaisvalinta
...
Tuodaan kipina.techin kolme visuaalista teemaa kipina.studioon:
- gecko: lämmin kulta/oranssi (#ff7b00)
- forge: kyber-sininen/syaani (#00e5ff)
- serpent: neon-turkoosi (#00ffff)
Teema arvotaan satunnaisesti joka sivulatauksella. Kaikki aiemmin
hardcoodatut #ff6b00-aksenttivärit korvattu CSS-muuttujilla
(--hero-accent, --hero-glow) jotka mukautuvat teemaan.
2026-04-13 14:22:33 +03:00