Tänään otimme ison askeleen kohti skaalautuvaa, laadukasta AI-sivugeneraattoria. Toteutimme site contract -arkkitehtuurin (ADR-008), joka ratkaisee yhden suurimmista haasteistamme: miten varmistamme, että LLM tuottaa aina yhtenäisen, teeman mukaisen sivuston – ilman värien, fonttien tai rakenteen sekoilua?
Ratkaisu: LLM tuottaa nyt vain sisältöfragmentteja (@section-lohkoja), jotka validoidaan ja paketoidaan valmiiseen, deterministiseen teemakuoreen. Järjestelmä tarkistaa, että sisältö noudattaa 4 valmista teemaa (ei väriliteraaleja, ei ylimääräisiä kuvia, navigaatio toimii). Jos LLM rikkoo kovaa sääntöä, se yrittää uudelleen. Pehmeät virheet (kuten hieman liian pitkä teksti) hyväksytään – emme jumita käyttäjää loputtomiin uudelleenyrityksin.
Käytännössä: Kampaamo Sannan demo-sivusto toimii nyt kaikilla 4 teemalla, ja käyttäjä voi vaihtaa tyyliä lennossa. Esikatselu näyttää tallennetun luonnoksen teeman automaattisesti. 15 uutta testiä varmistaa, että systeemi pysyy kasassa.
Seuraavaksi
- TASK-053: Käyttäjälle näkyvä teemavalitsin customize-näkymään
- TASK-054: Viimeistely ja tuotantoon vienti
- Seurantaa: miten retry-logiikka käyttäytyy oikeilla käyttäjillä?
Palveluiden tila commitin hetkellä
| Palvelu | Tila | Vasteaika |
|---|---|---|
| 🚪 Gateway API | ✅ healthy | 9 ms |
| 🎨 Studio | ✅ healthy | 13 ms |
| 🤖 Orchestrator | ✅ healthy | 6 ms |
| 💬 Messenger Agent | ❌ offline | — |
| ⚡ n8n | ✅ healthy | 12 ms |
| 🗄️ MongoDB | ✅ healthy | 11 ms |
| 🔴 Redis | ✅ healthy | 8 ms |
| 📥 Chatwoot | ❌ offline | — |
| 📅 Cal.com | ❌ offline | — |
| 📧 Listmonk | ❌ offline | — |
| 📱 Evolution API | ❌ offline | — |
Commit b9cf447 — feat(TASK-052): ADR-008 site contract engine — themed section fragments, validator, deterministic shell
Generoitu automaattisesti AI:n toimesta 2026-06-11:n