Changemkr: neljästä järjestelmästä yksi alusta
Studion suhde asiakkaaseen
Changemkr on alusta, josta Torn Studio omistaa osan. Studiolla oli tuoterooli tammikuusta 2025 kesäkuuhun 2026 — ensin CPO:na, myöhemmin osa-aikaisesti — ja se rakensi koodikantaan roolin ohessa. Kesäkuun 2026 jälkeinen työ kuuluu muille eikä ole tällä sivulla.
Lyhyt vastaus
Torn Studiolla oli Changemkrin tuoterooli ja se omistaa osan alustasta. Neljästä peritystä järjestelmästä tuli viisi käytössä olevaa palvelua yhden 63 taulun skeema-auktoriteetin ympärille, ja kahdeksan tekoälyympäristöä jakaa yhden LangGraph-palvelun versioiduin kehottein. Sivu kuvaa työn kesäkuuhun 2026, jolloin studion jakso päättyi.
Toimeksianto
Changemkr tarvitsi yhden alustan, jossa kysely, analyysi, suunnittelu ja seuranta liittyivät toisiinsa ja jossa tekoäly kulki läpi koko ketjun. Tuote oli tuolloin neljässä koodikannassa, jotka olivat kasvaneet erikseen ja kuvasivat samoja käsitteitä eri tavoin.
Mikä teki siitä vaikeaa
- Suunnitteluhierarkia oli seitsemänä erillisenä mallina Django-rajapinnassa, ja sama sana tarkoitti eri asioita neljässä järjestelmässä — yksi muutos vaati neljä korjausta neljältä henkilöltä, jotka lukivat mallin eri tavoin.
- Tekoälykerros puhui omaa sanastoaan, joten avustaja ehdotti kohteita, joita kanvas ei voinut ottaa vastaan. Se oli toinen kahdesta julkaisua estäneestä asiasta.
- Python-palvelun tietokantamallit ylläpidettiin käsin TypeScriptillä määritellyn skeeman rinnalla, joten samojen taulujen kaksi kuvausta saattoivat erkaantua huomaamatta.
Luvut jotka voi laskea
- 4yhdistettyä perittyä järjestelmää
- Repositorion migraatioraportti luettelee ne yksitellen: mitä kukin omisti ja mikä sen korvasi. Käännöksen skripti pitää niistä tulevien tuontien määrän nollassa.
- 63taulua yhden auktoriteetin alla
- Laskettavissa skeemahakemistosta kesäkuun rajalla. Python-mallit luodaan samasta määrittelystä, ja portti kaataa käännöksen, kun ne ovat erkaantuneet.
- 8tekoälyympäristöä yhdessä palvelussa
- Laskettavissa kehoterekisteristä. Jokaisella ympäristöllä on oma mallinsa, omat työkalunsa ja oma kehotteiden versiointinsa yhden klikkauksen palautuksella.
- 80päästä päähän -testien määrittelytiedostoa
- Laskettavissa testihakemistosta kesäkuun rajalla. Sivu siteeraa tiedostojen määrää, koska repositorio on itse perunut tuon ajan läpimenolukunsa.
Näin se tehtiin
Yksi skeema-auktoriteetti, muu johdettuna
Drizzle sai määritellä kaikki 63 taulua, ja Python-palvelun mallit luodaan samasta määrittelystä skriptillä. Käännöksen portti vertaa luotua tiedostoa versioituun ja kaataa käännöksen poikkeamasta, joten samaa taulua eri tavoin kuvaavia järjestelmiä ei voi viedä sisään.
Kovat toimialuerajat
NestJS omistaa liiketoimintadatan — tilit, organisaatiot, kyselyt, suunnitelmat. Python-palvelu omistaa tekoälyn alueen — säikeet, upotukset, muistin ja supervisorin. Verkkosovellus kutsuu molempia suoraan, ja raja on kirjoitettu selkokielellä repositorion ohjetiedostoon, mikä tekee siitä päätöksen, jota muut voivat seurata.
Seitsemästä mallista yksi
Suunnitteluhierarkia muotoiltiin yhdeksi tauluksi tyyppierottimen kanssa, ja rinnalle tuli taulu avaintuloksille ja taulu suhteille. Sanasto suljettiin, ja tekoälykerros sai puhua täsmälleen samoja sanoja kuin kanvas. Tätä koskenut este suljettiin kymmenentenä kesäkuuta 2026.
Portit kantavat rajat
Yksi skripti pitää perityistä järjestelmistä tulevien tuontien määrän nollassa ja kaataa käännöksen ensimmäisestä paluusta. Toinen kaataa skeeman, kun luodut mallit ovat erkaantuneet. Yhdistäminen kestää, koska se tarkistetaan jokaisella muutoksella.
Teknologiat
- NestJS
- FastAPI
- Next.js
- Drizzle ORM
- SQLAlchemy
- LangGraph
- PostgreSQL
- pgvector
- BullMQ
- Azure Container Apps
Mihin todiste riittää
Tämä osoittaa, että neljä järjestelmää voidaan yhdistää yhdeksi ja pitää koossa porteilla. Se ei osoita markkinasta mitään: alustaa ei ollut julkaistu kesäkuun rajalla, repositorion oman valmiuslokin tuomio oli käyttöönotettavissa varauksin, ja yksi varauksista oli manuaalinen tietoturvatehtävä, jota mikään koodi ei sulje.
Perusta
Mihin tämä artikkeli nojaa — tekemäämme mittaukseen, päivättyyn lähteeseen tai päätökseen ja sen hintaan.
- Mittaus
Kuinka monta taulua yksi skeema-auktoriteetti määrittelee
Mittauskohde: Changemkrin skeemahakemisto kesäkuun rajalla
Menetelmä: Laske pgTable-kutsut hakemistossa packages/database/src kesäkuun 2026 viimeisessä versiossa.
Tulos: 63 taulua
- Päätös
Anna yhden skeeman määritellä jokainen taulu ja luo Python-palvelun mallit siitä.
Mitä se maksoi: Jokainen skeemamuutos vaatii nyt ylimääräisen luontivaiheen ennen sisäänvientiä, ja käsin muokattu malli kaataa käännöksen silloinkin, kun se on oikein.
- Päätös
Yhdistä suunnitteluhierarkian seitsemän mallia yhdeksi tauluksi tyyppierottimella.
Mitä se maksoi: Tietokanta ei enää erottele kohdetyyppejä omilla sarakkeillaan, joten säännöt siitä mitä saa olla missäkin siirtyivät sovellukseen ja vaativat omat testinsä.
Usein kysyttyä
- Onko Changemkr Torn Studion asiakas?
- Studio omistaa osan alustasta ja sillä oli siellä tuoterooli, mikä lukee sivun ylälaidassa. Ero on olennainen: toimeksianto toiselle ja tuote, jota studio on mukana omistamassa, ovat eri väitteitä, ja lukijan kuuluu tietää kumpi on kyseessä ennen tuloksia.
- Miksi tapaus päättyy kesäkuuhun 2026?
- Studion tuoterooli kesti siihen asti. Alustaa on kehitetty sen jälkeen muiden toimesta, ja tuon työn lukeminen omaksi olisi toisen ansion ottamista. Jokainen sivun luku on mitattu tuolla rajalla ja tarkistettavissa siellä.
- Miksi sivulla ei ole lukua läpi menneistä testeistä?
- Repositorio mittasi testijoukkonsa uudelleen elokuussa 2026 ja perui aiemman luvun pätemättömänä. Luku, jonka lähde itse on perunut, ei kuulu tänne, joten sivu siteeraa sitä mikä oli vakaata rajalla: taulut, palvelut, tekoälyympäristöt ja testitiedostot.
- Mitä yksi skeema-auktoriteetti tarkoittaa käytännössä?
- Sitä että yksi määrittely pitää sisällään kaikki 63 taulua ja kaikki muu johdetaan siitä. Python-palvelun mallit luodaan skriptillä, ja portti kaataa käännöksen kun luotu ja versioitu ovat erkaantuneet. Samaa taulua eri tavoin kuvaavia järjestelmiä on tällöin mahdotonta viedä sisään.
- Kuinka suuren osan koodista studio kirjoitti?
- Studio rakensi tuotteesta suuria osia tuona aikana ja muotoili suurimman osan ideoista ja ominaisuuksista, samalla kun myös muut työskentelivät koodikannassa. Siksi sivu väittää roolin ja jakson, ja luvut kuvaavat toimitettua järjestelmää rajalla.
Kerro, mitä haluat rakentaa
Kolmekymmentä minuuttia, maksutta, ja suora vastaus siihen, olemmeko oikea studio tehtävään.
Vastaus vuorokauden kuluessa, kirjallinen ehdotus kiinteällä hinnalla kolmessa päivässä, ja päätät kaikessa rauhassa.
Tyytyväisyystakuu