Mitä uutta
Jokainen kierros lisää jotain näkyvää. Tämä on lista siitä, mitä on valmista — ei siitä, mitä on suunniteltu.
- Kierros 33Vaihe 32
Etusivulla arvolaskuri: paljonko valmennus tai myyjä paikalle tuo omilla luvuillanne
- Etusivun uusi osio laskee kävijän omilla luvuilla lisäkaupat, nopeamman rampin ja vähemmät lähdöt — tai tyhjän myyntipaikan hinnan — sekä mitä hänelle jää. Valittavana myyntivalmennus tai myyjä paikalle.
- Laskenta tulee Form Workerista. Laskuri latautuu vasta, kun kävijä avaa sen, eikä mitään lähde ennen kuin hän itse lähettää laskelman.
- Kierros 32Vaihe 32
Hakusivu näyttää ilmoituksen oikein, ja setterin avaus on suomea
- Julkinen hakusivu näytti ilmoituksen raakana: hakija näki risuaidat ja viivat otsikoiden ja luetteloiden paikalla. Nyt väliotsikot, luettelot ja lihavoinnit piirtyvät, eikä rungon ensimmäinen otsikko toistu sivun otsikon alla.
- Setterin avaus kuului «teemme töitä nimenomaan [kenelle] kanssa», vaikka Perustan ohje pyytää kirjoittamaan kohderyhmän muodossa «Autamme [kenet]». Jokainen avaus meni siksi kieliopillisesti väärin. Nyt se on «soitan, koska autamme nimenomaan [kenet]» — sama muoto kuin tarjouskortissa.
- Vastaväitteen perhe arvasi «Mitä jos kone varaa väärän ajan» rahaväitteeksi, koska «varaa» on myös «ei ole varaa». Nyt rahaan osuvat vain «ole varaa» ja «varaa siihen», ja «mitä jos» ja «väärä» ohjaavat luottamukseen.
- Yläpalkissa näkyy omistajan verkkotunnukset, sama merkki kuin salkun muissa sovelluksissa.
- Kierros 31Vaihe 31
Mikrofoni joka kirjoituskentässä — ja litterointi siirtyi sinne missä avain on
- Jokainen kenttä johon voi kirjoittaa sai mikrofonin. Se ilmestyy kentän kulmaan kun kohdistin on siinä, ja puhe kirjoittuu kohdistimen kohtaan — ei loppuun. Sanelu on yhtä usein korjaamista kuin kirjoittamista.
- Nappia ei lisätty kenttiin yksitellen: se seuraa kohdistusta. Siksi myös ne kentät jotka rakennetaan ensi kuussa saavat sen syntyessään, eikä kukaan voi unohtaa lisätä sitä.
- Salasanakentät ja kertakäyttökoodit jäävät ulkopuolelle ilman että kukaan merkitsee niitä erikseen. Sanelu lähettäisi salaisuuden litteroitavaksi, eikä sitä virhettä saa tehdä oletuksena.
- Puhe osaa suomen välimerkit: keskelle lausetta sanottu pätkä ei ala isolla kirjaimella eikä jätä pistettä katkaisemaan lausetta jota jatketaan. Litterointi tuottaa aina kokonaisen lauseen; kenttä harvoin tarvitsee sellaista.
- Löydös: tuotannon palvelin vastasi «whisper: false». Julkaisualustan ajoympäristössä ei ole tekoälyavainta, joten yksikään litterointi ei ole toiminut siellä — ei sanelu Sakulle eikä ääniviestit. Avain on Supabase-projektin omissa salaisuuksissa, ja sanelu tehdään nyt reunafunktiossa joka lukee sen sieltä. Avainta ei kopioitu eikä siirretty; työ siirtyi avaimen luo.
- Sanelu on oma ajurinsa (Labs → «Sanelu kirjoituskenttiin»), erillään puhelujen litteroinnista. Puhelussa on asiakkaan ääni ja tiedosto jää talteen; sanelussa on oma ääni eikä mitään jää. Yhtenä kytkimenä ne pakottaisivat valitsemaan molemmat tai ei kumpaakaan.
- Ääntä ei säilytetä: nauhoitus syntyy muistiin, lähtee kerran ja unohtuu. Ajoriville kirjataan kesto ja merkkimäärä — ei puhetta eikä tekstiä.
- Estetty mikrofoni ei ole harmaa vaan kertoo painettaessa mikä sen estää ja vie Labs-sivulle. Harmaa nappi ei kerro miksi, eikä sitä voi painaa saadakseen selville.
- Kierros 30Vaihe 30
Tuotantovalmius: virhetunnus, ehdottava 404 ja 156 indeksiä
- Virhesivu näyttää nyt virhetunnuksen — ST-K7M2P-9WQ3X — eikä pinoa. Tunnus on sama ruudulla ja lokissa, se on luettavissa ääneen puhelimessa, eikä se sisällä mitään tietoasi.
- 404 kertoo mitä osoitetta pyydettiin ja ehdottaa lähimmät oikeat sivut. Ehdotuksissa on vain ovia jotka sinun roolillasi aukeavat.
- Latausluurangot listoihin. Aiemmin kesken oleva haku näytti samalta kuin tyhjä lista — «ei yhtään riviä» ehti vilahtaa ruudulla ennen kuin rivit tulivat. Nyt «ei vielä tiedetä» ja «tiedetään että ei ole» näyttävät eri asioilta.
- Offline-varoitus: kun yhteys katkeaa, sivun yläreuna kertoo sen ja sanoo suoraan etteivät muutokset tallennu ennen kuin yhteys palaa.
- Hitaan verkon tila. Se odottaa neljä sekuntia ennen kuin sanoo mitään — hetkeksi vilahtava pyörä saa nopeankin sovelluksen näyttämään hermostuneelta.
- Näppäimistöllä liikkuvalle ohituslinkki: ensimmäinen sarkain vie suoraan sisältöön eikä kahdenkymmenen valikkorivin läpi.
- Jos käyttöjärjestelmässä on pyydetty vähemmän liikettä, sovellus lakkaa liikkumasta. Se ei ole makuasia — osalle liike aiheuttaa huimausta.
- Kannan indeksit: 156 puuttunutta indeksiä lisättiin. Jokainen luku suodattuu työtilalla, ja ilman indeksiä se tarkoitti koko taulun läpikäyntiä joka kyselyllä.
- Löydös: 23 saraketta näytti katetuilta, koska ne olivat yhdistelmäindeksin hännässä. Sieltä indeksistä ei ole hyötyä kyselylle joka suodattaa pelkästään niillä — kantasarja mittaa nyt sarakkeen paikan, ei pelkkää esiintymistä.
- Kontrasti mitattiin teeman omista väriarvoista WCAG-kaavalla, ei silmällä. Neljä paria alitti rajan — muun muassa valkoinen teksti brändin oranssilla (2.91, vaatimus 4.5). Sävyt ovat samat; vaaleus siirtyi sen verran että teksti on luettavaa.
- Kaikki kaksikymmentä valikkoriviä ovat valmiita. Yhtään «Tulossa»-sivua ei enää ole.
- Kierros 29Vaihe 29
Muuttumaton loki, luettava loki
- Valvontaloki on nyt luettavissa: /app/<työtila>/settings/audit näyttää kuka teki, mitä, milloin ja mistä ovesta — suodattimina haku, ovi, ryhmä, aika ja «vain ohitukset».
- Superadminin ohitus erottuu omalla merkillään jokaisella rivillä, ei tilastona sivun alalaidassa.
- Lokirivi on muuttumaton. Muutos ja poisto vastaavat nyt virheellä eivätkä hiljaisella nollalla — ja kielto pätee myös kannan omistajalle, koska viimeisenä vartijana on liipaisin eikä käytäntö.
- Löydös ja korjaus: jokainen taulu antoi kirjautuneelle ja vierailijalle TRUNCATE-oikeuden, jota rivinsuojaus ei koske. Oikeus on poistettu 104 taulusta, ja kantasarja kaatuu jos yksikin palaa.
- Tietosuojasivu /app/<työtila>/settings/privacy: säilytysajat (ehdokkaat 12 kk, käyttöloki 90 vrk), lista yli säilytysajan menneistä, ja kolme tekoa — vienti JSON:ina, anonymisointi ja poisto.
- Anonymisointi vie nimen joka paikasta: ehdokasrivi, hakemuksen muistiinpanot ja vapaat vastaukset, haastattelun vuorot, koevastauksen nauhoitus ja tarjouskirjeen allekirjoitus. Pisteet ja päätökset jäävät tilastoriviksi.
- Anonymisointi pääsee myös hakemusrivin suojauksen läpi. Suojaus on estänyt tekoälyn perustelun muuttamisen käsin — myös silloin kun poistaja oli tietosuojatoiminto itse. Nyt sillä on yksi nimetty poikkeus, ja tarkistus lukee jokaisen kentän takaisin kannasta.
- Tietosuojaloki kirjaa tunnisteen eikä nimeä — poistopyynnön kirjaaminen ei saa jättää jälkeensä sitä tietoa jonka poistamista pyydettiin.
- Käyttölokin siivous on uusi ajuri retention.purge, oletuksena pois ja kytkimen takana kuten kaikki muutkin. Valvontalokia se ei koske.
- Superadminille /admin: kaikki työtilat, käyttäjät ja roolit, ajurien globaali tila, valvontaloki yli työtilojen, tekoälyn kulutus ja kannan terveys.
- Kannan terveysnäkymä kertoo taulukohtaisesti rivimäärän, koon, indeksit, rivinsuojauksen ja sen onko jokin oikeus auki.
- Kierros 28Vaihe 28
Sisarsillat — kymmenen sisarta, yksitoista kytkintä
- Kymmenen sisarsovellusta on nyt kytkettävissä: Careers, Rekryprep, TonFlow, VentureCore, TenFold, TaskPlan, Soppii, S-Process, Pro-Cess ja BeeLaunchi.
- Silta ei soita sisareen eikä säilytä sen avainta. Vienti valmistelee tapahtuman tähän kantaan, ja sisar noutaa sen samasta rajapinnasta samalla avaimella kuin kuka tahansa muu.
- Neljäs ovi samaan porttiin: sisaravaimen laji on bridge ja sen kytkin bridge.v1. Portin koodiin ei koskettu — kytkinrivi luki jo oven nimen avaimelta.
- Jokainen silta on kenttälista. Hyötykuorma rakennetaan listasta ja suodatetaan listalla, ja kanta tarkistaa vielä lopuksi ettei siinä ole listaamatonta avainta.
- Sama tarkistus on taulun triggerissä, joten se koskee yhtä lailla käyttöliittymän vientiä ja sisaren kirjoitusta. Kytkin kiinni → rivi ei synny kummastakaan suunnasta.
- «Vie Careersiin» hyväksytyn roolin sivulla: esikatselu näyttää kenttä kentältä mitä lähtisi, myös tyhjät kentät, ja vasta sen jälkeen nappi vie.
- Ensimmäinen vienti vaatii vahvistuksen työtilassa kerran. Sen jälkeen ei kysytä, mutta esikatselu on aina nähtävissä ennen nappia.
- Careersiin lähtee otsikko, ilmoitusteksti, kieli, seulontakysymykset, tuloskortin kompetenssit ja punaiset liput sekä testin ohjeet ja rubriikki — ne pohjustavat sen tekoälyhaastattelijan.
- Hakijat palaavat samaa tietä: sisar kirjoittaa saman portin läpi, rivi laskeutuu ehdokkaaksi ja molempien päiden tunnisteet päätyvät samaan riviin.
- Vain hyväksytty rooli lähtee. Keskeneräinen saa selkeän syyn eikä lähde vahingossa.
- Siltasivu asetuksissa (/app/$ws/settings/bridges): sisarten ovi, kortit ja viimeisimmät ylitykset kumpaankin suuntaan.
- Jokaisessa kortissa sama neljä riviä: mitä siirtyy · mihin suuntaan · mihin sovellukseen ja kantaan · kuka kytki ja milloin. Kun kukaan ei ole kytkenyt, siinä lukee se eikä viiva.
- Seitsemän siltaa on runkoja: kortti näkyy ja kytkin toimii, mutta vienti sanoo suoraan ettei hyötykuorman rakentajaa vielä ole — tyhjää tapahtumaa ei kirjoiteta.
- Jokainen silta on ajuri: oletuksena pois, suostumus erikseen, ja jokainen ylitys kirjautuu auditlokiin lähteellä bridge.
- Sisaravain saa vain siltatapahtumat. Se ei yllä ehdokkaisiin, rooleihin eikä mihinkään muuhun, ja yritys kirjautuu.
- Siltojen savutesti (npm run bridge): kaksikymmentäkaksi tarkistusta, eikä yksikään kirjoita sisareen — koska sovellus ei voi.
- Kierros 27Vaihe 27
Komentorivi, MCP-palvelin ja yhdeksän AI-taitoa
- Kaksi uutta ovea samaan porttiin: st-komentorivi ihmiselle joka työskentelee terminaalissa, ja MCP-palvelin agentille joka työskentelee puolestasi.
- Kumpikaan ei tunnista ketään eikä päätä mitään. Kaikki tarkistukset ovat siellä missä ne olivat ennenkin — yhdessä kannan funktiossa.
- Asiakaslaji on avaimen ominaisuus eikä otsikko: se valitaan avainta luotaessa, ja portti lukee sen avainriviltä. Itse ilmoitettu lähde ei ole lähde.
- Jokaisella ovella on oma kytkimensä: cli.v1 ja mcp.v1, molemmat pois. Komentorivin voi sulkea avaamatta MCP:tä ja päinvastoin.
- Ohjesivu asetuksissa (/app/$ws/settings/cli): kolme ovea tiloineen, koko komentolista, MCP:n konfiguraatiolohko ja taitokirjasto.
- Kaksikymmentä st-komentoa: kirjautuminen, työtila, pohjustus, skripti, materiaali, käyrä, mittarien vienti, ehdotukset ja ajurit.
- st login kirjoittaa avaimen työhakemistoon (.salestrain/config.json, oikeudet 600) — ei kotihakemistoon, joka on koneen laajuinen.
- Komentorivi ei koskaan lue mcp.json-tiedostoa eikä kopioi avainta mistään. Vieras salaisuus torjutaan nimeltä eikä hyväksytä hiljaa.
- MCP:n yhdeksäntoista työkaluta salestrain_-nimiavaruudessa: viisi lukee, yksitoista ehdottaa, kolme kirjoittaa.
- Ehdottava työkalu tekee odottavan ehdotuksen hyväksyntäjonoon. Tila ei ole parametri, joten agentti ei voi hyväksyä omaa ehdotustaan.
- Kirjoittava työkalu vaatii juuri sen resurssin kirjoitusoikeuden, ja jokainen rivi kirjautuu auditlokiin lähteellä mcp.
- Ehdotustyökalut on johdettu Sakun omasta työkalurekisteristä: agentti ei voi ehdottaa mitään sellaista jota sovelluksen oma avustaja ei voisi ehdottaa.
- Ajurien kytkinrivi on rajapinnan seitsemästoista resurssi. Kytkimen voi kääntää avaimella — suostumusta ei voi antaa avaimella.
- Koska api.v1 ja api.write vaativat suostumuksen, niitä ei voi sytyttää rajapinnasta: hätäkytkin on yksisuuntainen ulospäin.
- Yhdeksän AI-taitoa omine kytkimineen, jokainen oletuksena pois. Taito ei tuo uutta oikeutta — se on nimetty yhdistelmä olemassa olevia työkaluja.
- Jokaisella taidolla on ohjetiedosto: mitä tekee, milloin käytetään, mitä tarvitsee ja miten etenee. Puuttuva tieto kysytään, ei arvata.
- Kierros 26Vaihe 26
Rajapinta v1, API-avaimet ja käyttöloki
- Kuusitoista resurssia osoitteessa /api/v1/*: työtilat, tarjoukset, profiilit, skriptit, vastaväitteet, suppilot, mittariluvut, kaupat, rekryroolit, ehdokkaat, haastattelut, materiaalit, käyrät, asiakkaat, sijoitukset ja ehdotukset.
- Rajapinta on sama kanta ja samat rivit kuin käyttöliittymässä — vain eri ovi. Se ei ole kopio eikä peili.
- Avaimet (/app/$ws/settings/keys): nimi, tarkat oikeudet ja vanheneminen. Avain näytetään kerran; kannassa on prefix ja tiiviste.
- Kaksi kytkintä Labsissa: api.v1 avaa lukemisen, api.write kirjoittamisen. Molemmat pois oletuksena — kelvollinenkin avain vastaa 403 ennen kytkintä.
- Kirjoitusoikeus ei sisällä lukuoikeutta. Laskutusrobotti joka työntää lukuja sisään ei saa lupaa imuroida kirjastoa ulos.
- Ehdokkaiden lukuoikeus on aina erikseen, koska rivillä on nimi, sähköposti ja puhelinnumero. Valmis lukupaketti jättää sen pois.
- Sarakkeet ovat valkoisella listalla: uusi sarake ei vuoda rajapintaan siksi että joku unohti kieltää sen.
- Sivutus kohdistimella: kohdistin osoittaa riviin eikä paikkaan, joten uudet rivit eivät siirrä sivun rajaa.
- Idempotency-Key kirjoituksissa: sama otsikko samalla rungolla palauttaa saman vastauksen eikä luo toista riviä; eri rungolla se on virhe.
- DELETE arkistoi. Rivi putoaa listalta mutta on yhä luettavissa id:llä, ja palautus on tavallinen PATCH.
- Virheet ovat koneluettavia: { error: { code, message, field } }. Viesti kääntyy Accept-Language-otsikon mukaan.
- Jokainen kutsu jättää rivin käyttölokiin, jokainen kirjoitus auditlokiin lähteellä api, ja jokainen evätty kutsu tunnetulla avaimella myös auditlokiin.
- Peruutus on välitön, ja hätäkytkin sulkee rajapinnan kaikilta avaimilta kerralla ilman että yhtäkään tarvitsee peruuttaa.
- Selaimesta rajapintaa ei kutsuta: CORS-otsikoita ei ole tarkoituksella, koska avain on salaisuus.
- Kierros 25Vaihe 25
Automaatiot, sähköpostipohjat, lähtevä posti ja ilmoituskello
- Asetukset jakautui neljään näkymään: Yleiset · Automaatiot · Sähköpostipohjat · Lähtevä posti.
- Kymmenen automaatiota (/app/$ws/settings/automations), kaikki pois päältä. Jokainen kortti sanoo neljä asiaa: kun · niin · minne · millä luvalla.
- Automaatio osoittaa ajuriin eikä luo uutta. Jos ajuri on pois, sääntö on päällä mutta hampaaton — kortti kertoo sen ja linkittää Labs-sivulle.
- Kymmenen sähköpostipohjaa kahdella kielellä: kuittaus, testikutsu, haastattelukutsu, hylkäys, tarjous, tervetuloviesti, työtilakutsu, asiakasraportti ja kaksi muistutusta.
- Pohjan vieressä on esikatselu koearvoilla. Tuntematon {{tunnus}} estää tallennuksen, koska se ei täyty koskaan.
- Hylkäysviesti kertoo mitä arvioitiin, mikä ratkaisi ja mitä kannattaa tehdä seuraavaksi — ei «valitettavasti emme voi edetä».
- Lähtevä posti (/app/$ws/settings/outbox): kirjoita pohjasta, täytä muuttujat, ja viesti syntyy jonoon valmiina tekstinä.
- Ilman email.send-ajuria viesti jää pitoon ja sen voi kopioida omaan postiin. Mikään ei lähde vahingossa, mutta käyttö on mahdollista päivästä yksi.
- Kun lähetys kytketään päälle, vanha pidossa oleva jono EI purkaudu itsestään: vanhat vapautetaan yksi kerrallaan.
- Ilmoituskello sai seitsemän luokkaa: hyväksyntää odottaa · SLA · tulos · rekry · perehdytys · takuu · ajuri epäonnistui. Klikkaus vie kohteeseen ja merkitsee luetuksi.
- Luokka lasketaan kannassa, joten jokainen aiemmin kirjoitettu ilmoitus sai luokkansa taannehtivasti.
- Labs näyttää cron-suunnitelman: 13 ajastettua työtä, jobin nimi, lauseke ihmisen kielellä ja onko job luotu. Jokainen job kutsuu samaa porttia, joten pois kytketty ajuri kirjaa estetyn ajon.
- Kierros 24Vaihe 24
Saku: ääniviesti → jäsennys → suunnitelma → ehdotuspino
- Uusi näkymä /app/$ws/coach/voice: nauhoita selaimessa, lataa äänitiedosto tai kirjoita teksti — kolme tapaa, sama kulku.
- Kuusi askelta näkyvissä: nauhoita → litteroi → jäsennä → suunnittele → aja → jono. Rivin tila kertoo missä mennään, ja sivu näyttää sen askeleen.
- **Jäsennyskortti on korjattavissa ennen generointia.** Asiakas, toimiala, paikkakunta, roolit määrineen, aikataulu, keskikauppa, kanava, puhelumalli ja kassatavoite — ja jokaisen kentän alla lukee mistä se tuli: lainaus sanelusta, mallin lainaus, tai «ei tunnistettu».
- Sääntöjäsennys lukee puhekielen lukusanat («kaks setteriä», «yhen closerin»), aikamääreet («kolmes viikos» = 21 pv) ja rahaluvut kontekstista — keskikauppa ja kuukausitavoite erotetaan lähimmästä avainsanasta, ei luvun koosta. Tämä toimii ilman yhtäkään avainta.
- Malli saa tarkentaa korttia vain kentissä joille se lainaa saneluasi sanatarkasti. Lainaus jota tekstissä ei ole hylätään, eikä kenttää täytetä.
- Suunnitelma on lista ennen kuin mitään rakennetaan: mitä syntyy, kuinka monta riviä ja arvio kestosta. Luvun 1 esimerkki tuottaa 15 ehdotusta — asiakas ja pyyntö, sopimuksen ja tarjouksen runko, setterin ja closerin skriptit, vastaväitekirjasto, kaksi ilmoitusta tuloskortteineen, kaksi taitotestiä, kaksi palkkiomallia, haastattelurunko, ramp ja rekrykäyrä päivätylle aikataululle.
- Ajo etenee rivi kerrallaan näkyvästi ja on **keskeytettävissä**: jonoon ehtineet ehdotukset jäävät jonoon, koska ne ovat jo sinun päätettävissäsi.
- Mitattu lupaus (spec 1.3): valmis ajo näyttää ajat sanelusta pinoon väli väliltä — litterointi, jäsennys, suunnitelma, ajo — rivin omista aikaleimoista, ja sanoo täyttyikö alle viiden minuutin lupaus.
- Litterointi (Whisper) kulkee palvelimen kautta ajurilla ai.transcribe: ääni luetaan bucketista sinun oikeuksillasi, eikä selain näe yhtäkään avainta. Ilman ajuria, suostumusta tai avainta kanta kieltää siirron ja kertoo syyn — teksti kirjoitetaan käsin ja kaikki muu toimii samoin.
- Ääniviesti on sanelijan oma: rivit ja tiedostot näkee vain se joka saneli, ja poisto vie molemmat.
- Litteroidut minuutit lasketaan samaan kuukausikattoon kuin keskustelu — katon täyttyessä myös litterointi lukittuu.
- Keskustelun «Sanele»-nappi: mikrofoni kirjoittaa kysymyksen kenttään, ja sinä painat «Kysy». Ääni ei mene mallitaloon ohi palvelimen.
- Kierros 23Vaihe 23
Saku: tekstivalmentaja, ehdotukset ja hyväksyntäjono
- Uusi osoite /app/$ws/coach: keskustelu, haastattelu, hyväksyntäjono ja kulutus.
- Saku vastaa työtilan datasta ja **jokainen rivi näyttää lähteensä** — «Perusta → tarjous», «Mittarit → tämä kuu», «Tasot → missä olemme». Puuttuva tieto ei ole arvaus vaan oma rivinsä ja linkki sinne missä sen täyttää.
- Saku toimii päivästä yksi ilman avaimia: kun ajuri ai.use on pois, vastaa sääntömoottori, ja merkki kertoo sen ääneen. Mallitalo (OpenAI, Google tai xAI) vastaa vasta kun ajuri on päällä, suostumus annettu ja avain on palvelimella.
- Seitsemän lukutyökalua ja yksitoista ehdotustyökalua. Yhtäkään työkalua joka kirjoittaa suoraan tuotantotauluun, lähettää sähköpostia tai julkaisee ilmoituksen ei ole.
- Ehdotuksen sisältö rakennetaan rekisterin pohjista — sama runko, tuloskortti, testi tai palkkiomalli jolla sovellus siementää itsensä. Malli antaa vain parametrit, joten ehdotus on aina kohdetaulun muotoinen.
- Hyväksyntäjono kortti kerrallaan: hyväksy · muokkaa · hylkää · hyväksy koko ryhmä. Kortti näyttää etukäteen mitä kantaan syntyy, miksi ja mihin tauluun.
- Hyväksyntä kirjoittaa kohdetauluun **hyväksyjän omilla oikeuksilla**. Jos comp.write puuttuu, palkkiomalli ei mene kantaan Sakunkaan kautta — rivi jää jonoon tilaan «epäonnistui» syineen. Onnistunut kirjoitus kirjautuu valvontalokiin lähteellä «ai».
- Haastattelutila: kuudesta kahdeksaan kysymystä uudesta firmasta, roolista tai asiakkaasta, ja niistä syntyy koko paketti ehdotuksia yhtenä ryhmänä. Paketti näytetään ennen kuin yksikään rivi menee jonoon.
- Kulutusmittari ja kuukausikatto dollareina. Katon täyttyessä Saku lukitaan kuun loppuun, ja kanta estää uuden istunnon — mittari ei ole kohteliaisuus vaan näkymä siihen mikä jo pätee.
- Hinta lasketaan kannassa tokeneista hinnastolla; istunnon kulutusta ei voi kirjoittaa käsin eikä se voi pienentyä.
- «Täytä Sakulla» työkirjassa täyttää vain ne kentät joihin perustassa on vastaus, ei kirjoita valmiin päälle eikä keksi puuttuvaa. Rekryn «Sakulla»-ovi vie haastattelutilaan, ja «Tänään»-näytön nappi Sakun keskusteluun.
- Taitorekisteri (yhdeksän taitoa) on kannassa ja näkyvissä — kaikki pois päältä, kytkin tulee vaiheessa 27.
- Ajurit ai.use ja ai.plan ovat rekisterissä ja pois päältä. Mallitaloja on kolme, eikä listaa laajenneta.
- Kierros 22Vaihe 22
Tasodashboardit 5 → 11, kolme aukkoa ja reversointiblueprint
- Uusi osoite /app/$ws/levels: missä olemme, blueprintit ja vertailu.
- Seitsemän tasoa viisinumeroisesta yksitoistanumeroiseen neljällä kortilla — vaatimukset, mittarit, tiimin muoto ja ajattelutapa. Näkyvää tekstiä, jonka työtila voi kirjoittaa omakseen; rajat pysyvät samoina jokaisessa työtilassa, jotta vertailu vertaa samaa asteikkoa.
- Taso luetaan kaupoista ja kassasta: 12 kuukauden liikevaihto, palautukset vähennettyinä. Sitä ei syötetä. Ilman yhtään kauppaa tikapuut sanovat «ei mitattu» eivätkä «nolla».
- Etäisyys seuraavaan tasoon palkkina ja euroina. Palkki on logaritminen, koska tasot ovat kymmenkertaisia — 250 k on kuusinumeroisen tasolla 40 % matkasta, ei 17 %.
- Kolme aukkoa seuraavalle tasolle: rakenne, tiimi ja mittari — esimerkiksi «Klousausaste 14 % vs. tason mediaani 25 %». Alle 20 mittaririvin luku ei ole aukko vaan mittaamaton, sama raja kuin suppilon pullonkaulalla.
- Vaatimuskortin jokainen rivi näyttää faktan vieressään: «3 / 10» ja merkin onko se meillä. Rivi jota ei voi mitata tästä sovelluksesta — pääoma, johtoryhmä — saa viivan, ei punaista rastia.
- Blueprint: lähtötaso, maalitaso ja aika → vaiheet, rakenteet, rekrytarve, kassatarve ja käyrä. Aika säädetään samalla aikaskaalaimella kuin käyrät, ja kohdat joihin aika ei riitä ovat punaisella perusteluineen.
- Jokaisella tasohypyllä on fyysinen minimiaika perusteluineen: toistettava liidilähde todistetaan neljännesvuodella, manageritaso vuodella. Rekrytarve lasketaan rekrykäyrän minimiajoista — palkattu tuottaa aikaisintaan 59 päivän päästä ilmoituksesta.
- Reversointi: maalitason yhtiöllä on nämä rakenteet → nämä meillä jo on → nämä puuttuvat, alimman tason rakenteesta alkaen.
- «Luo käyrä» tekee blueprintistä tavallisen käyrän: virstanpylväät ovat tasohyppyjä, toteuma on liukuva 12 kuukauden liikevaihto, ja poikkeama ja sotakartta toimivat sellaisenaan. Toista käyräkoneistoa ei tehty.
- Vertailu: kaksi työtilaa, kaksi tasoa tai työtila tason rinnalla — samat rivit, erot korostettuna. Mittaamaton rivi ei häviä eikä voita.
- Liikevaihto näkyy vain palkkioita lukevalle tasolle. Valmentaja näkee tason, aukot ja kortit ilman euroja.
- Tilannekuva otetaan itsestään kerran päivässä, ja kanta laskee sen sisällön — käsin lähetetty liikevaihto katoaa. Historia näkyy tasosivulla.
- «Tänään»-näytön tasokortti näyttää nykyisen tason, seuraavan ja aukkojen määrän. Kortti piiloutuu kun tasoa ei voi laskea.
- Ajuri level.snapshot on rekisterissä ja pois päältä, kuten kaikki muutkin.
- Kierros 21Vaihe 21
Käyrät, aikaskaalain, poikkeama ja sotakartta
- Uusi osoite /app/$ws/curves. Jokainen suunnitelma on käyrä: alku, horisontti, muoto ja virstanpylväät.
- Yksitoista käyrätyyppiä oletusmuotoineen — käyttöönotto, käyttöaste, täyttöaste, valmistautuminen, pohjustus, materiaalit, rekry, ramp, tulos, liikevaihto ja nollasta tasolle. Lineaarinen suunnitelma on väärä lähes aina, ja väärä odotusviiva tekee poikkeamaluvusta väärän.
- Aikaskaalain: liukuri, pikavalinnat 7 pv · 30 pv · 90 pv · 12 kk ja vapaa syöttö. Virstanpylvään sijainti on 0…1 ja päivä lasketaan siitä, joten liukuria voi liikuttaa edestakaisin ilman että suunnitelma kuluu pyöristysvirheeseen.
- Sama venytyskaava kuin rampilla vaiheessa 15 — yleistettynä, ei toisintona. Testi todistaa että luvut täsmäävät päivä päivältä.
- Tavoiteluvut venyvät valitulla säännöllä: raha lineaarisesti, oppiminen neliöjuurella, «kaksi palkattua» ei lainkaan. Kaikki ei skaalaudu samalla tavalla, eikä sitä kannata teeskennellä.
- FYYSISET MINIMIAJAT: virstanpylväällä voi olla päivämäärä jonka alle ei pääse rahalla eikä tahdolla. Kun horisonttia kiristetään sen ohi, kohta on punainen ja perustelu on rivillä auki kirjoitettuna. Sovellus ei teeskentele että vuoden työ mahtuu viikkoon — se näyttää minkä kohdan kiristys rikkoo.
- Liukuri kertoo lyhimmän rehellisen horisontin mutta ei estä menemästä sen alle: joskus suunnitelma on pakko kiristää ja katsoa mitä siitä seuraa.
- Toteuma luetaan mittareista, kaupoista, kassasta, materiaaleista, työkirjoista tai etenemisestä — käyrä ei ole toinen syöttöpaikka samoille luvuille. Kanta ylikirjoittaa toteuman, vaikka sen yrittäisi lähettää käsin.
- Poikkeama kahtena lukuna: «6 pv jäljessä» ja «12 % edellä». Mittaamaton ei ole nolla eikä punainen — käyrä jota ei ole mitattu ei ole jäljessä.
- Uudelleensuuntaus: pidä maali ja siirrä horisonttia, tai pidä horisontti ja laske maalia. Molemmat numeroineen, ja kolmas vaihtoehto — olla tekemättä mitään — sanotaan ääneen.
- Sotakartta: 52 viikkoa vaakatasossa, käyrät nauhoina ja virstanpylväät pisteinä. Usean työtilan nauhat samalle kalenterille, koska sisarfirmat kilpailevat samoista viikoista.
- «Luo käyrät suunnitelmista» lukee avoimet roolit, käynnissä olevat rampit ja 90 päivän suunnitelman ja tekee niistä käyrät minimiaikoineen. Nappia voi painaa kahdesti.
- «Pohjusta koko firma» -liukuhihnan viimeinen askel tekee nyt sekä 90 päivän suunnitelman että sen käyrän. Neljättätoista askelta ei tullut.
- Työtilan kloonaus vie käyrät suunnitelmina, alkupäivä tähän päivään siirrettynä. Mittauspisteet jäävät: toisen firman toteuma väittäisi uuden työtilan olevan valmiiksi jäljessä.
- «Tänään»-näytön uusi käyräkortti näyttää pahiten jäljessä olevan käyrän päivinä ja montako kohtaa on nykyisellä horisontilla mahdotonta.
- Ajuri curve.drift on rekisterissä ja pois päältä, kuten kaikki muutkin.
- Kierros 20Vaihe 20
Kirjasto: kurssipuu, kaksikymmentä työkirjaa, eteneminen ja paikallinen tuonti
- Uusi osoite /app/$ws/library. Kolme näkymää: kurssipuu, työkirjat ja tuonti. Kurssipuu ja työkirjat näkyvät jokaiselle jäsenelle — opiskelu on kaikkien työtä.
- Kurssipuussa on kolme saraketta samassa ruudussa: vasemmalla mistä asia löytyy, keskellä mitä katsotaan, oikealla mitä siitä kirjoitetaan omaksi. Kurssin katsominen ja sen soveltaminen omaan firmaan ovat sama teko.
- Kahdeksan ohjelman runko moduuleineen: Outbound Sales Secrets, Unlimited Leads, NEPQ, Sales Team Whisperer, High Ticket Sales System, Ultra High Ticket Closing, Hunter Gatherer ja SalesProcess.io. Nimet ovat viitteitä, eivät sisältöä.
- Kaksikymmentä työkirjaa kenttämäärittelyineen: tarjous, uskomusportaat, puhelun avaus, kaksi syntaksia, vastaväitekartta, seuranta, päivän rakenne, 30 päivän ramp, tenttipankki, perustan tekstit, odotusarvo, taitoauditointi, rekry-ilmoitus, NEPQ-vaiheet, sitoutumisportaat, liidilista, VSL-runko, viestiskriptit, välityksen prosessi ja työkalupino.
- Jokaisessa kentässä on vihje ja esimerkki, molemmat kentän alla ja molemmilla kielillä. Esimerkkiä ei esitäytetä: esitäytetty esimerkki jää kentäksi jota kukaan ei lue.
- Täyttöaste lasketaan kannassa pakollisista kentistä ja rullaa työtilan valmiusasteeseen. Tyhjä ei ole vastaus — välilyönti, tyhjä lista ja taulukko jossa on pelkkiä tyhjiä soluja ovat tyhjiä — mutta nolla on mittaustulos.
- Hyväksytty työkirja on jäädytetty. Vajaata ei hyväksytä, ja avaaminen uudelleen on oma tekonsa jonka tekee hyväksyjä.
- Paikallinen tuonti: npm run import:library lukee kansiopuun omalta koneeltasi ja kirjoittaa kirjastoon vain nimen, tyypin, keston ja polun. Sama juuri toisen kerran päivittää samat rivit eikä luo uusia.
- Tekijänoikeus on kannassa eikä ohjeessa: taulussa ei ole saraketta johon kurssin tekstin voisi laittaa, tuonnin tila on yksiarvoinen «vain rakenne», ja manifesti hylätään jos siinä on kielletty avain tai yli 512 merkin merkkijono.
- «Avaa paikallisesti» kopioi tiedoston polun. Selain ei saa avata tiedostoa levyltä, ja juuri se on syy siihen että kurssit pysyvät omalla koneellasi — nappi kertoo mitä se tekee sen sijaan että lupaisi mitä se ei voi tehdä.
- Eteneminen: kuka on katsonut mitä. Rastin tekee jokainen itse, ja ensimmäinen leima jää voimaan. Eteneminen ei ole mittari eikä valu komissioon.
- Työkirjan voi liittää oppituntiin. Kytkennän tekee ihminen, eikä tuonti koske siihen — kansiopuu ei tiedä siitä mitään.
- Työtilan kloonaus vie kurssipuun ja työkirjojen kenttämäärittelyt. Vastaukset, eteneminen ja tuontiloki jäävät: rakenne matkustaa, historia ei.
- «Tänään»-näytön uusi kirjastokortti näyttää mitä katsot seuraavaksi ja mikä työkirja on kesken.
- «Täytä Sakulla» on paikallaan mutta pois päältä. Se herää vaiheessa 23.
- Kierros 19Vaihe 19
Materiaalikone: pohjakirjasto, generaattori, roolitagit, laatuportti, hyväksyntäjono ja «Pohjusta koko firma»
- Uusi osoite /app/$ws/materials. Neljä näkymää: minun materiaalini, pohjakirjasto, hyväksyntäjono ja pohjustus. Ensimmäinen näkyy jokaiselle jäsenelle — lukeminen on kaikkien työtä.
- Kaksikymmentäyhdeksän pohjaa omin sanoin ja molemmilla kielillä: skriptit, vastaväitekortti, ilmoitukset, tuloskortti, haastattelurunko, taitotesti, perehdytys, ramp, esitykset, VSL, myyntikirje, sähköpostit, viestisarja, toimintaohjeet, koulutus, battlecard, FAQ, asiakastarina, sopimus, raportti ja 90 päivän suunnitelma. Jokaisessa on lähdeviite.
- Generaattori täyttää pohjan muuttujista: työtilan nimi ja päiväys tiedetään, tarjous ja persoona luetaan perustasta, ja lomake kysyy vain sen mitä ei jo tiedetä. Esikatselu on sama teksti kuin tallennettava, ja puuttuva arvo näkyy hakasuluissa.
- Muuttujarekisteri sai kymmenen uutta tunnusta — firma, päiväys, rooli, palkkiomalli, aloitus, kanava, kilpailija, asiakas, mittari ja määrä. Rekisteri on yhä yksi ja sama kuin skriptikoneessa.
- Roolitagit: materiaalilla on vastaanottaja (closer, setter, SDR, johto, valmentaja, rekrytoija, uusi tulokas, asiakas), ja repin näkymä suodattuu kannassa hänen tageillaan. Hän näkee kolme asiaa eikä kolmeasataa. Tagiton materiaali näkyy kaikille.
- Laatuportti on lista joka värittyy, ei virheilmoitus: muuttujat korvattu, tarkistuslistan pakolliset rastitettu, pituus rajoissa, molemmat kielet jos materiaali on julkinen, lähdeviite merkitty. Harmaa rivi tarkoittaa «ei koske tätä» — se ei ole sama kuin «ei tehty».
- Puhuttu pituus lasketaan samalla säännöllä kannassa ja koodissa: 150 sanaa minuutissa ja viidentoista prosentin liukuma. Kantasarja vertaa lukuja, jotta näytön vihreä rivi ei voi tarkoittaa kannassa punaista.
- Viisi tarkistuslistaa: myyntikirje, VSL ja suppilo luetaan perustan listoista sellaisinaan, ja ulossoiton prospektointi sekä asiakastarina ovat uusia. Valmistuminen lasketaan kannassa pakollisista kohdista, ei käyttöliittymässä.
- Hyväksyntäjono luonnos → arvio → hyväksytty → julkaistu. Tila vaihtuu vain funktion kautta, joka tarkistaa kyvyn ja kirjaa leiman; palautus vaatii perustelun ja ilmoittaa kirjoittajalle. Julkaistu materiaali on jäädytetty: siitä tehdään uusi versio tai se arkistoidaan.
- «Pohjusta koko firma» ajaa kolmetoista askelta olemassa olevilla moottoreilla: pohjakirjasto, tarjous, persoona, skriptit, vastaväitteet, suppilo, mittarit ja tavoitteet, kaksi roolia, haastattelurungot, taitotestit, ramp-malli, komissiomalli ja 90 päivän suunnitelma.
- Ajo näkyy askel askeleelta ja sen voi keskeyttää. Keskeytys ei peru tehtyä työtä, kaatunut askel ei pysäytä muita, ja toisto ei kahdenna: jokainen askel tarkistaa ensin mitä on jo olemassa.
- Työtilan kloonaus täydentyi: kopio saa pohjat, tarkistuslistat, materiaalit, skriptit vaiheineen, vastaväitteet vastauksineen, suppilot vaiheineen, kanavineen ja sarjoineen sekä ramp-mallit — kaikki luonnoksina. Ihmiset, kaupat, luvut, ehdokkaat, asiakkaat ja penkki eivät kopioidu.
- «Tänään»-näytön uusi materiaalikortti näyttää kaksi lukua: sinulle julkaistua ja hyväksyntää odottavaa. Sama jono kahdesta suunnasta katsottuna.
- Kierros 18Vaihe 18
Välitystoimisto: asiakasputki, penkki, matchaus perusteluineen, sijoitukset ja 90 päivän takuu
- Uusi osoite /app/$ws/agency. Viisi näkymää välittäjälle: asiakasputki, penkki, matchaus, sijoitukset ja raportit — ja asiakkaan omassa työtilassa sama osoite on asiakkaan oma dashboard.
- Asiakasputki prospektista päättyneeseen. Kortin nappi «Luo asiakkaalle työtila» tekee asiakkaalle oman työtilan ja kutsulinkin yhteyshenkilölle asiakasroolilla. Asiakas näkee vain oman asiakkuutensa — ja kantasarja mittaa sen.
- Asiakkaan pyyntö kertoo mitä tarvitaan: rooli, määrä, määräaika, toimiala, kielet, aikavyöhyke, keskikauppa ja budjetti. Pyynnöstä syntyy yhdellä napilla rooli asiakkaan työtilaan tuloskortteineen ja seulontakysymyksineen — samalla rekrymoottorilla kuin omassa tiimissä.
- Penkki: jokainen kortti näyttää roolin, saatavuuden, hintapyynnön, sertifioinnin, taitotestin, QA-keskiarvon, puhelunäytteen ja tagit. Näyttöä ei kirjoiteta käsin, vaan se luetaan ehdokkaasta ja tiimin jäsenestä. Keskeneräinen kortti kertoo mitä puuttuu.
- Matchaus antaa viisi ehdokasta järjestyksessä, ja jokaisella on «miksi» seitsemällä rivillä: rooli, toimiala, keskikauppa, kieli, aikavyöhyke, saatavuus ja hinta. Vaatimus jota pyyntö ei aseta ei anna ilmaisia pisteitä, eikä puuttuva tieto ole nolla.
- Asiakas hyväksyy tai hylkää ehdokkaan omassa näkymässään. Hylkäys vaatii syyn ja perustelun, ja syy painottaa seuraavaa matchausta: kun asiakas hylkää hinnan takia, hinta painaa seuraavalla kerralla enemmän. Hylätty ehdokas ei palaa samaan pyyntöön.
- Sijoitukselle voi valita viidestä hinnoittelumallista: kiinteä palkkio, prosentti vuosiansiosta, kuukausimaksu, osuus kassasta tai hybridi. Osuus kassasta käyttää palkkiomallin porrassääntöä, ja jos kassaa ei ole mitattu, osuutta ei arvata.
- Takuu on oletuksena 90 päivää, ja mittari näyttää muistutuspäivän 75. Jos sijoitus päättyy takuuaikana, korvaava sijoitus on maksuton ja edeltäjä merkitään korvatuksi. Päättynyt sijoitus on jäädytetty, koska takuun ratkaisu nojaa siihen.
- Asiakasdashboard näyttää seuraavan askeleen, ehdotukset päätösnappeineen, sijoitetut ihmiset lukuineen (demot, kaupat, kassa, perehdytys, QA) sekä takuun tilan. Kirjaamaton luku on viiva eikä nolla.
- Kuukausiraportti on jäädytetty kuva, jonka voi jakaa linkillä /report/$token. Linkki vanhenee ja sen voi perua, eikä jaettua raporttia voi enää muuttaa. Sama linkki näkyy vastaanottajan kielellä.
- ROI-laskuri laskee spec 22.7:n esimerkin sellaisenaan: 12 demoa viikossa, 25 % close ja 8 000 € keskikauppa → 104 000 € kuukaudessa. Laskuri käyttää perustan odotusarvomallia ja asiakkaan omia lukuja, kun ne on mitattu, ja laskelman voi jakaa linkillä.
- Takuumuistutus (guarantee.75), raportin lähetys (report.send) ja kuukausiluonnos (client.report) ovat ajureita ja oletuksena pois. Takuumuistutus lähtee portin kautta kerran per sijoitus, kun ajuri kytketään päälle.
- «Tänään»-näytön uusi välityskortti näyttää välittäjälle päätöstä odottavat ehdotukset, aktiiviset sijoitukset ja huomiota vaativat takuut. Asiakkaan työtilassa kortti näyttää asiakkaan omat seuraavat askeleet.
- Kierros 17Vaihe 17
Palkkiot: komissiotaulu, versioidut palkkiomallit, kassavirta 90 pv ja repin oma laskelma
- Uusi osoite /app/$ws/comp. Neljä näkymää: oma laskelma jokaiselle myyjälle, komissiotaulu, palkkiomallit ja kassa ennusteineen myyntipäällikölle.
- Oma laskelma rivi riviltä: jokainen kauppa näyttää peruste × osuus = provisio, porras kertoo mistä osuus tuli ja paljonko seuraavaan portaaseen puuttuu, ja saavuttamaton bonus sanoo paljonko jäi vajaaksi. Laskelma päivittyy heti kun rep kirjaa kaupan.
- Rep näkee myös sen mitä tauluun on kirjattu ja missä tilassa se on. Jos kirjattu ja nyt laskettu eroavat, ero sanotaan ääneen — rep huomaa sen ensimmäisenä.
- Komissiotaulu on Kozminin taulukko sellaisenaan: rep, kuukausi, valuutta, asiakas, SDR, lähde, provisio-%, kaupan arvo, kuussa kerätty kassa, provisio, kurssi. «Laske kuukausi» laskee rivit kaupoista; käsin voi lisätä rivin jota kaava ei kata.
- Tila kulkee pending → hyväksytty → maksettu, ja hyväksyntä vaatii pääkäyttäjän. Hyväksyjä ja ajat tulevat kannasta, rep saa ilmoituksen, eikä hyväksyttyä riviä voi enää muuttaa — uudelleenlaskenta ohittaa sen.
- Palkkiomalli: kiinteä pohja, peruste (kerätty kassa tai kaupan arvo), portaat, bonukset mittarirekisterin mittareista ja takaisinperintä palautuksille. Porras koskee koko kuukautta, ei vain ylittävää osaa.
- Mallit ovat versioituja. Uusi versio alkaa päivästä, ja kuukausi laskee sillä mallilla joka oli voimassa sen ensimmäisenä päivänä. Malli jolla on hyväksyttyjä rivejä on jäädytetty kannassa.
- Kolme pohjaa — closer, setter ja SDR — lähdeviitteineen. Pohja on lähtökohta, ja se sanotaan lomakkeessa.
- Kassavirta 90 päivää kaupoista ja kassariveistä: tulo, kulut, palautukset ja kumulatiivinen netto. Kaupan raha kirjataan kauppaan; kassarivi on kuluille ja muulle rahalle, eikä kanta päästä samaa euroa kahteen paikkaan.
- Ennuste: kerätty, sitoutunut (myyty mutta maksamatta), todennäköinen sovituista demoista — ja tarvittava aktiviteetti: «Tarvitset 38 pidettyä demoa lisää tässä kuussa», sekä montako demoa pitää sopia paikallaoloasteella. Jos kassaa per pidetty demo ei ole mitattu, luku on viiva eikä arvaus.
- Kauppaan voi merkitä kuka asetti tapaamisen. Setteri ja SDR saavat siitä oman rivinsä, ja he näkevät asettamansa kaupan komissiorivin — eivät muiden.
- Kytkennät: roolin komissiovihjeen alla on nyt linkki voimassa olevaan malliin, ja tarjouksen provisioehdon voi täyttää mallista yhdellä napilla. Kumpikaan teksti ei kadonnut.
- «Tänään»-näytön uusi palkkiokortti: odottavat rivit, kuun hyväksytyt ja 90 päivän netto myyntipäällikölle, oma kuukausi repille.
- Kierros 16Vaihe 16
Valmennus: stoplight, valmiiksi täytetty 1:1, tulostaulu, PIP ja kapasiteettilaskuri
- Uusi osoite /app/$ws/team. Stoplight antaa jokaiselle myyjälle värin kolmesta valittavasta mittarista suhteessa tavoitteeseen, ja väri järjestää 1:1-jonon: punainen ensin, harmaa — ei mitattu — viimeisenä. Väri ei ole rangaistus vaan järjestyskriteeri.
- Liikennevaloja on yksi. Rajat ovat nyt spec 20.1:n mukaiset kaikkialla — vihreä vähintään 90 %, keltainen 70–89 %, punainen alle 70 % — myös mittarisivun tiimitaulussa, joka aiemmin vaati sadan vihreään. Manageri katsoo molempia sivuja, ja sama luku on nyt samanvärinen molemmilla.
- Jakson tavoite johdetaan olemassa olevasta päivä- tai kuukausitavoitteesta työpäivien suhteessa. Viikkotavoitetta ei lisätty kantaan: kaksi tavoitetta samalle asialle eroaisivat.
- 1:1 avautuu valmiiksi täytettynä: repin luvut kahdelta jaksolta trendinuolineen, viimeisin QA-kortti ja sen yksi korjaus, hänen omat illan vastauksensa ja edellisen kerran avoimet toimenpiteet. Uutta dataa ei kerätä yhtään — kaikki neljä olivat jo olemassa vaiheista 9, 10 ja 11.
- Esitys jäädytetään 1:1-riville tallennuksessa. Kuukauden vaihtuminen ei muuta sitä mihin keskustelu perustui, ja raja on kannassa: päivitys palauttaa esityksen ennalleen.
- Toimenpiteillä on omistaja ja määräpäivä. Rep merkitsee omansa tehdyiksi omalla sivullaan, mutta ei voi muuttaa tekstiä, omistajaa eikä päivää — vartija palauttaa ne, kuten perehdytyksen rampissa.
- Tulostaulu: mittari, jakso (päivä, viikko, kuukausi) ja tiimi. Nousijat ovat oma lista kärjen vieressä — suurin parannus edelliseen jaksoon — koska pelkkä kärki demotivoi keskikentän. Nousija on järjestys eikä uusi luku.
- PIP ehdotetaan, ei aloiteta. Kun rep on ollut kaksi täyttä viikkoa punaisella samalla mittarilla, rivillä lukee ehdotus; suunnitelman avaa myyntipäällikkö, ja sillä on syy, 2–3 mitattavaa tavoitetta mittarirekisteristä, kesto, väliarviot ja lopputulos perusteluineen. Väliarviota ei voi muuttaa jälkikäteen eikä suljettua suunnitelmaa avata.
- Rep näkee oman värinsä samoilla mittareilla, omat avoimet toimenpiteensä ja oman kehityssuunnitelmansa. Toisten lukuja hän ei näe.
- Kapasiteettilaskuri sitoo myyntikoneen ja rekrykoneen yhteen: tiimin tavoite, mitattu repin keskituotos tiimitaulusta, rampin kesto perehdytyksestä ja rekryn kesto → montako palkataan, milloin heidän on aloitettava ja milloin rekry on avattava. Tulos on nappi «Avaa 2 × Closer -rekry, aloitus viimeistään 20.10.», joka luo roolit tuloskortteineen vaiheen 12 moottorilla.
- Ilman mitattua keskituotosta laskuri ei arvaa lukua vaan sanoo mitä puuttuu. Rampin kesto luetaan viimeisimmästä perehdytyssuunnitelmasta, sitten työtilan mallista, ja vasta sitten rekisterin 30:stä — ja laskuri kertoo kumpi se oli.
- Rubriikkia voi nyt muokata puheluissa: nimi, painot ja läpäisyraja. Painojen on summauduttava sataan ennen tallennusta, ja ankkurit pysyvät rekisterin tekstinä.
- «Tänään»-näytön uusi valmennuskortti: myöhässä olevat toimenpiteet, avoimet PIP:t ja kuun 1:1:t tiimin lukijalle, omat avoimet toimenpiteet repille. Kortti on piilossa kunnes työtilassa on yksikin 1:1.
- Kierros 15Vaihe 15
Perehdytys: 30 päivän ramp, päivänäkymä ja WIN-luku
- Uusi osoite /app/$ws/onboarding on ensimmäinen näkymä joka on kirjoitettu palkatulle ihmiselle eikä ehdokkaalle. Se näyttää tämän päivän ja huomisen — ei koko kalenteria, koska kolmekymmentä päivää tekemättömiä asioita on ensimmäisenä aamuna lamaannuttava lista.
- Ylhäällä on yksi luku isona: WIN-luku, joka määrittelee onnistumisen ensimmäiset 30 päivää. Se on mittarirekisterin mittari eikä uusi laskuri, ja arvo luetaan samalla funktiolla kuin mittarisivun kuukausi.
- Mittaamaton WIN-luku näkyy viivana eikä nollana. Ilman tiliä tai kirjattuja rivejä rohkaiseva nolla olisi valhe, ja kortti sanoo miksi luku puuttuu.
- 30 päivän ramp on rekisterissä: päivä × lohko × aktiviteetti × kuvaus × vastuu, kuudessa lohkossa aamusta iltaan. Jokaisella päivällä on aamu, ilta ja vähintään kolme tekoa — testi kaatuu jos yksikin päivä jää tyhjäksi.
- Horisonttia voi venyttää 10 ja 60 päivän välillä. Ensimmäinen päivä pysyy ensimmäisenä, viimeinen viimeisenä, eikä yksikään rivi katoa — editori näyttää etukäteen mitkä päivät tiivistyvät yhteen ja mikä on raskain päivä.
- Viikkotentit päivinä 5, 10, 15 ja 20 sekä sertifiointitentti päivänä 30 ajetaan vaiheen 11 tenttikoneistolla. Perehdytykselle ei tehty omaa tenttitaulua.
- Rekryvaiheen taitotestin korjaus on ensimmäisen päivän treeni: teksti kulkee hakemukselta suunnitelmaan, eikä sitä kirjoiteta kahteen kertaan.
- Mentorinäkymä vastaa yhteen kysymykseen: kuka on millä päivällä ja kuka jäljessä. Jäljessä olevat ovat ensimmäisenä rivinä, ja rästiluku on keltainen eikä punainen.
- Rampin päivät ovat työpäiviä. Lauantai ei kuluta päivää, joten maanantaiaamuna kukaan ei ole kahta päivää jäljessä tekemättä mitään väärin. Kalenteripäivät saa silti valittua.
- Tarjous on dokumentti pohjasta: kuusi ehtoa, kaksikielinen teksti ja hakasulut niiden kohtien päällä jotka ovat täyttämättä. Lähetys aukeaa vasta kun pakolliset ehdot ovat täynnä, ja nappi kertoo mikä puuttuu.
- Julkinen osoite /offer/$token: vastaanottaja lukee tarjouksen, kirjoittaa nimensä ja voi ladata allekirjoitetun kappaleen samaan yksityiseen bucketiin kuin CV. Hylkäys vaatii syyn, ja syy menee vain tarjouksen tekijälle.
- Perehtyjä näkee oman rampinsa ilman esihenkilön oikeuksia ja merkitsee rivejä tehdyiksi — mutta ei voi kirjoittaa niiden tekstiä uusiksi jälkikäteen. Raja on kannassa, ei napissa.
- Kierros 14Vaihe 14
Tekoälyhaastattelija, suostumus ja kalibrointikortti
- Julkinen osoite /interview/$token: ehdokas käy rakenteisen haastattelun, jonka kysymykset tulevat juuri tämän roolin tuloskortista. Yksi kysymys kerrallaan, ei lomaketta.
- Ennen ensimmäistä kysymystä on suostumusnäyttö, joka sanoo neljä asiaa omilla riveillään: vastapuoli on tietokone, vastaukset tallennetaan, kuka ne näkee, ja ettei kone päätä. Ilman rastia haastattelua ei ole olemassa.
- Kone kysyy vain sitä mihin tuloskortissa on ankkuri: kysymyksen tunnus on kriteerin tunnus, ja kanta hylkää rivin jos ne eroavat.
- Heikko vastaus saa yhden tarkennuksen, vahva ei jää junnaamaan — sama mitä hyvä haastattelija tekee. Tarkennus lainaa rungon «mitä kuuntelet» -kentän sanatarkasti.
- Piste lasketaan säännöillä niin kauan kuin ajuri ai.interview on pois: sanamäärä, luku, oma osuus, yleistys, «me». Yhtään riviä ei ole lähetetty mallille, ja tuloskortti sanoo sen ääneen.
- Kalibrointikortti roolinäkymässä ajaa saman rungon kolmelle tunnetulle vastaukselle ja näyttää merkit joista ero syntyy. Kortti kertoo myös mitä kone ei tee: se ei tarkista väitteen totuutta.
- Ehdokaskortin AI-laatikko täyttyy — se on ollut tyhjänä vaiheesta 13 asti. Yhteispistettä ei vieläkään lasketa: neljä lukua pysyy erillään.
- Tulossivu näyttää transkriptin, pisteet kompetensseittain ja merkit joihin jokainen luku perustuu. Suositusta ei ole, ja sivu sanoo sen suoraan.
- Mallikutsun runko rakennetaan yhdessä paikassa, se ei ota vastaan ehdokasriviä lainkaan, ja nimi, sähköposti ja puhelinnumero pestään vastauksista. Oma testi ajaa tämän läpi.
- Rivi on lisäyskirjoitteinen kuten päätöskin: sitä ei voi päivittää käsin edes superadminina. Kaikki muutokset kulkevat tokenfunktioiden kautta, ja jokainen askel jää lokiin.
- Kierros 13Vaihe 13
Taitotestit, haastattelurungot ja ehdokkaan päätöskortti
- Roolinäkymään tuli viides osoite «Testit ja haastattelut»: viisi taitotestiä ja neljä haastattelurunkoa, joiden kysymykset johdetaan juuri tämän roolin tuloskortista.
- Jokainen haastattelukysymys on neljä kenttää — kysymys, mitä kuuntelet, hyvä vastaus, punainen lippu. Kolmen kentän kysymys ei tallennu: kanta tarkistaa jokaisen.
- Kysymykset syntyvät tuloskortista: kompetensseista taito- ja seulontahaastattelu, kulttuuririveistä kulttuurihaastattelu, tuloksista loppuhaastattelu. Kompetenssin todiste on valmis vastaus kysymykseen «mitä kuuntelet».
- Julkinen taitotesti /test/$token: ohjeet luetaan rauhassa, kello käynnistyy vasta «Aloita»-napista, ja nauhoitus tallentuu heti kun se pysähtyy — ei vasta palautuksessa.
- Aika ei katkaise testiä. Armonaika näkyy kellossa, ja sen jälkeenkin vastaus otetaan vastaan ja merkitään myöhäiseksi — myöhästyminen on tieto, ei hylkäysperuste.
- Ensimmäinen tallennusbucket on yksityinen, ja siihen kirjoitetaan vain kahden salaisen tokenin alle: käynnissä olevan testin kansioon ja hakemuksen tunnin CV-ikkunaan. Lukeminen vaatii ehdokastiedon oikeuden.
- CV:n voi nyt ladata tiedostona hakulomakkeella. Tiedosto lähtee vasta kun hakemus on perillä, joten epäonnistunut lataus ei kaada hakemusta.
- Taitotesti arvioidaan samalla kortilla kuin puhelu: samat ankkurit, sama laskenta, kaksi vahvuutta ja yksi korjaus. Toista pisteytintä ei rakennettu, eikä ehdokas näe kriteerejä.
- Haastattelu pisteytetään kompetensseittain, ja kysymykset ja kriteerit tallentuvat haastatteluhetken muodossa. Tuloskortin myöhempi muutos ei siirrä maalitolppia jälkikäteen.
- Ehdokaskortti näyttää neljä lukua erillään — seulonta, testi, haastattelut ja AI-arvio — eikä laske niistä yhteispistettä. AI-laatikko on tyhjä ja kertoo miksi: tekoälyhaastattelija tulee vaiheessa 14.
- Päätös on kyllä, ei tai ehkä ja pakollinen perustelu. Rivi säilyttää näytön päätöshetkellä, mielenmuutos on uusi rivi, ja kalibrointinäkymä kertoo seuraavatko päätökset haastattelujen näyttöä.
- Kierros 12Vaihe 12
Rekrymoottori — roolit, tuloskortit, ilmoitukset ja julkinen hakulomake
- Rekry avautui: roolilista, roolinäkymä neljänä osoitteena, suppilo ja vaiheiden SLA. Uusi rooli syntyy kolmesta ovesta — pohjasta, Sakulla tai tyhjästä — ja pohjia on kaksitoista closerista assistenttiin.
- Tuloskortin tulokset osoittavat mittarirekisteriin, ja kanta tarkistaa jokaisen avaimen: tuntematon avain kaataa tallennuksen. Sama luku seuraa hakemuksesta rampiin ja tulostauluun — tämä on koko sovelluksen selkäranka.
- Kytkemätön tulos on kelvollinen ja sanotaan ääneen. Media buyerin liidin hinta ei ole myyjän kirjaama luku, joten se jää vapaaksi tekstiksi ja lukee «luetaan käsin» — tekaistu avain näyttäisi kytketyltä eikä seuraisi mihinkään.
- Ilmoitusgeneraattori kirjoittaa Kozminin rungon kummallakin kielellä, ja vieressä on tarkistuslista: onko luku näkyvissä, tuleeko hyöty ennen vaatimuksia, onko yksi hakuohje. Yli 450 sanaa on varoitus, ei este.
- Generaattori ei keksi lukua jota sille ei ole annettu. Ilman OTE:a otsikko on roolin nimi, ja tarkistuslista kertoo että luku puuttuu.
- Julkinen hakulomake /apply/$token: kaksikielinen, mobiilissa yksi sarake, GDPR-suostumus kasvatettuna tekstinä. Kopiosuoja ei ole päällä — hakija kirjoittaa omaa tekstiään.
- Väärä token, vanhentunut token ja arkistoitu ilmoitus antavat saman vastauksen, jottei token-arvailu erota tapauksia. Sivu ei koske yhteenkään tauluun: luku ja lähetys kulkevat kahden palvelinfunktion kautta.
- Sääntöpiste lasketaan kannassa eikä selaimessa, koska hakemus syntyy ilman kirjautumista. Vastaamaton painollinen kysymys jätetään pois ja painot normalisoidaan; ilman yhtäkään vastausta piste on tyhjä eikä nolla.
- Sakun arvio on oma sarakkeensa ja oma rivinsä kortissa — se ei sekoitu sääntöpisteeseen. Ajuri on rekisterissä ja pois päältä, joten luku on toistaiseksi tyhjä ja kortti sanoo sen.
- Automaattinen hylkäys on oletuksena pois. Päällä ollessaan se kirjaa syyn riville ja valvontalokiin ja lähettää roolin omistajalle ilmoituksen; hakijalle sitä ei kerrota, koska ihminen vahvistaa ensin.
- Vaiheiden SLA on tunteja yhdessä vaiheessa, ja ylitys lasketaan lukuhetkellä eikä kirjoiteta riviksi. Ylitys näkyy punaisena suppilossa ja «Tänään»-näytön rekrykortissa.
- Kierros 11Vaihe 11
Puhelut — QA-kortit, tentti ja sertifiointi
- Puhelut avautui: lista suodattimin, kirjaus kuudella kentällä, arviointikortti, rubriikit, tentti ja sertifioinnit. Jokainen on oma osoitteensa, joten valmentaja lähettää repille linkin juuri siihen korttiin josta puhutaan.
- Kolme rubriikkia — setteri, closer ja kartoitus — ja jokaisella kriteerillä kolme ankkuria: mitä ykkönen kuulostaa, mitä kolmonen, mitä vitonen. Ankkuri näkyy liukurin alla aina, ei vasta avattuna, ja rubriikki näkyy myös arvioitavalle.
- Arviointikortissa on kaksi vahvuutta ja yksi korjaus — kenttiä on kolme eikä neljä. Nappi kertoo kumpi puuttuu, ja sama raja on kannassa asti. Korjaus ilmestyy repin «Tänään»-näyttöön huomisen treeniksi.
- Piste lasketaan kannassa rubriikin painoista, ja kortti näyttää saman luvun esikatseluna liukuria liikutettaessa. Arvioimaton kriteeri ei ole ykkönen: se jätetään pois ja painot normalisoidaan, ja puolivalmis kortti ei tallennu.
- Valmiusluvun neljäs osa laskee nyt oikeaa ikää: viikon vanha QA-kortti on tuore, kahden viikon puolikas, sen yli vanha. Ilman korttia osa jätetään yhä pois eikä lasketa nollaksi.
- Illan 0/0/0 saa ehdotuksen puheluista: kesken olevat tämän päivän puhelut näkyvät nappina kentän vieressä. Ehdotus ei kirjoita lukua itsestään — kirjaamatta jäänyttä puhelua ei ole kannassa, ja sen tietää vain se joka soitti.
- Kirjattu puhelu tuottaa mittariluvut lukuhetkellä — puheluita kalenterissa, kartoituksia ja esittelyjä — kuten kauppa. Mittaririviä ei kirjoiteta, ja illan lomake näyttää johdetun osuuden kentän alla, jottei samaa lukua kirjata kahdesti.
- Vastaväitteiden live-haku on nyt myös arviointikortin vieressä, ja täältä tehty merkintä kiinnittyy puheluun. Sama komponentti kuin kirjastossa — sitä ei rakennettu kahdesti.
- Tentti luodaan työtilan perustasta: kysymykset ovat Kozminin runko, mallivastaukset tämän firman tarjous, persoona ja suppilo. Ilman tarjousta ja persoonaa tenttiä ei voi luoda. Valinnat pisteytyvät kannassa, avoimet lukee ihminen.
- Sertifiointipolku green → ajettu sisään → sertifioitu → seniori. Ehdot ovat lukuja ja näkyvät ennen myöntämistä; kanta tarkistaa ne uudelleen. Pääkäyttäjä voi ohittaa ehdot, mutta vain kirjoitetulla perustelulla, ja ohitus näkyy merkissä.
- Kierros 10Vaihe 10
Mittarit — 28 lukua, kuukausiruudukko ja tiimitaulu
- Mittarit avautui: oma kuukausi, kuukausiruudukko, kaupat, tiimitaulu, yhteenveto, vertailu ja tavoitteet. Jokainen on oma osoitteensa, joten tiimitaulun linkin voi lähettää 1:1-keskusteluun sellaisenaan.
- Kahdeksantoista kirjattavaa mittaria ja kymmenen johdettua, molemmilla kielillä ja lähdeviitteineen. Jokaisen kentän alla lukee mitä siihen kuuluu — «esittelyissä paikalla» ei ole sama asia kuin «esittelyjä kalenterissa», ja ero ratkaisee päättöasteen.
- Illan lomake on kahdeksan kenttää ja se on «Päätä päivä» -osion yläpuolella. Iltaa ei rakennettu kahdesti: sama lomake näkyy myös mittarisivulla.
- Kuukausiruudukko toimii kuten taulukko-ohjelma: nuolet liikkuvat, Enter menee alas, Tab oikealle, ja leikepöydältä liitetty alue täyttyy siitä solusta jossa kursori on. Tyhjennetty solu poistaa luvun eikä kirjoita nollaa.
- Kauppa kirjataan kerran, ja myynti, kassa, palautukset, kaupat ja käsirahat päivittyvät itsestään. Korjattu kauppa korjaa myös luvut, koska mittaririvejä ei kirjoiteta kauppojen rinnalle.
- Summat ja kaikki johdetut kaavat lasketaan kannassa. Tiimin luku on siksi sama riippumatta siitä kuka sen avaa — eikä yhdenkään repin selain näe muiden rivejä laskeakseen sitä.
- Tiimitaulussa on rivi per ihminen, valittavat sarakkeet, järjestys minkä tahansa mukaan ja liikennevalot tavoitteista. Kirjaamatta jättänyt on aina listan lopussa: tyhjä ei ole paras eikä huonoin tulos.
- Puuttuva luku näyttää puuttuvalta. Mittaamaton on viiva, tavoitteeton valo on harmaa rengas, ja nimittäjän nolla tekee asteesta tyhjän — «0 % paikallaolo» kolmesta kirjaamattomasta päivästä olisi väärä hälytys.
- Vienti CSV:nä ja Excel-yhteensopivana CSV:nä kulkee ajurin läpi: se on oletuksena pois, painallus kirjautuu myös estettynä, ja teksti kertoo mistä sen kytkee.
- Suppilon vaiheet kytkeytyivät mittareihin: kytketyn vaiheen luvun saa haettua kuukauden mittareista yhdellä painalluksella, ja kytkemätön avain jää vapaaksi tekstiksi.
- Kierros 9Vaihe 9
Päivä — aamu, keskipäivä, ilta ja 0/0/0
- Päivänäkymä avautui: aamu, keskipäivä ja ilta yhtenä pystysuorana listana. Iso fontti, isot rastit, ei välilehtiä — lista luetaan kesken työpäivän, ja välilehti on silloin paikka jonne tehtävä katoaa.
- Aikaraita yläreunassa kertoo missä lohkossa ollaan ja montako tehtävää kustakin on tehty. Mennyt lohko on haalea eikä punainen: rastittamaton aamutehtävä iltapäivällä on tavallinen.
- Valmis päivärytmi neljälle roolille — closer, setter, SDR ja myyntipäällikkö. Jokaisella tehtävällä on perustelu, joka näkyy aina eikä vasta avattuna.
- Myyjärooleilla aamussa kymmenen toiston laskuri. Laskuri kasvaa yhdellä painalluksella: jälkikäteen kirjoitettu kymppi on arvaus.
- Rasti tallentuu heti. Päivälistassa ei ole Tallenna-nappia.
- «Päätä päivä»: 0/0/0 — vastaamattomat viestit, merkitsemättömät puhelut ja huomiset ilman suunnitelmaa — sekä kaksi pakollista kysymystä: «Missä onnistuit tänään? Miksi?» ja «Missä kompuroit? Mikä esti?»
- Kun kysymys puuttuu, nappi kertoo kumpi. Sama raja on myös kannassa, joten tyhjää vastausta ei saa sisään mitään muutakaan reittiä.
- Päätetty päivä näyttää huomisen ensimmäisen tehtävän. Kenttä on esitäytetty roolin ensimmäisellä aamutehtävällä, koska tyhjä kenttä illalla jää tyhjäksi.
- Valmiusluku 0–100: rastit, toistot, eilinen 0/0/0 ja QA-kortin tuoreus. Puuttuva osa ei ole nolla — QA-kortit tulevat vaiheessa 11, ja siihen asti osa jätetään pois ja muut painot skaalataan sataan. Kortti kertoo mitkä osat laskettiin.
- Edelliset päivät sivupalkissa: päivämäärä, 0/0/0 ja valmiusluku.
- Päiväloki on oma: kukaan ei kirjoita toisen päivää, ei edes omistaja. Manageri näkee sen 1:1-valmistelua varten.
- Päivärytmin muokkaus omalla sivullaan: nimi, perustelu, toistotavoite ja pois käytöstä. Pois otettu tehtävä jää historiaan, jotta eilinen valmiusluku ei muutu takautuvasti.
- «Tänään»-näyttöön päiväkortti: tänään päätetyt ja auki olevat päivät, ja onko oma päivä päätetty.
- Kierros 8Vaihe 8
Suppilot — mallit, pullonkaula ja viestisarjat
- Suppilonäkymä avautui: yksitoista mallia — SDR-sähköposti · MDR-ryhmät · VSL · Hakemuslomake · DM (IG/LI) · Maksettu (YT/FB/TikTok) · Suosittelu · Kasvokkain.
- Suppilo pystyssä: jokaisessa vaiheessa luku, toteutunut aste ja tavoite. Palkin leveys on osuus ensimmäisestä vaiheesta.
- Punainen merkki on yhdessä vaiheessa kerrallaan. Jos kaikki alle tavoitteen olisi punaista, kuva kertoisi että kaikki on rikki — eikä kukaan korjaisi mitään.
- Suurin pudotus ei ole pullonkaula. Mainoksen klikkiaste pudottaa 99 % ja on terve; paikallaolo pudottaa 35 % ja on hälytys. Vertailu tehdään tavoitteeseen.
- «Mitä tehdä» -laatikko: syy yhtenä virkkeenä ja konkreettiset teot järjestyksessä, halvin ensin. Punainen luku kertoo mikä on rikki, ehdotus muuttaa jotain.
- Yksitoista sääntöä ja varasääntö. Paikallaolo, vastausaste, avausaste, listan laatu, kelpuutus, kalenteriin pääsy, klikkiaste, opt-in, videon katselu, suositteluopyyntö ja tarjoukseen eteneminen.
- Pieni joukko ei ole mittaus. Alle kahdenkymmenen rivin vaihe merkitään «liian vähän dataa» eikä piiloteta — puuttuva mittaus ei ole huono tulos.
- Vaiheiden muokkaus: nimi, järjestys, luku, tavoiteaste prosentteina ja mittariavain. Ensimmäisellä vaiheella ei ole tavoitekenttää lainkaan, koska sillä ei ole edeltäjää.
- Viisi valmista viestisarjaa pohjina: kylmä sähköpostisarja, muistutussarja ennen puhelua, nopea vastaus hakemukseen, DM-sarja ja suositteluopyyntö.
- Sarjan askel on päivä, viesti ja ehto. Ensimmäinen lähtee aina, seurannat vain ehdolla — «vain jos ei vastausta».
- Automaattista lähetystä ei ole: se on ajuri sequence.send ja oletuksena pois. Sarja tuottaa päivälistan «lähetä nämä N viestiä», teksti valmiina kopioitavaksi.
- Viestin teksti täyttyy perustasta samoilla {{muuttujilla}} kuin skriptit ja vastaväitteet. Tyhjä näkyy hakasuluissa ja kerrotaan nimeltä.
- Kanavat: mistä liidit tulevat. Kaksi kanavaa samassa suppilossa tarkoittaa että luvut ovat niiden summa — tavallisin syy siihen että pullonkaula näyttää olevan väärässä vaiheessa.
- «Tänään»-näyttöön suppilokortti, joka lukee tosiluvut kannasta.
- Kierros 7Vaihe 7
Vastaväitekirjasto — perheet, live-paneeli ja aukkoraportti
- Vastaväitenäkymä avautui: kymmenen perhettä — raha · puoliso · tuki · epävarmuus · aika · luottamus · prioriteetti · kilpailija · päätösvalta · muu.
- Jokaisella perheellä on kaksi kuvausta: mitä asiakas sanoo ja mistä se oikeasti tulee. Pintaväitteeseen vastaaminen on yleisin tapa hävitä kauppa jossa oltiin lähellä.
- Vastauskortilla on lähestymistapa — tahditus, uudelleenkehystys, silmukka, kysymys, tarina, riskinpoistaja, uudelleentarjous, käsiraha, viive.
- Kuusi kehystysmallia, ja jokainen kertoo myös milloin sitä EI käytetä. Malli ilman rajaa on temppu, ja tempun huomaa se jolle se tehdään.
- Live-paneeli puhelun ajaksi: kaksi sanaa, kolme vastausta, iso teksti. Ei animaatiota, ei latausta, ei vieritystä — haku tehdään muistissa.
- Haku ei arvaa. Kirjoitusvirhe antaa tyhjän tuloksen ja sanoo sen, koska väärä vastaus ääneen luettuna maksaa enemmän kuin tyhjä ruutu.
- Merkintä «tämä tuli, käytin tätä». Rivi syntyy kesken-tilassa ja saa lopputuloksen vasta kun kauppa päättyy — voittoprosentti ei liiku ennen sitä.
- Kirjasto järjestyy yleisyyden ja voittoprosentin mukaan, ei aakkosjärjestykseen. Laskurit pitää kanta, koska ne ovat summia joita yksi rep ei näe.
- Aukkoraportti managerille: vastaväitteet joilla ei ole yhtään yli 40 prosentin vastausta. Kolme eri syytä eroteltuna — ei vastausta, ei mitattu, alle rajan.
- Mittaamaton ei näytä nollalta. Yksi voitto yhdestä käytöstä ei ole sadan prosentin vastaus, ja mittari avautuu vasta kolmannesta päättyneestä kaupasta.
- Kirjasto täyttyy kahdesta lähteestä: kymmenen perhettä rekisteristä ja persoonan vastaväitteet perustasta. Perhe arvataan avainsanoista ja näytetään ennen tallennusta.
- Skriptin kontekstipaneeli lukee nyt kirjastoa: vaiheen vastaväitteet vastauksineen samassa ruudussa kuin teksti. Persoonan lista jää varalle.
- Vastaus voi kytkeytyä skriptin vaiheeseen. Vaiherooli on lainattu skriptikoneesta eikä kahdennettu — sama lista, yksi paikka.
- «Tänään»-näyttöön vastaväitekortti: rivit, aukot ja omat keskeneräiset merkinnät.
- Kierros 6Vaihe 6
Skriptikone — kuusi runkoa, kaksi syntaksia ja treeni
- Skriptinäkymä avautui: kuusi runkoa — Pitch Codex · NEPQ · Triage · Kylmäsoitto · DM · VSL — ja työtilan omat skriptit.
- Skripti ei ole tekstikenttä vaan vaiheiden ketju. Jokainen vaihe on kortti: otsikko, sanottava, toimitusohje, tavoiteaika.
- Vapaa vaihe on merkitty erikseen. Kohdassa jossa kuunnellaan, skriptin lukeminen on pahempi virhe kuin skriptin puute — ja kortti sanoo sen.
- Vaihe-editori kolmessa sarakkeessa: raahattava vaihelista, kortti, ja oikealla tarjous, persoona ja vastaväitteet perustasta.
- Raahauksen rinnalla nuolinapit. Raahaus ei toimi näppäimistöllä, ja toiminto joka on vain hiirellä on puolet toiminnosta.
- Muuttujat {{etunimi}} ja {{kipu}}: perustan muuttujat täyttyvät itsestään, kauppakohtaiset kysytään vieressä. Tyhjä näkyy hakasuluissa ja kertoo kummasta se puuttuu.
- Puhuttu pituus: sanat sekunneiksi 150 sanan minuuttivauhdilla, vaiheittain ja yhteensä. Ylitys nimeää vaiheet joista voi leikata.
- Syntaksinvaihto Ongelma ensin ⇄ Tavoite ensin sääntöpohjaisesti, rinnakkaisvertailu ennen painallusta. Käsin muokattua tekstiä ei ylikirjoiteta.
- Hyväksyntäkulku luonnos → tarkistus → hyväksytty. Hyväksyntä tekee version, siirtää tilan ja kirjaa lokiin yhtenä tapahtumana.
- Rep näkee vain hyväksytyn. Se on kannan käytäntö eikä käyttöliittymän suodatin — kantasarja ajaa sen läpi joka kierroksella.
- Versiohistoria ja paluu vanhaan. Ero näytetään vaiheittain: muuttunut, siirtynyt, lisätty, poistettu.
- Vienti: tuloste, muistilappu yhdelle A4:lle ja «Kopioi». Kopiointieston ainoa nimenomainen poikkeus — ja siksi painallus näkyy valvontalokissa.
- Treeni «Script Wars»: vaihe kerrallaan, muu näkyvistä, toistolaskuri. Laskuri on sinun omasi eikä näy muille.
- «Tänään»-näyttöön skriptikortti, joka lukee tosiluvut kannasta.
- Kierros 5Vaihe 5
Perusta — tarjous, ICP-persoonat, dokumentit ja arvomallit
- Perusta-näkymä avautui: kolme välilehteä — Tarjous · Persoonat · Dokumentit. Tämä täytetään ensin, koska kaikki muu syntyy siitä.
- Tarjouskortti vihjeineen: lupaus on pilkottu neljään osaan (kenelle · mikä tulos · missä ajassa · ilman mitä), jotta siitä saa oikean lauseen eikä liimattua merkkijonoa.
- Live-esikatselu: sama tarjous setterin ja closerin suulla. Päivittyy kirjoittaessa, ennen tallennusta.
- Tyhjä kenttä ei katoa esikatselusta vaan näkyy hakasuluissa ja korostaa saman kohdan lomakkeessa — esikatselun tehtävä on näyttää mitä puuttuu.
- Persoonaeditori Kozminin kentillä, viisi halua (valitse kaksi), ongelma → juurisyy → seuraus, uskomustikkaat neljässä askelmassa ja tyypilliset vastaväitteet.
- «Kolme persoonaa rinnakkain» — eron näkee vain vierekkäin. Yksi merkitään ensisijaiseksi, ja kanta pitää huolen ettei niitä ole kahta.
- Dokumenttigeneraattori: 12 muotoa myyntikirjeestä Google-mainoksiin, kaikki sääntöpohjaisesti tarjouksesta ja persoonasta. Ei tekoälyä — ai.generate on yhä pois päältä.
- Tarkistuslista dokumentin vieressä (myyntikirje · VSL · suppilo). Rasti värittyy sen mukaan mitä perustassa on täytetty, ei sen mukaan mitä runkoon sattui tulemaan.
- Arvomallit: odotusarvo (arvo × todennäköisyys − kulut → ROI ja kerroin), lisämyyntiportaat ja kassamalli 90 päivälle.
- Todennäköisyyksien summaa ei korjata automaattisesti — jos se on 1,3, sinulle sanotaan se, eikä mallia muuteta puolestasi.
- Työtilan valmiusaste: täytetyt pakolliset kohdat kaikista, ja luettelo siitä mitä puuttuu. Ei painokertoimia eikä kannustusta.
- «Tänään»-näyttöön perustakortti, joka lukee tosiluvut kannasta.
- Kierros 4Vaihe 4
Labs — läpinäkyvyyskeskus ja ajurirekisteri
- Labs-sivu: 39 ajuria viidessä ryhmässä — tekoäly, viestintä, automaatiot, data ja sisarsillat. Jokainen on oletuksena pois.
- Jokaisella ajurilla on selitys joka vastaa kolmeen kysymykseen: mitä tekee, mitä dataa käyttää, minne lähettää. Se avautuu napista, ei leiju hiiren alla.
- Riskitaso värillä, vaadittu rooli, ulkoinen kohde ja luettelo tauluista joita ajuri lukee ja kirjoittaa — «Mitä tämä koskee».
- Kytkin vaatii pääkäyttäjän. Suostumusta vaativa ajuri kysyy sen kerran, ja kirjaa kuka antoi ja milloin.
- Hätäkytkin: «Sammuta kaikki ajurit tästä työtilasta». Yksi klikkaus, kirjautuu valvontalokiin, ei kysy kahdesti.
- «Aja kerran nyt»: koeajo saman portin läpi. Estetty ajo näkyy syyllä — hiljaista epäonnistumista ei ole.
- Portti tarkistaa aina samassa järjestyksessä: rekisterissä · päällä · oikeus · suostumus · kuukausikatto · työtila ei arkistoitu. Sama järjestys koodissa ja kannassa.
- Ajoloki: viimeiset kymmenen ajoa per ajuri — aika, tulos, kesto, syy. Riviä ei voi muuttaa eikä poistaa.
- Sillat kertovat lisäksi mitä siirtyy, mihin suuntaan, mihin sovellukseen ja kantaan, ja kuka kytki.
- «Tänään»-näytön ajurikortti lukee nyt tosiluvut kannasta, ja sanoo ettei ne ole esimerkkiä.
- Yksikään ajuri ei voi syntyä rekisterin ohi: testi vertaa koodia ja kantaa, ja tarkistaa että jokainen ulkoinen kutsu kulkee portin läpi.
- Kierros 3Vaihe 3
Sivupalkki, komentopaletti ja «Tänään»
- Sivupalkki: 20 näkymää neljässä ryhmässä — Myynti, Tiimi, Kasvu ja Työkalut. Kokoontaittuva, ja muistaa tilansa.
- Valikkorivi näkyy vain jos roolisi näkee sen. Harmaita rivejä ei ole: rivi joko on tai ei ole.
- Keskeneräinen näkymä näkyy silti, «Tulossa»-merkillä ja sen vaiheen numerolla jossa se rakennetaan.
- Jokainen valikkorivi johtaa jonnekin — yhtään kuollutta linkkiä ei ole.
- Komentopaletti ⌘K (Ctrl+K): siirry näkymään, vaihda työtilaa, vaihda kieli tai teema.
- «Tänään»: yksi näyttö joka vastaa kysymykseen mitä teen nyt. Sisältö riippuu roolista — myyjän päivä, päällikön tiimi, superadminin työtilat.
- Korteissa on esimerkkilukuja, ja ne on merkitty näkyvästi. Yksikään luku ei esitä olevansa sinun.
- Käyttäjävalikko: kuka olet, mikä rooli tässä työtilassa, ja uloskirjautuminen.
- Ilmoituskello. Tyhjä, ja kertoo miksi: yhtäkään automaatiota ei ole vielä olemassa.
- Asetukset: työtilan tiedot, jäsenet, kyvyt ja kutsulinkit. Vanha materiaalinäkymä löytyy sieltä eikä katoa mihinkään.
- Riippuvuuksien ikäportti: julkaisu ei voi enää kaatua liian tuoreeseen pakettiversioon huomaamatta.
- Kierros 2Vaihe 1
Brändi, kaksi kieltä ja kopiointieste
- Oma logo ja favicon — favicon.ico, apple-touch-icon ja manifest tehdään mustasta logosta skriptillä.
- Kielinappi: yksi nappi, kaksi puolikasta. Koko sivu vaihtuu suomen ja englannin välillä, myös kirjautumissivu.
- Kieli ja teema evästeessä: palvelin renderöi heti oikean kielen ja teeman, joten sivu ei välähdä.
- Vaalea ja tumma teema omalla napillaan.
- Tekstin maalaus, kopiointi, leikkaus, oikea painike ja ⌘/Ctrl + C · X · S · P estetty — kentät ja erikseen merkityt lohkot vapautettu.
- Uusi etusivu: viisi konetta, ääniviestin polku ja läpinäkyvyyslupaus.
- Tämä sivu: /whats-new, ja alapalkin buildileima.
- Todennus ilman selainta: lint, tyypit, build, SSR-savutesti, yksikkötestit ja RLS-sarja kantaa vasten.
- Työtilat: jokainen yritys — oma, sisaryhtiö, asiakas — on oma työtilansa, ja data pysyy niiden sisällä.
- Työtilavalitsin yläpalkkiin: haku, puunäkymä sisaryhtiöille, laji-ikoni ja jäsenmäärä.
- 12 roolia omistajasta palvelutiliin, ja näkymä siitä mihin oma rooli oikeuttaa.
- Kutsulinkit: luo linkki, kopioi, lähetä itse. Sähköpostin lähetys on automaatio ja odottaa omaa kytkintään.
- Superadminin ohitus näkyy keltaisena palkkina eikä koskaan tapahdu hiljaa.
- Kierros 1Vaihe 0
Määrittely
- Lähdeaineisto käytiin läpi ja kirjoitettiin auki: mitä rakennetaan, missä järjestyksessä ja miten se todennetaan.
- Ei vielä näkyviä muutoksia sovelluksessa.